国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:付昌兰,张贺,李凤龙,匡宏宇
单位:付昌兰,南京大学 软件学院, 江苏 南京 210023;计算机软件新技术国家重点实验室(南京大学), 江苏 南京 21002311,张贺,南京大学 软件学院, 江苏 南京 210023;计算机软件新技术国家重点实验室(南京大学), 江苏 南京 21002302,李凤龙,华为云计算技术有限公司, 浙江 杭州 31005303,匡宏宇,南京大学 软件学院, 江苏 南京 210023;计算机软件新技术国家重点实验室(南京大学), 江苏 南京 21002304
关键词:威胁模型;威胁建模;攻击树模型;测试用例生成;测试线索
基金:CCF-华为胡杨林基金-软件工程专项(CCF-HuaweiSE2021003); 国家自然科学基金(62072227, 62202219); 国家重点研发计划(2019YFE0105500); 江苏省重点研发计划(BE2021002-2); 南京大学计算机软件新技术国家重点实验室创新项目(ZZKT2022A25); 海外开放课题(KFKT2022A09)
近年来, 软件系统安全问题正引发越来越多的关注, 系统存在的安全威胁容易被攻击者所利用, 攻击者通常采用各种攻击技术诸如口令暴力破解、网络钓鱼、SQL注入等对系统进行攻击. 威胁建模是一种结构化分析、识别并处理威胁的方法, 传统的测试主要集中在测试代码缺陷, 处于软件开发后期, 不能很好地对接前期威胁建模分析成果以构建安全的软件, 业界威胁建模工具缺少进一步生成安全测试的功能. 为了应对此问题, 提出一种从威胁模型生成安全测试用例的框架, 并设计和实现工具原型. 为了便于测试, 对传统的攻击树模型进行改进, 对构建的模型进行规范性检查, 从该模型中可以自动生成测试线索. 根据攻击节点发生概率对测试线索进行评估, 优先检测概率较高的威胁的测试线索. 对防御节点进行评估, 选择收益性较高的防御方案缓解威胁, 以改进系统安全设计. 通过为攻击节点设置参数可以将测试线索转换成具体的测试用例. 在软件开发早期阶段以威胁建模识别出的威胁作为输入, 通过框架和工具可以生成测试, 指导后续的安全开发和安全测试设计, 将安全技术更好地嵌入到软件设计和开发之中. 案例研究部分将该框架和工具运用于极高危风险的安全测试生成, 并说明了其有效性.
来源:2024年第10期
《软件学报》期刊编辑部