[发明专利]网络协议自动化逆向分析方法有效
申请号: | 201210375831.8 | 申请日: | 2012-09-29 |
公开(公告)号: | CN103716284A | 公开(公告)日: | 2014-04-09 |
发明(设计)人: | 薛一波;王兆国;李城龙 | 申请(专利权)人: | 清华大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 韩国胜 |
地址: | 100084 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网络 协议 自动化 逆向 分析 方法 | ||
1.一种网络协议自动化逆向分析方法,其特征在于,包括以下步骤:
s1.静态通信信息提取:
提取C/S端被监视软件通信载入的信息中的关键信息并保存到日志文件;
s2.动态协议追踪分析:
根据所述关键信息设置断点,通过断点分析,抓取被监视软件收发包函数相关的日志信息,分析C/S端通信软件的网络协议包的构造和解析过程,并将所得结果保存到日志文件;
s3.信息分析:
分析整理所述日志文件,获得所需的逆向分析结果。
2.根据权利要求1所述的网络协议自动化逆向分析方法,其特征在于,步骤s1中的关键信息包括域名和IP地址信息。
3.根据权利要求2所述的网络协议自动化逆向分析方法,其特征在于,所述步骤s1具体包括:
s101.提取被监视软件的机器码并保存;
s102.以基于文件流的方式读取缓存区;
s103.提取域名和IP地址信息并保存到日志文件。
4.根据权利要求1至3任一项所述的网络协议自动化逆向分析方法,其特征在于:所述日志信息包括与收发包函数相关的内存地址、堆栈数据、寄存器数据、套接字值、收发包数据长度和收发包数据内容。
5.根据权利要求4所述的网络协议自动化逆向分析方法,其特征在于,所述步骤s2具体包括:
s201.提取被监视软件发包函数的内存地址,记录到发包断点地址寄存器中,并根据地址设置发包函数断点,开始监控断点;
s202.遇到断点后断下,判断当前EIP地址与发包函数点地址是否匹配,结果为“是”则结束s2阶段,跳转到s3阶段执行步骤s3,为“否”则执行步骤s203;
s203.记录发包函数的套接字值、发包的数据长度和数据内容并保存至日志文件;
s204.提取收包函数的内存地址,记录到收包断点地址寄存器并根据地址设置收包函数断点,开始监控断点;
s205.遇到断点后断下,判断当前EIP地址与收包函数断点地址是否匹配:结果为“是”则结束s2阶段,跳转到s3阶段执行步骤s3,为“否”则执行步骤s206;
s206.记录收包函数的套接字值、收包的数据长度和数据内容并保存至日志文件;
s207.记录当前网络数据包构造过程的层次和函数调用顺序,保存到日志文件;
s208.设置分析层次,查找调用函数的地址;
s209.判断查找到的调用函数地址是否在结束机器码之前且在预设的分析层次之内,结果为“是”则执行步骤s210,为“否”则执行步骤211;
s210.设置网络数据包解析断点,并查找下一个调用函数地址,跳转至s209;
s211.记录当前跳转的层次、当前函数调用的顺序、当前所有寄存器数据、堆栈数据、EIP地址,并保存到日志文件。
6.根据权利要求5所述的网络协议自动化逆向分析方法,其特征在于,所述步骤s203具体包括:
套接字值的获取:通过两次查找寄存器后得到记录套接字的内存地址并提取内容;
发包数据长度的获取:通过两次查询得到存储数据量的内存地址并获取内容;
发包数据内容的获取:查找发包在内存中的存储地址并借助上一步获得的数据长度获取内存中的数据内容。
7.根据权利要求5或6所述的网络协议自动化逆向分析方法,其特征在于,所述步骤s3具体包括:
s301.提取日志文件,逐行分析内容;
s302.解析日志内容,整理每步骤的日志含义;
s303.整理交互过程;
s304.展示网络协议的协议结构、交互过程、通信信息、流量特征信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210375831.8/1.html,转载请声明来源钻瓜专利网。