吴宇佳(贵州航天计量测试技术研究所,贵阳 550009)
网络预定行为检测及还原技术研究
吴宇佳
(贵州航天计量测试技术研究所,贵阳550009)
随着互联网经济的飞速发展,网络预定行为(包括定机票、定酒店、定餐等)已经成为人们生活中非常重要的一环。从研究网络预订行为通信过程和协议分析着手,针对网络预定行为特征检测,网络协议数据重组,及网络预订行为检测及还原系统设计几个方面展开研究工作。在实际中,网络预定行为检测及还原技术研究,可以为网络监管提供一种辅助措施。
网络预定;POST;特征检测;数据重组
互联网经济的发展和成熟,特别是网络预定行为的繁荣很大程度上方便了人们原有的生活。网络预定在方便人们生活的同时,也不可避免地为不法分子所利用,在网络中捕捉数据包,对其进行特征检测、信息提取和数据还原,可以作为一种有效的公安机关网络监管辅助措施。进行网络预定行为检测及还原技术研究的目的是提取其中的有用信息,例如预订人姓名、证件种类、证件号码、住址,预定服务等。这里研究的是网络数据在传输过程中如何通过捕获数据包进行数据的检测还原,提取有用信息。
通过对常见三类网络预定行为:机票预定、酒店预定、餐饮预定,进行分析发现,网络预定行为有一个共同的基本过程:
·用户在浏览器中进入预定网站,进入预定页面。
·用户通过搜索等方式选择需要的服务,点击提交进入订单填写页面。
·用户填写订单信息,完成点击“提交订单”按钮,完成网络预定。
使用数据包捕获分析软件,如Wireshark,对常见预订网站通信过程进行协议分析,以机票预定为例,发现当用户填写订单,并点击“提交订单”按钮后,用户向服务器发起一个基于HTTP协议的POST请求,如图1所示。
图1 一个机票预订示例网站POST请求数据包
分析图1中所示数据包信息可以得到用户全部订票信息,其中有底纹字体部分即为所需的有用信息。多次抓包分析试验证实,所需信息都是在相应固定关键词之后,并且都有固定的格式。其中的文字信息(如出发地与订票人姓名)使用URL编码。把其中的有用信息用URL解码,能得到的有用信息如表1所示。
表1 一个机票预订示例网站有用信息表
通过对各种预定行为进行通信过程协议分析,发现不管是哪类预订网站在整个预订行为通信过程中的某个时刻或某几个时刻由用户向服务器提交一个或几个POST请求,通常需要的有用信息存在于当用户填写订单并提交订单时发出的那一个POST请求中,极少数情况下有用信息不只存在于一个POST请求中。
通过以上分析,可以总结出网络预定行为的一些特征。首先访问的预定网站服务器IP可以确定,传输层协议采用TCP,目的端口为80,应用层协议为HTTP,应用层数据特征字符串以POST开头,其他一些特征字符串,例如上面的机票预定中都包含特定字符串“new_order”每个有用信息有一个固定的开始字符串和结束字符串等信息。通过这些特征可以实现从众多网络数据包中检测定位需要的数据包,进而进行有用数据的还原。
进行网络预定行为检测及还原技术研究的目的是提取其中的有用信息,通过上面研究分析发现有用信息存在于基于HTTP协议的POST请求数据包中。通过预定行为特征集合可以定位包含有用信息的数据包。但要想从应用层POST数据中提取有效信息,必须先得到通信中的应用层数据。由于通信过程中应用层数据可能分成多个数据包独立发送,因此从网络层上看,应用层数据会被分散到很多个网络数据包中。当捕获了正在网络中传送数据包的时候,需要的应用层数据就有可能被分散到多个数据包中。这时怎么从这些数据包中取出应用层数据分片然后重新组合成一个完成的应用层数据就是一个非常重要的问题,本文把这个问题称作网络协议数据重组,研究网络协议数据重组的有效方法就显得非常重要了。由于这里研究的POST数据其传输层协议为TCP,而TCP是面向连接的,可靠的,有序的协议,重组的时候需要考虑的问题复杂得多,例如起始包、乱序、包丢失等。所以这里主要研究的是TCP协议数据重组的问题。
另外,实现网络协议数据重组之前,需要一个特征检测过程,检测哪些数据包需要还原,然后将需要的数据包再进行重组处理。由此不难得出网络协议数据重组总体结构示意图如图2所示。
图2 网络协议数据重组总体结构示意图
捕获到的数据包首先要进行特征检测以识别某个行为产生的数据包,如果检测到需要的数据包的连接,就把需要重组的连接的信息包括还原名称,五元组等信息等传送到数据重组管理模块。重组管理模块这是就会知道有一个新的数据连接需要重组,于是就在重组队列中增加一个队列。同时重组管理模块接收每一个捕获的数据包,判断是否属于正在重组的某个连接。如果是直接送入对应的重组队列进行重组处理,如果不是丢弃,接收下一个数据包。当重组管理模块发现某个重组队列重组完成,就把重组好的队列交由下一步的数据分析模块处理。
进一步对如果更进一步各个模块进行详细设计,则会有网络协议数据重组详细设计图如图3所示。
据包先要送到特征检测模块中进行特征检测,当特征检测模块中检测到需要还原的连接后,首先提取该连接的五元组(源IP,源端口,目的IP,目的端口,传输层协议)信息,然后生成重组文件存放的目标文件夹,自动在该文件夹下生成四个文本文件,包括存储有双向数据的文件以及文件附加信息,具体为客户端向服务端发送的应用层数据,服务端向客户端发送的应用层数据,还有保存有双向数据的如接收时间、应用层数据长度等附加信息的文件。最后,特征检测模块向数据重组模块发送这个连接的五元组信息以及刚刚生成的文件夹名称和路径。重组模块要进行的就是将每个进入的数据包进行处理写入这些文件中去。以上的过程就是图3中的①过程。而接下来数据重组模块就是要收集这个连接的所有数据包,剥离其应用层数据处理后写入这个文件夹中。
图3 网络协议数据重组详细结构图
接下来当重组管理模块接收到特征检测模块发来的信息时,知道有个新的连接,于是增加一个单个连接重组模块进程处理该连接。各个单个连接重组模块之间相互独立,同时处理,互不干扰。
重组管理模块对每一个传入的数据包都进行分析,经过与包含有所有正在重组的连接具体信息的队列中内容进行匹配后,确认属于正在重组的连接的就加入相应的单个连接重组进程进行重组,否则将该包丢弃,直接进行下一个包的分析。这个过程就是如图3中所示的②过程。
单个连接的重组进程每接收到一个包,都按照网络协议栈的顺序,从底层向上层依次剥离各层包含控制信息头部,最后将纯应用层数据内容写入连接临时对话中作排序处理。连接临时对话中按照包的前后到来时间并且兼顾TCP的序列号(如果是UDP则没有序号)进行排序处理。如何是TCP,由于TCP是由连接的,有序的,可靠的协议,其一个连接各个包有先后顺序,顺序由序列号表示。如果数据包再传输中有延迟,丢失,那么连接临时对话中的数据就有可能乱序,丢包等,所以连接临时对话中就必须有对乱序,丢包等各种异常情况的处理。连接临时对话中把已经正确排序的应用层数据连接部分按顺序写入重组文件夹中对应的数据重组文件中。同时单个连接的重组进程各自维护自身的标志位和连接重组完成情况,随时等待管理模块的访问。
重组模块在每次处理完单个数据包后还要对待重组连接队列进行一次分析,超时或者是已经宣告重组结束的连接将调用数据分析模块进行处理。分析模块处理重组文件夹中的文件进而进行数据分析。
系统总体设计分为数据采集模块、数据重组模块和数据分析模块。网络预订行为检测系统总体框架设计如图4所示。
图4 网络预订行为检测还原系统总体框架设计图
数据采集模块实现的是网络数据包写入磁盘形成格式话数据包文件。在捕获数据包时所采取的过滤策略应该是直接在网卡上能实现的策略,通常采取的策略是靠五元组信息进行数据包过滤。
接下来应该是对网络数据包进行重组。虽然在网卡上采取了初步过滤,但数据包的数量依然非常大,不可能也没必要对每一个网络连接进行数据重组。一个有效的办法是通过数据包特征检测方式对照行为特征库对网络预订行为产生的数据连接进行重组,生成重组数据文件。所谓行为特征库里面存储的是每个行为的特征集合,这里使用的特征库包括访问的服务器IP,传输层协议(TCP),端口(80),应用层协议(HTTP),应用层数据特征字符串(“POST”)等组成的集合。
然后是对重组后的数据文件进行数据分析,数据分析的重点是对有用信息的提取,这时要对照预订行为知识库进行有用信息的提取。行为知识库中记录了每个有用信息的开始字符,及编码规则等信息。最后把提取的有用信息存入数据库中。所谓行为知识库里面存储的是每个行为中包含的有用信息项集合。这里的行为知识库中记录了每个有用信息的开始字符,结束字符和编码规则等信息。
通过对网络预定行为检测及还原系统进行编码实现,经过实际的模拟环境测试可以实现网络预定行为检测并且还原出有用信息。
本文主要研究网络预定行为检测及还原技术,从研究网络预订行为通信过程和协议分析着手,针对网络预定行为特征检测,网络协议数据重组和网络预订行为检测及还原系统设计几个方面展开研究工作。重点研究了一种网络协议数据重组方法。通过对网络预订行为检测及还原系统的设计,经编码实现可以还原出有用信息。
[1]谢希仁.计算机网络(第四版)[M].大连:大连理工大学出版社,2010,4.
[2]陈雷,刘嘉勇.基于HTTP协议的POST数据分析与还原[J].通信技术,2011,44(4)∶43-46.
[3]Richard J.Roiger,Michael W.Geatz.Data Mining a Tutorial-Based Primer[M].北京∶清华大学出版社,2003,3.
[4]顾洋.分布式网络通信行为分析技术研究[D].四川大学,2012.
Online Booking;POST;Feature Detection;Data Reorganization
Research on Online Booking Behavior Detection and Recovery
WU Yu-jia
(Guizhou Aerospace Institute of Measurement and Testing Technology,Guiyang550009)
With the rapid development of the Internet economy,online booking behavior(including booking flights,a hotel,set meals,etc.)has become a very important part of people's lives.Started with the communication process and protocol analysis,the research focuses on the detection of on online booking behavior characteristics,the reorganization of network protocol data,and the design and of online booking behavior detection and recovery system.In practice,the online booking behavior detection and recovery technology research can provide an additional measure to network supervision.
1007-1423(2016)20-0050-04
10.3969/j.issn.1007-1423.2016.20.010
吴宇佳(1986-),男,重庆涪陵人,硕士,工程师,研究方向为信息系统安全
2016-04-14
2016-06-10