专利名称:无代码文件的检测的制作方法
技术领域:
本发明涉及无可执行代码计算机文件的检测。
背景技术:
复杂的计算机文件格式—该文件格式允许可扩展性和增强的功能性—正变得日益普及。不幸的是,它们也提供了恶意病毒软件的程序设计者将有害的可执行代码隐藏其内的载体。为了与这种情况作斗争,存在一种“军备竞争”,其中,反病毒(AV)软件制作者隔离每一新病毒的副本,并获取新病毒的“签名”,以使其能在随后被识别出。
因此,反病毒(AV)软件被配置成扫描输入文件,寻找每一种已知病毒的签名。若未发现已知病毒签名,则输入文件就被认为是无病毒感染的。
不幸的是,经常有由于AV软件还未更新以包含新病毒,而使新病毒通过AV软件这样的情况。尽管AV软件制作者试图迅速响应,但很多情况下,在他们能够以升级响应之前,以及在消费者安装升级之前,就已经产生了破坏。因此,仍存在对能够更好地防止新软件病毒感染计算机系统的技术的需求。
发明内容
描述了无代码文件的检测。根据一个实现,分析输入文件以识别文件格式。根据识别的文件格式校验输入文件的内容(若可用的话),试图确定输入文件内是否存在可执行代码。随后响应于校验发送状态。
整个附图中使用了相同的标号以引用同样的组件和特征。
图1是描述一个示例性实现的流程图,通过其可以检测到无代码文件,包括在识别文件格式和检测可执行代码中使用的方法。
图2示出了一个示例性环境,其中,代码检测模块被配置成向电子邮件程序提供包含在文件内的可执行代码的信息。
图3示出了第二个示例性环境,其中,代码检测模块被配置成向即时消息通信程序提供包含在文件内的可执行代码的信息。
图4示出了第三个示例性环境,其中,代码检测模块被配置成向因特网浏览程序提供包含在文件内的可执行代码的信息。
图5示出了图2-4的代码检测模块内包含的结构的示例性细节,包括一个可扩展分析程序模块。
图6是描述了用于扩展图5中的可扩展分析模块的示例性方法的流程图。
图7是描述了检测无代码文件的示例性方法的流程图。
图8是可在其中实现代码检测模块的示例性计算机系统。
具体实施例方式
概述以下讨论针对检测无代码文件的技术。无代码文件的检测是有益的,因为此类文件使电子邮件、即时消息通信、因特网浏览以及其它应用程序的用户极大地降低了安全风险。若文件已知是无代码的,则用户将享有恶意“病毒”软件不存在更高的可能性。
通用过程图1表示了检测无代码文件的通用过程。在块102处,分析输入文件以使能够识别用于配置输入文件的文件格式。文件格式是通过其数据能被组织起来用于使用和存储的约定;大量此类文件格式是公知的,且和文件扩展名相关联,其中,有限且非穷尽的列表包括jpeg、pdf、doc(Word)、vsd(Visio)等等。在块104处,根据识别出的文件格式校验输入文本的内容(如果有的话),以找出输入文件中的可执行代码。在块106处,根据检验可执行代码的结果发送状态。注意,在此,术语“代码”或“可执行代码”是广义的,且不仅限于引用的示例,该示例包括处理器可执行指令、脚本和其它高级语言、可扩展机制以及可被设计、破坏或以其它任何方式实现以表示病毒、蠕虫或任何其它形式的恶意的、未授权的、不需要的或无意的恶意件(malware)的任何其它逻辑电路、设备或机制。在某些实现中,可向电子邮件、即时消息通信、因特网浏览、以及在其中来自感染病毒的软件的安全性是有益的其它应用程序发送状态(例如,反映“文件具有代码”状态、“文件没有代码”状态或“未知文件是否具有代码”状态)。
示例性环境图2-4说明了示例性环境200-400,在这些环境中,可运行检测无代码文件的系统。特别的是,图2-4阐明了在其中电子邮件客户端应用程序202、即时消息通信应用程序302或因特网浏览程序402分别被配置成接收可能包含一个或多个附加文件204的环境200-400。注意,应用程序202、302、402是能够被配置成接收来自代码检测模块206的信息的各种各样硬件或软件设备的代表。其它典型设备包括防火墙(硬件和/或软件)、主机入侵检测器(在服务器、客户机、工作站等中使用)、主机脆弱性鉴定器(在服务器、客户机、工作站等中使用)、软件备份管理程序、CD和/或DVD烧制程序、P2P(对等)文件共享程序、或各种其它应用程序。代码检测模块206被配置成分析附加文件204以确定是否存在可执行代码。根据分析,代码检测模块206的输出向应用程序202、302、402提供三种可能的输出之一“文件具有代码”状态208、“文件没有代码”状态210、或“未知(文件是否具有代码)”状态212。在第一种情况下,“文件具有代码”状态208反映了输入文件的文件格式的极有可能的识别以及输入文件中可执行代码的发现。由于在文件中具有可执行代码的固有危险,应用程序202、302、402等能利用该状态的知识用与这类危险一致的方式来执行。在第二种情况下,“文件没有代码”状态210反映了输入文件的文件格式的可靠识别以及输入文件中没有可执行代码的发现。若应用程序202、302、402确保文件204是无代码的,则用户不会受到请求用户决定文件是否可信的对话框或其它方面用户界面的干扰。第三种情况下,“未知(文件是否具有可执行代码)”状态212反映了识别输入文件的文件格式失败,以及输入文件中是否存在可执行代码的结果不确定性。
示例性系统图5表示了图2-4中所示的代码检测模块206的示例性细节。示例性代码检测模块206可诸如通过ASIC(专用集成电路)以软件、固件或硬件来配置。可扩展分析程序模块502可被表示为被配置成包含多个组件分析程序模块506(1)-506(N)的表格。可扩展分析程序模块可以诸如通过图6中所示的示例性方法600来扩展。可扩展性是合乎需要的,因为经常有新文件格式变为已知,或对已知文件格式的兴趣增加的情况。因此,可扩展分析程序模块502可被扩展以包含另外的组件分析程序506(N+1),其被配置成识别另外的文件格式,并被配置成在新的文件格式中校验可执行代码。图6表示了可通过其来扩展代码检测模块206的可扩展分析程序模块502的示例性过程600。在块602处,标识文件格式以添加到可扩展分析程序模块502。例如,可期望可扩展分析程序模块502可被扩展以用于jpeg文件。在块604处,新的组件分析程序根据新的文件格式(例如,jpeg)被配置,其中,新的组件分析程序被配置成识别新格式的文件,并识别此类文件中的可执行代码。在块606处,可扩展分析程序模块502的功能通过向可扩展分析程序502内的可扩展表格添加新的组件分析程序506(N+1)而被扩展。
再次参看图5,可扩展分析程序模块502被配置成包含多个组件分析程序506(1)-506(N),其中,为了阐述简单,仅示出了两个组件分析程序模块。组件分析程序506(1)-506(N)中的每一个都被配置成识别特定文件格式的文件,且当特定文件格式被识别时,就被另外配置成识别文件中的可执行代码。例如,组件分析程序506(1)可被配置成识别一种Word文档的文件格式(例如,通过其组织数据用于存储的格式)。一旦文件格式被识别出,组件分析程序506(1)还可被配置成识别具有Word文件格式的输入文件中的可执行代码。这种情况下,文件格式的识别辅助可执行代码的识别。
每一组件分析程序模块506包含一个格式调查模块508,其被配置成分析输入文件204且确定输入文件是否与配置分析程序来标识的文件格式相匹配。组件分析程序模块还包括一代码段检测器510,其被配置成检测输入文件内,尤其是被发现是与组件分析程序模块关联的文件格式的文件内的可执行代码。
每一组件分析程序模块506也被配置成包括三个输出,他们表示输入文件204具有代码512、输入文件没有代码514、以及未知输入文件是否具有代码516。在图5的实现中,当格式调查模块508无法检测与输入文件204相关联的格式时,组件分析程序返回一“未知”状态516。当文件格式被识别出时,代码检测器510的输出就被用于确定是输入文件具有代码512(即,代码检测器510发现代码)还是输入文件没有代码514(即,代码检测器510没有发现代码)输出是适当的。
可扩展分析程序模块502还包括一控制器或分派过程504,其通常被配置成为所有可用组件分析程序506(1)-506(N)提供输入文件;处理所有组件分析程序的输出;以及向适当的应用程序发送整体响应(即,有代码/无代码/未知)。控制器504被配置成包含复合代码段检测器518,该复合代码段检测器被配置成接收来自每一个组件分析程序506(1)-506(N)的输入,并确定组件分析程序中的任何一个是否发现了代码。若组件分析程序506(1)-506(N)中的一个发现代码,则代码检测模块206的输出将是“文件具有代码”状态208。复合格式调查模块520被配置成确定组件分析程序506(1)-506(N)中的任意一个是否识别出输入文件204的格式。若组件分析程序506(1)-506(N)的没有一个发现可执行代码,则这种调查通常是恰当的。若组件分析程序506(1)-506(N)中的一个检测到了文件格式,则代码检测模块206的输出将是“文件没有代码”状态210。若文件格式未被标识出,则代码检测模块206的“未知(文件是否具有代码)”输出将是“未知”状态212。
示例性方法现在主要参考图7的流程图来描述实现无代码文件检测的各方面的示例性方法700。该方法一般适用于上文相对于图2-4,尤其是图5所讨论的示例性组件的运行。所述方法的元件可通过适当的装置实现,包括,例如,ASIC上的硬件逻辑块,或通过执行处理器可读介质上定义的处理器可读指令。
如此处所使用的“处理器可读介质”可以是可包含由处理器使用或执行的存储、通信、传播、或传输指令的任何装置。处理器可读介质可以是,但不限于,电、磁、光学、电磁、红外线、或半导体系统、装置、设备、或传播介质。处理器可读介质的更具体的示例包括,具有一根或多根电线的电气连接、便携式计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器(EROM或闪存)、光纤、可重写光盘(CD-RW)、以及便携式光盘只读存储器(CDROM)等等。
图7示出了检测文件中的可执行代码的示例性方法700。在块702处,分析输入文件以使能够识别用于配置输入文件的文件格式。分析程序可以用复合方式配置,诸如图5的复合或可扩展分析程序502,其中,复合分析程序包括多个组件分析程序506(1)-506(N),其每一个都被配置成识别特定文件格式。
在块704处,确定文件格式是否已被识别出。若文件格式已被识别出(在块704的“是”分支之后至块706),则在块706处,根据被识别出的文件格式来校验输入文件的内容,以找出输入文件内的可执行代码。注意,若分析程序502是可扩展的和/或复合的,则文件格式将与配置组件分析程序506(1)-506(N)之一来识别的文件格式相匹配。因此,当确定文件格式是否被识别出时,控制器504(图5)将评估来自每一个组件分析程序506(1)-506(N)的信息。
在块708处,确定是否找到可执行代码。若找到可执行代码(在块708的“是”分支之后至块712),则在块712处,发送“文件具有代码”状态,即当输入文件的格式被识别出且发现可执行代码时,发送“文件具有代码”状态。该识别可以由组件分析程序506(1)-506(N)中的任意一个作出。正如通过回顾图5所示的示例性代码检测模块206的结构所见的,在其中文件格式被识别出,组件分析程序能够检测可执行代码(如果有的话)。此类代码与文件格式不一致,或根据文件格式的约定被定位,因此很容易被发现。因而,若组件分析程序之一识别出可执行代码,则控制器通过提供“文件具有代码”信号或适当的消息来响应。
在块708处,若作出表明没有可执行代码被发现(在块708的“否”分支之后至块710)的确定,则在块710处,当输入文件的格式被识别出且没有可执行代码被发现时,发送“文件没有代码”状态。特别参看图5,可以看到,若没有组件分析程序识别出输入文件内的可执行代码,且由组件分析程序中的至少一个识别出了文件格式,则注册“文件没有代码”状态。注意,输入文件被发现不具有可执行代码的结果通常是有利的,因为没有可执行代码就确保了没有恶意可执行代码,诸如病毒。
回到块704,若文件格式没有被识别出(在块704的“否”分支之后至块714),则在块714处,当文件格式未知时发送“未知(输入文件是否具有可执行代码)”状态212。正如通过参看图5的块212可见的,若每一组件分析程序不能确定文件格式,则控制器504被配置成向适当的接收器,如电子邮件应用程序202(图2)、即时消息通信应用程序302(图3)、因特网浏览程序402(图4)等发布“未知”状态。
在块716处,在某些应用程序内,组件分析程序506(1)-506(N)即使在组件分析程序之一识别出了输入文件格式之后也能继续分析输入文件204。这就提供了更多的安全性,因为,在极少数情况下,一个以上组件分析程序会作出对文件格式的有效识别(即,文件在极少情况下会与两个不同的文件格式相一致)。因而,在第二个组件分析程序识别出输入文件的格式的极少数情况下,若组件分析程序中的任一个识别出可执行代码,则控制器504可配置成报告“输入文件具有代码”。可选地,复合分析程序可被配置成当组件分析程序之一识别出输入文件格式时停止分析。这往往减少了在分析运作上所花费的时间。
如上所见,“文件没有代码”、“文件具有代码”或“未知”状态可以被发送至电子邮件、即时消息通信、因特网浏览以及其中来自感染病毒的软件的安全性是有利的其它应用程序。图2-4说明了代码检测模块206的示例性使用。尽管如此,代码检测模块的其它使用也是可行的,诸如在期望仅存储无可执行代码的文件的文件存储应用程序中,等等。
尽管一个或多个方法通过流程图和与流程图的方框相关联的文本来揭示,然而应该理解,不必按照其表现出来的顺序来执行框图,替换的顺序会导致类似的优点。此外,方法不是唯一的,且能够单独实现或彼此结合实现。
示例性计算机图8是可在其中实现图1-7的示例性代码检测模块和运行方法的一个示例性计算机系统。尽管示出了一个具体配置,但是代码检测模块可以在其它计算配置中实现。计算环境800包括计算机802形式的通用计算系统。计算机802的组件可包括,但不限于,一个或多个处理器或处理单元804、系统存储器806、以及把包括处理器804在内的各种系统组件耦合至系统存储器806的系统总线808。
系统总线808代表几种类型总线结构中任意一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构中任一种的处理器或局部总线。系统总线808的一个示例可以是外设部件互连(PCI)总线,也称为Mezzanine总线。
计算机802通常包括各种计算机可读介质。此类介质可以是计算机802能够访问任何可用介质,且包括易失性以及非易失性介质,可移动以及不可移动介质。系统存储器806包括诸如随机存取存储器(RAM)的易失性存储器,和/或诸如只读存储器(ROM)的非易失性存储器形式的计算机可读介质。基本输入/输出系统(BIOS)814,包括诸如在启动期间有助于在计算机802内元件之间传递信息的基本例程,被存储在ROM 812中。RAM 810通常包括处理单元804立即可访问和/或当前正在操作的数据和/或程序模块。
计算机802也可包括其它可移动/不可移动的、易失性/非易失性计算机存储介质。作为示例,图8示出了用于从不可移动的、非易失性的磁性介质(未示出)中读取以及向其写入的硬盘驱动器816、用于从可移动的、非易失性的磁盘820(例如,软盘)中读取以及向其写入的磁盘驱动器818、和用于从诸如CD-ROM、DVD-ROM、或其它光学介质等可移动的、非易失性的光盘824中读取和/或向其写入的光盘驱动器822。硬盘驱动器816、磁盘驱动器818、以及光盘驱动器822的每一个都通过一个或多个数据介质接口823连接至系统总线808。可选地,硬盘驱动器816、磁盘驱动器818、以及光盘驱动器822能够通过SCSI接口(未示出)连接到系统总线808。
磁盘驱动器及其关联的计算机可读介质为计算机802提供计算机可读指令、数据结构、程序模块、以及其它数据的非易失性存储。尽管示例示出了硬盘驱动器816、可移动磁盘驱动器820、以及可移动光盘驱动器824,但是应该意识到,能存储计算机可以访问的数据的其它类型的计算机可读介质,诸如磁盒或其它磁性存储设备、闪存卡、CD-ROM、数字多功能盘(DVD)或其它光学存储器、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)等,也可用以实现示例性计算系统和环境。
可以在硬盘816、磁盘820、光盘824、ROM 812、和/或RAM 810上存储任何数量的程序模块,作为示例,包括操作系统826、一个或多个应用程序828、其它程序模块830,以及程序数据832。注意,代码检测模块206可以被配置为应用程序828、程序模块830或位于另一便利位置的模块。此外,输入文件204可包含在数据832内,或包含在另一便利的位置内。此类操作系统826、一个或多个应用程序828、其它程序模块830、以及程序数据832中的每一个(或其某一组合)可包含用于用户网络访问信息的高速缓冲方案的一个实施例。
计算机802包括各种被标识为通信介质的计算机/处理器可读介质。通信介质通常在诸如载波或其它传输机制等已调制数据信号中包含计算机可读指令、数据结构、程序模块、或其它数据,并包括任意信息传递介质。术语“已调制数据信号”指其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例,而非局限,通信介质包括有线介质,诸如有线网络或直接线路连接、以及无线介质,诸如声学、RF、红外、和其它无线介质。上述的任意组合也包含在计算机可读介质的范畴之内。
用户可以通过输入设备,诸如键盘834和定位设备836(例如,“鼠标”)向计算机系统802输入命令和信息。其它输入设备838(未具体示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、串行端口、扫描仪和/或其类似物。此类和其它输入设备通过耦合至系统总线808的输入/输出接口840连接到处理单元804,但可通过其它接口和总线结构,诸如并行端口、游戏端口、或通用串行总线(USB)连接。
监视器842或其它类型的显示设备也能通过接口,诸如视频适配器844,连接至系统总线808。除监视器842之外,其它输出外围设备包括可通过输入/输出接口840连接至计算机802的组件,扬声器(未示出)和打印机846。
计算机802可在利用到诸如远程计算设备848等一个或多个远程计算机的逻辑连接的网络化环境中运行。作为示例,远程计算设备848可以是个人计算机、便携式计算机、服务器、路由器、网络计算机、对等设备或其它公共网络节点等等。远程计算设备848被示出为能包含许多或所有在此描述的涉及计算机系统802的元件和特征的便携式计算机。
计算机802和远程计算机848之间的逻辑连接被描述为局域网(LAN)850和通用广域网(WAN)852。此类网络环境常见于办公室、企业范围的计算机网络、内联网以及因特网。当在LAN网络环境中实现时,计算机802通过网络接口或适配器854连接至本地网络850。当在WAN网络环境中实现时,计算机802通常包括调制解调器856或用于通过广域网852建立通信的其它装置。调制解调器856,可以对计算机802是内部或外部的,可通过输入/输出接口840或其它适当的机制连接至系统总线808。应该意识到,示出的网络连接是示例性的,且可以使用在计算机802和848之间建立通信链路的其它装置。
在网络环境中,诸如用计算环境800所示出的,涉及计算机802所描述的程序模块或其部分可以存储在远程记忆存储器设备中。作为示例,远程应用程序858驻留在远程计算机848的存储设备上。为了举例说明,应用程序和其它可执行程序组件,诸如操作系统,在此被示出为离散的方框,尽管可以认识到,此类程序和组件在不同的时刻驻留在计算机系统802的不同存储组件中,且由计算机的数据处理器执行。
总结尽管本发明是以结构特征和/或方法行动专用的语言描述的,但是应该理解,在所附权利要求书中定义的本发明不必局限于所述的特定特征或行动。相反,特定特性和行动作为实现所述发明的示例性形式而被揭示。
权利要求
1.一种包括处理器可执行指令的处理器可读介质,其特征在于,所述处理器可执行指令用于分析一输入文件以识别所述输入文件的文件格式;若所识别出的文件格式可用,根据所识别出的文件格式校验所述输入文件的内容,以确定所述输入文件中是否存在可执行代码;以及响应于所述校验的结果发送状态。
2.如权利要求1所述的处理器可读介质,其特征在于,发送状态包括更多指令,用于当所述输入文件的格式已被识别出,且未发现可执行代码时,发送“文件没有代码”状态;以及当发现可执行代码时,发送“文件具有代码”状态。
3.如权利要求1所述的处理器可读介质,其特征在于,它还包括用于在所述输入文件的格式未被识别出时发送“未知”状态的其它指令。
4.如权利要求1所述的处理器可读介质,其特征在于,分析所述输入文件还包括用于用包含在一可扩展分析程序中的多个组件分析程序来反复分析所述输入文件的指令。
5.如权利要求4所述的处理器可读介质,其特征在于,它还包括用于当包含在所述可扩展分析程序中的所述多个组件分析程序中的每一个都未能识别出所述输入文件的部分时发送“未知”状态的其它指令。
6.如权利要求1所述的处理器可读介质,其特征在于,发送所述状态还包括用于向电子邮件程序发送所述状态的指令。
7.如权利要求1所述的处理器可读介质,其特征在于,发送所述状态还包括用于向即时消息通信程序发送所述状态的指令。
8.如权利要求1所述的处理器可读介质,其特征在于,发送所述状态还包括用于向因特网浏览程序发送所述状态的指令。
9.如权利要求1所述的处理器可读介质,其特征在于,校验所述输入文件的内容还包括用于操作一可扩展分析程序的组件分析程序部分以识别一特定数据文件格式的指令。
10.如权利要求1所述的处理器可读介质,其特征在于,分析所述输入文件包括用于操作一被配置成识别多个文件格式的分析程序的指令。
11.如权利要求1所述的处理器可读介质,其特征在于,校验所述输入文件的内容还包括用于一包含多个组件分析程序的复合分析程序的操作指令,其中,所述多个组件分析程序中的每一个都被配置成用于一特定文件格式的识别。
12.如权利要求11所述的处理器可读介质,其特征在于,它还包括用于在至少一个组件分析程序识别出所述输入文件的文件格式后用所有其余组件分析程序继续分析所述输入文件的其他指令。
13.如权利要求11所述的处理器可读介质,其特征在于,它还包括用于分析所述输入文件直至一组件分析程序识别出所述输入文件的文件格式的其它指令。
14.一种检测无代码文件的方法,其特征在于,它包括用一被配置成包含多个组件分析程序的复合分析程序分析一输入文件,其中,每一个组件分析程序都被配置成识别一特定数据文件格式;若所识别出的特定文件格式可用,根据所识别的特定文件格式分析所述输入文件的内容,以确定所述输入文件是否包含可执行代码;以及响应于所述分析的结果发送状态。
15.如权利要求14所述的方法,其特征在于,它还包括当所述输入文件的文件格式被识别出,且未发现可执行代码时,发送“文件没有代码”状态;以及当发现可执行代码时,发送“文件具有代码”状态。
16.如权利要求14所述的方法,其特征在于,它还包括当所述输入文件的格式未被识别出时,发送“未知”状态。
17.如权利要求14所述的方法,其特征在于,它还包括向电子邮件程序发送所述状态。
18.如权利要求14所述的方法,其特征在于,它还包括向瞬时通信程序发送所述状态。
19.如权利要求14所述的方法,其特征在于,它还包括向因特网浏览程序发送所述状态。
20.如权利要求14所述的方法,其特征在于,分析所述输入文件包括用所述复合分析程序内的所述多个组件分析程序中的每一个来分析所述输入文件。
21.一种检测无代码文件的装置,其特征在于,它包括一复合分析程序,它配置成反复分析一输入文件复合分析程序,其中,所述复合分析程序中的每一组件分析程序都被配置成识别选自一组数据文件格式的一特定文件格式中的可执行代码;以及一控制器,它检查所述组件分析程序的每一个的成功,以识别配置它来识别的特定文件格式,并发现所述输入文件中的可执行代码,其中,所述控制器被配置成响应于所述校验的结果发送状态。
22.如权利要求21所述的装置,其特征在于,它还被配置成使得若所述组件分析程序中的没有一个识别出所述输入文件的文件格式,则发送“未知”状态。
23.如权利要求21所述的装置,其特征在于,所述用于检测无代码文件的装置还被配置成向电子邮件程序发送所述状态。
24.如权利要求21所述的装置,其特征在于,所述用于检测无代码文件的装置还被配置成向瞬时通信程序发送所述状态。
25.如权利要求21所述的装置,其特征在于,所述用于检测无代码文件的装置还被配置成向因特网浏览程序发送所述状态。
26.如权利要求21所述的装置,其特征在于,它还被配置成发送所述状态至防火墙;主机入侵检测器;或主机脆弱性鉴定器。
27.如权利要求21所述的装置,其特征在于,它还被配置成向选自以下程序组的程序发送所述状态备份程序;CD/DVD烧制程序;以及P2P文件共享程序。
28.如权利要求21所述的装置,其特征在于,所述组件分析程序的每一个都被配置成识别多个数据文件格式中的一个。
29.如权利要求21所述的装置,其特征在于,所述复合分析程序被配置成允许通过向所述复合分析程序添加一新组件分析程序进行扩展,其中,所述新组件分析程序识别一其它文件格式,并识别所述其它文件格式中的可执行代码。
全文摘要
描述了无代码文件的检测。根据一个实现,分析一输入文件以识别文件格式。根据所识别出的文件格式(若可用)来校验输入文件的内容,以试图确定输入文件中是否存在可执行代码。然后响应于校验发送状态。
文档编号G06F9/445GK1648812SQ20041006156
公开日2005年8月3日 申请日期2004年12月28日 优先权日2004年1月30日
发明者M·E·西恩菲尔德, M·G·谢尔顿, M·科斯蒂, Z·B·欧丁斯-卢卡斯 申请人:微软公司