ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:28.19KB ,
资源ID:1121151      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1121151.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件安全的理解.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件安全的理解.docx

1、软件安全的理解第一章 软件安全概述 1.软件=程序+数据+文档资料 程序:完成特定功能,满足性能要求的指令序列 数据:程序运行的基础和操作对象 文档资料:与程序开发、维护和使用有关的图文资料 2 软件分类:2.1 按功能系统软件(必不可少、与硬件相关、控制协调计算机各部件及资源) ;支撑软 件(用户开发软件的工具,如开发环境) ;应用软件(特定领域内开发的为特定目的服务的 软件,理解成用户软件) 2.2 按规模微型、小型、中型、大型、甚大型、极大型。 2.3 按工作方式实时处理软件、分时软件、交互式软件、批处理软件 2.4 按软件服务对象的范围项目软件(定制软件) 、产品软件(面向市场的软件)

2、 3 软件安全采取工程的方法使得软件在敌对攻击的情况下仍能够继续正常工作。 即采用 系统化、规范化、数量化的方法来指导构建安全的软件。4 软件安全工程化 3 大支柱风险管理、软件安全切入点、安全知识 5 软件安全的知识体系描述性知识(原则、方针、规则) 、诊断性知识(弱点、攻击程 序、攻击模式) 、历史知识(历史风险) ;这 3 类包含了 7 种知识:原则、方针、规则、弱点、 攻击程序、攻击模式、历史风险。 6 软件工程是一门研究如何使用系统化、规范化、数量化等工程原则和方法进行软件的 开发和维护的学科 6.1 软件工程层次 工具层 方法层 过程层(基础) 质量保证层 6.2 软件工程三要素:

3、方法、工具、过程6.3 软件工程研究内容 7 软件保证是计划的和系统的行动集合来确保软件过程和产品符合需求、标 准和规程。 7.1 软件保证的两个目标 7.1.1 可信性即没有可利用的弱点存在,无论是来自敌意的还是无意的 企图。 7.1.2 执行可预见可证明信任软件在执行的时候是依照所希望的那样运 行和工作。这些行为包括需求分析、测试、验证、以及报 告。 7.2 软件保证的内容质量保证、质量工程、验证、正确性证明、不合规范报 告、纠错行为、安全保证、数据隐私性保证、以及在软件 生命周期中的应用情况。 7.3 软件保证关系到软件的两个属性质量、可靠性 8 软件质量系统、部件或过程满足明确要求(I

4、EEE 定义)。 满足或超出认定的一组需求, 并使用经过认可的评测方法和标准 来评估,还是用认定的流程来生产。 9 软件质量保证(SQA)的原则确保 SQA 要自始至终有计划进行审查软 件产品是否遵守适用的标准、规程和要求,并得到客观验证SQA 和结果要保证 全员参与,沟通顺畅逐级解决不符合问题 10 软件质量的体现 可靠性:产品在规定的条件下和规定的时间内,完成规定功能的能力,其效 力度量为可靠度。 软件可靠性:在规定环节下及时间内,软件不引起系统失效的概率。 可维护性:产品在规定的条件下和时间内,按规定的程序和方法进行维修, 保持或恢复到规定的状态的能力。 安全性:将伤害或损坏的风险限制在

5、可接受水平内的能力。 可用性:产品在任一随机时刻需要和开始执行任务时,处于可工作和可使用 状态的程度。 机密性:避免未经许可泄露信息的能力。 完整性:避免不适当地更改的能力。 经济型:通常用寿命周期费用表示软件开发过程中的成本和开销。 11 软件质量量度模型高层:软件质量需求评价准则(SQRC)中层:软 件质量设计评价准侧(SQDC)低层:软件质量度量评价标准 (SQMC) 12 软件可靠性工程预计、测量和管理以软件为基础的系统的可靠性,最大 限度的满足用户要求的应用科学。 12.1 软件可靠性工程的内容关于软件可靠性的规格说明SR 的分析测量 技术一整套保证软件开发的方法和技术。 12.2

6、软件可靠性工程的研究范围软件可靠性定量评测、设计与管理、保证 技术。 13 软件容错性软件运行时,能对非正常因素引起的错误给出适当的处理货 信息提示,是软件运行正常结束。 13.1 容错技术包含下面几个方面 故障检测技术: 在软件中的故障暴露时,能对由此而引起的故障产生响应 的过程。 故障恢复技术: 在软件中预先设定一个恢复点,在运行过程中可恢复到预 设点的状态 破坏估计:对故障引起的破坏做出正确的估计,隔离故障。 故障隔离技术:主动采取措施,防止故障破坏性蔓延的技术。 继续服务:从故障中恢复到,可用的状态。 14 应用安全关注应用系统的安全性,或网络应用层的安全性。 15 专有名称及定义 1

7、6 软件安全工具 16.1 反汇编工具将 2 进制代码为输入,生成整个或部分程序的汇编语言代 码的文本文件的程序;例子:IDA Prov、W32Dasm 17 调试器让软件开发人员在程序运行的同时观察程序的运行过程和状态。 基本功能:设置断点、代码跟踪。 18 反编译器输入 2 进制文件,生成可读性好的高级语言代码。 19 系统监控工具显示操作系统收集到的有关应用程序及其环境的信息。例 子:FileMon(文件系统监控:所有文件系统级的监控)、RegMon(注册表活动 监控)、Process Explorer、TCPView(TCP 和 UDP 网络连接监控)、Portmon(物 理端口监控)

8、、WinObj(系统中的命名对象)、RootkitRevealer(列出注册表和文 件系统 API 的差异)、Autoruns(显示开机启动的项目)。 20 修补和转储工具可以修改 2 进制可执行代码以改变其行为的过程,常与 软件破解有关。例子:Hex Workshop、UltraEdit、WinHex、Dumpbin、PEview. 第一章课后习题: 1 恶意代码的趋势是什么? 答:攻击方式会从 WEB 转移到文件共享网络。 2 什么是软件安全? 答:采取工程的方法使得软件在敌对攻击的情况下仍能够继续正常工作。即采用系统化、 规范化、数量化的方法来指导构建安全的软件。 3 简述软件安全与软件

9、工程、软件质量、软件保证、软件质量保证之间的联系。 答: 第三章 缺陷和漏洞简介 1 软件缺陷从产品内部看,软件缺陷是软件产品开发或者维护过程中所存在的错误、 毛病 等各种问题; 从外部看软件缺陷是系统所需要实现的某种功能的失效和违背。 2 漏洞系统设计、实现和操作管理中存在的缺陷和弱点,能被利用而违背系统的安全策 略。 3 软件缺陷存在的原因 4 软件缺陷的严重性级别致命的:造成系统和应用程序崩溃、死机、系统 悬挂,数据丢失、主要功能完全丧失等严重的:功能或特性没有实现,主要功 能丧失,导致严重的问题,或致命的错误声明一般的:不影响系统的使用,但 没有很好的实现功能轻微的:对功能几乎没有影响

10、,产品及属性仍可使用。 5 软件缺陷状态激活状态:问题还没有解决,新发现的缺陷验证后仍存在 缺陷已经修正状态: 针对存在的缺陷已经修正好了非激活状态:验证测试后 缺陷不存在的状态。 6 漏洞存在的原因设计漏洞:包括密码设置不当;安全需求不明确实现 漏洞:即编码的时候产生的漏洞。 7 堆栈被应用程序所使用的保留的虚拟内存区域,是操作系统分配内存的方 法。 8 栈溢出输入数据时,由于没有进行边界检查,导致输入的数据的数据量超 过堆栈预留的存储空间, 最终覆盖了堆栈中的返回地址。如果覆盖返回地址的是 一个攻击程序的地址,则这个攻击程序就可以运行了。 9 修改邻接变量的栈溢出栈溢出的主要危害是能够修改

11、邻接变量和修改返 回地址。当输入变量没有进行边界检查,长度超出预先设想的长度,则会覆盖其 他邻接变量甚至是返回地址。 10 植入代码如果用注入代码的起始地址覆盖原来的返回地址,就成了代码 注入。 11 栈溢出的防御方法避免或正确使用可能产生栈溢出的函数, 如 gets()、 fgets()等进行堆栈检查:在堆栈最后一个局部变量和函数的返回地址之间另 外再压入一个 cookie, 在函数返回到主调用函数之前检查 cookie 是否被修改了。 修改了说明返回地址呗重写了立即停止程序。 12 堆类似于堆栈,堆也是应用程序所使用的虚拟内存的一个区域。和堆栈 不同,堆可以建立私有堆空间,也可以释放堆空间

12、:分配对空间代码 13 堆与栈的区别 14 堆结构 15 堆块包括块首和块身,块首是一个堆块头部的几个字节,用来标识这个堆块自身的 信息:大小、是否空闲等。块身是数据区。 16 堆表一般位于堆区的起始位置,用于索引堆区中所有堆块的重要信息,包括堆块的 大小,位置,是否被占用等。占用的堆块被使用它的程序索引,堆表只索引 所有空闲堆块。 17 堆块分配类型 Lookaside 分配:寻找到大小匹配的空闲块,将其状态修改为占用,去掉堆表指针,返回 一个指向块的指针给程序。 Freelist 分配:首先寻找最优的空闲块,如果失败则寻找次优的空闲块,即最小的能满足 的空闲块 Free0分配:由于按照大小

13、升序链着大小不同的空闲块,分配时先从 Freelist0反向查找 最后一个块(即表中最大的块) ,看是否满足要求,若能则正向搜索最小能 满足要求的空闲块进行分配。 18Windows 分配策略 19 堆溢出原理和栈溢出是一样的,即堆的空间无法容纳用户输入的数据,导致数据重 写了堆块后的地址空间。 20 格式化串C/C+中有一些函数(如 printf())没有固定的参数列表.计算机程序通常需 要能够在运行时创建字符串。这些字符串可能包含多种类型的变量。 是 C、 C+等程序设计语言 printf 类函数中用于指定输出参数的格式与相对 位置的字符串参数。其中的转换说明 (conversion sp

14、ecification)用于把 随后对应的 0 个或多个函数参数转换为相应的格式输出; 格式化字符串中 转换说明以外的其它字符原样输出。 21 格式化串漏洞机理实际上是输入输出确认缺陷,产生源头在外部提供的、不给信任 的数据被包含在格式化字符串的参数中。 22 格式化串漏洞防治在所需要格式化字符串参数的程序中不使用非常量作为格式化字 符串参数。Windows 比 linux 更容易预防:原因是攻击者操作字符串输入进行利用,低位堆 栈使得在堆栈中存放 shellcode 和在字符串本身插入该代码的起始地址非常困难。 Linux 堆栈 地址位于高位内存,windows 位于低位内存。 23.SQL

15、 注入漏洞是 Web 系统特有的一类漏洞,源于 PHP、ASP 等脚本语言对用户输入 数据的错误解析。 (网站程序员在编写代码时,没有对用户输入数据的合法性进行判断使应 用程序存在安全隐患,用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些 他想要得到的数据这就是所谓的 SQL 注入) 24.SQL 注入攻击的防范使用 SQL 注入攻击自动化的工具进行渗透测试在 Web 服务 器运行时进行实时的入侵检测, 处理问题的位置位于脚本程序与数据库之间借鉴静态代码 分析技术查找程序高级逻辑错误的方法来对脚本代码进行漏洞挖掘Web 应用要对用户输 入的数据进行限制,过滤掉可能引起攻击的字符。 25 漏洞 5 种分类 第三章课后习题 1windows 环境下进程的内存如何布局? 答: 2 简述堆栈溢出的机理 答:输入数据时,由于没有进行边界检查,导致输入的数据的数据量超过堆栈预 留的存储空间, 最终覆盖了堆栈中的返回地址。如果覆盖返回地址的是一个攻击 程序的地址,则这个攻击程序就可以运行了。 3 简述堆溢出机理 答:和栈溢出是一样的,即堆的空间无法容纳用户输入的数据,导致数据重写了堆块后的地 址空间。 4 简述 SQL 注入

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1