逆向数据分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

云环境下逆向数据分析的意义

及国内外研究现状

1. 逆向工程

逆向工程(又称逆向技术),是一种产品设计技术再现过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程、组织结构、功能特性及技术规格等设计要素,以制作出功能相近,但又不完全一样的产品。逆向工程源于商业及军事领域中的硬件分析。其主要目的是在不能轻易获得必要的生产信息的情况下,直接从成品分析,推导出产品的设计原理。

产生动机

1. 接口设计。由于互操作性,逆向工程被用来找出系统之间的协作协议。

2. 军事或商业机密。窃取敌人或竞争对手的最新研究或产品原型。

3. 改善文档。当原有的文档有不充分处,又当系统被更新而原设计人员不

在时,逆向工程被用来获取所需数据,以补充说明或了解系统的最新状

态。

4. 软件升级或更新。出于功能、合规、安全等需求更改,逆向工程被用来

了解现有或遗留软件系统,以评估更新或移植系统所需的工作。

5. 制造没有许可/未授权的副本。

6. 学术/学习目的。

7. 去除复制保护和伪装的登录权限。

8. 文件丢失:采取逆向工程的情况往往是在某一个特殊设备的文件已经丢

失了(或者根本就没有),同时又找不到工程的负责人。完整的系统时常

需要基于陈旧的系统上进行再设计,这就意味着想要集成原有的功能进

行项目的唯一方法,便是采用逆向工程的方法,分析已有的碎片进行再

设计。

9. 产品分析:用于调查产品的运作方式,部件构成,估计预算,识别潜在

的侵权行为。

方法实现

1.分析通过信息交换所得的观察。

最常用于协议逆向工程,涉及使用总线分析器和数据包嗅探器。在接入计算机总线或网络的连接,并成功截取通信数据后,可以对总线或网络行为进行分析,以制造出拥有相同行为的通信实现。此法特别适用于设备驱动程序的逆向工程。有时,由硬件制造商特意所做的工具,如JTAG端口或各种调试工具,也有助于嵌入式系统的逆向工程。对于微软的Windows系统,受欢迎的底层调试器有SoftICE。

2. 反汇编,即使用反汇编器,把程序的原始机器码,翻译成较便于阅读理解的汇编代码。这适用于任何的计算机程序,对不熟悉机器码的人特别有用。

3. 反编译,即使用反编译器,尝试从程序的机器码或字节码,重现高级语言形式的源代码。

2. 未知协议逆向分析的研究意义

未知协议逆向分析是在不清楚目标协议的规范的前提下,逋过逆向工程跟踪解析协议通信过程的指令级和函数级操作来重构协议的规范,从而解析出未知协议的语法结构和行为语义,是当前网络安全研宄的一个热点和重点。

(1)未知协议逆向分析成为网络信息安全研究和防御的重要手段

在日常生活和工作中,网络通信协议在计算机网络和分布式系统的应用是不可替代的,比如在电子商务领域、通信领域、交通领域、金融领域、应急服务领域、电力调度领域等。在这过程中,未知协议不断的出现和衍生,伴随而来的是大量的网络安全问题的出现。比如,某知名网站客户个人信息泄露、某产品系统被非法入侵、某网站被黑客攻击等。未知协议逆向分析对入侵检测、漏洞挖掘、网络流量分析、网络安全策略的制定等起着至关重要的作用。

(2)未知协议逆向分析为其他安全检测产品提供了基础

a)入侵检测系统(IDS)是逋过某种设备监听网络上传输的原始流量,对捕获的网络数据包进行分析处理,再从分析的结果中提取有用的信息,最后,为了达到识别攻击事件的目的,需要通过比较已知攻击特征和正常网络行为特征来识别。

b)入侵防御系统(IPS)同样也是通过监视网络设备的传输情况,对网络行为判断是否为攻击行为,是否会对网络、数据造成危害的恶意行为,从而到达对网络行为进行检测和防御的目的,使用者能及时应对网络异常状况,并以最大限度的降低网络处理资源的开销,是一种侧重于风险控制的安全产品。C)防火墙是由服务访问规则、验证工具、包过滤和应用网关4个部分组成的在内网与外网之间、专用网与公共网之间根据特定的访问规则建立起的一种过滤防护技术,存在软件防火墙和硬件防火墙两种形式。

以上几个安全产品都涉及到网络数据包行为分析,对未知网络协议数据的分析是不可避免的,未知网络协议逆向分析技术为IDS, IPS, Firewall等安全产品分析网络数据提供了技术支持,也是对网络流量险情检测能力的一种补强。

3.未知协议逆向分析的国内外研究现状

近年来,国内外网络安全工作者、研究机构在未知协议逆向分析领域开展了大量的研究工作,并取得了丰硕的成果。当前协议逆向分析的方法主要有两种:基于网络报文序列采样匹配的静态分析方法和基于协议数据在应用程序执行时监控其指令序列轨迹的动态分析方法。其中,静态分析方法是以未知协议的网络报文序列为分析对象,釆样其网络数据为样本,通过概率匹配算法统计其流量出现的频率和特征来识别未知协议的格式,特点简单、易实现、不需要协议解析终端,因此通用性更强,但缺点是采样量的大小是制约协议识别准确率高低的重要因素,同时不同的协议因为实现标准的差异,有些甚至是非标准的、混滑加密的私有通信协议,单纯的利用概率匹配网络协议流量很难达到识别未知协议的语法格式和字段语义的目的,已有的研宄成果具有代表性的有PI,Discovere产等,采用的方法包括:通过统计网络数据流中不同协议字段的出现频率,利用某种推演算法识别协议字段结构的方法;通过对网络流量的内容统计分析后进行建模,最后针对不同网络流量对应的协议类型进行识别和区分的方法还有通过处理自然语言和字符串对齐算法对网络数据流进行主动学习,并能对接收到的网络请求进行

自动地应答,最后达到识别未知协议的目的动态分析方法是在目标协议数据在应用程序被处理过程中动态跟踪其指令流的轨迹来解析协议的格式,与静态分析方法相比,该方法能获得污点源被应用程序处理过程中的指令级污点扩散轨迹和函数级语义信息,对解析协议语法格式更加准确、识别协议字段语义具有明显的优势,主要研宄成果有:Polyglot, AutoFonnat等。

3.1基于网络报文序列采样匹配的方法

国外提出对未知协议逆向分析釆用网络报文序列釆样匹配分析的方法较早,最为典型的是Beddoe于2004年启动的PI项目(protocol in-formation project)。PI 项目的核心方法是把生物信息学的序列比对算法应用到对网络报文序列集进行比对分析,其具体分析流程如图1-1所示:

图1-1 PI的分析流程图

3.2基于协议数据在应用程序执行时监控其指令序列轨迹的方法

Lin等人提出了基于污点数据分析的协议字段间结构识别方案AutoFormat,该方案的特点是结合了污点数据解析的上下文环境,在污点跟踪过程中,记录所

相关文档
最新文档