CN101611412B - 对阻止有害代码和数据扩散的改进 - Google Patents
对阻止有害代码和数据扩散的改进 Download PDFInfo
- Publication number
- CN101611412B CN101611412B CN200780050858.7A CN200780050858A CN101611412B CN 101611412 B CN101611412 B CN 101611412B CN 200780050858 A CN200780050858 A CN 200780050858A CN 101611412 B CN101611412 B CN 101611412B
- Authority
- CN
- China
- Prior art keywords
- data
- file
- content
- regenerate
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/565—Static detection by checking file integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种处理电子文件的方法,通过标识电子文件中的内容数据的部分并确定内容数据的每个部分是具有固定目的的被动内容数据还是具有相关功能的主动内容数据来处理电子文件。如果一部分是被动内容数据,则确定是否要重新生成该部分被动内容数据。如果一部分是主动内容数据,则分析该部分来确定是否要重新生成该部分主动内容数据。然后,根据确定要重新生成的内容数据部分来创建重新生成的电子文件。
Description
技术领域
本发明涉及计算机系统和操作这种系统的方法,用于阻止有害代码和数据的扩散。具体地,本发明是对本申请人的相关英国专利申请0511749.4中描述的系统和方法的改进。
背景技术
在过去的十年中,计算机系统越来越多地受到有害代码的攻击。(到目前为止)最极端的有害代码的示例是计算机病毒。如同其生物学上的同名物,计算机病毒能够使一台机器感染,然后从这台机器开始,通过征用电子邮件系统的资源,利用其所登陆的每台计算机的地址簿,将包含病毒的电子邮件从一台计算机发送到许多其它台计算机,从而感染其它机器。所产生的浪费的带宽令用户十分烦恼。此外,许多病毒在所登陆的每台计算机上执行一些有害的动作,例如可能包括擦除文件。
典型地,病毒和其他恶意内容到达单独的附件文件,但是它们也可以隐藏于电子邮件的一部分中,从而可以在不需要用户明确地分离并执行代码的情况下变为激活。如字处理器、电子表格和数据库之类的许多应用包括强大的宏脚本语言,它允许文档/文件包括能够执行特定操作的脚本。病毒编写者利用这种脚本语言来编写宏病毒,从而包括文档/文件的电子邮件附件可能包含隐藏的病毒。
病毒不是有害代码的唯一形式。常见的是,待分发的“免费”软件具有隐藏的“间谍软件(Spyware)”,其被隐蔽地安装在用户的计算机上,并随后把所访问的网站或其他事务报告给远端计算机。一些间谍软件将导致有害广告的显示。一些间谍软件将试图使调制解调器重复拨出高价号码,间谍软件的编写者借此从电信运营商处获得收益。其它类型的有害代码包括恶意软件、蠕虫和陷门(Trapdoor)。
尽管病毒是从一台计算机至另一台计算机自我传播的,但是其它形式的有害代码通过垃圾电子邮件、在盘上的隐藏分布、或者日益增多地,从不经意访问的网站下载而得以分发。所有这些类型的有害代码具有共同点:其存在或其真实目的对它们锁定为目标的计算机的所有者和用户都是隐藏的。尽管一些类型的有害代码相对无害,但是其它的有害代码能够擦去有价值的商业数据,因而用于提供反病毒软件的行业得以发展。
目前已知的反病毒软件包括在待保护的计算机上执行的程序。典型地,这种程序在监控模式下操作,其中每次访问文件时都对要访问的文件检查病毒;以及在扫描模式下操作,其中对特定位置(如盘驱动器)中的所有文件进行扫描。反病毒程序提供商监控病毒的爆发,并且当检测到新病毒时,反病毒程序公司分析该病毒并提取可以用于检测该病毒的数据。然后,这个数据可用于运行所涉及的特定反病毒程序的计算机;典型地,通过在反病毒程序公司的网站上提供该数据以便下载。
以各种不同方式检测病毒。可以存储形成该病毒一部分的特征代码串,并针对输入的文件扫描该串的存在,因而该串用作病毒的“签名”或“指纹”。可选地,可以通过病毒的预期行为来检测病毒;可以解析源代码或脚本文件,以检测作为病毒特征的预定操作。
不幸地,类似于它们的生物学同名物,病毒很容易“变异”;代码中的微小改变(等同于大小写字母的替换)会改变病毒的签名。因此,无论通过什么方法来检测病毒的数据文件变得极大,相应地,反病毒程序所花费的时间也随着待检查的签名或规则的个数的增加而增加。尽管这在病毒扫描模式下是可接受的,但是在监控模式下,它给访问文件所花费的时间增加了不断增长的等待时间。此外,随着下载量变大并且需要更加频繁地下载,用户将无法下载必要的更新、以及因而将无法针对最新(因而是最危险)的病毒而获得保护的风险非常高。
发明内容
因此,本发明采用了防止有害代码的完全不同的保护方法。根据本发明的一方面,提供了一种接收包含预定数据格式的内容数据的电子文件的方法,所述方法包括以下步骤:接收电子文件;确定数据格式;解析内容数据,以确定其是否符合预定数据格式,以及如果所述内容数据符合所述预定数据格式,则重新生成解析后的数据,以创建具有所述数据格式的重新生成的电子文件。
还提供了相应的计算机系统、程序和承载该程序的介质。
本发明的实施例操作用于分析每个所接收的文件,然后从中重新构造替代文件。因为并不在要保护的计算机上直接存储或访问原始文件本身,所以原始文件本身不能危害该计算机。例如,可以将原始文件以比特反转形式或不能被执行的其它形式来存储。另一方面,将使用仅会生成“干净”代码和数据的生成器例程来生成该替代文件。因而不能够生成与所接收文件中的任何代码相匹配的有害代码。
本发明的一部分可以基于与计算机文件有关的某些长久已知的事实的新应用。目前,输入计算机的大多数文件具有标准化的文件格式。专有程序创建其自有的文件格式(以及要由那些程序所使用的数据必须符合那些格式),但是存在在不同的专有程序之间交换数据的充分需求,即首先,通常向一个专有程序提供输入过滤器以读取由另一专有程序所写的数据,以及其次,存在不与任何专有程序相关联的若干格式。这些通用格式的示例是ASCII文本、丰富文本格式(RTF)、超文本标记语言(HTML)和可扩展标记语言(XML)。
因此,如果要通过任意应用程序来读取文件中的数据,则该数据必须精确地符合严格的标准,而且不同的文件所使用的格式是公知的。本发明的发明人实现了:尽管允许文件所使用的格式有很宽的变化,但是大多数文件包含满足某些相对窄的实用(pragmatic)限制的数据。例如,大多数操作系统和应用将会接受很长的文件标题,但是大多数用户在大多数时间使用简短并且易于识别的文件名。
因此,本发明实施例所执行的分析可以包括:检测在其他方面符合所声称的文件类型的规范的数据是否违反了实用限制。这些“现实世界”的约束使本发明能够检测‘正常’的可接受文件。不与该类型的实用限制相对应的任何文件内容不被传递至生成器程序,因而不会以可执行的形式到达用户的计算机。
因此将会看出,本发明的实施例以和已知的反病毒程序本质上不同的方式而操作。已知的反病毒程序旨在检测病毒,并使没有被检测为病毒的所有事物通过。因此,这些反病毒程序总是不能保护用户免受最大的危险;即,未知病毒的危险。所运行的每个新病毒在引起反病毒公司的注意之前,必然已经感染了多台计算机。
此外,甚至在安装了反病毒软件、并且拥有更新的被检测数据集的情况下,在可以由反病毒软件检测到之前,病毒也通常会存储在受保护的计算机的硬驱动器或其它介质上。如果处于某种原因反病毒软件不能运行,则病毒处于适当的位置并可被激活。
美国公开申请US 2003/0145213公开了一种系统,其中在文件中检测宏或恶意代码。然后在模板中对该文件进行重构,并从该模板中删除恶意代码,从而提供干净版本的文件。
通过完全的对比,本发明并不旨在检测病毒,或甚至典型地拒绝类似于病毒的行为。相反,本发明可以拒绝所有输入的文件,并在其可能的位置处以不包含有害代码和数据的所生成的文件进行替代。因此,可以防止有害代码和数据以可执行的形式不断地到达要保护的计算机的硬驱动器,并且不会从一台计算机传播到另一台计算机。另外,本发明提供抵御未知病毒的“零日(zero-day)”保护,不必维持所有已知病毒的最新数据库。
就此,可以提及的是,美国公开申请2003/229810公开了一种用于保护免受病毒侵害的“光防火墙”的建议。出于那些将很快变得显而易见的原因,并不认为该系统已经实现(或者可能实现)。它描述了一种系统,其中防火墙计算机接收到诸如图像文件之类的文件,并在防火墙计算机的显示器上显示该图像。光传感器阵列扫描该图像,然后将扫描后的图像提供给预期接收者。隐藏于图像中的任何病毒没有被显示,因而没有在扫描后的图像中传递。在变体中,可以使用屏幕的位图来取代实际的屏幕显示器。
出于多种原因,在上述美国专利申请中提供的“光耦合器”防火墙不能提供有效和可靠的反病毒保护。
例如,使用光学字符识别(OCR)软件进行再现可以提供不准确的信息。此外,使用视频技术再现图像可以提供比预期较低质量的图像。此外,如果输入的文件包含病毒,则接收输入的文件的计算机将受到感染。
另一方面,通过分析然后重新生成文件而不是执行文件、显示文件、并对文件进行光学扫描,本发明的实施例能够提供在大多数情况下紧密地模仿原始文件(如果它没有有害代码)的替代文件,从而使该替代是透明的。
文件格式的复杂度有所不同。在一种极端情况下,文本文件具有简单格式。可以包含脚本或宏(如文字处理或电子表格文件)的文件具有中等复杂度,而包含代码的文件仅能通过代码解析器进行完全的分析。尽管根据本发明,这种代码分析从长远来看是可能的,但是本发明的实施例可以方便地操作以从文档文件中删除所有宏和脚本,并且不使单独包括程序、代码、宏或脚本的任何文件通过。
立即可以看出,存在用户希望接收这种文件的频繁的时机(occasion)。因此,在优选实施例中,本发明可以和过滤器并排(alongside)操作,所述过滤器被布置用于根据源对文件进行过滤,从而总是使来自特定源的文件(或特定类型的文件)通过,而拒绝来自其它源的文件。
因此,尽管本发明的实施例可以阻止用户接收来自所有源的文件中的代码,但是并行滤波器仅允许来自已知源的这种文件。因此,用户可以接收来自系统管理员或经证明的网站的文件,这将是本发明所拒绝的。通过仅标识用户希望从其接收代码的那些源,本发明可以阻止有害代码。
因为本发明可以通过检测与文件标准的符合度以及典型的用户行为、而不是通过检测病毒而操作,所以不需要频繁的更新;这种更新仅在大的变动获得普遍接受、或者用户行为发生实质改变的情况下才需要,与分发反病毒更新所需的疯狂速度相比,这两种情况均是缓慢的过程。同样地,由于要执行的测试个数在一段时间内或多或少保持稳定,所以在启动程序的等待时间上花费的时间不会增加。
附图说明
将在以下的说明书和权利要求中对本发明的这些和其他方面、实施例和优点进行讨论。参照附图,将仅通过示例对本发明的实施例进行描述,其中:
图1示出了根据本发明实施例的电子文件系统的框图;
图2示出了适用于本发明实施例的计算机系统;
图3示出了根据本发明实施例的过程的流程图;
图4示出了根据本发明实施例的开发与测试方法的流程图。
图5示出了图4所示的开发与测试方法的示例的示意图。
图6示出了本发明的另一开发与测试方面的示意图。
图7示出了根据本发明第二实施例的电子邮件系统的框图。
图8示出了根据本发明第二实施例的过程的流程图。
图9示出了形成电子邮件的不同部分配置的示例布局。
图10示出了根据本发明第三实施例的过程的流程图。
具体实施方式
第一实施例
图1示意性示出了根据本发明第一实施例的基本系统布局。在源102处创建电子文件并通过传输介质103传输该电子文件。传输介质103可以是用于传输电子文件的任何适合的介质,例如硬连线(hardwired)或无线系统或网络。电子文件以正常方式通过传输介质103,直至到达其目的地。在该实施例中,将AV(反病毒)应用105安装在目的地系统109中。AV应用105进行操作,使得不允许输入电子文件中的数据进入目的地系统109的操作系统107,直到如果确定该数据是可允许的则分析并重新生成数据。如下所述,针对预定义的可允许格式,可以对接收的电子文件的一些部分进行分析,对于接收的电子文件的其它部分,可以生成并且在先前标识为非恶意内容的散列(hash)数据库106中查找散列。AV应用程序105包括符合度分析器131、散列生成器133、散列检查器134以及内容重新生成器135,以确定是否要允许电子文件101通过并到达操作系统107并重新生成可允许的内容。
图2是示出了适于实现图1所示的目的地系统109的计算机系统的框图。系统109在输入接口111接收输入电子文件101。输入接口111连接至处理器113,处理器113被配置为对接收文件执行各种处理。处理器113包括用于对接收电子文件101中的内容进行解析的解析器115。处理器113还连接至存储器设备117以及可移除介质驱动器119,以从可移除介质读取数据或将数据写入可移除介质(如CD 120或软盘(未示出))。处理器113也连接至多个输出接口(121,123),以能够连接至输出设备(如显示器125以及键盘127)。
从而,当输入的可执行文件进入AV应用时,不允许这些文件自动运行,该系统对组成输入电子文件的数据进行布置,使其以任何适当的加扰(scrambled)格式存储在存储器中。
在本实施例中,加扰方法对字节中的比特的顺序进行反转。即,按顺序接收到比特0至7,但是将它们以比特反转方式进行存储,从而比特0与比特7交换、比特1与比特6交换、比特2与比特5交换、以及比特3与比特4交换。因此,作为示例,包括10110000的字节将以如下顺序存储:00001101。以这种方式,任何可执行代码都不能自动运行,所以任何受到感染的电子文件都不能够感染AV应用或目的地操作系统。
图3是示出了第一实施例中的AV应用105所执行的处理步骤的流程图,以确定是否允许电子文件101通过并到达目的地操作系统107。在步骤S3-1,使用任何适当的方式将电子文件101输入AV应用105并由AV应用105所接收。该输入方式可以取决于所接收的电子文件101的类型和通过其进行传输的介质。在该实施例中,电子文件101被接受入AV应用。
在该实施例中,系统109接收的电子文件101包括AV应用105要分析的一个或多个部分的内容数据。这些部分的内容数据可以是被动的内容数据,即具有固定目的的数据类型的内容,例如文本、图像、音频或视频内容数据。可选地,这些部分的内容数据也可以是主动的内容数据,如脚本、宏或可执行代码。
在该实施例中,AV应用被设计为仅允许符合多个所存储的已知的、可允许的、预定格式之一的被动内容数据通过,并且仅允许已被标识为非恶意的主动内容数据通过。作为示例,电子文件可以包括根据包括特定规则集在内的文件类型规范而编码和布置的内容数据,每种类型的文件(文本、HTML、XML、电子表格等)具有相关联的规则集。有时,通过文件名的后缀(例如.pdf、.text、.doc)来指示常见文件类型,此外或可选地,通过文件中数据的前几个字节来指示常见文件类型。许多文件类型包括指示与文件结构有关的信息的首部,之后是内容数据(例如,文本、数字、音频或图像数据、脚本、宏)。电子文件101可以包含多个部分的内容数据,一些部分是被动内容而一些部分是主动内容。
被动内容数据可以包括参数(例如,指示内容数据将以粗体呈现的标签)。构成文件类型规范的规则可以规定这些参数能够采取的值或范围。例如,这些规则还可以规定可允许的值或被动内容数据能够采取的值的范围。
本领域技术人员可以认识到,已知能够打开特定类型文件的应用程序包括解析器,用于将构成文件类型规范的规则应用于文件,以提取内容数据进行呈现或处理。例如,文字处理应用能够打开其专有的文件格式(例如,Microsoft WordTM)、其他文字处理应用的专有文件格式、以及如丰富文本格式(RTF)、ASCII和HTML之类的通用文件格式的文件。能够将被动内容数据存储为特定类型文件的应用程序包括生成器,用于将构成文件类型规范的规则应用于被动内容数据,以生成所需格式的文件。
在本实施例中,对于每种文件类型而存储预定格式。通常,预定格式包括构成文件规范的规则。然而,预定格式仅包括与格式中频繁使用的部分有关的规则。此外,预定格式包括约束内容和参数可以采取的值和/或范围的附加规则,从而仅包括通常和频繁使用的值和范围。因此,根据该实施例相应存储的预定格式,仅能够对给定的被动内容类型文件中独占地包括频繁或通常出现的数据和参数的那些部分进行分析。
不允许通过系统的被动内容的数据类型的成分(因为其不常使用,所以预定格式并不包括与之有关的规则)的示例是HTML页面中的I帧和MP3文件中的通用封装对象(GEOB)标签。不允许通过系统的不常使用的数据值(因为预定格式被限制为排除了这些不常使用的值的值)的示例是ASCII文件中除了通常使用的TAB、CR/LF和LF字符以外的控制字符。
内容数据也可以是主动内容数据。作为示例,所接收的电子文件101可以是HTML页面,该页面包括多个被动内容数据部分(包含标准HTML标签和相关文本内容)以及至少个主动内容数据部分(包含可执行脚本(如javascript或VB脚本功能))。也可以根据与所接收的电子文件101相关联的特定规则集来确定主动内容数据。例如,用于HTML文档的规则集包括对“<javascript>”标签的定义,该标签用于将HTML文件的一部分定义为Javascript可执行代码。作为另一示例,用于Microsoft Word文件/文档的特定规则集定义了特定Microsoft Word文件内包含的子目录和子文件的目录结构。一个标有”VBA”的特定子目录用于定义Microsoft Word文件内的宏。文件“VBA_PROJECT”是定义主动内容的一部分的子文件的另一示例。具有非标准名称的其它子文件可以列于用于定义Microsoft Word文件内的其它主动内容部分的“PROJECTwm”文件中。
相应地,在步骤S3-3中,处理器113标识要处理的下一部分内容,在第一次处理电子文件101时,这是接收的电子文件101中的第一部分内容。在该实施例中,标识这些部分的方式取决于文件类型规范所定义的电子文件的结构。因此,处理器113根据所接收文件的类型,对接收的电子文件101进行处理,以根据与该文件类型的文件类型规范相关联的特定规则集来标识下一部分内容。例如,用于JPEG文件的文件类型规范包括定义多个标签的规则集,这些标签用于包括关于JPEG图像的信息。作为另一示例,HTML文件由根据对HTML文件成分的不同标签集进行定义的特定规则集而布置的内容数据组成。
在步骤S3-4,处理器113确定当前已标识部分的内容是否被识别为与由接收的电子文件101的类型相关联的特定规则集所标识的部分相对应。如果处理器113确定该部分内容未被识别为由特定文件类型规范所定义,则在步骤S3-15中通过将接收的电子文件101放入隔离区来阻止该电子文件。因此,接收的电子文件101将不会以任何形式重新生成,并且中止对该文件的处理。
另一方面,如果处理器113确定该部分内容数据已识别,则在步骤S3-5中,处理器113确定当前已标识部分的内容是被动还是主动内容数据。再一次,在该实施例中,如上所述,处理器113根据与接收的电子文件101相关联的特定规则集来进行确定。
如果处理器113在步骤S3-5中确定该部分内容是被动内容数据,则在步骤S3-6,符合度分析器131用于处理该部分被动内容数据,以确定该部分内容是否符合上述预定格式。本领域技术人员可以认识到,已标识部分的被动内容可以包括多个子部分,每个子部分具有不同的相关联预定格式。在这种情况下,在步骤S3-6中可以递归的调用符合度分析器131来依次处理每个子部分,以确定每个子部分是否符合相应预定格式。在步骤S3-7中,如果符合度分析器131确定该电子文件具有其声称具有的格式,而且所有参数符合与该特定电子文件类型相关联的预定格式,则在步骤S3-9中,将这一部分被允许的被动内容数据传送至内容重新生成器135来执行重新生成。在该实施例中,内容数据重新生成器135用于根据与原始接收的电子文件类型相关联的预定格式,从被允许的内容数据部分来重新生成替代文件。
然后,该处理继续进行至步骤S3-13,在步骤S3-13中,处理器113确定是否有任何其它内容要处理。如果确定有更多内容要处理,则处理器113返回步骤S3-3来标识要处理的下一部分内容。
如果在步骤S3-7中,符合度分析器131确定该部分被动内容不符合任何预定格式,则在步骤S3-11中,处理器113确定AV应用105中是否已经设置了清除模式标记。在该实施例中,可以由存储器117中的标记来控制清除接收的电子文件101的处理,使得电子文件101中不符合的部分不会重新生成。可以将清除模式标记设置为真,以启用步骤S3-12的清除处理,使得接收的电子文件101中不符合的部分被移除或清除,并且不会出现在重新生成的文件中。在该清除处理中,文件中包含未知功能的任何片段或部分都因此被移除,但仍旧向用户提供可使用的重新生成的文件。另一方面,可以将清除标记设置为假来禁用该清除处理。如果禁用了清除处理,则将消息或电子文件的任何部分确定为不符合,则将电子文件完全阻止,并且不会以任何形式重新生成。
如果已经设置了清除标记并且在步骤S3-12中执行了清除处理,则该处理进行至步骤S3-9,在步骤S3-9中,内容重新生成器135用于重新生成与接收的电子文件101中的不符合部分相对应的重新生成文件中的干净部分。在该实施例中,所产生的干净部分可以包括例如相关联部分的标签,但不具有来自原始电子文件的不符合的数据。可选地,可以插入标签,使得所产生的文件维持与原始接收的电子文件类型相关联的预定格式。一旦以预定格式重新生成了干净部分,则在步骤S3-13中,如上所述,处理器113确定是否有任何其它要处理的内容。在图3所示的实施例中,如果已标识部分的被动内容数据包括多个子部分,则符合度分析器131在步骤S3-6中将递归地依次处理多个子部分中的每一个,以在步骤S3-7中确定是否整个部分的被动内容数据符合预定格式。作为替代方案,可以对被符合度分析器131确定为不符合预定格式的每个子部分执行清除处理。
以上对步骤S3-7至S3-15的描述涉及对接收的电子文件101中被动部分的内容数据的处理。然而,如上所述,内容数据的部分可以是主动内容数据。相应地,如果处理器113在步骤S3-5中确定当前部分的内容是主动内容数据,则在步骤S3-17中,散列生成器133用于生成针对该主动内容部分的散列。在步骤S3-19中,散列检查器134检查散列数据库来确定所生成的散列是否已存在于散列数据库106中。如果该散列已存在于散列数据库106中,则先前已将相关部分的主动内容标识为非恶意的,并且,如上所述,在步骤S3-9中,将被允许的主动内容传送至内容重新生成器135,由重新生成器135来进行重新生成。另一方面,如果在步骤S3-19中确定该散列不存在于散列数据库106中,则在步骤S3-21中处理继续进行至步骤S3-11,在步骤S3-11中,以与如上所述相同的方式,处理器113确定是否要对该部分的主动内容数据执行清除处理或是否要阻止该电子文件。然后,该处理进行至步骤S3-13,在步骤S3-13中,处理器113确定是否有其它内容要处理。如果确定有其它内容要处理,则处理器113重复步骤S3-3至S3-21,直到对接收的电子文件101的所有部分进行了处理并重新生成(如果该部分是被允许的内容数据)。
一旦完成了对接收的电子文件101的所有部分的处理,则在步骤S3-25中,将重新生成的电子文件转发至目的地系统109的操作系统107,以便以正常方式对其进行处理。对可以使用构成预定格式的规则来从文件中提取的所有被动内容数据以及被标识为非恶意的所有主动内容数据进行提取和重新生成,因此,无法提取的任何部分无法重新生成。
按照这种方式,由于文件的符合度检查以及重新生成,病毒无法进入并感染操作系统,事实上,只有常见格式的被动内容数据以及非恶意的主动内容被提取并从而重新生成。
本领域技术人员可以认识到,当不重新生成接收的电子文件101中的不符合部分时,AV应用105的内容重新生成器135可以在重新生成的电子文件中插入相关的警告文本,以通知接收者该消息的一部分不允许通过。作为一种选择,该警告文本可以指示不允许该部分通过的原因。
另外,电子文件101中的被动内容部分的子部分可能被阻止,即,如果该子部分不符合针对该部分的可允许预定格式,则不重新生成该子部分并优选地将其擦除。这就是说,如果ASCII电子文件中的字符串包括控制字符(例如“BBL”字符),则可以使用AV应用105所插入的文本警告来取代该字符串,以通知预期接收者:由于该部分不符合预定格式,因此重新生成的电子文件中的该字符串除去了该部分。符合度分析器131并未具体查找不允许的控制字符(例如“BBL”字符),而是如预定的可允许格式所定义的,仅使被允许的控制字符通过。
注册散列
在上述说明中,散列数据库106包含先前经过分析并被指示为好的或非恶意的主动内容数据的散列值。本领域技术人员可以认识到,这样的数据库需要持续的维护来保持更新至新遇到的、非恶意的脚本、宏以及可执行代码,使得本系统与方法可以最为有效。现在将给出关于如何在管理模式期间对这些新遇到的主动内容数据进行分析以将其包括在散列数据库106中的简要描述。
在该实施例中,图1所示的目的地系统109是web代理服务器,用来接收来自系统管理员的在HTML页面中注册脚本的请求。在该实施例中,系统管理员在与通常的web浏览不同的端口(例如端口8181)上将具有要注册的脚本的HTML页面作为HTTP请求传送至web代理服务器109。使用将该请求与普通web业务量区分开的不同端口并且也使在该端口上访问时注册脚本更安全的操作可能受到防火墙的限制。虽然使用这样独有的端口允许web代理服务器109知道系统管理员正在请求注册脚本,但是,可以通过执行额外的认证检查(如限制所允许的IP地址以及使用口令)来实现额外的安全性。
一旦成功完成认证,web代理服务器109将该请求传送至因特网并且等待HTTP响应,随后web代理服务器109将接收回该HTTP响应。web代理服务器109将接收的响应标记为注册请求而不是普通的浏览响应,然后将该响应传送至AV应用105。AV应用105以与参考图3的上述方法相似的方式来处理该接收的响应(在该示例中是具有要注册的脚本的HTML页面),但是在该示例中的不同的是,由于接收的文件被标记为注册请求,因此AV应用105被配置为操作于注册模式而不是操作于上述普通检查模式。
在注册处理中,符合度分析器131检查接收文件的HTML部分符合HTML规范并且具有合理的值。在处理接收文件的Javascript部分时,散列生成器133创建用于特定Javascript功能的散列,AV应用105检查该散列是否存在于散列数据库106中。如果先前已注册该脚本,则不需要对该特定脚本进行任何进一步动作。然而,如果该脚本未出现于散列数据库106中,则AV应用105将收集关于该特定脚本的信息并呈现给系统管理员,以确定是否应注册该脚本。在该示例中,将生成HTML形式以显示给系统管理员,由系统管理员指示应将哪些脚本注册至散列数据库106中。为了建立HTML形式,针对正在处理的HTML页面,使用数据结构来收集可以注册的所有散列。为了提供充足的信息给系统管理员以做出基于信息的决定,在该示例中,将该功能的完整文本与所生成的散列一起包括在数据结构中。一旦AV应用105处理了接收的HTML文件的所有部分,使得数据结构填充有系统管理员要审查的散列和功能,则将该数据结构中的每个条目格式化为HTML形式的条目。在该数据结构中的所有条目都被处理为HTML形式之后,将该形式发送至系统管理员,系统管理员指示哪些新遇到的脚本是非恶意的,并因此将其包括在散列数据库106中。一旦接收到来自系统管理员的注册响应,则将所指示脚本的散列加入散列数据库106中。
开发阶段
以上是对处理文件数据以及使用已知数据来重写文件的系统与方法的描述,该数据符合文件格式规范和实用和其它特定限制,或先前被标识为非恶意数据,以确保文件接收者接收到非恶意数据。在AV应用105的测试开发期间提出多个问题,确保整个部署阶段操作的持续的操作正确性。现在描述这些方面。
双程(two pass)错误检测
潜在地,在重写处理期间,实现错误本身可能会产生重新生成的文件,该重新生成的文件不符合假设要强制执行的上述系统与方法的文件格式规范和实用和其它特定限制。因此,在开发内容重新生成器135期间,必须测试重新生成的文件以确保整个部署阶段的持续的操作正确性。
图4是示出了重新生成器135的开发与测试阶段期间的处理的图。如图4所示,重新生成器135的测试开始于步骤S4-1,在步骤S4-1中输入电子文件。这与以上关于图3所述的步骤S4-1中接收电子文件的步骤相似。在步骤S4-3中,处理器113处理电子文件,以确定电子文件中被允许的内容并因此以预定格式来重新生成文件。步骤S4-3所执行的处理如以上关于图3所述的步骤S4-3。如上所述,图3所示的处理结果是创建重新生成的文件(步骤S3-25)或该电子文件(S3-15)。相应地,在步骤S4-5中,处理器113确定是否已创建重新生成的文件,如果未创建,则在步骤S4-7中确定当前的电子文件不符合预定格式并因此被隔离。
另一方面,如果创建了重新生成的文件,则在步骤S4-8中,将清除标记设置为禁用,使得当在步骤S4-9中对重新生成的文件进行第二处理过程时,一旦遇到不符合预定格式或或实用或其它特定限制的任何内容,该处理将立即失败。在步骤S4-9中所执行的步骤如以上关于图3所述的步骤。在步骤S4-11中,处理器113再次确定是否创建重新生成的文件。如果步骤S4-9的处理导致了重新生成的文件的创建,则在步骤S4-13中确认重新生成器135的功能正确。另一方面,如果在步骤S4-9中的处理未创建重新生成的文件,则在步骤S4-15中,这表明对重新生成器135的验证失败。
因此,如果在步骤S4-3中的第一处理过程的重新生成步骤期间引入了任何错误,则这些错误会出现在传统给步骤S4-9中的第二处理过程的重新生成的文件中。然后,第二处理过程将这些错误突出表示为不符合本系统与方法所强制执行的文件格式和实用或其它特定限制的有错误的重新生成的文件。
现在描述在开发与测试阶段期间该错误检测的具体示例。在以下示例中,通过上述方法来处理MP3音乐文件。一般而言,在这样的MP3文件内,具有各种标签,这些标签包含与特定音乐相关的额外信息,并与编码的音乐数据分离。一个这样的MP3标签是“TCOM”标签,该标签详细说明了与该特定MP3文件的音乐数据内容的制作者相关的信息。
图5示意性示出了根据该双程测试与开发方法来处理的MP3音乐文件的示例。图5所示的存储于未交换的原始数据缓冲器中的示例MP3文件501包括标签“TCOM”、TCOM数据以及音乐数据内容。处理器113在上述步骤S4-3中描述的第一处理过程期间读取MP3文件501。在图5所示的示例中,重新生成器135的实现错误导致将“TCOM”标签不正确地重新写入至输出缓冲器,使得重新生成的MP3文件503包含无效的标签“TCMO”。因此,该标签不符合MP3文件格式规范,因而,当在步骤S4-9中的第二处理过程期间处理重新生成的文件503时,将遇到无效的“TCMO”标签,并且重新生成的文件503将被隔离。由于在第二处理过程中重新生成文件的失败,这表明重新生成器135无法在第一处理过程期间正确地重新生成电子文件。
错误分离(faultsplit)
在本系统与方法的开发期间,另一问题是,处理必须对多个电子文件进行测试,以收集与已知好的文件相关的信息,并且生成已知非恶意数据文件格式和实用以及其它特定限制的数据库。检查电子文件的处理典型地依赖于产品开发者在开发模式中处理每个文件,并且对输出进行评估来确定所需动作。该处理需要相当多的资源。
为了克服该问题,设计了一种有效地将检查过程自动化并且帮助产品开发者对输出进行评估的开发与测试方法。根据该方法,该处理对收集文件的目录进行迭代处理,并且对目录中的每个文件执行图3的处理与重新生成步骤。由于该处理对目录中的每个文件进行操作,因此该处理返回状态码以及失败字符串,该状态码以及失败字符串详细说明了阻止文件或将文件放入隔离区的任何原因。由处理产生的每个可能失败原因将返回适当的错误码以及原因字符串。本开发与测试方法使用这些返回的字符串来创建以错误码和原因字符串作为子目录名称的子目录。该方法也根据错误码与原因字符串来将每个对应文件移动至相应子目录。一旦完成对所有文件的处理,产品开发者可以快速查看处理是阻止文件或将文件放入隔离区的所有原因的列表。另外,产品开发者能够通过查看每个子目录内的多个文件来确定这些原因的相对重要性。按照这种方式,产品开发者能够将其努力集中在导致最多中止的错误原因上。
图6是该开发与测试处理的示意图。图6示出了错误分离开发与测试模块603要处理的JPEG图像文件的目录601。将目录601中的每个文件传送至AV应用105,如以上关于图3所示,AV应用105对每个文件进行操作。当完成每个特定文件的处理时,如果对特定文件的处理失败,则AV应用105返回状态与原因。
在图6所示的示例中,AV应用105在处理文件“picture1.jpg”时发现具有原因字符串“不正确首部值(incorrect header value)”的错误0054。将该错误码与原因字符串返回错误分离模块603。错误分离模块603确定具有相同的错误字符串的子目录是否已存在,如果是,则只要将对应文件拷贝入子目录中。在图6的示例中,没有其它子目录,因此错误分离模块603创建新子目录607,该子目录的名称为错误字符串“failure_0054_incorrect_header_value”。一旦创建了子目录607,则接着将对应文件“picture1.jpg”拷贝入子目录607中。
错误分离模块603处理原始目录601中的每个文件,直到该目录中的所有文件都被处理为止。按照这种方式,一旦完成开发与测试处理,目录结构607将包含针对对原始目录601中的文件进行处理时遇到的每个错误码的子目录,并将相应文件拷贝至相应子目录。
第二实施例
在以下描述的与第一实施例相似的第二实施例中,电子文件是通过因特网从发起者传输至目的地设备(在本实施例中是因特网服务提供商(ISP))的电子邮件。ISP将电子邮件转发至电子邮件客户端服务器,在接收时,电子邮件客户端服务器将电子邮件转发至预期接收者的收件箱。
图7示出了根据这个实施例的电子邮件系统的布局,其中包括本发明的AV应用。发送者从源位置201转发电子邮件。经由因特网203将电子邮件转发至由电子邮件内包含的域名所确定的因特网服务提供商(ISP)205。接收者的电子邮件客户端服务器207通过直接开放连接与ISP 205连接。第一连接是简单邮件传输协议(SMTP)输出连接,用于将输出的电子邮件从电子邮件客户端服务器207转发至ISP 205。第二连接是POP(邮局协议)输入连接211,其从ISP 205获取电子邮件。
AV应用105位于ISP 205处。AV应用105驻留在与接收者电子邮件客户端服务器207相连的输入/输出端口上,以便分析由电子邮件客户端服务器207所发送和接收的所有输出和输入的电子邮件。
在该实施例中,AV应用105是使用已知的计算机编程技术而实现的计算机代码块。在发送至电子邮件客户端服务器207的所有电子邮件能够进入电子邮件客户端服务器207之前,这些电子邮件必须通过AV应用105。同样,由电子邮件客户端服务器转发至ISP 205的所有电子邮件在进入ISP 205之前,必须通过AV应用105。
AV应用105通过在电子邮件消息数据进入该应用时对该数据进行解析而分析输入的电子邮件消息。如在第一实施例中,数据以加扰模式而存储,以便停止任何可执行文件的运行。AV应用105确定输入的电子邮件的独立部分是否符合预定的可允许格式,以及如果该部分符合,则重新生成电子邮件消息的每一部分。因此,既不允许任何电子邮件内的任何病毒通过以感染接收者的系统,也不允许这些病毒从接收者的系统传递至ISP。
如在第一实施例中所讨论的,在该实施例中,符合度分析器131用于分析每个特定数据类型,以查看其是否符合针对该数据类型的预定格式,并提取符合的内容数据。然后,内容重新生成器135使用针对该数据类型的预定可允许格式来重新生成数据。在该实施例中,通过其自有的特定的符合度分析器和内容重新生成器,每种类型的数据都得以分析和重新生成。
每个符合度分析器131依据所接收数据的类型而对数据运行特定的规则组。这些规则由针对文件类型的官方预定义的规范以及现实世界通常出现(因而是安全的)的已知数据类型的示例来定义。通常,该规则仅允许符合文件类型规范的文件的子集,但是会放松普遍被违背的官方规范的特定规则。例如,电子邮件地址应当不包含空格,但是一些流行的电子邮件应用违背了该规则,从而就这点上违反了规范的电子邮件是普遍的,因而根据该实施例的用于分析电子邮件的预定格式接受包含空格的电子邮件地址,因而实施例对这种电子邮件地址进行分析和提取。
此外,符合度分析设备可以检查数据文件内的特定参数。例如,如果首部声明该文件是RTF(丰富文本格式)文件,则根据RTF文件格式规范,读取数据的前几个字节以确定其是否正确。
图8示出了系统如何工作的流程图,其包括根据这个实施例的AV应用。如图8所示,在步骤S8-1,通过SMTP输入连接,在ISP处接收电子邮件。
在步骤S8-3,协议符合度分析设备执行读取输入的电子邮件的基本格式的过程,并重新生成电子邮件,使得其符合基本电子邮件协议。不符合的电子邮件读取器读取该电子邮件。然后,将所读取的数据传递至符合基本电子邮件协议的电子邮件书写器。以这种方式,将普通的不符合转换为符合的电子邮件。例如,如果较差地形成了接收者的电子邮件地址,则电子邮件书写器重写该地址,以使其符合。(例如通过移除空格或是在末端插入结束尖括号)。
另一示例是当接收到电子邮件消息时没有′From:′首部。在这种情况下,将电子邮件消息封装于包括′From:′首部的全新的电子邮件消息中。
也使电子邮件中的其它参数相符合。例如,行长、所使用的正确的ASCII字符代码、在适合的情况下所使用的正确的Base 64编码、完整的首部信息(′To:′,′Subject:′等)、电子邮件的首部与主体之间的间隔等。
如果较差地形成了电子邮件,使得其中的一部分不能被重写,则在不符合的部分丢失的情况下,确定是否仍存在合理的电子邮件。如果确定该过程仍将导致合理的电子邮件,则在不符合的部分丢失的情况下重写电子邮件。可以将警告文本插入其位置。
此外,协议符合度分析设备可以拒绝整个电子邮件。例如,如果协议符合度分析设备检测到针对电子邮件内的大数据块正在使用不符合的Base 64编码,则在步骤S8-17完全拒绝该电子邮件。
如果协议符合度分析设备确定电子邮件符合电子邮件协议,则通过协议符合度分析设备重新生成该电子邮件,并将其传递至过程中的下一步骤。
所有电子邮件应当符合当前针对电子邮件的RFC标准(即,RFC822及其后继)。该标准定义了如何形成电子邮件。在电子邮件通过协议符合度分析设备之后,RFC 822符合度分析设备检查电子邮件是否符合RFC 822标准。RFC 822符合度分析设备通过如下步骤来执行这个符合度检查:首先通过发现电子邮件内的边界(如以下所述)而将电子邮件分为独立的组成部分,然后解析电子邮件的每个组成部分以查看其是否符合RFC 822。
将会理解,当RFC标准被更新时将会需要更新,以确保RFC 822符合度分析设备能够检查所有已知数据类型的符合度。
如公知地,电子邮件由多个独立的部分构成,例如图9中所示。电子邮件以RFC 822首部901开始,该RFC 822首部901定义了多个字段,如′From:′、′To:′和′Subject:′等。接下来是MIME首部903,其定义了用于扩展协议中的多个字段,如定义了用于指示电子邮件中不同部分之间的边界的′Content-Type:′。
在首部(901&903)之后,指示第一边界905。电子邮件的下一部分以另一MIME首部907开始,其定义了用于该部分的格式。在这个示例中,该部分包括要以文本格式显示的文本内容。因此,接下来是文本块909。在文本块909的结尾是另一边界911。
另一MIME首部913指示电子邮件的下一部分将会是何种格式。在本示例中,电子邮件的下一部分是混合的文本和HTML格式的块915。另一边界917指示电子邮件该部分的结尾。
针对电子邮件的下一部分,最后的MIME首部919指示电子邮件附件的数据类型,在本例中是ZIP文件。ZIP文件921是Base 64编码的,并被添加至电子邮件。然后,另一边界923指示ZIP文件块的结尾。
针对电子邮件的最后部分,MIME首部925指示电子邮件的另一附件的数据类型,在本例中为可执行代码的一部分。可执行代码927是电子邮件中主动内容数据部分的示例。然后,最后边界929指示了可执行代码块的结尾。
在图8中的步骤S8-7中,RFC 822符合度分析设备使用解析器对形成电子邮件的ASCII字符进行解析。这样,RFC 822符合度分析设备能够检测电子邮件中的边界,并检查特定参数是否符合已知的可接受的预定格式。例如,RFC 822符合度分析设备检查行长以查看其是否符合RFC 822标准,所以仅重新生成2000或更短的行长。
可以进行其它检查以查看所解析的电子邮件中的数据是否符合RFC 822标准。例如,检查电子邮件中的字符是否是如标准中所定义的已知的可接受的ASCII字符、首部中的信息是否如标准中所定义、以及首部长度是否符合标准定义。所列出的这些检查仅是RFC 822符合度分析设备所执行的一大组不同检查中的示例(其它将是对本领域技术人员所显而易见的),同样,本发明并不限于以上所列。
不光分析解析后的数据以查看该数据是否符合基本RFC 822标准,RFC 822符合度分析设备还检查特定参数是否符合现实世界中的RFC 822标准电子邮件的示例。即,特定参数的规范可以对用户开放,从而在现实世界中定义仅会使用合理的值。例如,电子邮件通常仅包括最小数量的部分。所以,如果接收到包括1000个边界的电子邮件,则这不会是现实世界中的RFC 822标准电子邮件的示例,所以其将被RFC 822符合度分析设备阻止,即不会重新生成并优选地擦除。
对电子邮件中包括需要进一步符合度检查的数据在内的每个组成部分,如上述第一实施例中讨论的,AV应用确定该组成部分由被动还是主动内容数据组成。如果确定该组成部分为被动内容数据,则在步骤S8-9中,根据该部分所对应的数据类型,将该组成部分并行转发至独立的被动内容数据符合度分析器。这就是说,如果所分析的电子邮件部分被定义为文本,则将构成该文本的ASCII字符转发至文本符合度分析设备。如果被分析的电子邮件部分被定义为TIFF文件,则把构成TIFF文件的字符转发至TIFF符合度分析设备。
在步骤S8-9,每个被动数据符合度分析设备对转发给它的数据进行分析,以查看该数据是否符合其声称(purported)格式。如果该数据符合,则通过符合度分析设备来重新生成该数据。如果数据中存在任何的不符合,则该数据要么被省去,或者如果可能,要么通过符合度分析设备重新生成以使其符合。重新生成该数据以使其符合的一个示例是:在RFT文件中丢失嵌套括号的地方添加嵌套括号。
如果电子邮件包括不同类型数据的嵌套,则递归地调用被动数据符合度分析器,从而按顺序地运行若干个特定设备,并且每当发现其他数据类型时,每个设备均被推迟。以这种方式,具有包括文字处理文档(包括JPEG图像文件)的zip文件的电子邮件可以通过不同的符合度分析设备(zip、文字处理、JPEG)的序列,以便脱去文件嵌套并顺序地分析每个文件。
另一方面,如果AV应用确定组成部分由主动内容数据组成,则在步骤S8-10中,主动内容数据分析器将分析该数据,以确定脚本、宏或是可执行代码是否是非恶意的。主动内容数据分析器所执行的处理生成针对主动内容的散列,并且确定该散列是否存在于散列数据库中。在以上第一实施例中已经描述了该处理。
在分析结束时,使用所符合的重新生成的部分来重组文件。在步骤S8-11中确定重新生成了电子邮件的足够部分以形成合适地相干的、可理解的以及值得的电子邮件时,如步骤S8-13所示,使用RFC822符合度分析设备并利用重新生成的部分来重组数据。这确保了以正确的格式转发重新生成的电子邮件。然后,如步骤S8-15所指示,AV应用使用SMTP协议,将重新生成的电子邮件转发至预期接收者。
然而,如果AV应用在步骤S8-11确定没有重新生成电子邮件的足够部分以形成有用的电子邮件,则在步骤S8-17拒绝该电子邮件。在步骤S8-17期间,将警告文本转发至电子邮件的预期接收者,向他/她告知系统拒绝了预期发给他/她的电子邮件。警告文本可以包括为何删除消息的细节,以及预期帮助接收者识别发送者、或者电子邮件被拒绝的原因的进一步信息。
以下详细描述的是用于本实施例中的一些示例性的被动内容数据符合度分析器,其可以在步骤S8-9期间使用。例如,如果将电子邮件中的组成部分声称是文本数据(取决于RFC 822首部、MIME首部或文件扩展名的信息),则将该文本组成部分传递至文本符合度分析设备。文本符合度分析设备对文本数据进行解析,以确定它是否符合其预定的可允许格式,如下文所述。
由于存在多种不同类型的文本文件,如逗号分隔变量(CSV)和丰富文本格式(RTF),所以文本符合度分析设备必须首先区分所解析的数据所声称的文本文件的类型。附到电子邮件的所有文件将具有与指示文件类型相关联的文件扩展。文本符合度分析设备对MIME首部内所解析的文件扩展进行分析,从而确定该文本文件是否是纯ASCII文件。如果是,则仅需要使用ASCII符合度分析设备,如下所述。
然而,如果文本符合度分析设备在分析时确定该文本文件是不同于纯ASCII的文件类型,例如CSV文件,则也将调用CSV符合度分析设备以进行分析,并重新生成CSV数据。然而,首先ASCII符合度分析设备对构成电子邮件内的文本文件的ASCII字符进行分析,以查看文本串是否符合ASCII预定格式,以及如果存在符合度,则重新生成ASCII文件。
ASCII符合度分析设备对数据进行解析以确保该文件符合最小ASCII预定义格式。例如,ASCII符合度分析设备仅允许ASCII字符32至127和四个控制字符′换行′(LF=10)、′回车′(CR=13)、′制表符′(TAB=9)和′垂直TAB′(VT=11)重新生成并通过系统。
如报警字符(BEL=7)之类的其它控制字符并不具有如AV应用所定义的ASCII文件的预定可允许格式。所以ASCII符合度分析设备不会重新生成所解析的ASCII代码块中的′BEL′字符,而是会拒绝该ASCII字符。
ASCII符合度分析设备所执行的分析的其它示例是:
·自然行长小于1024个字符?
·字长小于25个字符?
·空格对字符的百分比在预定义的界限以下?
如果在任何时候ASCII符合度分析设备不能够重新生成针对该部分ASCII代码的数据(因为其不符合基本预定格式),则ASCII符合度分析设备检查该数据,以查看其是否符合某个其它类型的ASCII代码。例如,源代码、BinHex、Base 64。如果该数据符合另一类型的ASCII代码,则将该数据转发至与该ASCII类型有关的符合度分析设备,对于以上所示示例,其可以是源代码符合度分析设备、BinHex符合度分析设备或Base 64符合度分析设备。将会理解,Base 64ASCII代码文件在编码后的数据中还可以包括其它类型的文件。然后,这些其它类型的文件还将被转发至有关文件类型的符合度分析设备,等等。
用于其它类型的ASCII代码的被动内容数据符合度分析设备针对该部分电子邮件内的数据具有其它的符合度限制。例如,检查文件以查看其是否为适当构造的代码、是否具有正确的行长等。一旦每个被动内容数据符合度分析器已经确定内容和参数数据相符合,并因而进行提取,则使用该被动内容数据符合度分析器以可允许的预定义格式重新生成所提取的内容数据。
一旦ASCII符合度分析设备完成了它的任务,则重新生成的ASCII数据被转发至与该数据所声称有关的文本符合度分析设备。在这个实施例中,文本文件是CSV文件,所以将数据转发至CSV符合度分析设备。
以下是CSV符合度分析设备所执行的检查的示例。CSV符合度分析设备对ASCII数据进行解析,以确保不存在长文本段落,因为段落并不是CSV文件的预定义格式的一部分。CSV符合度分析设备拒绝由于不符合而不能被解析的任何数据。例如,CSV符合度分析设备还检查限定符(de-limiter)的个数是否符合CSV文件中的限定符的常规预定个数。当CSV符合度分析设备确定该数据符合时,将该数据重新生成为相同的格式。
以这种方式,仅允许文本文件中符合预定格式的部分传递至AV应用的下一级。在被重组并转发至目的地之前,利用其它重新生成的数据类型部分仅重新生成文本文件中的符合部分。因此,包含病毒的电子邮件的任何部分将不会符合,所以将被阻止,即不会重新生成并优选地被擦除。任何不符合的部分都不允许通过AV应用并感染操作系统。
另一示例符合度分析设备是用于分析和重新生成TIFF文件的TIFF(标签图像文件格式)符合度分析设备。
TIFF文件具有以预定义的格式而布置的一组目录和标签的结构化格式。不能确定图像数据本身是否表示有意义的图像。然而,TIFF符合度分析设备解析并分析图像数据,以确保该数据落入预定义的界限。
对TIFF文件中的首部信息进行解析并分析,以查看正确的信息是否完整和完好。例如,TIFF符合度分析设备检查首部信息是否包括位于TIFF图像的合理界限内的分辨率、大小和深度字段。此外,TIFF符合度分析设备确定首部中指示的条带(strip)数是否与图像数据相匹配。
典型地,通常使用LZW(Lempel-Ziv-Welch)压缩技术对TIFF文件进行压缩。TIFF文件包括多个TIFF条带,在该实施例中,每个TIFF条带是AV应用105处理的图像中的最小单位、原子或成分,并且可以对其应用实用限制。每个TIFF条带通过符合度分析设备而解压缩,以查看条带长度是否处于合理的预定义界限之内。例如,如果条带长度不等于或小于最大图像大小限制(例如,大于标准A0纸张大小),则拒绝该条带。一旦TIFF符合度分析设备拒绝一个条带,则拒绝整个TIFF文件。
TIFF符合度分析设备还对TIFF文件内的标签(即,参数数据)进行分析。参照预定义的可允许格式来检查标签,以查看例如该标签是否具有特定顺序(根据报头中的标签信息的目录)以及该标签是否以正确的方式相互有关。
当TIFF符合度分析设备确定该数据符合预定义的可允许格式时,重新生成该数据以创建具有原始文件名的重新生成的TIFF文件(其中文件名符合预定格式)。重新生成的TIFF文件被转发至电子邮件服务器以重组到电子邮件中。
TIFF文件本身内还可以具有其它图像类型。例如,可以将JPEG图像封装于TIFF文件中。如果TIFF符合度分析设备检测到不同的图像类型,则其将与该图像相关联的数据转发至另一符合度分析设备,在本例中是JPEG符合度分析设备。然后,JPEG符合度分析设备解析并分析该数据,以查看它是否符合期望的JPEG格式,而且如果符合,则重新生成JPEG格式的数据。然后,重新生成的数据被重组为重新生成的TIFF文件,然后将重新生成的TIFF文件用于重组重新生成的电子邮件。接下来将该电子邮件传递至电子邮件服务器。
该实施例中的另一选项是关于AV应用插入警告文本以取代电子邮件中的不符合部分。即,如果内容数据符合度分析器解析部分数据,并确定该部分不符合预定的可允许格式,则在重新生成电子邮件时,符合度分析器可以插入警告文本以取代不符合部分,向电子邮件的预期接收者告知该电子邮件的一份被AV应用拒绝。备选地,如果符合度分析器由于不符合的原因而拒绝了电子邮件的完整部分,则AV应用将警告文本插入电子邮件,向预期接收者告知电子邮件的一部分被AV应用阻止,即不重新生成并优选地被擦除。
第三实施例
参照图10,现在将描述本发明的第三实施例。该第三实施例结合了第一或第二实施例的所有特征,包括关于第一或第二实施例中所讨论的任何选择。
该实施例涉及AV应用阻止一部分、部分或整个电子邮件(在该实施例中称为“不符合部分”)的情况。参照图3,如在第一实施例中所讨论的,基于各种原因,可能发生这样的状况,例如在步骤S3-15中,由于部分被动内容数据不符合预定格式并且未设置清除模式标记,因此可能将整个文件放入隔离区。可选地,如果在步骤S3-11中设置了清除模式标记,则可以省略部分被动内容数据。
在该实施例中,当AV应用确定电子文件或是其子部分不符合时,不允许电子文件通过并到达目的地操作系统,将原始电子文件传递至源过滤器应用,该源过滤器应用确定该电子文件是否在来自信任的源。
该确定基于系统预期从特定信任源接收到什么。系统通过针对存储于存储器中的源的预定列表来审查数据类型列表来执行该确定,以确定该数据类型是否是从该源接受的,换言之,通过源来过滤电子邮件。因此,如果从相同的信任源接收到包含不符合数据在内的文件,则将不符合数据确定为非恶意的(由于其源自相同的信任源),并允许原始的不符合数据通过并到达操作系统。按照这种方式,包括AV应用以及源过滤器应用在内的系统系动态地允许大部分安全电子文件通过并到达其预期目的地。
图10示出了根据第三实施例的处理的流程图。在步骤S10-1中,AV应用确定该部分是否不符合,如果是则阻止该部分。如果被AV应用阻止,则将不符合部分转发至源过滤器应用,以确定该文件是否是从信任源接收的,如步骤S10-3所示。
源过滤器应用根据系统用户偏好来确定不符合部分是否来自信任源。系统在其存储器中存储文件类型列表以及与这些文件类型相关联的不被认为是信任源的源(例如发送者的地址)。因此,系统可以根据文件发送者以及文件类型来确定是否允许文件通过。
如果在步骤S10-3确定该文件类型不是根据相关联的源所允许的那些所列出的文件类型之一,则在步骤S10-5阻止该文件类型。如果认为该文件类型是可允许的,则在步骤S10-7,不符合部分绕过(bypass)AV应用。在步骤S10-9,AV应用重新生成所接收文件的剩余部分,并在步骤S10-11,对文件中所重新生成的符合部分和所绕过的不符合部分进行重组。
例如,如果银行系统从已知的发送者处接收包括具有复杂的宏的电子表格的大量电子邮件,这些宏可能处于针对电子表格附件内的宏的预定可允许格式之外,所以宏符合度分析设备将阻止电子邮件的这部分。
然而,因为银行系统能够确定谁发送了电子邮件,并将发送者作为银行系统的可靠伙伴输入针对这些文件类型的数据库,所以不会认为电子邮件内的电子表格是恶意的。因此,系统用户可以建立源过滤器应用以允许这些不符合的宏部分绕过AV应用,并与电子邮件中重新生成的部分一同被重组为电子邮件。
备选地,源过滤器应用可以在这样的模式下操作,即通过该模式确定从AV应用接收到的重新生成的文件是否应当被允许继续通过并到达目的地系统。如果AV应用接收到包括不符合部分(其自身的不符合度不足以使AV应用完全拒绝整个文件,而是导致与原始文件实质上不同的重新生成的符合文件)的文件,则把重新生成的文件转发至源过滤器应用。例如,由于AV应用对文件的清除,原始文件大小可能明显大于重新生成的文件的文件大小。
源过滤器应用确定文件类型是否从针对该文件类型的被认可的源而发送,而且如果是的话,将会允许该文件类型通过系统。
其它实施例
可以理解,这里本发明的实施例仅作为示例来描述,并且可以在不偏离本发明范围的情况下做出各种改变和修改。
将会理解,本发明可以在把电子文件从源移至目的地的任何系统中实现。用于本发明目的的发送电子文件的方法并不限于任何特定方法。即,例如,电子文件可以从计算机系统的硬件中的一个组件传递至另一组件。备选地,例如,可以通过空中接口,从基站向移动电话设备传递电子文件。此外,例如,电子邮件可以通过局域网(LAN)、广域网(WAN)或通过因特网进行传输。
本领域技术人员可以认识到,在资源受限的目的地设备(如移动电话)的基于网络的环境中,由于受限的资源,使得每个设备可以具有执行上述实施例中描述的大部分处理步骤的功能。在这种环境下,可以在网络上提供具有完全功能的其它网络设备。其它网络设备也可以通过将新的功能并入其它网络设备来具有任何更新的功能。按照这种方式,不需要更新网络上存在的每个资源受限的设备。作为示例,在移动电话网络中,每个移动手机被制造为具有初始的有限功能集合。手机用户可以通过安装第三方软件来更新手机功能。如果新安装的软件用于请求并接收未知格式的电子文件至移动手机上的AV应用,则AV应用将标识其何时不具有处理接收电子文件的能力,并且因此将该电子文件传送至具有完全功能集合的网络设备。已经对该网络设备进行了更新以识别该新功能,并因而可以代表移动手机来处理接收的电子文件。然后,该网络设备可以将重新生成版本的电子文件送回移动手机。作为另一个选择,全功能网络设备可以被配置为截取传送给移动手机的数据。然后,在将重新生成的版本发送给移动手机之前,网络设备能够代表功能受限的移动手机来处理特定电子文件。
在上述第一实施例中,AV应用位于目的地系统中。本领域技术人员可以认识到,AV应用可以取而代之地或附加地位于源、传输介质中的某处或其他位置,只要能够在沿电子文件的传输路径上的点处对电子文件进行分析。
在上述第一实施例中,电子文件由根据包含特定规则集在内的文件类型规范来编码和布置的内容数据所构成。本领域技术人员可以认识到,电子文件101可以作为流数据(如视频或音频流中的流数据)来接收。在这种情况下,本质上不根据文件类型规范来进行编码和布置,而是代之以根据协议规范(例如用于流数据的传输协议)来编码和布置接收数据。相应地,在存储用于每个文件类型规范的预定格式和规则之外,AV应用也可以存储用于各种协议规范的预定格式与规则。然后,AV应用可以处理接收的流数据,以确定该数据是否是根据协议的预定格式。
在上述第一实施例中,在目的地系统109内提供散列数据库106以及散列生成器133。本领域技术人员可以认识到,对电子文件中主动内容数据部分的处理可以代之以通过传统的第三方反病毒应用来执行。例如,如果接收的电子文件是具有宏的Microsoft Word文档,则AV应用105将处理构成被动内容数据的大量Word文档,以确定其是否安全,并且,可以使用传统的反病毒产品来扫瞄构成主动内容数据的宏内容,以确定其是否包含已知的对漏洞的利用(exploit)。然而,这样的选择具有依赖于第三方反病毒应用的缺点,如果应用数据库不是最新的,则容易受到零日攻击。作为另一种选择,目的地系统109可以被配置为使用例如已知与下载病毒签名数据库相同的机制,通过从可靠的第三方下载已知好的脚本、宏、可执行代码等的散列数据库来更新其散列数据库106。该机制也可以用于提交宏、脚本以及可执行代码以包括在第三方的散列数据库中。
在上述第一实施例中,如果被动内容数据不符合预定格式且清除模式标记被禁用,则隔离整个电子文件。本领域技术人员可以认识到,作为简单地将整个文件放入隔离区的一种替代方案,可以代之以使用处理主动内容数据的方式来处理电子文件中未知格式/规范的部分。因此,生成针对这些未知内容部分的散列,并且针对良好内容的散列数据库来检查该散列。
在上述第一实施例中,如果启用了清除模式标记,则执行清除处理来移除不符合部分,并且,内容重新生成器用于根据预定文件类型来重新生成重新生成的文件中必要的空或干净的部分。本领域技术人员可以认识到,在该清除处理中,处理器还可以被配置为对部分内容数据执行明显校正。例如,由于明显地省略特定数据比特而形成坏的JPEG文件。在这种明显错误的情况下,可以在清除处理期间添加丢失的比特以修正该部分内容数据。
在上述第一实施例中,针对主动内容数据的任何部分来生成散列。如果以不产生语义差别的方式来修改脚本、宏以及可执行代码,则所有不同版本的主动内容数据可能产生不同的散列,并且需要在散列数据库中注册所有散列。为了避免这种情况,可以将脚本、宏以及可执行代码正规化,使得可以在生成要存储在散列数据库中的散列之前,移除布局与变量名的改变。例如,可以移除所有的空格与行中断,并且以标准化的标记法来替换所有变量名。尽管产生的脚本、宏或可执行代码可能表现为无用,但是,只要将功能相同而仅在修饰细节上不同的脚本、宏或可执行代码也正规化为相同的文本,则这个问题并不重要。作为具体示例,下列部分程序代码定义了可以在HTML文件内接收的Javascript功能。
function detectBrowser()
{
var browser=navigator.appName;
var b_version=navigator.appVersion;
var version=parseFloat(b_version);
if ((browser==″Netscape″||browser==″Microsoft Internet
Explorer″)&&(version>=4))
{
/*Browser okay,do nothing */
}
else
{
alert(″To get full functionality you need to
upgrade your browser″);
}
}
通过移除所有的空格(字符串之外)并且以标准名称(在这种情况下为$<n>,其中<n>为针对每个新变量增加的数)来替换所有变量,可以将该部分代码正规化。在该实施例中,产生的正规化代码如下:
functiondetectBrowser(){var$1=navigator.appName;var$2=navigator.appVersion;var$3=parseFloat($2);if(($1==″Netscape″||$1==″Microsoft InternetExplorer″)&&($3>=4)){/*Browser okay,do nothing*/}else{alert(″To getfull functionality you need to upgrade your browser″)}}
在上述第一实施例中,针对主动内容数据的部分来生成散列。本领域技术人员可以认识到,两个不同脚本、宏或可执行代码功能可以给出相同的散列。为了降低这种情况发生的可能性,可以在生成散列之前,通过以预定且可重复的方式添加随机比特来对脚本、宏或可执行代码进行添加(salt),以使得更难以将恶意脚本作为注册脚本而通过。本领域技术人员可以认识到,通过以这种方式来修改主动内容数据,将使得人(尤其是熟悉散列数据库的人)更难创建可以作为可允许主动内容数据而通过的恶意脚本、宏或可执行代码,这是由于,他/她在散列生成之前不太可能还具有修改或变更内容的处理的知识。
在上述第一实施例中,散列数据库106为单一数据库,用于存储先前指示为非恶意的主动内容数据的所有散列。本领域技术人员可以认识到,散列数据库可以代之以存储多个数据库,例如针对每个已知类型的脚本、宏或可执行代码有一个数据库。按照这种方式,散列数据库的查找将专门针对主动内容数据的类型,使得例如VB脚本不会由于散列匹配注册的Javascript而错误地通过。
此外,将会理解,作为先前所描述的任何实施例的其他选择,当接收到电子文件时,可以向用户提供超控工具,以手动地超控AV应用或源过滤器应用做出的任何确定。即,当AV应用内的符合度分析设备由于其不符合而阻止了电子邮件中的一份、一部分或全部时,向用户给出仍允许该不符合在电子邮件中重新生成和重组的选择。执行该选择的一个示例是向预期接收者提供文本警告,询问其是否应当允许不符合的分析后的电子邮件通过系统,好似它符合预定义的可允许格式。对该警告的响应为符合度分析设备提供了如下指令:重新生成(如果可能)并重组电子邮件。或者备选地,允许原始电子邮件绕过AV应用和源过滤器应用以通过系统而不重新生成。
此外,将会理解,第二实施例中所描述的AV应用可以位于除了ISP电子邮件服务器的某处。例如,AV应用可以位于并安装在接收者的电子邮件客户端服务器上。以这种方式,由电子邮件客户端服务器转发至硬盘驱动器上的接收者的收件箱的任何电子邮件都是如前所述的重新生成的电子邮件。
此外,将会理解,AV应用可以是半导体设备中硬连线的,例如但不限于硅、砷化镓(GaAs)、铟磷化物(InP)。即,AV应用具有可计量的任务,该任务不需要更新至定义了预定义的符合格式的过程。执行AV应用的任务(包括解析、分析、重新生成和重组)所需的指令可以在任何适合的半导体设备中实现。此外,实现AV应用所需的指令可以存储于半持久性或持久性存储设备中。这样,该存储设备将可操作地与所连接的处理器来运行AV应用。在这些情况下,可以独立于要保护的计算机来提供本发明,如包括独立于要保护的计算机中的处理器和存储硬件的处理器和存储硬件的独立设备(例如,在诸如调制解调器卡、网络适配器卡之类的卡或盘驱动控制器中)。这具有以下优点:将输入的电子文件与要保护的计算机的文件系统和其他资源完全隔离,并将该文件存储在通常不能被写入或更新的位置,从而避免AV应用本身上的“陷门”攻击;换言之,物理安全等级。半导体设备可以包括处理器和存储设备,其中处理器运行来自存储设备的AV应用,并将输入的文件存储在存储设备中以将其隔离。
此外,将会理解,可以使用传统方法,将以上所描述的半导体设备提供作为任何适合的网卡上的一部分。以这种方式,可以在通信网络中,通过使用所描述的方法重新生成所接收的电子文件,利用该网卡作为确保网络不受有害代码和数据的侵害的装置。
此外,将会理解,可以通过计算设备接收第一实施例中所描述的电子文件,其中,将电子文件存储在可移动的存储设备上。例如,可以将电子文件存储在USB盘设备、智能卡、安全数字(SD)存储设备、多媒体(MMC)存储设备、致密闪存(CF)卡类型1或2、智能媒体(SM)卡、XD卡、软盘、ZIP驱动器、便携式硬驱动器或可以直接或通过无线介质与计算设备连接的任何其他适合的存储设备上。
此外,将会理解,本申请中所描述的操作系统可以是使用文件的任何系统。例如,嵌入式系统、路由器、网卡等。
此外,将会理解,其他加扰方法可以用来确保不能自动执行任何所接收的可执行文件。例如,加扰方法使用字节交换方法来存储每对输入字节。在这个例子中,如果AV应用接收到6个字节,A B C D EF,且首先接收到字节A,最后接收到字节F,则将它们按照以下顺序存储在存储器中:B A D C F E。第一字节(A)存储在第二存储位置,第二字节(B)存储在第一存储位置。这个反转针对所接收的每对字节在后续存储位置中出现。以这种方式,任何可执行代码不能自动运行,因而任何受到感染的文件不能感染AV应用或目的地操作系统。
在上述实施例中,目的地系统接收电子文件来进行处理。本领域技术人员可以认识到,当处理通信流内的文件数据时,数据以数据块或分组的方式到达目的地系统,通过累积数据块和分组可以形成整个待处理的电子文件。一般而言,接收的电子文件是整个接收的,并且存储在连续的存储器中。在这种情况下,如果必须分析电子文件中不同位置处的数据以验证电子文件,则由于整个文件存在于存储器中而使得这样的处理成为可能。然而,本领域技术人员可以认识到,电子文件的所有接收数据并不总是能够作为整体而存储在存储器中。例如,如网卡或路由器之类的设备通常具有受限的存储器资源,在这些设备内缓冲整个电子文件以进行处理可能是不合适的。在这种环境中,源设备(如发送者的PC)将具有比资源受限的网络设备更多的资源。源设备可以因而被配置为重写电子文件,使得必须由AV应用一起处理的所有相关文件部分将顺序流至资源受限的设备。按照这种方式,资源受限的设备不需要缓冲整个电子文件,并且可以使用较小的缓冲器来仅存储待处理文件的部分。一旦电子文件的一部分经过处理并且被确定为非恶意的,则该部分可以被重新生成并且立即传送至目的地设备(如接收者的PC)。按照这种方式,则可以实现相对于“突发”类型传送的流数据传送,在突发类型传送中,如果使用完全缓冲方式,则数据流连续地开始和停止。
为了避免疑问,单独地或结合地针对以上所描述的新颖的实施例中的任何和全部来寻求保护。
已经描述了本发明的各种方面和实施例及其修改,本领域技术人员将会理解,本发明可以在不偏离其原理的情况下在布置和细节上进行修改。要求保护进入所附权利要求的精神和范围内的所有实施例、变型和修改。
Claims (43)
1.一种处理电子文件的方法,所述方法包括:
标识所述电子文件中的一部分内容数据;
确定所标识部分的内容数据是具有固定目的的被动内容数据还是具有相关功能的主动内容数据;
如果确定所标识部分的内容数据为被动内容数据,则:
确定所述部分的被动内容数据的文件类型或协议;以及
通过确定所述被动内容数据是否符合预定数据格式来确定是否要重新生成所述部分的被动内容数据,所述预定数据格式包括与所述文件类型或协议相对应的规则集;
如果确定所标识部分的内容数据为主动内容数据,则通过以下操作对所述部分的主动内容数据进行分析,以确定是否要重新生成所述部分的主动内容数据:
针对所述部分的主动内容数据来生成散列;
确定所生成的散列是否存在于已知主动内容数据的散列数据库中;以及
如果确定所生成的散列存在于所述散列数据库中,则确定要重新生成所述部分的主动内容数据;以及
如果确定要重新生成所标识部分的内容数据,则重新生成所标识部分的内容数据以创建重新生成的电子文件。
2.如权利要求1所述的方法,其中,所述电子文件包括多个部分的内容数据,并且,所述方法对所述多个部分的内容数据中的每个部分进行处理,以确定是否要重新生成每个部分的主动内容数据,并重新生成被确定要重新生成的部分内容数据,以创建重新生成的电子文件。
3.如权利要求2所述的方法,还包括确定清除模式是启用还是禁用的步骤,其中,如果确定不要重新生成至少一部分被动内容数据并且所述清除模式被禁用,则不执行重新生成部分内容数据以创建重新生成的电子文件的步骤。
4.如权利要求3所述的方法,其中,如果确定不要重新生成至少一部分被动内容数据并且所述清除模式被禁用,则将所述电子文件会放入隔离区。
5.如权利要求1所述的方法,其中,所述电子文件中一部分被动内容数据包括多个子部分的被动内容数据,对所述子部分中的每一个进行处理,以确定所述子部分的被动内容数据是否符合预定数据格式,以及,如果所有所述子部分都符合预定数据格式,则确定所述部分的被动内容数据符合预定数据格式。
6.如权利要求5所述的方法,其中,所述多个子部分的被动内容数据中的每个子部分具有不同的文件类型。
7.如权利要求1所述的方法,其中,所述被动内容数据包括文本、图像、音频或视频内容数据。
8.如权利要求1所述的方法,其中,所述主动内容数据包括脚本、宏或可执行代码。
9.如权利要求1所述的方法,其中,如果无法确定一部分被动内容数据的所声称的预定数据类型,则将该部分被动内容数据作为一部分主动内容数据来进行分析。
10.如权利要求1所述的方法,还包括对一部分主动内容数据进行正规化的步骤,其中,所述生成散列的步骤针对正规化后的所述部分的主动内容数据来生成散列。
11.如权利要求1所述的方法,还包括以预定且可重复的方式来变更一部分主动内容数据的步骤,其中,所述生成散列的步骤针对变更后的所述部分的主动内容数据来生成散列。
12.如权利要求1所述的方法,还包括以加扰的格式将所述电子文件存储在存储器中。
13.如权利要求12所述的方法,其中,以比特反转的顺序来存储每个字节的数据。
14.如权利要求12所述的方法,其中,所述数据被存储为使得接收的每对数据字节以反转的存储器顺序来放置。
15.如权利要求1所述的方法,还包括:使用警告文本来替换确定不要重新生成的部分内容数据。
16.如权利要求1所述的方法,其中,所述电子文件是电子邮件,所述方法还包括:将重新生成的电子邮件转发至预期接收者。
17.如权利要求1所述的方法,还包括:从可移除存储器设备接收所述电子文件,并将重新生成的电子文件转发至计算设备。
18.如权利要求1所述的方法,其中步骤是由处理模块来执行的,所述方法还包括通过以下步骤对要传送至处理模块的电子文件进行预处理:
重写所述电子文件,使得所述电子文件中所述处理模块要一起处理的部分按顺序布置;以及
将重写的电子文件传送至所述处理模块。
19.如权利要求18所述的方法,还包括以下步骤:
在所述处理模块处接收重写的电子文件的部分;
将所接收的重写的电子文件的所述部分存储在缓冲器中;以及
一旦接收了要一起处理的所有部分,则对重写的电子文件的所缓冲的接收部分进行处理。
20.如权利要求1所述的方法,其中步骤是由电子文件分析和重新生成模块来执行的,所述方法还包括通过以下步骤对电子文件分析和重新生成模块进行测试:
接收电子文件;
使用所述分析和重新生成模块来处理所接收的电子文件,以创建重新生成的电子文件;
使用所述分析和重新生成模块来处理重新生成的电子文件;以及
如果使用所述分析和重新生成模块对重新生成的电子文件进行的处理创建了另一重新生成的电子文件,则确定所述分析和重新生成模块正确工作。
21.如权利要求1所述的方法,其中步骤是由处理模块来执行的,所述方法还包括通过以下步骤使用所述处理模块来处理目录中的多个电子文件中的每一个:
使用所述处理模块来处理电子文件,所述处理模块分析电子文件并将处理结果作为文本串返回;
接收作为文本串而返回的处理结果;
创建具有目录名称的子目录,所述目录名称基于接收的文本串;
将所述电子文件移动至所创建的子目录。
22.一种用于处理电子文件的设备,包括:
用于标识所述电子文件中的一部分内容数据的装置;
用于确定所标识部分的内容数据是具有固定目的的被动内容数据还是具有相关功能的主动内容数据的装置;
用于在确定所标识部分的内容数据为被动内容数据的情况下,确定所述部分的被动内容数据的文件类型或协议以及通过确定所述被动内容数据是否符合预定数据格式来确定是否要重新生成所述部分的被动内容数据的装置,所述预定数据格式包括与所述文件类型或协议相对应的规则集;
用于在确定所标识部分的内容数据为主动内容数据的情况下,通过以下操作对所述部分的主动内容数据进行分析,以确定是否要重新生成所述部分的主动内容数据的装置:
针对所述部分的主动内容数据来生成散列;
确定所生成的散列是否存在于已知主动内容数据的散列数据库中;以及
如果确定所生成的散列存在于所述散列数据库中,则确定要重新生成所述部分的主动内容数据;以及
用于在确定要重新生成所标识部分的内容数据的情况下,重新生成所标识部分的内容数据以创建重新生成的电子文件的装置。
23.如权利要求22所述的设备,其中,所述电子文件包括多个部分的内容数据,并且,所述设备被配置为对所述多个部分的内容数据中的每个部分进行处理,以确定是否要重新生成每个部分的主动内容数据,并重新生成被确定要重新生成的部分内容数据,以创建重新生成的电子文件。
24.如权利要求23所述的设备,还包括用于确定清除模式是启用还是禁用的装置,其中,所述用于重新生成部分内容数据的装置被配置为:如果确定不要重新生成至少一部分主动内容数据并且所述清除模式被禁用,则不创建重新生成的电子文件。
25.如权利要求24所述的设备,其中,所述设备被配置为:如果确定不要重新生成至少一部分主动内容数据并且所述清除模式被禁用,则将所述电子文件放入隔离区。
26.如权利要求22至25中任一项所述的设备,其中,所述用于对一部分主动内容数据进行分析的装置被配置为:
针对所述部分的主动内容数据来生成散列;
确定所生成的散列是否存在于已知主动内容数据的散列数据库中;以及
如果确定所生成的散列存在于已知主动内容数据的散列数据库中,则确定要重新生成所述部分的主动内容数据。
27.如权利要求22所述的设备,其中,所述用于确定一部分被动内容数据的文件类型或协议的装置包括多个符合度分析器,每个符合度分析器与特定文件类型或协议相关联。
28.如权利要求27所述的设备,其中,所述电子文件中的一部分被动内容数据包括多个子部分的被动内容数据,所述子部分中的每一个由所述多个符合度分析器中的相应的一个进行处理,以确定所述子部分的被动内容数据是否符合预定数据格式。
29.如权利要求22所述的设备,其中,所述用于重新生成一部分内容数据的装置包括多个内容重新生成器,每个内容重新生成器与特定文件类型或协议相关联。
30.如权利要求22所述的设备,其中,所述被动内容数据包括文本、图像、音频或视频内容数据。
31.如权利要求22所述的设备,其中,所述主动内容数据包括脚本、宏或可执行代码。
32.如权利要求22所述的设备,其中,所述用于对一部分主动内容数据进行分析的装置还被配置为:如果用于确定一部分被动内容数据的所声称的预定数据类型的装置无法确定该部分被动内容数据的所声称的预定数据类型,则将该部分被动内容数据作为一部分主动内容数据来进行分析。
33.如权利要求22所述的设备,还包括对一部分主动内容数据进行正规化的装置。
34.如权利要求22所述的设备,还包括用于以加扰的格式将所述电子文件存储在存储器中的装置。
35.如权利要求34所述的设备,其中,以比特反转的顺序来存储每个字节的数据。
36.如权利要求34所述的设备,其中,所述数据被存储为使得接收的每对数据字节以反转的存储器顺序来放置。
37.如权利要求22所述的设备,其中,所述用于重新生成电子文件的装置还被配置为使用警告文本来替换确定不要重新生成的部分内容数据。
38.如权利要求22所述的设备,其中,所述电子文件是电子邮件,所述设备还包括用于将重新生成的电子邮件转发至预期接收者的装置。
39.如权利要求22所述的设备,还包括用于从可移除存储器设备接收所述电子文件的装置,以及用于将重新生成的电子文件转发至计算设备的装置。
40.一种对要传送至根据权利要求22的设备的电子文件进行预处理的设备,其中根据权利要求22的设备作为处理模块,包括:
用于重写所述电子文件的装置,使得所述电子文件中所述处理模块要一起处理的部分按顺序布置;以及
用于将重写的电子文件传送至所述处理模块的装置。
41.如权利要求40所述的设备,其中,所述处理模块还被配置为:
接收重写的电子文件的部分;
将所接收的重写的电子文件的所述部分存储在缓冲器中;以及
在接收整个文件之前,一旦接收了要一起处理的所有部分,则对重写的电子文件的所缓冲的接收部分进行处理。
42.一种对根据权利要求22的设备进行测试的设备,其中根据权利要求22的设备作为电子文件分析和重新生成模块,包括:
用于接收电子文件的装置;
用于使用所述分析和重新生成模块来处理所接收的电子文件,以创建重新生成的电子文件的装置;
用于使用所述分析和重新生成模块来处理重新生成的电子文件的装置;以及
用于在使用所述分析和重新生成模块对重新生成的电子文件进行的处理创建了另一重新生成的电子文件的情况下确定所述分析和重新生成模块是否正确工作的装置。
43.一种使用根据权利要求22的设备作为处理模块来处理目录中的多个电子文件的设备,所述处理模块分析电子文件并将处理结果作为文本串返回,包括:
用于使用所述处理模块来处理电子文件的装置;
用于接收作为文本串而返回的处理结果的装置;
用于创建具有目录名称的子目录的装置,所述目录名称基于接收的文本串;
用于将所述电子文件移动至所创建的子目录的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0624224.2 | 2006-12-04 | ||
GB0624224A GB2444514A (en) | 2006-12-04 | 2006-12-04 | Electronic file re-generation |
PCT/GB2007/004258 WO2008068450A2 (en) | 2006-12-04 | 2007-11-08 | Improvements in resisting the spread of unwanted code and data |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310359471.7A Division CN103530558A (zh) | 2006-12-04 | 2007-11-08 | 对阻止有害代码和数据扩散的改进 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101611412A CN101611412A (zh) | 2009-12-23 |
CN101611412B true CN101611412B (zh) | 2014-02-12 |
Family
ID=37671847
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310359471.7A Pending CN103530558A (zh) | 2006-12-04 | 2007-11-08 | 对阻止有害代码和数据扩散的改进 |
CN200780050858.7A Active CN101611412B (zh) | 2006-12-04 | 2007-11-08 | 对阻止有害代码和数据扩散的改进 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310359471.7A Pending CN103530558A (zh) | 2006-12-04 | 2007-11-08 | 对阻止有害代码和数据扩散的改进 |
Country Status (10)
Country | Link |
---|---|
US (3) | US8533824B2 (zh) |
EP (1) | EP2089829A2 (zh) |
JP (3) | JP5069308B2 (zh) |
CN (2) | CN103530558A (zh) |
AU (1) | AU2007330580B2 (zh) |
CA (1) | CA2671804C (zh) |
GB (1) | GB2444514A (zh) |
MY (2) | MY170629A (zh) |
TW (2) | TWI534650B (zh) |
WO (1) | WO2008068450A2 (zh) |
Families Citing this family (178)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8898788B1 (en) | 2004-04-01 | 2014-11-25 | Fireeye, Inc. | Systems and methods for malware attack prevention |
US8528086B1 (en) | 2004-04-01 | 2013-09-03 | Fireeye, Inc. | System and method of detecting computer worms |
US8584239B2 (en) | 2004-04-01 | 2013-11-12 | Fireeye, Inc. | Virtual machine with dynamic data flow analysis |
US9106694B2 (en) | 2004-04-01 | 2015-08-11 | Fireeye, Inc. | Electronic message analysis for malware detection |
US7587537B1 (en) | 2007-11-30 | 2009-09-08 | Altera Corporation | Serializer-deserializer circuits formed from input-output circuit registers |
US8549638B2 (en) | 2004-06-14 | 2013-10-01 | Fireeye, Inc. | System and method of containing computer worms |
US8881282B1 (en) | 2004-04-01 | 2014-11-04 | Fireeye, Inc. | Systems and methods for malware attack detection and identification |
US8793787B2 (en) | 2004-04-01 | 2014-07-29 | Fireeye, Inc. | Detecting malicious network content using virtual environment components |
US8566946B1 (en) | 2006-04-20 | 2013-10-22 | Fireeye, Inc. | Malware containment on connection |
US8171553B2 (en) | 2004-04-01 | 2012-05-01 | Fireeye, Inc. | Heuristic based capture with replay to virtual machine |
GB2427048A (en) | 2005-06-09 | 2006-12-13 | Avecho Group Ltd | Detection of unwanted code or data in electronic mail |
US8615800B2 (en) * | 2006-07-10 | 2013-12-24 | Websense, Inc. | System and method for analyzing web content |
US20080141376A1 (en) * | 2006-10-24 | 2008-06-12 | Pc Tools Technology Pty Ltd. | Determining maliciousness of software |
US9654495B2 (en) | 2006-12-01 | 2017-05-16 | Websense, Llc | System and method of analyzing web addresses |
US9729513B2 (en) | 2007-11-08 | 2017-08-08 | Glasswall (Ip) Limited | Using multiple layers of policy management to manage risk |
GB0709527D0 (en) | 2007-05-18 | 2007-06-27 | Surfcontrol Plc | Electronic messaging system, message processing apparatus and message processing method |
US9378282B2 (en) | 2008-06-30 | 2016-06-28 | Raytheon Company | System and method for dynamic and real-time categorization of webpages |
US8850571B2 (en) | 2008-11-03 | 2014-09-30 | Fireeye, Inc. | Systems and methods for detecting malicious network content |
US8997219B2 (en) | 2008-11-03 | 2015-03-31 | Fireeye, Inc. | Systems and methods for detecting malicious PDF network content |
US8881287B1 (en) * | 2009-03-20 | 2014-11-04 | Symantec Corporation | Systems and methods for library function identification in automatic malware signature generation |
US8832829B2 (en) | 2009-09-30 | 2014-09-09 | Fireeye, Inc. | Network-based binary file extraction and analysis for malware detection |
GB201008868D0 (en) | 2010-05-27 | 2010-07-14 | Qinetiq Ltd | Computer security |
JP5779334B2 (ja) | 2010-11-09 | 2015-09-16 | デジタルア−ツ株式会社 | 出力制御装置、出力制御プログラム、出力制御方法および出力制御システム |
US9369438B2 (en) | 2011-05-20 | 2016-06-14 | Bae Systems Plc | Supervised data transfer |
CN102855432B (zh) * | 2011-06-27 | 2015-11-25 | 北京奇虎科技有限公司 | 一种文件、文件夹解锁和删除方法及系统 |
TWI439097B (zh) | 2011-08-26 | 2014-05-21 | Univ Nat Taiwan Science Tech | 跨站腳本攻擊產生方法 |
TWI494787B (zh) * | 2012-05-28 | 2015-08-01 | Hung Chi Lin | Vba模組隱藏方法 |
US11126720B2 (en) | 2012-09-26 | 2021-09-21 | Bluvector, Inc. | System and method for automated machine-learning, zero-day malware detection |
US9292688B2 (en) * | 2012-09-26 | 2016-03-22 | Northrop Grumman Systems Corporation | System and method for automated machine-learning, zero-day malware detection |
US10572665B2 (en) | 2012-12-28 | 2020-02-25 | Fireeye, Inc. | System and method to create a number of breakpoints in a virtual machine via virtual machine trapping events |
US9176843B1 (en) | 2013-02-23 | 2015-11-03 | Fireeye, Inc. | Framework for efficient security coverage of mobile software applications |
US8990944B1 (en) | 2013-02-23 | 2015-03-24 | Fireeye, Inc. | Systems and methods for automatically detecting backdoors |
US9367681B1 (en) | 2013-02-23 | 2016-06-14 | Fireeye, Inc. | Framework for efficient security coverage of mobile software applications using symbolic execution to reach regions of interest within an application |
US9195829B1 (en) | 2013-02-23 | 2015-11-24 | Fireeye, Inc. | User interface with real-time visual playback along with synchronous textual analysis log display and event/time index for anomalous behavior detection in applications |
US9009823B1 (en) | 2013-02-23 | 2015-04-14 | Fireeye, Inc. | Framework for efficient security coverage of mobile software applications installed on mobile devices |
US8813242B1 (en) * | 2013-02-25 | 2014-08-19 | Mobile Iron, Inc. | Auto-insertion of information classification |
US9355247B1 (en) | 2013-03-13 | 2016-05-31 | Fireeye, Inc. | File extraction from memory dump for malicious content analysis |
US9626509B1 (en) | 2013-03-13 | 2017-04-18 | Fireeye, Inc. | Malicious content analysis with multi-version application support within single operating environment |
US9104867B1 (en) | 2013-03-13 | 2015-08-11 | Fireeye, Inc. | Malicious content analysis using simulated user interaction without user involvement |
US9430646B1 (en) | 2013-03-14 | 2016-08-30 | Fireeye, Inc. | Distributed systems and methods for automatically detecting unknown bots and botnets |
US9311479B1 (en) | 2013-03-14 | 2016-04-12 | Fireeye, Inc. | Correlation and consolidation of analytic data for holistic view of a malware attack |
WO2014145805A1 (en) | 2013-03-15 | 2014-09-18 | Mandiant, Llc | System and method employing structured intelligence to verify and contain threats at endpoints |
US10713358B2 (en) | 2013-03-15 | 2020-07-14 | Fireeye, Inc. | System and method to extract and utilize disassembly features to classify software intent |
US9495180B2 (en) | 2013-05-10 | 2016-11-15 | Fireeye, Inc. | Optimized resource allocation for virtual machines within a malware content detection system |
US9635039B1 (en) | 2013-05-13 | 2017-04-25 | Fireeye, Inc. | Classifying sets of malicious indicators for detecting command and control communications associated with malware |
US10133863B2 (en) | 2013-06-24 | 2018-11-20 | Fireeye, Inc. | Zero-day discovery system |
EP3722954B1 (en) | 2013-06-24 | 2023-09-06 | Cylance Inc. | Automated system for generative multimodel multiclass classification and similarity analysis using machine learning |
US9300686B2 (en) | 2013-06-28 | 2016-03-29 | Fireeye, Inc. | System and method for detecting malicious links in electronic messages |
US20150082424A1 (en) * | 2013-09-19 | 2015-03-19 | Jayant Shukla | Active Web Content Whitelisting |
WO2015047222A1 (en) * | 2013-09-24 | 2015-04-02 | Mcafee, Inc. | Adaptive and recursive filtering for sample submission |
US9628507B2 (en) | 2013-09-30 | 2017-04-18 | Fireeye, Inc. | Advanced persistent threat (APT) detection center |
US10515214B1 (en) | 2013-09-30 | 2019-12-24 | Fireeye, Inc. | System and method for classifying malware within content created during analysis of a specimen |
US9736179B2 (en) | 2013-09-30 | 2017-08-15 | Fireeye, Inc. | System, apparatus and method for using malware analysis results to drive adaptive instrumentation of virtual machines to improve exploit detection |
US9690936B1 (en) | 2013-09-30 | 2017-06-27 | Fireeye, Inc. | Multistage system and method for analyzing obfuscated content for malware |
US9294501B2 (en) | 2013-09-30 | 2016-03-22 | Fireeye, Inc. | Fuzzy hash of behavioral results |
US9171160B2 (en) | 2013-09-30 | 2015-10-27 | Fireeye, Inc. | Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses |
GB2518880A (en) * | 2013-10-04 | 2015-04-08 | Glasswall Ip Ltd | Anti-Malware mobile content data management apparatus and method |
US9921978B1 (en) | 2013-11-08 | 2018-03-20 | Fireeye, Inc. | System and method for enhanced security of storage devices |
DE102013226171A1 (de) * | 2013-12-17 | 2015-07-02 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zur Übertragung von Daten |
US9747446B1 (en) | 2013-12-26 | 2017-08-29 | Fireeye, Inc. | System and method for run-time object classification |
US9756074B2 (en) | 2013-12-26 | 2017-09-05 | Fireeye, Inc. | System and method for IPS and VM-based detection of suspicious objects |
US9740857B2 (en) | 2014-01-16 | 2017-08-22 | Fireeye, Inc. | Threat-aware microvisor |
US10469510B2 (en) * | 2014-01-31 | 2019-11-05 | Juniper Networks, Inc. | Intermediate responses for non-html downloads |
US9262635B2 (en) | 2014-02-05 | 2016-02-16 | Fireeye, Inc. | Detection efficacy of virtual machine-based analysis with application specific events |
US9241010B1 (en) | 2014-03-20 | 2016-01-19 | Fireeye, Inc. | System and method for network behavior detection |
US10242185B1 (en) | 2014-03-21 | 2019-03-26 | Fireeye, Inc. | Dynamic guest image creation and rollback |
US9591015B1 (en) | 2014-03-28 | 2017-03-07 | Fireeye, Inc. | System and method for offloading packet processing and static analysis operations |
US9432389B1 (en) | 2014-03-31 | 2016-08-30 | Fireeye, Inc. | System, apparatus and method for detecting a malicious attack based on static analysis of a multi-flow object |
US9223972B1 (en) | 2014-03-31 | 2015-12-29 | Fireeye, Inc. | Dynamically remote tuning of a malware content detection system |
US9973531B1 (en) | 2014-06-06 | 2018-05-15 | Fireeye, Inc. | Shellcode detection |
US9594912B1 (en) | 2014-06-06 | 2017-03-14 | Fireeye, Inc. | Return-oriented programming detection |
US9438623B1 (en) | 2014-06-06 | 2016-09-06 | Fireeye, Inc. | Computer exploit detection using heap spray pattern matching |
US10084813B2 (en) | 2014-06-24 | 2018-09-25 | Fireeye, Inc. | Intrusion prevention and remedy system |
US9398028B1 (en) | 2014-06-26 | 2016-07-19 | Fireeye, Inc. | System, device and method for detecting a malicious attack based on communcations between remotely hosted virtual machines and malicious web servers |
US10805340B1 (en) | 2014-06-26 | 2020-10-13 | Fireeye, Inc. | Infection vector and malware tracking with an interactive user display |
US10002252B2 (en) | 2014-07-01 | 2018-06-19 | Fireeye, Inc. | Verification of trusted threat-aware microvisor |
US9363280B1 (en) | 2014-08-22 | 2016-06-07 | Fireeye, Inc. | System and method of detecting delivery of malware using cross-customer data |
US9306940B2 (en) | 2014-09-08 | 2016-04-05 | Square, Inc. | Mitigating risk of account enumeration |
US10671726B1 (en) | 2014-09-22 | 2020-06-02 | Fireeye Inc. | System and method for malware analysis using thread-level event monitoring |
US9773112B1 (en) | 2014-09-29 | 2017-09-26 | Fireeye, Inc. | Exploit detection of malware and malware families |
US10027689B1 (en) | 2014-09-29 | 2018-07-17 | Fireeye, Inc. | Interactive infection visualization for improved exploit detection and signature generation for malware and malware families |
US9419991B2 (en) * | 2014-09-30 | 2016-08-16 | Juniper Networks, Inc. | De-obfuscating scripted language for network intrusion detection using a regular expression signature |
JP6916112B2 (ja) | 2014-11-21 | 2021-08-11 | ブルヴェクター, インコーポレーテッドBluvector, Inc. | ネットワークデータ特性評価のシステムと方法 |
US9330264B1 (en) | 2014-11-26 | 2016-05-03 | Glasswall (Ip) Limited | Statistical analytic method for the determination of the risk posed by file based content |
US9690933B1 (en) | 2014-12-22 | 2017-06-27 | Fireeye, Inc. | Framework for classifying an object as malicious with machine learning for deploying updated predictive models |
US10075455B2 (en) | 2014-12-26 | 2018-09-11 | Fireeye, Inc. | Zero-day rotating guest image profile |
US9934376B1 (en) | 2014-12-29 | 2018-04-03 | Fireeye, Inc. | Malware detection appliance architecture |
US9838417B1 (en) | 2014-12-30 | 2017-12-05 | Fireeye, Inc. | Intelligent context aware user interaction for malware detection |
US10148693B2 (en) | 2015-03-25 | 2018-12-04 | Fireeye, Inc. | Exploit detection system |
US9690606B1 (en) | 2015-03-25 | 2017-06-27 | Fireeye, Inc. | Selective system call monitoring |
US9438613B1 (en) | 2015-03-30 | 2016-09-06 | Fireeye, Inc. | Dynamic content activation for automated analysis of embedded objects |
US10474813B1 (en) | 2015-03-31 | 2019-11-12 | Fireeye, Inc. | Code injection technique for remediation at an endpoint of a network |
US10417031B2 (en) | 2015-03-31 | 2019-09-17 | Fireeye, Inc. | Selective virtualization for security threat detection |
US9483644B1 (en) | 2015-03-31 | 2016-11-01 | Fireeye, Inc. | Methods for detecting file altering malware in VM based analysis |
US9654485B1 (en) | 2015-04-13 | 2017-05-16 | Fireeye, Inc. | Analytics-based security monitoring system and method |
US9594904B1 (en) | 2015-04-23 | 2017-03-14 | Fireeye, Inc. | Detecting malware based on reflection |
US10726127B1 (en) | 2015-06-30 | 2020-07-28 | Fireeye, Inc. | System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer |
US10454950B1 (en) | 2015-06-30 | 2019-10-22 | Fireeye, Inc. | Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks |
US11113086B1 (en) | 2015-06-30 | 2021-09-07 | Fireeye, Inc. | Virtual system and method for securing external network connectivity |
US10642753B1 (en) | 2015-06-30 | 2020-05-05 | Fireeye, Inc. | System and method for protecting a software component running in virtual machine using a virtualization layer |
US10715542B1 (en) | 2015-08-14 | 2020-07-14 | Fireeye, Inc. | Mobile application risk analysis |
US10176321B2 (en) | 2015-09-22 | 2019-01-08 | Fireeye, Inc. | Leveraging behavior-based rules for malware family classification |
US10033747B1 (en) | 2015-09-29 | 2018-07-24 | Fireeye, Inc. | System and method for detecting interpreter-based exploit attacks |
US9825976B1 (en) | 2015-09-30 | 2017-11-21 | Fireeye, Inc. | Detection and classification of exploit kits |
US10210329B1 (en) | 2015-09-30 | 2019-02-19 | Fireeye, Inc. | Method to detect application execution hijacking using memory protection |
US10706149B1 (en) | 2015-09-30 | 2020-07-07 | Fireeye, Inc. | Detecting delayed activation malware using a primary controller and plural time controllers |
US10817606B1 (en) | 2015-09-30 | 2020-10-27 | Fireeye, Inc. | Detecting delayed activation malware using a run-time monitoring agent and time-dilation logic |
US10601865B1 (en) | 2015-09-30 | 2020-03-24 | Fireeye, Inc. | Detection of credential spearphishing attacks using email analysis |
US9825989B1 (en) | 2015-09-30 | 2017-11-21 | Fireeye, Inc. | Cyber attack early warning system |
US10284575B2 (en) | 2015-11-10 | 2019-05-07 | Fireeye, Inc. | Launcher for setting analysis environment variations for malware detection |
US10846117B1 (en) | 2015-12-10 | 2020-11-24 | Fireeye, Inc. | Technique for establishing secure communication between host and guest processes of a virtualization architecture |
US10447728B1 (en) | 2015-12-10 | 2019-10-15 | Fireeye, Inc. | Technique for protecting guest processes using a layered virtualization architecture |
US10108446B1 (en) | 2015-12-11 | 2018-10-23 | Fireeye, Inc. | Late load technique for deploying a virtualization layer underneath a running operating system |
US10133866B1 (en) | 2015-12-30 | 2018-11-20 | Fireeye, Inc. | System and method for triggering analysis of an object for malware in response to modification of that object |
US10050998B1 (en) | 2015-12-30 | 2018-08-14 | Fireeye, Inc. | Malicious message analysis system |
US10621338B1 (en) | 2015-12-30 | 2020-04-14 | Fireeye, Inc. | Method to detect forgery and exploits using last branch recording registers |
US10565378B1 (en) | 2015-12-30 | 2020-02-18 | Fireeye, Inc. | Exploit of privilege detection framework |
US9824216B1 (en) | 2015-12-31 | 2017-11-21 | Fireeye, Inc. | Susceptible environment detection system |
US11552986B1 (en) | 2015-12-31 | 2023-01-10 | Fireeye Security Holdings Us Llc | Cyber-security framework for application of virtual features |
US10581874B1 (en) | 2015-12-31 | 2020-03-03 | Fireeye, Inc. | Malware detection system with contextual analysis |
JP2017142552A (ja) * | 2016-02-08 | 2017-08-17 | 株式会社日立アドバンストシステムズ | マルウェア注意喚起装置および方法 |
US10601863B1 (en) | 2016-03-25 | 2020-03-24 | Fireeye, Inc. | System and method for managing sensor enrollment |
US10785255B1 (en) | 2016-03-25 | 2020-09-22 | Fireeye, Inc. | Cluster configuration within a scalable malware detection system |
US10476906B1 (en) | 2016-03-25 | 2019-11-12 | Fireeye, Inc. | System and method for managing formation and modification of a cluster within a malware detection system |
US10671721B1 (en) | 2016-03-25 | 2020-06-02 | Fireeye, Inc. | Timeout management services |
US10826933B1 (en) | 2016-03-31 | 2020-11-03 | Fireeye, Inc. | Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints |
US10893059B1 (en) | 2016-03-31 | 2021-01-12 | Fireeye, Inc. | Verification and enhancement using detection systems located at the network periphery and endpoint devices |
US20170353475A1 (en) | 2016-06-06 | 2017-12-07 | Glasswall (Ip) Limited | Threat intelligence cloud |
US10169585B1 (en) | 2016-06-22 | 2019-01-01 | Fireeye, Inc. | System and methods for advanced malware detection through placement of transition events |
US10462173B1 (en) | 2016-06-30 | 2019-10-29 | Fireeye, Inc. | Malware detection verification and enhancement by coordinating endpoint and malware detection systems |
US10592678B1 (en) | 2016-09-09 | 2020-03-17 | Fireeye, Inc. | Secure communications between peers using a verified virtual trusted platform module |
US10491627B1 (en) | 2016-09-29 | 2019-11-26 | Fireeye, Inc. | Advanced malware detection using similarity analysis |
JP2018063563A (ja) * | 2016-10-12 | 2018-04-19 | Jns株式会社 | コンピュータ装置及びコンピュータシステム |
US10795991B1 (en) | 2016-11-08 | 2020-10-06 | Fireeye, Inc. | Enterprise search |
US9858424B1 (en) * | 2017-01-05 | 2018-01-02 | Votiro Cybersec Ltd. | System and method for protecting systems from active content |
US10587647B1 (en) | 2016-11-22 | 2020-03-10 | Fireeye, Inc. | Technique for malware detection capability comparison of network security devices |
US10581879B1 (en) | 2016-12-22 | 2020-03-03 | Fireeye, Inc. | Enhanced malware detection for generated objects |
US10552610B1 (en) | 2016-12-22 | 2020-02-04 | Fireeye, Inc. | Adaptive virtual machine snapshot update framework for malware behavioral analysis |
US10523609B1 (en) | 2016-12-27 | 2019-12-31 | Fireeye, Inc. | Multi-vector malware detection and analysis |
US10013557B1 (en) | 2017-01-05 | 2018-07-03 | Votiro Cybersec Ltd. | System and method for disarming malicious code |
US10331890B2 (en) | 2017-03-20 | 2019-06-25 | Votiro Cybersec Ltd. | Disarming malware in protected content |
US10331889B2 (en) | 2017-01-05 | 2019-06-25 | Votiro Cybersec Ltd. | Providing a fastlane for disarming malicious content in received input content |
US10904286B1 (en) | 2017-03-24 | 2021-01-26 | Fireeye, Inc. | Detection of phishing attacks using similarity analysis |
US10791138B1 (en) | 2017-03-30 | 2020-09-29 | Fireeye, Inc. | Subscription-based malware detection |
US10902119B1 (en) | 2017-03-30 | 2021-01-26 | Fireeye, Inc. | Data extraction system for malware analysis |
US10798112B2 (en) | 2017-03-30 | 2020-10-06 | Fireeye, Inc. | Attribute-controlled malware detection |
US10848397B1 (en) | 2017-03-30 | 2020-11-24 | Fireeye, Inc. | System and method for enforcing compliance with subscription requirements for cyber-attack detection service |
US10503904B1 (en) | 2017-06-29 | 2019-12-10 | Fireeye, Inc. | Ransomware detection and mitigation |
US10855700B1 (en) | 2017-06-29 | 2020-12-01 | Fireeye, Inc. | Post-intrusion detection of cyber-attacks during lateral movement within networks |
US10601848B1 (en) | 2017-06-29 | 2020-03-24 | Fireeye, Inc. | Cyber-security system and method for weak indicator detection and correlation to generate strong indicators |
US10893068B1 (en) | 2017-06-30 | 2021-01-12 | Fireeye, Inc. | Ransomware file modification prevention technique |
US10747872B1 (en) | 2017-09-27 | 2020-08-18 | Fireeye, Inc. | System and method for preventing malware evasion |
US10805346B2 (en) | 2017-10-01 | 2020-10-13 | Fireeye, Inc. | Phishing attack detection |
US11108809B2 (en) | 2017-10-27 | 2021-08-31 | Fireeye, Inc. | System and method for analyzing binary code for malware classification using artificial neural network techniques |
US11005860B1 (en) | 2017-12-28 | 2021-05-11 | Fireeye, Inc. | Method and system for efficient cybersecurity analysis of endpoint events |
US11271955B2 (en) | 2017-12-28 | 2022-03-08 | Fireeye Security Holdings Us Llc | Platform and method for retroactive reclassification employing a cybersecurity-based global data store |
US11240275B1 (en) | 2017-12-28 | 2022-02-01 | Fireeye Security Holdings Us Llc | Platform and method for performing cybersecurity analyses employing an intelligence hub with a modular architecture |
US10826931B1 (en) | 2018-03-29 | 2020-11-03 | Fireeye, Inc. | System and method for predicting and mitigating cybersecurity system misconfigurations |
US11003773B1 (en) | 2018-03-30 | 2021-05-11 | Fireeye, Inc. | System and method for automatically generating malware detection rule recommendations |
US10956477B1 (en) | 2018-03-30 | 2021-03-23 | Fireeye, Inc. | System and method for detecting malicious scripts through natural language processing modeling |
US11558401B1 (en) | 2018-03-30 | 2023-01-17 | Fireeye Security Holdings Us Llc | Multi-vector malware detection data sharing system for improved detection |
JP6671693B2 (ja) * | 2018-06-27 | 2020-03-25 | 株式会社プロット | 電子ファイルの無害化処理プログラム、電子ファイルの無害化処理方法および記録媒体 |
US11314859B1 (en) | 2018-06-27 | 2022-04-26 | FireEye Security Holdings, Inc. | Cyber-security system and method for detecting escalation of privileges within an access token |
US11075930B1 (en) | 2018-06-27 | 2021-07-27 | Fireeye, Inc. | System and method for detecting repetitive cybersecurity attacks constituting an email campaign |
US11228491B1 (en) | 2018-06-28 | 2022-01-18 | Fireeye Security Holdings Us Llc | System and method for distributed cluster configuration monitoring and management |
US11316900B1 (en) | 2018-06-29 | 2022-04-26 | FireEye Security Holdings Inc. | System and method for automatically prioritizing rules for cyber-threat detection and mitigation |
US11182473B1 (en) | 2018-09-13 | 2021-11-23 | Fireeye Security Holdings Us Llc | System and method for mitigating cyberattacks against processor operability by a guest process |
US11763004B1 (en) | 2018-09-27 | 2023-09-19 | Fireeye Security Holdings Us Llc | System and method for bootkit detection |
US11368475B1 (en) | 2018-12-21 | 2022-06-21 | Fireeye Security Holdings Us Llc | System and method for scanning remote services to locate stored objects with malware |
US11347851B2 (en) * | 2019-02-25 | 2022-05-31 | Saudi Arabian Oil Company | System and method for file artifact metadata collection and analysis |
US10992703B2 (en) * | 2019-03-04 | 2021-04-27 | Malwarebytes Inc. | Facet whitelisting in anomaly detection |
US11258806B1 (en) | 2019-06-24 | 2022-02-22 | Mandiant, Inc. | System and method for automatically associating cybersecurity intelligence to cyberthreat actors |
US11556640B1 (en) | 2019-06-27 | 2023-01-17 | Mandiant, Inc. | Systems and methods for automated cybersecurity analysis of extracted binary string sets |
US11392700B1 (en) | 2019-06-28 | 2022-07-19 | Fireeye Security Holdings Us Llc | System and method for supporting cross-platform data verification |
US11886585B1 (en) | 2019-09-27 | 2024-01-30 | Musarubra Us Llc | System and method for identifying and mitigating cyberattacks through malicious position-independent code execution |
US11637862B1 (en) | 2019-09-30 | 2023-04-25 | Mandiant, Inc. | System and method for surfacing cyber-security threats with a self-learning recommendation engine |
TWI723664B (zh) * | 2019-12-05 | 2021-04-01 | 中華電信股份有限公司 | 惡意圖像檔案淨化方法及系統 |
WO2022162379A1 (en) | 2021-01-29 | 2022-08-04 | Glasswall (Ip) Limited | Machine learning methods and systems for determining file risk using content disarm and reconstruction analysis |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2357939A (en) * | 2000-07-05 | 2001-07-04 | Gfi Fax & Voice Ltd | E-mail virus detection and deletion |
CN1352426A (zh) * | 2001-11-26 | 2002-06-05 | 北京实达铭泰计算机应用技术开发有限公司 | 一种计算机病毒防御方法 |
WO2006047163A2 (en) * | 2004-10-26 | 2006-05-04 | Priderock, L.L.C. | System and method for identifying and removing malware on a computer system |
Family Cites Families (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5050212A (en) * | 1990-06-20 | 1991-09-17 | Apple Computer, Inc. | Method and apparatus for verifying the integrity of a file stored separately from a computer |
US5649095A (en) * | 1992-03-30 | 1997-07-15 | Cozza; Paul D. | Method and apparatus for detecting computer viruses through the use of a scan information cache |
US5655130A (en) | 1994-10-14 | 1997-08-05 | Unisys Corporation | Method and apparatus for document production using a common document database |
US5745897A (en) * | 1994-11-21 | 1998-04-28 | Bay Networks Group, Inc. | Method and system for compiling management information base specifications |
NL1000669C2 (nl) * | 1995-06-26 | 1996-12-31 | Nederland Ptt | Werkwijze en inrichtingen voor het overdragen van data met controle op transmissiefouten. |
US6493761B1 (en) * | 1995-12-20 | 2002-12-10 | Nb Networks | Systems and methods for data processing using a protocol parsing engine |
US5832208A (en) * | 1996-09-05 | 1998-11-03 | Cheyenne Software International Sales Corp. | Anti-virus agent for use with databases and mail servers |
US6144934A (en) * | 1996-09-18 | 2000-11-07 | Secure Computing Corporation | Binary filter using pattern recognition |
US5951698A (en) * | 1996-10-02 | 1999-09-14 | Trend Micro, Incorporated | System, apparatus and method for the detection and removal of viruses in macros |
JPH10143403A (ja) * | 1996-11-12 | 1998-05-29 | Fujitsu Ltd | 情報管理装置および情報管理プログラム記憶媒体 |
US6807632B1 (en) * | 1999-01-21 | 2004-10-19 | Emc Corporation | Content addressable information encapsulation, representation, and transfer |
JPH11224190A (ja) * | 1998-02-09 | 1999-08-17 | Yaskawa Electric Corp | コンピュータネットワーク網に接続した計算機の保護方法及びそのプログラムを記録した記録媒体 |
US6401210B1 (en) * | 1998-09-23 | 2002-06-04 | Intel Corporation | Method of managing computer virus infected files |
US6336124B1 (en) * | 1998-10-01 | 2002-01-01 | Bcl Computers, Inc. | Conversion data representing a document to other formats for manipulation and display |
US6519702B1 (en) | 1999-01-22 | 2003-02-11 | Sun Microsystems, Inc. | Method and apparatus for limiting security attacks via data copied into computer memory |
US7391865B2 (en) * | 1999-09-20 | 2008-06-24 | Security First Corporation | Secure data parser method and system |
WO2001026004A2 (en) | 1999-10-04 | 2001-04-12 | Kana Communications, Inc. | Method and apparatus for interprocess messaging and its use for automatically generating transactional email |
US6697950B1 (en) | 1999-12-22 | 2004-02-24 | Networks Associates Technology, Inc. | Method and apparatus for detecting a macro computer virus using static analysis |
US7225181B2 (en) | 2000-02-04 | 2007-05-29 | Fujitsu Limited | Document searching apparatus, method thereof, and record medium thereof |
EP1122932B1 (en) | 2000-02-04 | 2006-08-09 | Aladdin Knowledge Systems Ltd. | Protection of computer networks against malicious content |
US7093135B1 (en) | 2000-05-11 | 2006-08-15 | Cybersoft, Inc. | Software virus detection methods and apparatus |
GB0016835D0 (en) * | 2000-07-07 | 2000-08-30 | Messagelabs Limited | Method of, and system for, processing email |
US7636945B2 (en) * | 2000-07-14 | 2009-12-22 | Computer Associates Think, Inc. | Detection of polymorphic script language viruses by data driven lexical analysis |
US6895011B1 (en) * | 2000-08-15 | 2005-05-17 | Lucent Technologies Inc. | Method and apparatus for re-sequencing data packets |
JP4415232B2 (ja) * | 2000-10-12 | 2010-02-17 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム記録媒体 |
US9311499B2 (en) | 2000-11-13 | 2016-04-12 | Ron M. Redlich | Data security system and with territorial, geographic and triggering event protocol |
US7322047B2 (en) * | 2000-11-13 | 2008-01-22 | Digital Doors, Inc. | Data security system and method associated with data mining |
JP2002259187A (ja) | 2001-03-01 | 2002-09-13 | Nec Corp | 異常ファイル検出および除去を目的とした着脱可能ファイル監視システム |
US7058858B2 (en) * | 2001-04-23 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | Systems and methods for providing automated diagnostic services for a cluster computer system |
US6895534B2 (en) * | 2001-04-23 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | Systems and methods for providing automated diagnostic services for a cluster computer system |
US8095597B2 (en) * | 2001-05-01 | 2012-01-10 | Aol Inc. | Method and system of automating data capture from electronic correspondence |
US7502829B2 (en) | 2001-06-21 | 2009-03-10 | Cybersoft, Inc. | Apparatus, methods and articles of manufacture for intercepting, examining and controlling code, data and files and their transfer |
EP1410645B1 (en) | 2001-07-12 | 2007-10-10 | Research In Motion Limited | System and method for providing remote data access for a mobile communication device |
US7526572B2 (en) | 2001-07-12 | 2009-04-28 | Research In Motion Limited | System and method for providing remote data access for a mobile communication device |
US7487544B2 (en) | 2001-07-30 | 2009-02-03 | The Trustees Of Columbia University In The City Of New York | System and methods for detection of new malicious executables |
US6947947B2 (en) * | 2001-08-17 | 2005-09-20 | Universal Business Matrix Llc | Method for adding metadata to data |
US20040008368A1 (en) | 2001-09-07 | 2004-01-15 | Plunkett Michael K | Mailing online operation flow |
GB2381170A (en) * | 2001-10-19 | 2003-04-23 | Ipwireless Inc | Method and arrangement for asynchronous processing of CCTrCH data |
US20030079142A1 (en) | 2001-10-22 | 2003-04-24 | Aladdin Knowledge Systems Ltd. | Classifying digital object security category |
US20030079158A1 (en) | 2001-10-23 | 2003-04-24 | Tower James Brian | Secured digital systems and a method and software for operating the same |
US7363506B2 (en) * | 2002-01-30 | 2008-04-22 | Cybersoft, Inc. | Software virus detection methods, apparatus and articles of manufacture |
US6922827B2 (en) | 2002-02-22 | 2005-07-26 | Bea Systems, Inc. | Iterative software development environment with prioritized build rules |
US20030163732A1 (en) | 2002-02-28 | 2003-08-28 | Parry Travis J. | Device-specific firewall |
US7171691B2 (en) | 2002-04-10 | 2007-01-30 | International Business Machines Corporation | Content sanitation via transcoding |
US20030229810A1 (en) | 2002-06-05 | 2003-12-11 | Bango Joseph J. | Optical antivirus firewall for internet, LAN, and WAN computer applications |
US7240279B1 (en) | 2002-06-19 | 2007-07-03 | Microsoft Corporation | XML patterns language |
DE10235819B4 (de) | 2002-08-05 | 2005-12-01 | Utz Schneider | Verfahren und Anordnung zum Blockieren von an einen Benutzer gesendeten Daten und/oder Informationen und/oder Signalen elektronischer Medien sowie deren Verwendung |
GB2391965B (en) | 2002-08-14 | 2005-11-30 | Messagelabs Ltd | Method of, and system for, heuristically detecting viruses in executable code |
US8335779B2 (en) | 2002-08-16 | 2012-12-18 | Gamroe Applications, Llc | Method and apparatus for gathering, categorizing and parameterizing data |
TWI231899B (en) * | 2002-10-29 | 2005-05-01 | Trek 2000 Int Ltd | System and method for authentication |
US7020804B2 (en) * | 2002-12-03 | 2006-03-28 | Lockheed Martin Corporation | Test data generation system for evaluating data cleansing applications |
US7644361B2 (en) | 2002-12-23 | 2010-01-05 | Canon Kabushiki Kaisha | Method of using recommendations to visually create new views of data across heterogeneous sources |
US20050071477A1 (en) | 2003-03-27 | 2005-03-31 | Microsoft Corporation | Providing information links via a network |
US7269733B1 (en) | 2003-04-10 | 2007-09-11 | Cisco Technology, Inc. | Reliable embedded file content addressing |
GB2400933B (en) | 2003-04-25 | 2006-11-22 | Messagelabs Ltd | A method of, and system for, heuristically detecting viruses in executable code by detecting files which have been maliciously altered |
US20040230903A1 (en) | 2003-05-16 | 2004-11-18 | Dethe Elza | Method and system for enabling collaborative authoring of hierarchical documents with associated business logic |
US20040240472A1 (en) * | 2003-05-28 | 2004-12-02 | Alok Kumar | Method and system for maintenance of packet order using caching |
US7685174B2 (en) | 2003-07-08 | 2010-03-23 | Seventh Knight Inc. | Automatic regeneration of computer files |
US20050081057A1 (en) * | 2003-10-10 | 2005-04-14 | Oded Cohen | Method and system for preventing exploiting an email message |
EP2618538B1 (en) | 2003-11-12 | 2018-09-05 | The Trustees Of Columbia University In The City Of New York | Apparatus, Method and Medium for Detecting Payload Anomaly using N-Gram Distribution of Normal Data |
US7467409B2 (en) | 2003-12-12 | 2008-12-16 | Microsoft Corporation | Aggregating trust services for file transfer clients |
US7475427B2 (en) | 2003-12-12 | 2009-01-06 | International Business Machines Corporation | Apparatus, methods and computer programs for identifying or managing vulnerabilities within a data processing network |
US20050149720A1 (en) | 2004-01-07 | 2005-07-07 | Shimon Gruper | Method for speeding up the pass time of an executable through a checkpoint |
US7707634B2 (en) * | 2004-01-30 | 2010-04-27 | Microsoft Corporation | System and method for detecting malware in executable scripts according to its functionality |
US7721334B2 (en) | 2004-01-30 | 2010-05-18 | Microsoft Corporation | Detection of code-free files |
US7512658B2 (en) * | 2004-02-26 | 2009-03-31 | International Business Machines Corporation | Providing a portion of an electronic mail message based upon a transfer rate, a message size, and a file format |
US7607172B2 (en) | 2004-03-02 | 2009-10-20 | International Business Machines Corporation | Method of protecting a computing system from harmful active content in documents |
US8186026B2 (en) * | 2004-03-03 | 2012-05-29 | Rockstar Bidco, LP | Technique for maintaining secure network connections |
US7451394B2 (en) | 2004-04-30 | 2008-11-11 | Convergys Cmg Utah | System and method for document and data validation |
US7444521B2 (en) * | 2004-07-16 | 2008-10-28 | Red Hat, Inc. | System and method for detecting computer virus |
GB0418066D0 (en) | 2004-08-13 | 2004-09-15 | Ibm | A prioritization system |
US20060044605A1 (en) * | 2004-08-24 | 2006-03-02 | Schneider Charles R | Systems, methods and computer program products for labeled forms processing |
US10043008B2 (en) * | 2004-10-29 | 2018-08-07 | Microsoft Technology Licensing, Llc | Efficient white listing of user-modifiable files |
US7636856B2 (en) | 2004-12-06 | 2009-12-22 | Microsoft Corporation | Proactive computer malware protection through dynamic translation |
US8037534B2 (en) | 2005-02-28 | 2011-10-11 | Smith Joseph B | Strategies for ensuring that executable content conforms to predetermined patterns of behavior (“inverse virus checking”) |
US9507919B2 (en) * | 2005-04-22 | 2016-11-29 | Microsoft Technology Licensing, Llc | Rights management system for streamed multimedia content |
EP1877905B1 (en) * | 2005-05-05 | 2014-10-22 | Cisco IronPort Systems LLC | Identifying threats in electronic messages |
US20060272006A1 (en) | 2005-05-27 | 2006-11-30 | Shaohong Wei | Systems and methods for processing electronic data |
GB2427048A (en) * | 2005-06-09 | 2006-12-13 | Avecho Group Ltd | Detection of unwanted code or data in electronic mail |
US20070067397A1 (en) * | 2005-09-19 | 2007-03-22 | Available For Licensing | Systems and methods for sharing documents |
US7756834B2 (en) | 2005-11-03 | 2010-07-13 | I365 Inc. | Malware and spyware attack recovery system and method |
US7966654B2 (en) * | 2005-11-22 | 2011-06-21 | Fortinet, Inc. | Computerized system and method for policy-based content filtering |
-
2006
- 2006-12-04 GB GB0624224A patent/GB2444514A/en not_active Withdrawn
-
2007
- 2007-11-08 CN CN201310359471.7A patent/CN103530558A/zh active Pending
- 2007-11-08 JP JP2009539791A patent/JP5069308B2/ja active Active
- 2007-11-08 CN CN200780050858.7A patent/CN101611412B/zh active Active
- 2007-11-08 CA CA2671804A patent/CA2671804C/en active Active
- 2007-11-08 US US12/517,614 patent/US8533824B2/en active Active
- 2007-11-08 AU AU2007330580A patent/AU2007330580B2/en active Active
- 2007-11-08 EP EP07824491A patent/EP2089829A2/en not_active Ceased
- 2007-11-08 MY MYPI2013003010A patent/MY170629A/en unknown
- 2007-11-08 WO PCT/GB2007/004258 patent/WO2008068450A2/en active Application Filing
- 2007-11-08 MY MYPI20092270A patent/MY149569A/en unknown
- 2007-11-12 TW TW104108578A patent/TWI534650B/zh active
- 2007-11-12 TW TW096142679A patent/TWI488065B/zh active
-
2012
- 2012-07-20 JP JP2012161669A patent/JP2012230704A/ja active Pending
-
2013
- 2013-05-21 US US13/899,043 patent/US9038174B2/en active Active
-
2014
- 2014-06-12 JP JP2014121522A patent/JP5628455B2/ja active Active
-
2015
- 2015-05-18 US US14/715,300 patent/US20150269382A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2357939A (en) * | 2000-07-05 | 2001-07-04 | Gfi Fax & Voice Ltd | E-mail virus detection and deletion |
CN1352426A (zh) * | 2001-11-26 | 2002-06-05 | 北京实达铭泰计算机应用技术开发有限公司 | 一种计算机病毒防御方法 |
WO2006047163A2 (en) * | 2004-10-26 | 2006-05-04 | Priderock, L.L.C. | System and method for identifying and removing malware on a computer system |
Also Published As
Publication number | Publication date |
---|---|
CN101611412A (zh) | 2009-12-23 |
GB0624224D0 (en) | 2007-01-10 |
JP5069308B2 (ja) | 2012-11-07 |
GB2444514A (en) | 2008-06-11 |
US9038174B2 (en) | 2015-05-19 |
US20130326624A1 (en) | 2013-12-05 |
EP2089829A2 (en) | 2009-08-19 |
AU2007330580B2 (en) | 2013-03-21 |
JP2014194822A (ja) | 2014-10-09 |
US20150269382A1 (en) | 2015-09-24 |
US20100154063A1 (en) | 2010-06-17 |
JP5628455B2 (ja) | 2014-11-19 |
JP2010511951A (ja) | 2010-04-15 |
MY170629A (en) | 2019-08-21 |
US8533824B2 (en) | 2013-09-10 |
WO2008068450A2 (en) | 2008-06-12 |
MY149569A (en) | 2013-09-13 |
TW200825836A (en) | 2008-06-16 |
AU2007330580A1 (en) | 2008-06-12 |
CA2671804C (en) | 2014-08-26 |
WO2008068450A3 (en) | 2008-08-07 |
TW201525746A (zh) | 2015-07-01 |
TWI534650B (zh) | 2016-05-21 |
CN103530558A (zh) | 2014-01-22 |
CA2671804A1 (en) | 2008-06-12 |
JP2012230704A (ja) | 2012-11-22 |
TWI488065B (zh) | 2015-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101611412B (zh) | 对阻止有害代码和数据扩散的改进 | |
US11218495B2 (en) | Resisting the spread of unwanted code and data | |
AU2012258355B2 (en) | Resisting the Spread of Unwanted Code and Data | |
AU2013204036A1 (en) | Improvements in Resisting the Spread of Unwanted Code and Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: Essex, Chelm Medford Applicant after: Glass Wo (IP) Ltd Address before: British Maxwell Hertz Applicant before: Glass Wo (IP) Ltd |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |