分享

如何开发软件安全性需求?

 东北十三少 2022-07-01 发布于四川

开发软件安全性需求,或者说软件的安全性需求分析,在实践中的常用方法有误用用例、滥用用例、威胁建模、经验总结和威胁分析等5种。

对于军用软件安全需求开发来说,可以从滥用用例、威胁建模、经验总结等方法中汲取经验,进行借鉴。

  1. 滥用用例

所谓滥用用例,是指人为故意或无意使用软件的某些功能,给软件乃至设备带来安全风险。

为了更好地理解滥用用例,可以想像一下偷车者与车主间的博弈过程:偷车者发现车主没有关好车门,可以很轻松地把车开走;偷车者可以破窗撬锁等方式破坏车门,将车偷走。偷车者的行为就是一种滥用用例。进行安全需求分析时,要从偷车者的滥用用例进行分析,并找出应对措施,比如:

偷车者的滥用用例应对措施
偷车锁车
破坏车门锁变速器
  1. 威胁建模

威胁建模是微软SDL(安全开发生命周期)所使用的安全需求分析方法,威胁建模的⼀般流程为绘制数据流图、识别威胁、提出缓解措施、安全验证。

该⽅法将识别的威胁类型分为Spoofing(仿冒)、Tampering(篡改)、Repudiation(抵赖)、Information Disclosure(信息泄漏)、Denial of Service(拒绝服务)和 Elevation of Privilege(权限提升)等6种。

  1. 经验总结

IBM公司在其软件安全开发过程中,总结了9类安全需求,分别是:

  • 审计和日志记录。IBM要求软件对其保密性、可用性、完整性等安全属性的相关事件在内部日志记录。

  • 身份验证。IBM要求大部分软件应具备访问控制限制,确保授权的访问不能被破解,非授权用户不能进行操作。

  • 会话管理。IBM要求合法的用户可以正常会话,远程会话应加以监控和限制。

  • 输入验证和输出编码。IBM要求所有用户提供的数据都应通过适当的验证。

  • 异常处理。因为隐藏详细的异常可以延长恶意攻击的时间,所以IBM要求软件能将异常信息捕获,记录在安全设计日志中。

  • 加密技术。使用满足业务需要的加密算法。

  • 存储数据。关键/敏感的数据应加密处理。

  • 使用数据。对传输的数据应进行加密。

  • 配置管理。确保使用正确的、满足安全要求的版本。

对于军用软件,也可以按照领域总结软件的安全需求。GJB5000B三级要求分析领域软件的共性需求,不妨从共性的安全需求开始。

当然,除了借鉴以上方法之外,《军用软件安全性分析指南》也给出来军用软件的安全分析方法——分析系统的危险源,危险的系统分配,系统安全需求的软件分配,使用层次分析、控制流分析等技术确定软件的安全性需求。

这正是:

安全分析有方法,军软分析可借鉴

滥用用例和建模,也可既往做总结

参考书目:软件安全开发,作者:吴世忠 李斌 张晓菲 梁洪亮,出版社:机械工业出版社

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多