国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:于银菠,刘家佳,慕德俊
单位:于银菠,西北工业大学 网络空间安全学院, 陕西 西安 71007211,刘家佳,西北工业大学 网络空间安全学院, 陕西 西安 71007202,慕德俊,西北工业大学 网络空间安全学院, 陕西 西安 71007203
关键词:软件验证;模型检测;稀疏值流分析;指针分析;漏洞检测
基金:广东省基础与应用基础研究基金(2021A1515110279);太仓市基础研究计划(TC2020JC03);中央高校基本科研业务费专项资金(D5000210588)
软件验证一直是确保软件正确性和安全性的热点研究问题.然而,由于程序语言复杂的语法语义特性,应用形式化方法验证程序的正确性存在准确度低和效率差的问题.其中,由指针操作带来的地址空间的状态变化使得现有模型检测方法的检测准确度难以得到保证.为此,通过结合模型检测与稀疏值流分析方法,设计了一种空间流模型,实现了对C程序在符号变量层面和地址空间层面的状态行为的有效描述,并提出了一种反例引导的抽象细化和稀疏值流强更新算法(CEGAS),实现了C程序指向信息敏感的形式化验证.建立了包含多种指针操作的C代码基准库,并基于该基准库进行了对比实验.实验结果表明:所提出的模型检测算法CEGAS在分析含有多种C代码特性的任务中,与现有模型检测工具相比均能取得突出的结果,其检测准确度为92.9%,每行代码的平均检测时间为2.58 ms,优于现有检测工具.
来源:2022年第6期
《软件学报》期刊编辑部