基于神经网络和返回导向编程的程序行为隐藏方法

来源 :南开大学 | 被引量 : 0次 | 上传用户:woshilidefu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
程序是用计算机程序设计语言编写的用于实现某种操作的指令集合,程序为了对抗逆向分析或者是代码窃取,通常会采取一些自我保护技术,程序行为或者代码隐藏技术属于其中的一种。程序通过将自身的一些特定行为进行隐藏,增加攻击者对二进制程序进行逆向工程的难度,同时使攻击者无法分析程序的行为和结构。恶意代码通常会采取很多自我保护措施躲避杀毒软件的检测,虽然有很多种程序保护的方法,但是有的方法设计困难、有的方法会遗留特征、有的方法会增加程序复杂度、影响程序性能以及有的方法隐藏强度不够等。  本文提出了一种基于神经网络和返回导向编程( Return-Oriented Programming,ROP)的程序行为隐藏方法,该方法利用神经网络的函数模拟功能,将程序中的关键条件分支和触发ROP代码的条件分支用神经网络函数替换,由于神经网络的黑盒性和不可解释性,想要提取神经网络的复杂规则是不可能的;然后将程序中需要隐藏的特定行为的代码用ROP技术中短指令工具(Gadgets)替换,不同于其他隐藏技术,这里是完全的隐藏,程序中存储的是这些Gadgets的地址(Payload)。本文通过将这些Payload动态的写入到神经网络的存储空间中,更加有效地对抗了特征匹配分析方法,比其它ROP技术有更好的隐蔽性。同时本文利用神经网络函数对ROP技术中的Payload进行自校验,有效地抵抗了针对ROP技术的重写或替换系统函数库的攻击,增强了本方法的强健性。  为了有效地体现本文所提方法对程序行为的隐藏效果和性能,本文分别对各种恶意代码和性能测试程序SPEC CPU2006进行了实验,利用多个常用杀毒软件对隐藏恶意行为后的恶意代码进行扫描,同时使用两种比较流行的分析工具BitBlaze平台和KLEE对神经网络混淆后的程序进行逆向分析。实验表明本文所提方法在隐蔽性、强健性和性能上都有很好的表现,是一种新的程序行为隐藏方法,有效地保护了程序的行为。
其他文献
随着计算机技术和Internet网络的高速发展,从互联网上下载所需要的资料已经成为人们工作、生活中的重要组成部分。如何实现又快又好的下载是倍受关注的技术难题。当前大多使
分散在互联网上的信息资源极其丰富,但表现形式却各不相同,如何全面准确地从中查找特定信息一直是网络应用服务的重要研究内容。传统的搜索引擎使用简单的关键词匹配查找信息,尽
社团是复杂网络广泛存在的拓扑特性之一,发现网络中的社团结构是复杂网络研究的基础性问题,也是热点问题。社团划分算法按划分结果可以分为重叠和非重叠社团划分算法两类。在社
公平交换协议用来保证参与交换的各方以一种公平的方式交换信息,要么任何一方都可以得到对方的信息,要么都得不到对方的信息。公平交换协议在电子商务、电子政务等领域发挥着
随着中国物流行业的飞速发展,市场竞争日益激烈,传统的人力劳动性生产模式已不能适应不断增长的大规模邮政生产需求。从粗放式生产的转变集约性生产已迫在眉睫。而以大型设备为
网格系统为用户提供了一种全面共享各种网格资源的基础设施。随着Internet与计算机技术的飞速发展,网格系统中资源的数目日益庞大,交互更加频繁,而网格资源本身又具有分布性
认证协议是安全协议中最基本、最重要的一种,其目标是实现通信实体的身份认证和在通信实体间分发会话密钥。对认证协议的攻击形式有很多,但已构成的攻击事例中,百分之九十以
近年来,随着计算机计算速度和能力的大幅提高,传统的加密技术已经不能满足当代网络通信安全性的需求。由于混沌具有一系列较好的特性,如对初始条件和控制参数的极端敏感性,伪随机
基于背包问题的公钥密码算法是密码学历史上最早被设计出来的几个公钥密码算法之一。由于背包密码的快速加解密优势和背包问题是NP完全问题,很长一段时间内背包算法受到普遍
数字水印技术是信息隐藏技术的重要研究方向,它在数字图像等多媒体版权保护以及内容认证方面具有重要价值。互联网的便捷性和数字媒体复制的低成本,在促进数字产品在现实中的