【摘 要】
:
近几年,互联网的普及给人们的生活带来了极大的便利,各类软件层出不穷,数量爆发式增长,随之也带来大量问题,如代码剽窃、恶意代码肆意等。为解决这类问题,逆向工程成为一项必不可少的技术,通过识别逆向后的未知代码与已知代码的重复或相似片段,可以检测软件侵权、恶意代码变种等问题。然而,由于各种混淆工具越来越成熟,即便逻辑相似的程序,经过工具混淆后,逆向出的反汇编代码不论在操作码还是程序结构上都差别甚大。现有
论文部分内容阅读
近几年,互联网的普及给人们的生活带来了极大的便利,各类软件层出不穷,数量爆发式增长,随之也带来大量问题,如代码剽窃、恶意代码肆意等。为解决这类问题,逆向工程成为一项必不可少的技术,通过识别逆向后的未知代码与已知代码的重复或相似片段,可以检测软件侵权、恶意代码变种等问题。然而,由于各种混淆工具越来越成熟,即便逻辑相似的程序,经过工具混淆后,逆向出的反汇编代码不论在操作码还是程序结构上都差别甚大。现有的二进制相似性检测技术,如判断控制流程图同构、最长公共子序列判断文本相似等,已不能抵抗混淆工具的攻击。因此,研究一种抗混淆的二进制克隆检测方法成为软件版权保护领域的重要方向。设计并实现了一个针对C语言的抗混淆二进制克隆检测系统。首先,对混淆后的二进制进行逆向,将函数转换为能描述其功能特征和混淆特征的数字向量,包括控制流程图特征、描述流程图基本块的操作码特征和常量特征,即将控制流程图(Control Flow Graph)转换为属性特征控制流程图(Attribute Control Flow Graph)。其次,使用XGBoost算法学习不同混淆策略的向量特征,并保存模型用于对未知混淆策略的向量分类检测。随后,对于不同的混淆策略,系统对特征向量进行针对性的脱壳处理,并基于曼哈顿距离算法设计了更适合本系统的相似度计算方法,用于对脱壳后的特征向量克隆检测。最后,针对系统的实际情况,对XGBoost模型参数进行了优化,提升了分类检测精度。对抗混淆克隆检测,相比于传统代码克隆检测算法,以及近来流行的自然语言处理算法,系统在性能、准确率及可扩展性上都有较大的优势。实验结果表明,数据集21249个函数,XGBoost模型学习时间约24s,平均检测速率41us/func;XGBoost算法分类检测精度达87.56%,优化后达88.80%;对指令替换、控制流平展和虚假控制流三种常见混淆方式,克隆检测准确率分别达99.50%、89.44%和77.16%。由于系统的特征提取、分类及向量相似性计算方法设计,系统支持可检测混淆策略的扩展。
其他文献
通过对Linux与Windows NT的文件系统的比较,透视出Linux与Windows NT各自不同风格的设计思想.
随着市场经济的迅猛发展,旅游市场的竞争逐渐从资源产品向旅游形象的竞争转变。塑造鲜明独特、富有吸引力的旅游目的地形象,对于旅游业发展的重要性不言而喻。目前,网络为旅
目的:1.验证髌骨调衡法治疗髌骨软骨软化症的有效性、安全性;2.探讨髌骨调衡法治疗髌骨软骨软化症的作用机制,奠定辨构论治理论基础;3.规范髌骨调衡法治疗髌骨软骨软化症的操作,便于临床应用与推广。方法:将来自门诊的72例受试者随机分成两组,即治疗组为髌骨调衡法,对照组为口服氨糖美辛肠溶片,进行比较和观察,治疗过程中,因各种原因脱落12例,最终治疗组和对照组各30例。两组各观察2个疗程,采用《McGi
2017年4月银监会颁布的《关于银行业风险防控工作的指导意见》文件中,把流动性风险确认为银行风险防控的十大重点领域之一,不仅要完善已有的流动性风险管理体系和框架,还把同业业务加入流动性风险监测范畴。2017年10月,党的十九大也提出要加强金融风险防范。自2010年起,同业业务逐渐在我国兴起,并很快受到商业银行的普遍追捧,并从一开始的融通资金、调节流动性的工具变为了具有期限错配、高杠杆特性的监管套利
<正>2018年7月24日,华为在北京召开了"探索新时代智慧交通解决方案——新平台、新治理、新服务"媒体交流会,《中国安防》参加此次会议并对华为智慧交通解决方案总监何均宏先
近年来,体育改革全面深化,体育公共服务水平不断提升,全民健身蓬勃发展,竞技体育成绩显著,体育产业日益壮大。校外体育培训产业也不断发展成熟;同时为了弥补学校体育的不足,保障学生的体育锻炼时间,国家大力支持社会力量帮助中小学的体育发展。校外体育培训不仅可以弥补学校体育的不足,而且推动了体育市场的发展。目前关于大城市校外体育培训的研究比较多,关于中小城市的研究较少;从校外体育培训机构角度的研究较多,从中
扩招使高校的在校生总数结构性膨胀,"就业难"也日趋凸显,导致很多大学生在毕业之后不得不回乡就业,大学生回乡就业与融入农村社会这一问题引起我国社会各界人民的广泛关注。因