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

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)

相关推荐
AdSet聚合广告7 分钟前
APP、小程序对接聚合广告平台,有哪些广告变现策略?
大数据·人工智能·microsoft·小程序·个人开发
清风 0017 分钟前
一、使用 mdadm 工具在 Ubuntu 上创建 RAID 1(镜像)
运维·服务器·数据库
道斯17 分钟前
asp.net老项目运维,出现的问题6之数据库
数据库
zxrhhm17 分钟前
Oracle PL/SQL编程中批量数据处理Sparse Collections and SQL%BULK_EXCEPTIONS
数据库·oracle
先睡1 小时前
动态sql
java·数据库·sql
gikod2 小时前
【笔记】架构上篇Day6 法则四:为什么要顺应技术的生命周期?
大数据·人工智能·笔记·架构
2401_857610032 小时前
剖析 SSM 校园一卡通密钥管理系统 PF 技术架构中安全机制的深度融合
java·数据库·安全
莳花微语2 小时前
Oracle 19c rac 补丁升级,从19.7 to19.22-集群
数据库·oracle
观测云2 小时前
使用观测云排查数据库死锁故障
数据库
Smile丶凉轩2 小时前
Redis的缓存
数据库·redis·缓存