`
javasee
  • 浏览: 968732 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

如何评测软件系统的安全性

阅读更多
常常被问到这么一个问题:如何评测一个软件系统到底有多安全?
一个回答是:我们不是有专门的软件安全评测标准和机构吗?没错,我们有专门的国际标准Common Criteria, ISO/IEC 15408,国家标准GB 18336。有专门的评测中心,如Common Criteria Lab,和中国信息安全产品测评认证中心。
似乎我们只要按照标准提供相应文档,把软件交给评测机构,不就行了?但是,事实上真的这么简单吗?举个例子,微软的Windows 2000系统得到了Common Criteria的EAL4+认证,但是还是有这么多软件安全补丁发布。问题到底出在什么地方?
我们先看一下Common Criteria是如何评估软件系统的安全的。首先要确定产品对应的Protection Profile (PP)。一个PP定义了一类产品的安全特性模板。例如数据库的PP,防火墙的PP等等。然后,根据PP再提出具体的安全功能需求(security functional requirement),如用户的身份认证是如何实现的。接下来,确定产品的安全对象(secure target),以及它是如何满足对应的安全功能需求的。
也就是说,Common Criteria主要集中在大方向上的软件设计上的安全。但是,对于具体的编码实现,和部署则没有涉及。而SD3,也就是安全设计(secure designed),安全开发(secure development)和安全部署(secure deployment)的三个环节,哪个出问题都不行。
另一方面,最终的用户关心的核心问题就是“这个软件安全吗”。一个由于设计导致的安全漏洞,和一个由于实现导致的安全漏洞,对用户的最终影响没有区别。Common Criteria在针对软件实现和部署上的评估上的不足,可以是说是CC面对的最大挑战。另外,Common Criteria要求的文档之多,评估的周期之长,也极大影响了它在评估面向企业和个人用户的软件安全性的有效程度。例如,一个产品的评估周期有时长达2-3年:等评测结果出来,老产品也要被新产品替代了。
评估(并提高)一个软件系统的安全程度,需要从设计,实现和部署三个环节同时着手。目前,微软的安全软件开发周期(SDL)提供了一个基于微软开发模型的参考解决方案。它并不是一个类似CC的评估测试标准。但是在如何有效的评估软件实现和部署环节的安全性上(例如FUZZ测试),大家可以借鉴一下。
分享到:
评论

相关推荐

    QGDW 10942-2018 应用软件系统安全性测试方法.pdf

    QGDW 10942-2018 应用软件系统安全性测试方法.pdf

    软件系统的安全性测试

    安全性测试方法 ,1. 功能验证 功能验证是采用软件测试当中的黑盒测试方法,对涉及安全的软件功能,如:用户管理模块,权限管理,加密系统,认证系统等进行测试,主要验证上述功能是否有效。 2. 漏洞扫描 安全漏洞...

    软件系统安全性测试高级培训课件

    软件系统安全性测试是一门专门针对软件系统进行安全性评估和验证的技术,它旨在发现软件中的安全漏洞,并评估软件在受到恶意攻击时的鲁棒性。本课件涵盖了软件应用系统安全性、软件安全性测试基础、软件安全性测试...

    软件系统安全测试管理标准规范.docx

    * 测试员:负责测试软件系统的安全性和可靠性。 * 开发人员:负责开发和维护软件系统。 * 项目经理:负责软件项目的管理和协调。 5. 软件系统安全测试的参考资料 软件系统安全测试的参考资料包括: * OWASP测试...

    软件安全性测试(完整版)

    总的来说,这份《软件安全性测试》的完整版PPT为我们提供了一个全面的视角,帮助我们深入理解软件安全的重要性,掌握测试方法和技术,从而更好地保护我们的软件系统免受威胁。无论是开发者、测试人员还是安全专家,...

    北京中科信软软件系统安全性测试高级培训课件

    北京中科信软软件系统安全性测试高级培训课件为我们展示了一系列有关软件安全性测试的知识点,涵盖了从基本概念到高级分析的多个方面。以下是对这些知识点的详细解读: 首先,软件安全性是计算机安全的重要组成部分...

    软件安全性测试:全面指南

    安全性测试是评估软件系统安全性的过程,旨在发现和预防潜在的安全风险。本文将详细介绍安全性测试的概念、重要性、实施步骤和最佳实践,以及如何使用代码确保软件的安全性。 安全性测试是确保软件系统安全的重要...

    软件可靠性和安全性设计报告.pdf

    文档中虽然没有明确提及测试方法,但是为了保证软件的可靠性和安全性,测试过程会包括单元测试、集成测试、系统测试和验收测试等。通过持续的测试和质量检查,软件项目可以及时发现并修正问题,从而提高最终产品的...

    软件系统安全性测试.pdf

    【软件系统安全性测试】 在IT领域,尤其是在网络安全和软件开发中,系统安全性测试是一个至关重要的环节,确保软件免受各种攻击,尤其是针对Web程序的安全威胁。本文件主要关注Web程序安全测试,特别是SQL注入式...

    软件系统安全测试管理规范.pdf

    《软件系统安全测试管理规范》是一份由上海理想信息产业(集团)有限公司于2017年8月15日发布的技术文档,旨在为智能化信息系统建设项目的安全测试提供明确的操作指南和管理规范。该规范详细阐述了软件系统安全测试...

    安全测试报告完整版带模版加完整内容.doc

    测试过程按照WASC威胁分类进行,涉及了用户认证安全性、网络安全性、数据库安全性以及Web安全性四大方面。例如,用户认证测试检查了权限设置、密码安全和登录信息处理;网络安全性测试关注防护策略和防外挂措施;...

    免费软件系统测试报告模板,自行下载

    测试内容:软件系统测试的内容包括对软件系统的功能测试、流程测试、性能测试和安全测试等。 三、测试环境 软件系统测试报告模板的测试环境部分旨在介绍测试环境的详细信息,包括操作系统、浏览器等。 操作系统:...

    软件安全性测试论文——Graw

    在IT行业中,软件安全性测试是确保应用程序免受潜在威胁和攻击的关键环节。Graw的这篇论文集中探讨了这个至关重要的主题,旨在为开发者、测试人员和安全专家提供深入的理论和实践指导。以下是对该论文内容的详细解读...

    软件安全性测试总结

    软件安全性测试主要包括以下几个方面:应用安全、数据安全、操作系统安全等。每个方面的测试都需要结合具体的测试策略来执行。 ##### 1. 应用安全 应用安全主要关注的是应用程序自身的安全性问题,包括但不限于...

    FPGA软件可靠性安全性测试方法研究.pdf

    8. 创新点与实际应用价值:本研究创新性地提出了一套系统的FPGA软件可靠性安全性测试方法,并成功开发了基于该方法的测试工具。该方法和工具不仅能够提高测试效率,还能准确地获取关键的性能指标数据,对于航天型号...

    GJBZ 102-1997 软件可靠性和安全性设计准则

    2. 软件安全性:软件安全性关注的是软件系统在设计、实施、操作和维护过程中防止非法访问、错误操作、恶意攻击等对系统造成损害的能力。该标准可能包括了安全性设计原则、安全需求分析、风险评估和安全测试等知识点...

    软件可靠性和安全性设计指南[1].pdf

    本指南中规定了硬件设计的多个要求,包括安全关键功能的人工确认、设计安全性内核、记录系统故障、禁止回避检测岀的不安全状态等,这些要求都是软件可靠性和安全性设计的基础。 4.3 软件需求分析 本指南中规定了...

Global site tag (gtag.js) - Google Analytics