当前位置:首页 > 全部子站 > IT > 水平考试

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

来源:长理培训发布时间:2017-11-26 13:49:20

  常常被问到这么一个问题:如何评测一个软件系统到底有多安全?

  一个回答是:我们不是有专门的软件安全评测标准和机构吗?没错,我们有专门的国际标准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测试),大家可以借鉴一下。

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部