论文部分内容阅读
逆向解析通信协议在恶意程序的分析和防御等方面具有重要应用价值。分析人员可以根据获得的协议数据格式对恶意程序的通信数据进行重写,进而控制其恶意行为。许多国内外研究致力于重写由控制主机端发送到客户端的控制命令,控制客户端程序的行为。 然而,重写控制命令只能控制客户端的恶意行为,存在局限性。要控制恶意程序的控制主机端的行为,分析人员需要重写由客户端发送给控制主机的回传数据。论文提出一种由客户端发送给控制主机的回传数据格式提取方法。主要思想是:通过监控恶意程序客户端得到回传数据过程的执行轨迹,对执行轨迹进行处理得到回传数据所在的发送缓冲区的语法结构划分结果;然后利用动态污点分析技术分析各语法字段的语义信息,进而分析出回传数据格式。 具体内容如下:利用动态二进制分析平台得到与回传数据过程相关的程序执行轨迹;采用设计的程序后向切片算法,解析出回传数据发送缓冲区的语法结构;通过分析网络协议数据的传播过程,提出了分析协议中主要协议字段的方法;利用动态污点分析技术,寻找可能传播到回传数据发送缓冲区的某些函数参数,将其标记为污点源;通过跟踪污点源传播路径,确定回传数据各语法字段的语义信息,从而得到回传数据格式信息。另外,还讨论了较大执行轨迹文件的处理方法,为较大恶意程序的回传数据格式提取问题提供帮助。 论文最后设计并实现了提出的分析方法,用于分析未公开网络协议的网络恶意程序,同时用已经公开网络协议的恶意程序进行验证,实验结果表明该方案能有效地分析出恶意程序客户端回传数据的格式信息。