软件安全风险评价_第1页
软件安全风险评价_第2页
软件安全风险评价_第3页
软件安全风险评价_第4页
软件安全风险评价_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件安全风险评估1概述1.1 平安评估目的随着信息化的开展,政府部门、金融机构、企事业单位等对信息系统依赖程度的日益增强, 信息平安问题受到普遍关注。对信息系统软件进行平安测评,综合分析系统测试过程中有关现场核查、技术测试以及平安管理体系评估的结果,对其软件系统平安要求符合性和平安保障能力作出综合评价,提出相关改良建议,并在系统整改后进行复测确认。以确保信息系统的平安保护措施符合相应平安等级的根 本平安要求。根据最新的统计结果,超过 70%的平安漏洞出现在应用层而不是网络层。而 且不只发生在操作系统或者 web浏览器,而发生在各种应用程序中-特别是关键的 业务系统中。因此,有必要针对 xxx系

2、统应用软件进行平安风险评估,根据评估结 果,预先采取防范措施,预防或缓解各种可能出现的信息数据平安风险。1.2 平安评估要求XXXXXXXX2软件平安评估具体需求2.1 平安评估指导原那么软件平安风险评估作为一工程标明确的工程,应分为以下五个阶段,每个阶 段有不同的任务需要完成。1、启动和范围确定:在平安相关软件的合同或任务书中应提出软件平安性分析的范围和要求。 实施方明确责任,管理者检查必备的资源包括人员、技术、根底设施和时间安排,确保软件平安性分析的开展;2、筹划:软件平安性分析管理者应制定平安性分析方案,该方案可作为所 属软件过程或活动的方案的一局部。软件安全风险评估3、执行和控制:管理

3、者应监控由软件平安性分析方案规定的任务的执行。管理者应控制平安性分析进展并对发现的问题进行调查、分析和解决解决方案有可能导致方案变更。4、评审和评价:管理者应对平安性分析及其输出的软件产品进行评价,以 便使软件平安性分析到达目标,完成方案。5、结束:管理者应根据合同或任务书中的准那么,确定各项软件平安性分析 任务是否完成,并核查软件平安性分析中产生的产品和记录是否完整。2.2 平安评估主要任务根据平安评估指导原那么,为尽量发现系统的平安漏洞,提高系统的平安标准,在具体的软件平安评估过程中,应该包含但不限于以下七项任务:2.2.1 软件需求平安性分析需要对分配给软件的系统级平安性需求进行分析,规

4、定软件的平安性需求, 保证规定必要的软件平安功能和软件平安完整性。评测人员需要根据软件平安性分析准备的结果和系统的初步结构设计文档,包括系统分配的软件需求、接口需求,完成对系统平安性需求的映射,以平安相关性分析和对软件需求的平安性评价。通过需求平安性分析,才能够对软件在系统中的平安性需求作出一个综合性的评价,更好地提交对后续的软件设计和测试的建议。2.2.2 软件结构设计平安性分析需要评价软件结构设计的平安性,以保证软件平安功能的完整性。从平安角 度讲,软件结构设计是制定软件根本平安性策略的阶段,因为这一阶段负责定义主要软件部件,以及它们如何交互,如何获得所要求的属性,特别是平安完整性,是软件

5、平安性需求在结构定义中实现的阶段。对结构设计进行平安性分析需要将全部软件平安性需求综合到软件的体系结构设计中,确定结构中与平安性相关的局部,并评价结构设计的平安性。软件安全风险评估结构设计是开发人员对系统期望功能和功能实现方式的表示方法,但是沟通的一致性,和设计的合理性,通常会影响到平安完整。所以有必要对软件设计进 行平安性评估,一方面确认软件平安需求是否在设计中得到表达,另一方面确认设计是否合理、是否存在漏洞。2.2.3 软件编程平安性分析选择适宜的编程语言。所有编程语言无论在其定义还是在其实现中都有其不平安性。这通常会造成编码人员对语言的误用,而对这些误解,一些相对开放的语言又缺乏相应的解

6、释。例如:1、未初始化的变量。除非进行特别的检查,否那么单元测试不会发现他们。而这将导致,一个程序在不同的环境下虽然运行成功,但运行结果却不是期望值2、当要求重新分配存储器的调用时应予以检查,以确保不仅释放指针而且释放该结构所用的存储器。3、运算符优先级的规那么,一些语言的要求并不是那么严格,容易是程序员 发生误解。如果某种语言有精确的定义也有完备的功能性,从逻辑上说是清晰的,有易管理的规模和复杂度,那么就认为这个语言适用于平安相关性软件。使用编程语言时,也应该针对该语言的特点,努力满足平安性要求。 如果一种编程经验或编程风格因为能够提高软件平安性而被公认为专用性编码标准,可以选择这样一种编码

7、标准来约束对不平安语言的使用。因此进行软件平安评估过程中,需要根据编程语言的特性,对相应易产生漏洞的不平安因素进行重点分析,可以在提高工作效率的根底上,有针对性的增强 软件的平安性。同时,根据不同编程语言的特性,对编码标准进行分析,也会一定 程度上减少对不平安语法的使用,从而减少漏洞的产生。2.2.4 软件详细设计平安性分析对软件详细设计的平安性分析,主要是评估设计实现是否符合平安性的要求。软件详细设计进一步细化高层的体系结构设计,将软件结构中的主要部件划分为能独立编码、编译和测试的软件单元,并进行软件单元的设计。软件安全风险评估在平安性分析的这一阶段中,需要依据软件需求、结构设计描述、软件集

8、成测试方案和之前所获得的软件平安性分析的结果,对软件的设计和实现阶段是否符合软件平安性需求进行验证。软件详细设计的目的是进一步对设计实现进行细化,便于编码。所以针对详细设计的平安分析工作需要包含以下主要内容:1、软件详细设计是否能追溯到软件需求;2、软件详细设计是否已覆盖了软件平安性需求;3、软件详细设计是否与软件结构设计保持了外部一致性;4、软件详细设计是否满足模块化、可验性、易平安修改的要求。2.2.5 软件编码平安性分析软件编码完成软件详细设计的实现。所以,代码应该表达软件详细设计所提 出的设计要求,实现设计过程中开发的平安性设计特征和方法,遵循设计过程中提出的各种约束以及编码标准。对软

9、件代码的平安性分析,可以从两个方面进行: 人工分析以及静态代码分析工具来检查源代码。人工分析主要从以下几个方面入手:1、分析软件代码是否能追溯到需求;2、分析软件代码是否符合支持工具和编程语言分析;3、分析软件代码是否满足模块化、可验证、易平安修改的要求;4、分析软件编码中所使用技术的平安性和方法的合理性。通过静态代码分析工具检查源代码的平安性,需要根据编码语言的特性、采用的软件框架的特性等,有针对性的对代码进行分析、检查漏洞、 并提出相应的改良建议。2.2.6 软件测试平安性分析软件测试作为验证软件功能性和平安性的重要手段,其采用的测试方法和测试技术也完全关系着测试结果的准确性,关系着后续软

10、件的变更和测试的有效性。软件安全风险评估软件测试平安性分析首先须进行测试前分析,还需要对测试结果进行评价,需要从不同角度进行按步骤的测试:1、分析所有测试用例,测试是否通过测试准那么。2、测试代码是否按照要求分析,并到达相应的测试覆盖率。3、对测试结果进行分析,以验证所有的平安性需求是否得到了满足。2.2.7 软件平安性测试通过软件平安性的测试,可以验证或发现系统平安方面的问题。对于软件需 求说明书上既定的有关平安的功能需求,需要在平安性测试过程中一一进行验证测试。对于没有在软件需求书上标明的可能影响系统运行平安的隐性需求需要通 过平安性测试尽力发现。软件平安性测试需要采取静态分析技术和功能测试两种 方式发现系统开发时存在的平安漏洞。静态分析技术: 需通过对需求分析说明书、软件设计说明书、 源程序作结构检查、流图分析等找出软件的缺陷及平安漏洞。可以通过适宜的自动化检查工具进行静态分析以提高测试的效率和准确度。功能测试:功能测试属动态测试,验证的是软件的功能实现。通过功能验证来检查我们是否到达了没有平安漏洞的要求。3相关考前须知1、平安测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论