太原理工大学软件安全技术个人复习总结

内容很多,望学弟学妹看到此行字引起警觉,尽快开始背诵!!!(19届挂了8%,20届挂了将近15%,学长从未见过这么高的挂科率)

首先对全书框架有一个总体的概念:

第1、2章大体介绍了软件安全和软件漏洞;第3、4章沾点儿技术,需要仔细琢磨;第5、6、7章是按照软件生命周期的顺序排布的,先确定软件安全开发模型(第5章),再进行需求分析(第6章),然后进行设计(第7章),第8章需要硬背。

第一章:

何为零日漏洞:指未被公开批露的软件漏洞,没有给厂商或作者时间去打补丁,攻击者可利用这些漏洞去破坏计算机程序。

零日攻击:用零日漏洞开发工具进行的攻击。

面临的安全威胁分3大类:软件漏洞、恶意代码、软件侵权(侵权不咋考)

下面解释这3大类威胁

软件漏洞:通常被认为是软件生命周期中与安全相关的设计错误、编码缺陷及运行故障。

恶意代码:未在授权的情况下,以破坏硬件设备、窃取用户信息、干扰用户正常使用、扰乱用户心理为目的而编制的软件或代码片段。

软件侵权:不考

软件安全:是软件工程与软件保障的一个方面,它提供一种系统的方法来标识、分析和追踪对危害及具有危害性功能的缓解与控制。(出书那家伙说话跟没长牙似的)

CIA:保密性、完整性、可靠性

下面介绍这3个性,以及如何实现

保密性:信息资源仅被合法实体访问,不泄露给未授权的实体。实现方法:信息加密、物理隔离、访问控制。

完整性:信息资源未经授权不得更改,或被篡改后能迅速发现。实现方法:预防和检测。预防:信息加密、访问控制;检测:数字签名,哈希值计算。

可用性:信息资源可悲合法实体按需访问。实现方法:备份与灾难恢复。、

其他安全属性:P10页,大概看看,有个印象就行。

PDRR:保护、检测、响应、恢复

PPDRR:策略、保护、检测、响应、恢复

PDR:保护、检测、响应

软件安全防护基本方法:目前有两种方法:采用多种检测、分析及挖掘技术对安全错误或是安全漏洞进行发现、分析与评价,然后采取多种安全控制措施进行错误修复和风险控制(亡羊补牢);分析软件安全错误发生的原因,将安全错误的修正嵌入到软件开发生命周期的整个阶段(把羊圈修结实)

第二章:软件漏洞概述

软件错误 :是指在软件开发过程中出现的不符合期望或不可接受的人为差错,其结果将可能导致软件缺陷的产生。

软件缺陷: 是指由于人为差错或其他客观原因,导致软件隐含能导致其在运行过程中出现不希望或不可接受的偏差,例如软件需求定义,以及设计、实现等错误。

软件故障:是指软件出现可感知的不正常、不正确或不按规范执行的状态。例如软件运行中因为程序本身有错误而造成的功能不正常、死机、数据丢失或非正常中断等现象。

软件失效: 是指软件丧失完成规定功能的能力的事件。

软件漏洞的成因:计算机系统结构决定了漏洞的必然性、软件趋向大型化,第三方扩展增多,新技术产生之初缺乏安全性考虑。

软件漏洞特性:持久性与时效性、广泛性与具体性、可利用性与隐蔽性

软件漏洞的分类

1、内存破坏类:此类漏洞的共同特征是由于某种形式的非预期的内存越界访问,可控程度较好的情况下可执行攻击者指定的任意指令,其他的大多数情况下会导致拒绝服务或信息泄露。

2、逻辑错误类:涉及安全检查的实现逻辑上存在的问题,导致设计的安全机制被绕过。

3、输入验证类:漏洞来源都是由于对来自用户输人没有做充分的检查过滤就用于后续操作,威胁较大的有以下几类:SQL注入、跨站脚本执行、远程或本地文件包含、命令注入和目录遍历。

4、设计错误类:系统设计上对安全机制的考虑不足导致在设计阶段就已经引入安全漏洞。

5、配置错误类:系统运行维护过程中以不正确的设置参数进行安装,或被安装在不正确的位置。

3、4章沾点儿技术暂且跳过

第五章:软件安全开发模型

软件生命周期:指软件孕育、诞生、成长、成熟、衰亡的过程,分为三个阶段:定义(问题定义、可行性研究、需求分析)、开发(总体设计、详细设计、编码和单元测试、综合测试)、维护。

软件开发模型:114页自己看一下,有个概念就行,这块类似于咱们大二时候的软件工程导论。

软件安全开发模型:分为5大类

SDL:瀑布模型,7个阶段,安全培训(让开发团队有点初步安全意识)、安全需求分析(看看开发项目需要点啥)、安全设计(开始干活了)、安全实施(按照设计要求对软件进行编码)、安全验证(验证一下看够不够安全)、安全发布(道爷我成了!发布软件!)、安全响应(看看市场反馈)。

敏捷SDL:无迭代开发模型,不是每个版本都要满足所有要求。

BSI:“三大支柱”风险管理、软件安全结束点、安全知识。软件开发生命周期中每个阶段的产品安全性都进行评估、测试、验证。

NIST:不考

CLASP:轻量级,小型企业

SAMM:对安全知识要求低,适用于非安全专家使用。

第六章:软件安全需求分析

软件安全需求分析的目的和作用:分析要实现安全目标应该做什么,确保软件系统能够有效地提高安全性,减少安全漏洞;安全需求分析有助于保护信息的保密性、完整性和可用性,防止软件被攻击。

软件安全需求分析与软件需求分析的区别:软件安全需求的特点:客观性(安全需求不是用户主观愿望,而是系统固有的安全属性决定的),系统性(从软件系统层面考虑),经济性和适用性(要根据重要性和成本效益来,不能捡了芝麻丢了西瓜)。

软件安全需求获取方法:头脑风暴、问卷调查和访谈、策略分解、数据分类、主/客体关系矩阵、使用用例和滥用案例建模、软件安全需求跟踪矩阵。

第七章:软件安全设计

软件设计的主要工作:将需求分析阶段得出的规格说明书转化成具体的软件架构和设计方案。

软件安全设计的主要工作:

架构安全性设计、安全性分析、安全功能设计。

威胁建模、软件安全设计原则,这个是重点,大家看书仔细背一背。

先写到这里,写不下去了,回头有缘再更。

求轻喷

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值