首页> 中国专利> 一种未知病毒检测方法

一种未知病毒检测方法

摘要

本发明公开了一种未知病毒检测方法,针对文件格式化存储的特点和网络文件传输的特点,系统通过捕获同一连接的双向网络流量,分别提取客户端向服务器发送请求中的文件扩展名,和分析服务器向客户端应答数据中的文件头内容:对比两者的文件类型是否相匹配。如果匹配,认为正常;否则认为异常,可以发送报警。这样可以在常规反病毒软件无法有效应对未知病毒的情况下,阻断这类利用伪装传播病毒的途径。

著录项

  • 公开/公告号CN103428195A

    专利类型发明专利

  • 公开/公告日2013-12-04

    原文格式PDF

  • 申请/专利权人 北京安天电子设备有限公司;

    申请/专利号CN201210578054.7

  • 发明设计人 肖新光;邱勇良;方华;

    申请日2012-12-27

  • 分类号H04L29/06(20060101);

  • 代理机构

  • 代理人

  • 地址 100080 北京市海淀区中关村大街1号海龙大厦14层1415室

  • 入库时间 2024-02-19 21:40:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-13

    专利权质押合同登记的生效 IPC(主分类):H04L29/06 登记号:2019230000008 登记生效日:20190719 出质人:北京安天网络安全技术有限公司 质权人:龙江银行股份有限公司哈尔滨利民支行 发明名称:一种未知病毒检测方法 授权公告日:20160907 申请日:20121227

    专利权质押合同登记的生效、变更及注销

  • 2017-05-10

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20121227

    专利权人的姓名或者名称、地址的变更

  • 2016-09-07

    授权

    授权

  • 2013-12-25

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20121227

    实质审查的生效

  • 2013-12-04

    公开

    公开

说明书

技术领域

本发明涉及网络数据的未知病毒的检测技术,适用于非单向流量网络,病毒快速变化的情况下及时发现特定类型的未知病毒。

背景技术

当前的计算机应用环境大多离不开网络,而且广大网民花费大量时间在互联网上冲浪。由于普通计算机使用用户不具备专业的网络安全知识,缺乏对自身的保护,无法识别来自网络的威胁。

病毒编写者和传播者正是利用这一情况,通过简单更改文件扩展名来欺骗计算机的资源管理器和浏览器,让其误以为更改文件扩展名后的病毒是其他无害文件,从而诱骗用户下载执行;同时,通过快速发布病毒的方式,逃避杀毒软件的查杀。

通过上述的手段,导致大量计算机用户感染病毒,同时当前的杀毒软件更新的速度无法跟上当前病毒的更新速度,无法有效面对此类威胁。

为了解析方便,大部分类型的文件一般都有相对固定的文件头格式,这样我们可以通过分析文件头内容,就能识别大多数的文件格式;在计算机上存储时,一般使用文件扩展名来标识文件类型,这样计算机的资源管理器可以不需解析文件内容仅通过文件名中的文件扩展名来快速识别其文件类型。

在网络常见的FTP和HTTP协议中,通常使用下述的通讯流程来访问网络文件:用户计算机中的客户端向服务器发送URL请求,请求中包含文件所在的目录和文件名;服务器接收到请求后,将对应的文件反馈给客户端。用户在客户端所在的计算机上浏览、执行。

发明内容

本发明针对文件格式化存储的特点和网络文件传输的特点,通过捕获同一连接的双向网络流量,分别提取客户端向服务器发送请求中的文件扩展名,和分析服务器向客户端应答数据中的文件头内容:对比两者的文件类型是否相匹配。如果匹配,认为正常;否则认为异常,可以发送报警,甚至可以采取进一步的分析手段确认威胁的具体类型。这样可以在常规反病毒软件无法有效应对未知病毒的情况下,阻断这类利用伪装传播病毒的途径。

具体而言,本发明提供了一种未知病毒检测方法,包括:

S01:分析的已知文件类型的样本文件;

S02:提取各种文件类型的文件头特征;

S03:建立文件头特征和文件扩展名的对应关系表;

以上操作为预先操作,然后下面步骤才是本发明的检测方法:

S04:捕获网络数据包;

S05:对捕获的数据报文进行协议解码,分离出FTP和HTTP协议数据报文,之后针对两种协议分别进行处理;

S06:分析数据报文的传输方向,发现传输方向为服务器向客户端传送数据,则进入S10;

S07:分离出发送URL的请求数据报文;

S08:协议解码,提取请求中的URL中包含的文件名;

S09:判断文件名是否包含有效扩展名,如果没有包含,则进入S15,结束当前连接的检测;否则记录文件扩展名,并进入S04,获取当前连接的下一个包;

S10:检查是否当前连接已经关联了有效文件扩展名,如果没有关联到有效文件扩展名,则进入S04,获取当前连接的下一个包;

S11:协议解码,定位响应数据中文件内容起始的位置;

S12:针对文件起始内容进行搜索,检查是否能与已知文件头特征相匹配,如果不能,则进入S15,结束当前连接的检测;

S13:根据文件头特征对应的文件类型,从文件扩展名——文件头特征映射表中查找对应文件扩展名,保存为扩展名集合2;

S14:比较扩展名1和扩展名集合2中各个扩展名,如果有任何一个都不一致,则报告发现未知威胁进入;

S15:结束当前连接的检测。

本发明的有益效果是:本发明针对文件格式化存储的特点和网络文件传输的特点,通过捕获同一连接的双向网络流量,分别提取客户端向服务器发送请求中的文件扩展名,和分析服务器向客户端应答数据中的文件头内容:对比两者的文件类型是否相匹配。如果匹配,认为正常;否则认为异常。这样在常规反病毒软件无法检测最新病毒时,能够有效对抗病毒更改扩展名的伪装,阻止潜在的威胁。。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明建立文件扩展名列表的方法流程图;

图2为本发明未知病毒检测方法流程图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。

首先,如图1所示,为本发明建立文件扩展名列表的方法流程图,包括:

S101:分析的已知文件类型的样本文件;

事先收集各种文件类型的文件样本,查看样本文件中的文件开始部位的内容; 

S102:提取各种文件类型的文件头特征;

提取同一文件类型的文件开始部位的共同部分,如果同一文件类型的多个文件中均发现相同的二进制字符串,且其共同部分长度大于1个字符,则提取不长于8个字节的文件头特征串,并加入到特征库中;

S103:建立文件头特征和文件扩展名的对应关系表;

如果能成功提取文件类型的文件头特征,则将文件类型的文件扩展名(可能文件扩展名有多个)与对应文件类型的文件头特征建立映射表,以便后续的查询操作;

如果对应的文件类型为明文文件(包括但不限于htm、html、txt、css、js等文件),没有办法提取固定的文件头特征,则将此类文件类型使用空的文件头特征与其文件扩展名建立映射表,即文件扩展名列表;

如图2所示,为本发明未知病毒检测方法流程图,包括:

S104:捕获网络数据包;

具体的数据包捕获方式可以使用pcap捕包、零拷贝捕包、专用网卡捕包;

对捕获的数据报文进行协议解码,分离出FTP和HTTP协议数据报文;

可以根据TCP协议的端口信息或者传输层负载的起始内容是否为FTP和HTTP的起始关键词(如:pasv、port、stor、retr、get、post、http等)来识别FTP和HTTP协议,从而分离出FTP和HTTP协议数据报文; 

S105、分析数据报文的传输方向,发现传输方向为服务器向客户端传送数据,则进入S109;

在连接建立时,跟踪TCP握手报文,将发送SYN报文的目标IP地址和回应ACK-SYN报文的源IP地址,定义为服务器IP地址,另一个IP地址定义为客户端IP地址,在后续的FTP和HTTP协议报文中,可以根据哪个IP地址属于服务器IP地址来确定传输方向,源IP地址为服务器的地址的数据报文即为服务器向客户端传送数据报文。

S106:分离出发送URL的请求数据报文;

针对HTTP协议报文,分离出HTTP协议头包含URI字段的数据报文;

针对FTP协议报文,分离出FTP发送stor或者retr命令的数据报文;

S107:协议解码,提取请求中的URL中包含的文件名;

针对HTTP协议报文,协议解码提取出HTTP协议头的URI字段,按照URI的语法提取字段中的文件名;

针对FTP协议报文,协议解码提取出stor或者retr命令携带的文件名;

S108:判断文件名是否包含有效扩展名,如果没有包含,则进入S115,结束当前连接的检测;否则记录文件扩展名为扩展名1,并进入S104,获取当前连接的下一个包;

针对HTTP协议报文,由于网络服务的不同,得到的文件名并不一定带文件扩展名。如果其扩展名能在对应的文件扩展名——文件头特征映射表中找到,则判断为其扩展名为有效;如果是有效扩展名则记录其文件扩展名,并与当前TCP连接相关联(可以通过TCP连接的源/目的IP地址、源/目的端口号四元组来标识一个TCP连接);

针对FTP协议,得到的文件名应该为可以访问的文件的名称。如果其扩展名能在对应的文件扩展名——文件头特征映射表中找到,则判断为其扩展名为有效;如果是有效扩展名则记录其文件扩展名,并与接下来的文件传输TCP连接相关联,文件传输TCP连接具体标识方法如下:

1.    主动模式:将当前服务器的IP地址记录为文件传输TCP连接客户端IP地址,当前客户端的IP地址为文件传输TCP连接服务器地址,跟踪后续port命令报文,分离出服务器源端口,此三元组标识接下来的文件传输TCP连接;

2.    被动模式:将当前服务器的IP地址记录为文件传输TCP连接服务器IP地址,当前客户端的IP地址为文件传输TCP连接客户端地址,跟踪后续port命令报文,分离出服务器源端口,此三元组标识接下来的文件传输TCP连接;

S109:检查是否当前连接已经关联了有效文件扩展名,如果没有关联到有效文件扩展名,则进入S104,获取当前连接的下一个包;

针对HTTP协议报文,通过当前TCP报文的源/目的IP地址、源/目的端口号四元组来查找出对应的TCP连接。

针对FTP协议报文,则通过当前TCP报文的服务器/客户端IP地址和服务器端口号三元组来查找出对应的TCP连接据;

如果能查找到对应的TCP连接,且此TCP连接有对应的文件扩展名与之对应,则认为此连接已经关联到有效的文件扩展名;

S111:协议解码,定位响应数据中文件内容起始的位置;

针对HTTP协议报文,根据服务器的IP地址分离出服务器IP地址与报文的源IP一致的报文,在这些报文中,再进一步分离出发现服务器响应的HTTP协议头的报文,如果在HTTP协议头后面还有数据,则文件内容的起始位置为HTTP协议头的结束位置;否则文件的起始位置为下一个同一传输方向的报文的TCP负载。

针对FTP协议报文,分为四种情况来提取文件内容起始位置:

1.    主动模式的文件上传行为:服务器向客户端传送的第一个承载文件数据的TCP报文的TCP负载的起始位置为文件内容起始位置;

2.    主动模式的文件下载行为:客户端向服务器传送的第一个承载文件数据的TCP报文的TCP负载的起始位置为文件内容起始位置;

3.    被动模式的文件上传行为:客户端向服务器传送的第一个承载文件数据的TCP报文的TCP负载的起始位置为文件内容起始位置;

4.    被动模式的文件下载行为:服务器向客户端传送的第一个承载文件数据的TCP报文的TCP负载的起始位置为文件内容起始位置;

S112:针对文件起始内容进行搜索,检查是否能与已知文件头特征相匹配,如果不能,则进入S15,结束当前连接的检测;

S113:根据文件头特征对应的文件类型,从文件扩展名——文件头特征映射表中查找对应文件扩展名,保存为扩展名集合2;

由于一个文件扩展名并不能唯一代表一种文件类型,因此一个文件头特征可能对应多个文件扩展名,这些扩展名组成一个扩展名集合与文件头特征相映射。

S114:比较扩展名1和扩展名集合2中各个扩展名,如果有任何一个都不一致,则报告发现未知威胁进入;

S115:结束当前连接的检测。

虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号