一种基于多粒度特征的软件多样性评估方法

TP393; 针对现有软件多样性评估方法普遍采用单一特征,无法准确表征软件特性进而导致评估准确度较低的问题,提出了一种基于多粒度特征的软件多样性评估方法.该方法从程序的指令、函数、基本块、二进制文件4个粒度进行分析,首先通过小素数乘积法、动态权重分配等算法获取不同粒度的差异度特征,然后根据差异度分析该粒度的多样性,进而探讨多样化技术的有效性.实验部分采用GNU核心程序集,对指令替换、控制流平坦、伪控制流、NOP插入等7种软件多样化方法进行了综合评估,分析了不同软件多样化方法对不同粒度的特征带来的差异程度和多样性,验证了评估算法的适用性.实验结果表明,该评估方法能够从纵向和横向两个方向对软件多样...

Full description

Saved in:
Bibliographic Details
Published in计算机科学 Vol. 49; no. 12; pp. 118 - 124
Main Authors 迟宇宁, 郭云飞, 王亚文, 扈红超
Format Journal Article
LanguageChinese
Published 解放军战略支援部队信息工程大学信息技术研究所 郑州450001 2022
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:TP393; 针对现有软件多样性评估方法普遍采用单一特征,无法准确表征软件特性进而导致评估准确度较低的问题,提出了一种基于多粒度特征的软件多样性评估方法.该方法从程序的指令、函数、基本块、二进制文件4个粒度进行分析,首先通过小素数乘积法、动态权重分配等算法获取不同粒度的差异度特征,然后根据差异度分析该粒度的多样性,进而探讨多样化技术的有效性.实验部分采用GNU核心程序集,对指令替换、控制流平坦、伪控制流、NOP插入等7种软件多样化方法进行了综合评估,分析了不同软件多样化方法对不同粒度的特征带来的差异程度和多样性,验证了评估算法的适用性.实验结果表明,该评估方法能够从纵向和横向两个方向对软件多样化方法的有效性进行准确评估,对后续多样化技术的研究具有参考价值.
ISSN:1002-137X
DOI:10.11896/jsjkx.211200029