论文部分内容阅读
随着互联网的飞速发展,用户数据的价值攀升和终端设备的大量拓展使得计算机程序越来越多的融入和影响生活。为了保护用户的隐私和财产,对大量无源码的二进制程序的行为进行检测与识别的重要性愈加明显。本文选择以程序功能识别为主要目标,结合软件逆向、生物信息学、机器学习等领域技术,提出一种面向程序动态行为的、指令级、启发式、高精度、普适的程序功能识别技术。本文设计和采用了离线分析架构,首先通过程序动态行为监控技术记录程序的指令级动态行为,利用基本块索引的日志结构优化行为日志的记录效率;然后提出了汇编指令流的抽象编码方法,根据汇编指令的语义,将汇编指令抽象化成特定的数据结构,以便于后续开展分析;在此之上,设计了三大类特征组成的立体特征体系对程序行为进行全方位的描述,同时结合污点跟踪、序列比对等技术原理,设计并优化多项基于汇编指令流的特征提取技术;继而,提出了基于模型融合技术的机器学习分类模型,能够综合学习特征体系隐含的行为描述信息,智能识别程序的功能。本文研究、设计和实现的整套智能识别技术,拥有高效、准确的特点,能够在广义程序功能识别上取得良好的识别效果。