一种在数据包的级别动态检测邮件附件病毒的方法

文档序号:7743661阅读:201来源:国知局

专利名称::一种在数据包的级别动态检测邮件附件病毒的方法
技术领域
:本发明涉及电子邮件病毒检测领域,尤其涉及一种在数据包的级别动态检测邮件附件病毒的方法。
背景技术
:随着互联网的发展和普及,电子邮件在人们的工作和生活中扮演着日趋重要的角色,成为现代人际交往中最重要的网络工具之一。但与此同时,电子邮件病毒也越来越猖獗,轻则造成用户电脑系统瘫痪,重则导致用户数据资料外泄或被销毁。简单邮件传输协议(SimpleMailTransferProtocol,SMTP)是目前广泛使用的互联网邮件传输协议。但SMTP是一个相对简单的基于纯ASCII文本的协议,并不允许在邮件消息中使用ASCII字符集以外的字符。因此,一些非英语字符集消息和二进制文件、图像、声音等非文字信息都不能在电子邮件中发送。多用途互联网由卩件扩展(MultipurposeInternetMailExtensions,MME)是一个互联网标准,它扩展了电子邮件标准,使其能够支持非ASCII码字符、二进制格式附件等多种格式的邮件消息。如今,大多数的SMTP服务器都支持MIME扩展,它使各式类型数据的传输变得和纯文本一样简单。MME规定了用于表示各种各样的数据类型的符号化方法,包括7bit,8bit,binary,quoted-printable,base64这几种编码方式。二进制文件、图像、声音等非文字信息可通过其中某种编码方式编码成对应的纯文本信息,使得这些非文字信息即可以附件的形式在邮件中进行发送了。但这却给邮件病毒提供了更多的藏身之所,越来越多的病毒选择隐藏在邮件附件中来进行传播。若用户点击携带了病毒的邮件附件,不仅自身的电脑会由于病毒感染而造成损失,而且病毒会按照用户的通讯录将病毒再传播给其他人,最严重的情况可能会造成整个网络的瘫痪。在目前通用的杀毒软件中,检测邮件附件是否含有病毒的方法是对已编码的整个附件信息进行解码检测。这样做,有以下两点不足之处1.占用较大容量的缓冲区来存储待检测的附件,降低了内存的利用率;2.必须接收到所有附件信息后,才能进行解码检测,增大子检测到病毒的时延,降低了工作效率;
发明内容为了克服现有的邮件附件病毒检测技术需占用大量缓冲区的不足点,同时縮小检测出病毒的时延,本发明提供一种在数据包的级别动态检测邮件附件病毒的方法。本发明解决其技术问题所采用的技术方案是—种在数据包的级别动态检测邮件附件病毒的方法,包括判断接收到的数据包是否包含附件信息;3查看附件信息所使用的编码方式;判断该数据包是否是邮件的结束部分;根据解码后的附件信息长度与预设定的阀值的关系对其进行操作。本发明提出一种在数据包的级别动态检测邮件附件病毒的方法采用动态检测的思想,接收到一个数据包则解码检测一次,不必等到所有附件信息收集齐全后再集中解码检测。采用这种技术,一方面可减少所需缓冲区的大小,提高内存使用率;另一方面,大大降低了检测出病毒的时延,提高了检测效率。技术效果与现有技术相比,本发明具有以下有益效果1.不同于现有技术需要大量的缓冲区来存储已接收到的若干个数据包,本方法只需少量的缓冲区间来存储未达到预处理长度的信息,这样提高了内存的利用率;2.如果先收到的某个数据包中包含病毒,在现有技术下却要等到所有数据包收齐后才能被检测出来,这样增大了检测出病毒的时延且降低了检测效率。但本发明提出的方法是收到一个数据包则解码检测一次,这样大大縮短了检测出病毒的时延,提高了检测效率。图1为本发明所述一种在数据包的级别动态检测邮件附件病毒的方法的具体实施流程图。具体实施例方式下面结合附图对本发明实施例的技术方案及其技术效果做详细说明。本发明所述一种在数据包的级别动态检测邮件附件病毒的方法如图1所示,包括如下步骤步骤101判断接收的数据包是否包含附件信息接收到一个数据包后,根据其MIME头部信息来判断包含附件信息的情况;如果含有附件信息,则对该附件信息进行解码。MME头部信息中的内容处置(Content-Disposition)字段用于指定邮件阅读程序处理数据内容的方式,其有inline和attachment两种标准方式inline表示直接处理;attachment表示当作附件处理。在此步骤中,如果将Content-Disposition设置为attachment,那么其后还可以指定filename属性,例如Content—Dispositon-attachment;filename="hello,doc",其中MME头字段表示MME消息体的内容为邮件附件,附件名为"hello,doc"。亦即是说,当MME头部信息中Content-Dispositon的字段为attachment时,则表示信息体为附件信息。步骤102查看附件信息所使用的编码方式MME头部信息中的内容传输编码(Content-Tansfer-Encoding)字段用于指定编码方式。形式如下Content-Transfer-Encoding:[mechanism];其中mechanism的值可指定为"7bit,,、"8bit,,、"binary,,、"quoted-printable,,、"base64,,。如果mechanism值为"base64,,,那么表示该附件信息是采用"base64"方式编码,则采用"base64"方式解码附件信息。4步骤103判断该数据包是否邮件的结束部分MME头部信息中的内容类型(Content-Type)字段中的boundary属性用于定义表示嵌套的各个MME消息之间的边界标记,每个边界标记都以两个"-"连接符开始;同时,在最后一个MIME段的末端,边界标记不仅以这两个连接符作为开始,而且也以它们作为结束。因此,如果boundary属性值末端连着两个连续的连接符,那么表示该段信息为邮件的结束部分,则直接对其进行检测。步骤104根据解码后的附加信息长度与预设定的阀值的关系对其进行操作设定一个阈值L来表示内存中暂存待检测的附件信息的缓冲区的大小;一般情况下,该阈值L略大于在网络中传输的数据包的长度,但远远小于整个附件信息的长度;判断解码后的附件信息长度与阈值L的大小关系;如果该数据包不是邮件的结束部分,则根据解码后的附件信息长度与阈值的大小关系按照不同的顺序进行检测。假定预设定的数据包解码后附件信息长度为Ll,暂存在缓冲区中的信息长度为L2;若LI与L2之和小于L,则将其存入内存的缓冲区中,等待下一个数据包到达之后再判断其和与下一个数据包之和是否达到该阈值L;如果达到,则将其与下一个数据包解码后得到的信息一起进行病毒检测;如果LI与L2之和不小于L,则直接检测其是否包含病毒;如果该数据包为最后一个数据包,则直接解码检测。步骤105结束。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求一种在数据包的级别动态检测邮件附件病毒的方法,其特征在于,包括判断接收到的数据包是否包含附件信息;查看附件信息所使用的编码方式;判断该数据包是否是邮件的结束部分;根据解码后的附件信息长度与预设定的阀值的关系对其进行操作。2.根据权利要求1所述的根据解码后的附件信息长度与预设定的阀值的关系对其进行操作,其特征在于,包括预先设定一个阈值来表示内存中暂存的待检测附件信息的缓冲区的大小;判断解码后的附件信息长度与阈值的大小关系;根据解码后的附件信息长度与阈值的大小关系按照不同的顺序进行检测。3.根据权利要求2所述的根据解码后的附件信息长度与阈值的大小关系按照不同的顺序进行检测,其特征在于,如果解码后的附件信息长度和暂存在缓冲区中的信息长度之和小于该阈值,则将其存入内存的缓冲区中,等待下一个数据包到达之后再判断其和与下一个数据包解码后的长度之和是否达到该阈值;如果达到,则将其与下一个数据包解码后得到的信息一起进行病毒检测;如果解码后的附件信息与缓冲区中暂存的信息长度之和达到这一阈值,则直接检测其是否包含病毒;如果该数据包为最后一个数据包,则直接解码检测。全文摘要本发明公开了一种在数据包的级别动态检测邮件附件病毒的方法,涉及网站安全
技术领域
。所述方法包括判断接收到的数据包是否包含附件信息;查看附件信息所使用的编码方式;判断该数据包是否是邮件的结束部分;根据解码后的附件信息长度与预设定的阀值的关系对其进行操作。本发明能够提高内存使用率和病毒的检测效率。文档编号H04L12/58GK101789105SQ201010124178公开日2010年7月28日申请日期2010年3月15日优先权日2010年3月15日发明者张栗伟,童志明,肖新光申请人:北京安天电子设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1