[软件工程]十一.信息安全工程

Cheers!《软件工程》理论主线部分完结撒花!后续还会给大家更新更多更详细的软件工程实践知识,和对诸如需求分析,软件测试部分的详细补充的!诸君且等续集!QAQ

11.1什么是信息安全性(security)

信息安全性是指系统保护信息不被未授权访问、泄露、篡改或破坏的能力。它包括数据加密、访问控制、身份验证等措施。是否能抵御意外或蓄意入侵的可能性(鲁棒性)(important)

11.2什么是信息安全工程(Security Engineering)

信息安全工程是应用工程原理和实践来设计、实施和维护信息安全措施的过程。

11.3信息安全工程的防范策略(CLA)

1)机密性(Confidentially)

系统中的机密的信息可能被泄露,被未经授权的人或者程序访问到。

例如:从电子商务系统窃取信用卡数据是一个机密性问题

2)完整性(Integrity)

系统中的完整性信息可能会损坏或者引起错误,使得其异常或者不可靠。

例如:在系统中删除数据中的蠕虫是一个完整性的问题。

3)可用性(Availability)

可用的系统或者数据有时候可能会无法访问,是服务器过载的服务攻击时系统可用性搜到破坏的例子。

4)具体的易于理解的例子

1>机密性(Confidentiality)

机密性确保信息不被未授权的个人、实体或程序访问。如果机密性被破坏,信息可能会被泄露给不应该访问这些信息的第三方。

例子 :假设一个公司有一个内部的项目文档,包含敏感的商业策略和未来的产品计划。如果一个未经授权的员工或外部黑客通过网络攻击获取了这些文档,那么机密性就被破坏了。这可能导致竞争对手获取敏感信息,损害公司的竞争优势。

2>完整性(Integrity)

完整性确保信息在存储、传输或处理过程中不被未授权的修改或破坏。如果完整性被破坏,信息可能会被篡改,导致错误的决策或操作。

例子 :在银行系统中,如果一个黑客通过网络攻击修改了账户余额,将资金转移到自己的账户,那么银行系统的完整性就被破坏了。这不仅会导致资金损失,还可能破坏银行的信誉和客户信任。

3>可用性(Availability)

可用性确保授权用户在需要时能够访问和使用信息或服务。如果可用性被破坏,信息或服务可能无法访问,影响正常业务运作。

例子 :假设一个在线购物网站在黑色星期五期间遭受了分布式拒绝服务(DDoS)攻击,导致网站服务器过载,无法处理用户的请求。这种情况下,网站的可用性被破坏了,用户无法进行购物,这不仅影响了用户体验,还可能导致经济损失。

11.4主要安全攸关系统(Primary Safety-Critical Systems)

1)什么是主要安全攸关系统(Primary Safety-Critical Systems)

主要安全攸关系统(Primary Safety-Critical Systems)是指那些直接关系到人类生命安全或对环境有直接影响的系统。这些系统在失败时可能导致直接的伤害或灾难性后果。

2)举出例子

例如:

  • 航空控制系统 :负责飞机的飞行控制,包括起飞、飞行和降落等关键阶段。
  • 医疗设备 :如心脏起搏器、呼吸机等,直接关系到患者的生命安全。
  • 核电站控制系统 :负责核反应堆的运行和监控,确保核安全。
  • 汽车安全系统 :如防抱死制动系统(ABS)、电子稳定程序(ESP)等,直接影响行车安全。

11.5次要安全攸关系统(Secondary Safety-Critical Systems)

1) 什么是次要安全攸关系统(Secondary Safety-Critical Systems)

次要安全攸关系统是指那些虽然不直接关系到人类生命安全,但其故障可能导致间接影响或次要后果的系统。这些系统在失败时可能不会立即导致人员伤亡,但可能对系统的整体运行产生影响。

2)举个例子

例如:

  • 工业控制系统 :如工厂自动化系统,其故障可能导致生产中断或设备损坏。
  • 金融服务系统 :如银行交易系统,其故障可能导致财务损失或数据泄露。
  • 交通管理系统 :如城市交通信号控制系统,其故障可能导致交通拥堵或事故。

11.6静态检查(Static Checking)

1)什么是静态检查(Static Checking)

静态检查是指在不执行程序代码的情况下,对代码进行分析的过程。这种检查通常在编译之前进行,目的是发现代码中的潜在错误和问题。静态检查可以由人工进行,也可以通过自动化工具来完成。

2)静态检查的目的是什么

静态检查是指在不执行程序代码的情况下,对代码进行分析的过程。这种检查通常在编译之前进行,目的是发现代码中的潜在错误和问题。静态检查可以由人工进行,也可以通过自动化工具来完成。静态检查的目的是:

  • 代码审查 :通过人工审查代码,检查代码的风格、可读性、逻辑结构等。
  • 代码分析 :使用静态分析工具来自动检测代码中的错误,如语法错误、逻辑错误、潜在的运行时错误等。
  • 代码度量 :评估代码的复杂度、可维护性、可测试性等指标。

3)问:静态检查是不是verification的一个部分

答:是的,静态检查是软件验证(Verification)过程的一部分。在软件工程中,验证(Verification)和确认(Validation)是确保软件质量的两个关键活动。

11.7分界检查(Boundary Checking)

1)什么是分界检查(Boundary Checking)

分界检查,也称为边界值分析,是一种测试设计技术,用于测试软件系统中输入或输出的边界条件。边界条件是指输入或输出值的边界,即最小值、最大值、边界值等。

2)分界检查的目的是什么

分界检查,也称为边界值分析,是一种测试设计技术,用于测试软件系统中输入或输出的边界条件。边界条件是指输入或输出值的边界,即最小值、最大值、边界值等。分界检查的目的是:

  • 确保系统能够 正确处理边界情况 :例如,检查一个输入字段是否能够正确处理最小值、最大值和边界值。
  • 发现潜在的错误 :边界条件往往是软件错误的高发区,因此通过测试边界条件可以发现潜在的错误。

分界检查通常在软件测试阶段进行,通过设计测试用例来覆盖边界条件,以确保软件在这些关键点上的正

遗留系统(Legacy System) 分界检查(Boundary Checking)韧性(Resilience) 冗余(Redundancy) 可用性(Availability)可依赖性(Dependability) 可靠性(reliability)增量开发(Icremental Development)需求评审(Requirements review) 机密性(Confidentially) 完整性(Integrity)可用性(Availability)

主要安全攸关系统(Primary Safety-Critical Systems) 验收测试(Acceptance Testing)

相关推荐
落笔画忧愁e19 分钟前
FastGPT快速将消息发送至飞书
服务器·数据库·飞书
大数据追光猿26 分钟前
Python应用算法之贪心算法理解和实践
大数据·开发语言·人工智能·python·深度学习·算法·贪心算法
Σίσυφος190033 分钟前
halcon 条形码、二维码识别、opencv识别
前端·数据库
小刘|1 小时前
深入理解 SQL 注入漏洞及解决方案
数据库·sql
人类群星闪耀时2 小时前
物联网与大数据:揭秘万物互联的新纪元
大数据·物联网·struts
天上掉下来个程小白2 小时前
案例-14.文件上传-简介
数据库·spring boot·后端·mybatis·状态模式
哆木2 小时前
排查生产sql查询缓慢
数据库·sql·mysql
橘子师兄3 小时前
分页功能组件开发
数据库·python·django
book01213 小时前
MySql数据库运维学习笔记
运维·数据库·mysql
纠结哥_Shrek3 小时前
Oracle和Mysql的区别
数据库·mysql·oracle