论文部分内容阅读
近年来,随着网络通信规模的扩大和协议种类的增多,肆无忌惮的黑客攻击导致企业、个人网络用户信息泄露事件,使得网络安全问题被空前关注,未知的、私有的通信协议是其中一个很重要的原因。很多网络安全检测设备都是基于对已知协议的分析,无法识别未知协议给网络带来的安全问题。未知协议的逆向分析对软件安全性分析、入侵检测、指纹生成、应用程序会话重放、流量控制、漏洞挖掘、网络安全策略的制定等起着至关重要的作用。未知协议逆向分析的目的,是在未获得目标协议规范的前提下,通过逆向模拟重构协议的通信过程来解析未知协议的语法结构和字段语义。据统计,目前Internet与企业网上运行的网络协议大约有600多种,网络应用高达2000多种,同时网络中各种新的、私有的、未知的网络通信协议正在不停的增加,深度理解运行在企业单位中局域网和Internet中的广域网中的通信协议对于计算机网络安全来说显得尤为重要了。现行的未知协议逆向分析方法主要分为两种,一种是依赖于网络报文样本序列比对的静态分析方法,另一种是动态监控网络应用程序执行指令序列的动态分析方法。前者面临样本比对量大、时间耗费大、协议解析准确率不高等问题,后者同样面临技术实现难度大、跟踪目标进程资源消耗大等问题。一个自动化程度高,逆向解析准确率高,动态分析与静态分析结合的未知协议识别方法是当前网络安全最紧迫的需求。论文基于全系统仿真系统TEMU动态指令流分析平台,利用特定跟踪插件监控目标进程的动态指令执行轨迹,并生成一个汇编文件。通过分析此汇编文件,构建动态污点扩散逻辑树(DTSLT),进而对DTSLT遍历分析解析出未知协议的语法结构,同时也采用静态报文序列比对分析方法解析未知协议语法结构。最后,综合动态分析和静态分析两种分析结果提取比较准确的协议语法信息。针对协议字段语义的识别,调用钩子插件跟踪目标进程的函数调用序列并记录其函数调用地址、参数和返回值等属性信息,通过与预先建立的函数语义数据库进行匹配比对,进而解析出未知协议字段的行为语义信息。论文的最后对系统设计方案进行了实践和测试,实验结果表明,这种基于动态指令序列分析和静态报文序列分析结合的方法能够较为准确地解析未知协议的语法结构和字段语义行为。