用于防止对电子邮件消息进行入侵的方法和系统的制作方法

文档序号:6498432阅读:374来源:国知局
专利名称:用于防止对电子邮件消息进行入侵的方法和系统的制作方法
技术领域
本发明涉及防止电子邮件病毒的领域。
背景技术
例如在RFC 2822,2045-2049中定义了电子邮件消息的结构。根据这些公开的建议,电子邮件消息应该以文本格式出现,即与二进制格式相反,仅包括ASCII字符。由此电子邮件消息的结构实际上是灵活的,尽管存在与电子邮件结构相关的定义。此外,电子邮件客户机试图处理与所谓的标准的偏离,以使得能够在尽可能多的电子邮件客户机之间进行通信。
“电脑黑客”可以入侵(exploit)该相对自由的结构,来将恶意内容引入接收方的计算机、邮件服务器以及在发送方与接收方之间运行的监查设备(即,用于检测电子邮件消息内的恶意内容的系统)。
图1示出了简单的电子邮件消息。其包括三个组成部分-头部组成部分11至14;-分隔行空行15;以及-消息文本标记为16至18。
“组成部分”可以包括“子组成部分”。例如,可以将组成部分11至14视为电子邮件头部的“子组成部分“,而将组成部分16至18视为电子邮件内容组成部分的子组成部分。
分隔行15将头部11至14与消息文本(标记为16至18)分隔开。
该消息包括四个头部-“From”发送方的标识,标记为11;-“To”接收方的标识,标记为12;-“Subject”消息的主题,标记为13;以及
-“Date”发送消息的日期,标记为14。
如上所述,假设电子邮件消息仅包含有ASCII字符,但是在所接收的电子邮件消息包含有非ASCII字符(“无效内容”)的情况下,电子邮件客户机软件(例如Outlook Express)通常不会指示错误。并且没有定义发送电子邮件消息的日期的格式,因此添加到该字段的额外字符不会使电子邮件客户机或服务器指示错误。
在本领域中“入侵”一词是指利用计算机系统的特定弱点来对计算机系统的攻击。例如“缓冲区溢出攻击”是各种系统中的已知缺陷(bug)。它使得应用程序覆盖系统区域,例如系统堆栈,从而获得对该系统的控制。
图2示意性地示出了缓冲区溢出攻击。计算机存储器20“保存有”电子邮件客户机软件21、电子邮件消息22以及系统堆栈23。使用电子邮件消息22的残缺(malformed)结构,电子邮件消息22的内容可以改写分配给系统堆栈23的存储器。通过箭头24示出这一动作,该箭头24表示用于保存电子邮件消息22所需的存储器的扩展。由此,通过将计算机代码插入电子邮件消息的意外位置,该代码可以在接收方的计算机上执行并且引起破坏。此外,由于电子邮件服务器通常包括监查设备,所以,这种入侵也可以用于运行监查设备、电子邮件服务器等的计算机。
与电子邮件相关系统的另一已知的弱点是监查设备可能不熟悉电子邮件消息的某一结构,结果使得附件可以到达接收方的系统(“专有编码类型(proprietary encoding type)”)。这可以被利用来将恶意内容引入接收方的机器和邮件服务器。例如,Base64和TNEF是附加到电子邮件消息的文件的格式,然而,电子邮件监查设备中的一些不支持TNEF。因此,如果由Microsoft Outlook发送的电子邮件消息使用TNEF格式,则不支持TNEF的监查设备不会在附件内查找恶意内容,结果接收方可能接收到未经监查的文件。此外,不支持某一附件格式的电子邮件客户机不允许它们的用户使用此格式的附加文件,结果导致用户在这种情况下不知所措。
图3示出了由Outlook Express电子邮件客户机生成的电子邮件消息。该消息附有名为FIG0000.BMP的文件。该文件为Base64格式,由此其行32的长度是76个字符,除非该行是最后一行。其仅包括一个文本行34。该电子邮件是多组成部分消息,其中各组成部分由边界行31来分隔。在两个组成分部33中出现有图片的名称。
该消息的灵活结构给入侵留出了广阔空间。例如,所附加的文件的名称出现了两次。出现了以下问题如果名称不相同(“抵触信息”)则某一电子邮件客户机将如何应对?如果所附加的文件的多行的大小不同(“残缺附件”)则某一电子邮件客户机将如何应对?如果尽管附加文件确实具有BMP的扩展名(其表示图像文件),但是实际上所附加的文件是可执行文件(“文件类型伪装”),则某一监查设备将如何动作?以及如果文件中日期的长度是64K字节,而不是几十字节,则将该消息载入电子邮件客户机的存储器时将会发生什么?等等。
关于残缺附件,另一个公知的问题是一些电子邮件客户机(例如Microsoft Outlook)的行长度是4的倍数,例如4、8、12、16、20、24、…76字节等等。当实际的行长度不符合该规则时,各个电子邮件客户机和邮件扫描仪可能进行不同的解译。
关于电子邮件消息的另一个公知的问题是一些电子邮件客户机(例如Microsoft Outlook)将未在电子邮件标准中规定的字段添加到发出电子邮件消息中。通常,在电子邮件客户机是与发送方电子邮件客户机相同的产品(例如,发送方和接收方都是Outlook Express)的情况下,这种字段被导向接收方电子邮件客户机。然而,从发送方的角度来看,额外的字段可能包括发送方可能不想向接收方发送的信息。
因此,本发明的目的是提供一种方法,该方法通过使用电子邮件消息的非通用结构来防止对电子邮件消息进行入侵。
本发明的另一目的是使得电子邮件消息能够符合多种电子邮件客户机的要求。
本发明的又一目的是防止经由电子邮件消息发送不符合电子邮件标准的信息。
通过以下说明将使本发明的其他目的和优点变得明确。

发明内容
在一个方面,本发明涉及一种用于防止对电子邮件消息进行入侵的方法及其系统。该方法包括将电子邮件消息分解成多个组成部分;对于所述多个组成部分中的每一个,只要该组成部分的结构形式偏离其通用规则,就校正该组成部分的结构形式(例如结构、格式及内容)以符合规则;以及根据电子邮件消息的组成部分(处于它们的最新状态)重组电子邮件消息。该规则涉及电子邮件消息结构,用于防止电子邮件消息的残缺结构,用于防止对电子邮件消息进行入侵等。在不能够识别该组成部分的结构形式的情况下,该组成部分可以不包括在经重组的电子邮件消息中,或者原样包括于经重组的电子邮件消息。电子邮件消息的残缺结构可以是组成部分的无效结构、组成部分的无效内容、抵触信息、残缺附件、专有编码类型、文件类型伪装等等。
在另一方面,本发明致力于一种用于防止对电子邮件消息进行入侵的系统。该系统包括用于识别电子邮件消息的多个组成部分的模块;用于测试所述电子邮件的结构形式与其通用规则的一致性的模块;用于校正所述电子邮件消息的结构形式的模块;以及用于根据所述电子邮件消息的处于其最新状态的组成部分来重组所述电子邮件消息的模块。该系统还可以包括用于检测所述组成部分内的恶意内容的模块。该系统由主机管理平台(例如电子邮件客户机、电子邮件客户机的附加件(add-in)、电子邮件服务器、电子邮件服务器的附加件、设备等)来管理。


结合以下附图可以更好地理解本发明。
图1示出了简单的电子邮件消息;图2示意性地示出了缓冲区溢出攻击;图3示出了由Outlook Express电子邮件客户机生成的电子邮件消息;以及图4是根据本发明的优选实施例的用于防止对电子邮件消息进行入侵的处理的高级流程图。
图5示意性地示出了根据本发明的优选实施例的用于防止对电子邮件消息进行入侵的系统的多个模块。
图6示意性地示出了其中实现了用于防止对电子邮件消息进行入侵的系统的邮件系统的布局。
具体实施例方式
图4是根据本发明的优选实施例的防止对电子邮件消息进行入侵的处理的高级流程图。该图描述了对电子邮件消息的所有组成部分进行测试的循环。
在块40,从电子邮件消息中“取出”下一组成部分。(在第一次,该块40是针对电子邮件消息执行的,根据其在电子邮件消息中的顺序,“下一”组成部分是电子邮件消息的第一组成部分)。
在下一块41(该块是判断块)中,询问该电子邮件结构与通用电子邮件结构的一致性。例如,组成部分的内容仅包括ASCII字符?或者,在组成部分涉及一个或者更多个电子邮件地址的情况下,该组成部分及其内容与电子邮件地址的通用结构一致?等等。
从块41起,如果组成部分及其内容与电子邮件的通用结构一致,则流程进行到块43,否则流程进行到块42。
在块42,该组成部分被重构,使得其结构和内容将与电子邮件消息的通用结构一致。例如,如果该串包括非ASCII字符,则删除这些字符或者以空格替换这些字符,或者如果组成部分串的长度对于该内容而言是不合理的(例如,对于日期是200字符),则删除额外的字符等等。
在块43,将改变后的组成部分(或在该组成部分与电子邮件消息的通用结构相一致的情况下而未改变的组成部分)添加到重构的电子邮件消息。
从块44起,如果存在待处理的更多个组成部分,则流程进行到块40,否则该处理进行到块45,在该块处结束处理。
如果组成部分的内容不是电子邮件消息的通用结构,则该组成部分不会被添加到重组的电子邮件消息中。
当然,可以测试电子邮件消息的组成部分是否存在恶意内容。
如上所述,与电子邮件相关的系统的一个公知的弱点是一些格式的长度,例如,在Base64的情况下长度应该是4的倍数,即4、8、12、16、32、64字节等等。根据本发明的一个实施例,将附件的格式改为有效格式,而不一定是Base64,确保支持该格式的每一个电子邮件客户机能够处理该数据。然而,仍然存在没有将“有效”附件解译为无效原件的一些可能。对于该问题有一些解决方案,例如,以如下方式来重组电子邮件组成部分“平均”电子邮件客户机(Outlook Express是一个好的示例)以相同方式解译经重组的附件和原始附件。在最坏的情况下,该分解修改了附件,但是随后最终用户得到与到达扫描仪的数据相同的数据。事实上,其不会是原始附件,但是仍然可以“过滤掉”病毒。
因此,本发明提供了一种方法和模块,用于通过使用电子邮件消息的非通用结构来阻止对电子邮件消息进行入侵。其还使得电子邮件消息能够符合多种电子邮件客户机的要求,并且还防止经由电子邮件消息发送不符合电子邮件标准的信息,从而防止了不希望的信息不利地到达。
可以将本发明实现为电子邮件客户机的一部分、电子邮件客户机的附加件、电子邮件服务器的一部分、电子邮件服务器的附加件,以及实现为设备(用于提供特定功能的“黑箱”,通常作为必须安装在主机管理系统上的软件的替代)等等。例如,在Outlook电子邮件客户机中,可以利用“附加件”模块来实现本发明。
图5示意性地示出了根据本发明的优选实施例的用于防止对电子邮件消息进行入侵的系统的多个模块。该系统嵌入在主机管理平台50之内。主机管理平台50可以是电子邮件客户机、电子邮件客户机的附加件、电子邮件服务器的一部分、电子邮件服务器的附加件、设备(用于提供特定功能的“黑箱”,通常作为必须安装在主机管理系统上的软件的替代)等等。例如,在Outlook电子邮件客户机中,可以利用“附加件”模块来实现本发明。
防止对电子邮件消息进行入侵的系统50的多个模块可以是-用于识别电子邮件消息的组成部分的模块,标记为51。
-用于测试所述电子邮件消息的结构形式与其通用规则的一致性的模块,标记为52。
-用于校正所述电子邮件消息的结构形式的模块,标记为53。
-用于根据处于最新状态的所述电子邮件消息的组成部分来重组所述电子邮件消息的模块,标记为55。
此外,用于防止对电子邮件消息进行入侵的系统50还可以包括用于检测电子邮件组成部分内的恶意内容的模块54。本领域的技术人员将理解恶意内容检测可以通过在本领域已知的多种方法来执行,例如检测病毒的“签名”。
单元51至55是计算机化设备,例如软件/硬件模块。当电子邮件消息到达主机管理平台50(例如邮件服务器)时,电子邮件消息导向用于识别电子邮件组成部分的模块51。各个组成部分导向用于测试电子邮件消息的结构形式与其通用规则的一致性的模块52。如果所测试的组成部分或其内容不符合所述规则,则将该组成部分校正成符合这些规则。此外,可以通过用于检测恶意内容的模块54来测试组成部分是否存在恶意代码。这可以通过在本领域已知的多种方法来执行,例如检测病毒签名。在校正了组成部分之后,通过用于根据电子邮件消息的组成部分来重组电子邮件消息的模块55将经校正的组成部分添加到经重组的电子邮件消息中。显然,单元51到55可以是单个模块的子模块。
图6示意性地示出了其中实现有用于防止对电子邮件消息进行入侵的装置的电子邮件系统的布局。通过局域网(LAN)65将用户71-74连接到电子邮件服务器60。该电子邮件服务器60包括电子邮件箱61-64,这些电子邮件箱61-64分别属于用户71-74。电子邮件服务器连接到因特网67,通过因特网67用户71-74可以与全世界的其他用户交换电子邮件消息。显然用户71-74可以在他们之间交换电子邮件消息,但是在此情况下,与互连网的连接是无意义的。图6中所述的布局与现有技术的不同在于存在用于防止对电子邮件消息进行入侵的系统66。该系统66被电子邮件服务器60管理。图5中示出了系统66的多个模块的示例。
本领域的技术人员将理解在不脱离本发明的范围的情况下,可以以其他方式和方法来实施本发明。应该将本文所述的实施例视为解释性的而非限制性的。
权利要求
1.一种用于防止对电子邮件消息进行入侵的方法,包括以下步骤-将所述电子邮件消息分解成其多个组成部分;-对于所述多个组成部分中的每一个,如果所述组成部分的结构形式偏离其规则,则对所述组成部分的结构形式进行校正,以使其符合所述规则;以及-根据所述电子邮件消息的组成部分来重组所述电子邮件消息。
2.根据权利要求1所述的方法,其中所述规则涉及电子邮件消息的通用结构。
3.根据权利要求1所述的方法,其中所述规则中的至少一个涉及对所述电子邮件消息的残缺结构进行检测。
4.根据权利要求1所述的方法,其中所述规则中的至少一个涉及对所述电子邮件消息内的入侵进行检测。
5.根据权利要求1所述的方法,其中所述结构形式是从包括结构、格式和内容的组中选出的。
6.根据权利要求1所述的方法,其中所述校正步骤包括从所述重组步骤中略去违反所述规则的组成部分。
7.根据权利要求1所述的方法,还包括检测所述组成部分中的至少一个内的恶意内容。
8.根据权利要求3所述的方法,其中所述电子邮件消息的残缺结构是从包括以下各项的组中选出的组成部分的无效结构、组成部分的无效内容、抵触信息、残缺附件、专有编码类型以及文件类型伪装。
9.一种用于防止对电子邮件消息进行入侵的系统,所述系统在主机管理平台上实现,所述系统包括-用于识别电子邮件消息的多个组成部分的模块;-用于测试所述电子邮件的结构形式与其规则的一致性的模块;-用于校正所述电子邮件消息的结构形式的模块;以及-用于根据所述电子邮件消息的组成部分来重组所述电子邮件消息的模块。
10.根据权利要求9所述的系统,其中所述规则涉及电子邮件消息的通用结构。
11.根据权利要求9所述的系统,其中所述规则中的至少一个涉及对所述电子邮件消息的残缺结构进行检测。
12.根据权利要求9所述的系统,其中所述规则中的至少一个涉及对所述电子邮件消息内的入侵进行检测。
13.根据权利要求9所述的系统,其中所述结构形式是从包括结构、格式和内容的组中选出的。
14.根据权利要求9所述的系统,还包括用于检测所述组成部分内的恶意内容的模块。
全文摘要
本发明涉及用于防止对电子邮件消息进行入侵的方法及其系统。该方法包括以下步骤将所述电子邮件消息分解成其多个组成部分;对于所述各个组成部分,只要所述组成部分的结构形式偏离其规则,就对所述组成部分的结构形式(例如结构、格式和内容)进行校正,以使其符合其通用规则;以及根据所述电子邮件消息的组成部分(处于它们的最新状态)来重组所述电子邮件消息。所述规则涉及电子邮件消息结构,用于防止电子邮件消息的残缺结构、用于防止对电子邮件消息进行入侵等。在不能够识别所述组成部分的结构形式的情况下,所述组成部分可以不包括在经重组的电子邮件消息内,或原样包括于经重组的电子邮件消息。
文档编号G06F21/00GK1882921SQ200480032525
公开日2006年12月20日 申请日期2004年9月19日 优先权日2003年10月10日
发明者奥迪德·科亨, 扬吉·毛尔高利特, 达尼·毛尔高利特 申请人:阿拉丁知识系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1