CN101098331B - 多阶数据处理系统与方法 - Google Patents
多阶数据处理系统与方法 Download PDFInfo
- Publication number
- CN101098331B CN101098331B CN2007101096675A CN200710109667A CN101098331B CN 101098331 B CN101098331 B CN 101098331B CN 2007101096675 A CN2007101096675 A CN 2007101096675A CN 200710109667 A CN200710109667 A CN 200710109667A CN 101098331 B CN101098331 B CN 101098331B
- Authority
- CN
- China
- Prior art keywords
- data
- kenel
- resources
- document
- multistage
- 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/563—Static detection by source code analysis
-
- 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/564—Static detection by virus signature recognition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/212—Monitoring or handling of messages using filtering or selective blocking
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供于系统安全机制中用来处理多阶数据的方法与系统。于一实施例中,多个资源的一第一集合系被选取以反复地对一数据单元的负载数据的多阶格式转换进行多阶反转。多个资源的一第二集合亦独立地被选取以反复地对一数据单元的负载数据的多阶格式转换进行多阶反转。完成上述反转操作之后,一第一反转数据单元与一第二反转数据单元的负载数据,其分别地对应于一第一文档的该数据单元与一第二文档的该数据单元,被检查是否有可疑的数据型样。该第一、第二反转数据单元的检查是于该第一文档或该第二文档的数据单元集结合之前进行。
Description
技术领域
本发明涉及系统安全机制,特别是涉及可应用于此系统安全机制中的一多阶数据处理系统。
背景技术
于此除非特别指出,否则,于此部份所述的方法并不作为本申请的权利要求的现有技术,且并非于此部份中描述就应被认定为现有技术。
一些大多数恶意软件(malicious software),亦称之为”malware”,可严重损害一计算机装置或甚至一整个公司网络,该恶意软件是经由电子邮件(email)与电子邮件附件(email attachment)散布于全世界。当个人与商业组织逐渐地依赖电子邮件来沟通时,此恶意程序引发破坏性结果的可能性亦会有所增加,再者,让此状况更加复杂的原因为那些电子邮件附件是经过压缩以节省传输频宽,而于此压缩附件中找寻恶意软件通常需先解压缩全部的压缩附件,然后再对未压缩的附件进行扫瞄。
现行的防毒方法所利用的机制是基于恶意软件的延伸文件名(extension)以滤除一附件文档,因此,假若该附件文档有一已知的压缩文件名(例如.zip),然后自一机制便会封锁该附件文档以避免其被使用者所读取,然而,由于此一方法不会检查附件文档的内容,因此合法且不含恶意软件的附件文档也许会被错误地滤除。
防毒方法所利用的另一机制是建议或甚至要求采用此方法的使用者于允许存取该附件文档之前,需先解压缩并扫描该压缩附件文档中的恶意软件,而在该使用者完成确认之后,例如手动选择以开始该解压缩与扫描处理,则附件文档的全部内容暂时地被储存于该使用者的计算机装置或者邮件服务器上以便后续处理之用。不像上述所讨论的第一种机制,此一机制会检查该附件文档的内容,然而,检查的操作仅于该全部文档已被储存并解压缩之后才会执行。依据压缩特性,一压缩文档于解压缩之后会包含大量信息,而由于全部尚未压缩的文档内容被储存并检查,所以,此一方法会需要大量运算处理与内存资源。当同时处理不同电子邮件的多个附件时,此一机制的资源需求便造成此机制的实施不切实际与过于昂贵。
如前述的说明,所需要的为一种于电子邮件传输中有效率地与更加完全地检查压缩附件文档的内容的方法。
发明内容
本发明提供于系统安全机制中处理多阶数据的方法与系统。于一实施例中,多个资源的一第一集合被选取以反复地对一数据单元的负载数据的格式转换进行多阶反转,此数据单元为一第一文档的部份,其该第一文档关联于一第一传送连结:多个资源的一第二集合亦被独立地选取以反复地对一数据单元的负载数据的格式转换进行多阶反转,此数据单元为一第二文档的部份,其该第二文档关联于一第二传送连结。当上述反转操作完成之后,一第一反转数据单元与一第二反转数据单元的负载数据,其分别地对应于该第一文档的该数据单元与该第二文档的该数据单元,系被检查是否有可疑的数据型样。该第一反转数据单元与该第二反转数据单元的检查系于该第一文档或该第二文档的数据单元集结之前执行。
附图说明
图1为依据本发明一实施例的多阶数据处理系统的示意图。
图2A为一协议剖析器与一多阶数据处理系统互动的流程图。
图2B为本发明一实施例的多阶数据处理系统中一数据单元的示意图。
图3为包含一定数量的单阶数据处理例程的一多阶数据处理系统的一实施例的示意图。
图4A为一处理例程选择器与一多阶数据处理例程处理一多阶数据处理系统的一第一个数据单元的流程图。
图4B为一处理例程选择器与一多阶数据处理例程处理后续数据单元的流程图。
图5为被编码、被压缩与被封存的文档的示意图。
图6为本发明一实施例的将多阶数据处理系统实施其上的网络系统的方块图。
图7为本发明一实施例的将多阶数据处理系统实施其上的服务器系统的方块图。
附图符号说明
具体实施方式
本发明应用于系统安全机制中以处理多阶数据的方法与系统。于下述的说明中,为了清楚地阐述本发明的技术,许多特定的细节描述被提出以使本发明的技术特征能清楚地被了解,然而,对于本领域的技术人员而言,本发明亦可在没有这些特定的细节详述的下而被加以实施。
某些计算机与程序理论及网络通讯协议为各技术领域中被大众所周知,故不在此详细赞述。然而,于本说明书中,当至少一部分的数据处理操作系于同一时间被执行时,则任何两个数据处理操作称之为「平行处理」;每一「数据单元」通常意指被储存于一特定内存位置的数据或储存于一目标地址的分组(packet);一数据单元的格式转换的反转意指当作一单一「阶」数据处理,所以,假若一数据单元已经被加密并亦被压缩,则一二阶数据处理(亦即解压缩与译码)需要反转二个格式转换,「基于数据单元(data-unit-based)」的处理通常意指于一单一数据单元没有任何事先的组合与结合多数据单元的下所执行的操作。
1.0系统概观
一多阶数据处理系统(multi-level data processing system,MDPS)可分配资源以平行执行多个基于数据单元的处理,此类处理的一些型态包含有(但不限定)于一数据单元的基础上,平行地对多个传输控制协议(Transmission Control Protocol,TCP)连结所传输的电子邮件附件文档(email attachment file)进行译码、解压缩、解封存(unarchiving)与任何格式转换的反转。对每一电子邮件附件文档而言,假若该文档的格式已被转换过至少一次,则上述的基于数据单元处理的多阶处理能力便会被调用。
图1为依据本发明一实施例的一多阶数据处理系统(例如多阶数据处理系统100)的示意图。具体来说,多阶数据处理系统100包含有至少一处理例程选择器(handler selector)102、一资源管理器(resource manager)104、一状态表(state table)106、多个多阶数据处理例程(multi-leveldata handler,MDH)(例如多阶数据处理例程108与110)、一输出队列(output queue)120及数据处理区块的各式各样型态的实施范例(例如反转操作型态A数据处理区块112与114及反转操作型态B数据处理区块116与118)。这些反转操作型态的一些实施范例包含有(但不限定)译码、解压缩与解封存一电子邮件附件文档,此外,多阶数据处理系统100支持一般现有的反转处理方法与具有专利的反转处理方法两者,对一般大众所知的反转处理方法而言,多阶数据处理系统100可译码的格式包含(但不限定)Base64编码、QP编码(quoted-printable)、UUENCODE编码;多阶数据处理系统100所支持的压缩格式包含(但不限定)ZIP压缩格式、GNU压缩格式(GZIP)、RAR压缩格式;及多阶数据处理系统100所支持的封存格式包含(但不限定)TAR格式与CPIO格式。
依据本发明的一实施例,多阶数据处理系统100亦耦接于一协议剖析器(protocol parser)122与一内容检查引擎(contentins pection engine)126,其中协议剖析器122产生并自多个传送服务用户(例如:如图1所示的128与130)将多个多阶数据处理系统数据单元(MDPS-data-units)导引至处理例程选择器102,其后的讨论将详述协议剖析器122所执行的流程以及另说明多阶数据处理系统数据单元的一种格式。传送服务用户的一些范例包含有(但不限定)一简单信件传输协议(Simple Mail Transfer Protocol,SMTP)客户端、一文档传输协议(File Transfer Protocol,FTP)客户端、一超文件传输协议(Hyper Text Transfer Protocol,HTTP)客户端与一收信通讯协议第3版(Post Office Protocol 3,POP3)客户端。于多阶数据处理系统100有机会处理该多个多阶数据处理系统数据单元之后,内容检查引擎126便检验多个已处理结果来搜寻可疑的数据型样,内容检查引擎126通常支持基于数据单元(data-unit-based)的检查机制,其于2004年6月14日已披露并主张于美国专利申请号No.10/868,665。
处理例程选择器102主要负责与资源管理器104互动以追踪多阶数据处理系统100的资源与指定某些多阶数据处理例程(MDH)(例如:多阶数据处理例程108与110)以处理经由协议剖析器122自该传送服务用户接收进来的数据,于一实施例中,处理例程选择器102可为每一传输控制协议(TCP)指定一个或多个多阶数据处理例程,而每一多阶数据处理例程的指定会产生一处理程序,此所产生的处理程序系意指如一「多阶数据处理例程处理」,并于本说明书可替换地称的为多阶数据处理例程,每一多阶数据处理例程独立操作于另一个多阶数据处理例程之外,并可存取一资源集合,例如:一个或多个数据处理区块与储存装置,当每一多阶数据处理例程处理进来的数据时,该多阶数据处理例程于状态表106中记录所处理的某一状态信息并回传该信息至处理例程选择器102,于该多阶数据处理例程完成进来数据的处理之后,则将结果存入输出队列120中,其后的说明书部分将提供多阶数据处理系统100中各种组件间的相互作用的详细说明。
多阶数据处理系统100支持一有限数目的多阶数据处理例程。对每一个所支持的多阶数据处理例程而言,资源管理器104于一有限大小的状态表106中配置至少一表格项目(table entry),于一实施例中,该表格项目可包含辨识信息、状况信息(status information)、状态信息(stateinformation)与资源信息,具体来说,该辨识信息可为一多阶数据处理系统的连结编号,其唯一地对应至一特定传输控制协议(TCP)连结并于对应至任何指定于此传输控制协议(TCP)连结中处理数据的多阶数据处理例程;该状况信息指示有效的所指定的多阶数据处理例程;该状态信息提供所指定的多阶数据处理例程已进行的数据处理的一快照(snapshot):最后,该资源信息追踪所指定的多阶数据处理例程所使用的资源,例如多个先进先出缓冲器(FIFO buffer)与上述的多个数据处理区块。其后的段落另详述状态表106的管理与资源的配置及卸载。
1.1协定剖析器
图2A为协议剖析器122所执行以便与一多阶数据处理系统100进行互动的流程200的示意图。具体来说,于图1所示的传送服务用户128与130建立传输控制协议连结与执行根据所支持的协议的必要的交握协议之后,传送服务用户便将传输控制协议连结的数据阶段所接收的多个数据单元传送于至协议剖析器122,每一传输控制连结是由至少一来源因特网通讯协议(Internet Protocol,IP)地址、一来源端口(port)、一目的因特网通讯协议地址与一目的端口的组合来加以识别;协议剖析器122纪录所接收的多个数据单元所属的传输控制协议(TCP)连结。于步骤202中,协议剖析器122依据负载数据域位(payload field)的信息来决定这些数据单元的数据型态。
于一实施例中,假定传送服务用户之一为一简单信件传输协议客户端(SMTP),因此,该简单信件传输协议客户端所接收的多个数据单元为简单信件传输协议分组的格式;另假定此简单信件传输协议客户端亦支持多用途网络邮件延伸格式(Multipurpose Internet Mail Extension,MIME),并接收对应传输控制协议连结(TCP port 25 connection)的多个简单信件传输协议分组且其一并内含一电子邮件与一附件文档。为了说明清晰,除非特别指明,不然的化话,这些简单信件传输协议分组涵盖具有电子邮件、具有电子邮件与附件文档或具有附件文档的多个分组,于此实施例中,这些简单信件传输协议分组的第一个分组意指含有电子邮件与该附件文档的一开始部分的分组,而后续的简单信件传输协议分组意指含有附件文档的剩余部分的多个分组。依据本发明一实施例,协议剖析器122针对接收到的每一简单信件传输协议分组产生一多阶数据处理系统数据单元(MDPS-data-unit),于大多数的实施范例中,后续的多阶数据处理系统数据单元有相同的负载数据,如同后续的多个简单信件传输协议分组。
于该传输控制协议连结(TCP port 25 connection)已被建立与必要的交握协议是根据该简单信件传输协议完成之后,该简单信件传输协议客户端开始传送上述的多个简单信件传输协议分组至协议剖析器122,于此范例中,协议剖析器122会检验第一个简单信件传输协议分组的负载数据以寻找用来指示该附件文档的开始位置的边界标记(boundary marker),于此边界标记上,协议剖析器122会撷取某些信息,例如:此附件文档的编码种类、该附件文档的是否存在与该附件文档的文件名称。基于所撷取的信息,协议剖析器122便可决定出该附件文档的第一部份的数据型态,所以,假若编码型态为Base64,则协定剖析器122便于于步骤202中指出此第一部份的数据型态为Base64编码。
当至少有传输控制协议连结(TCP port 25 connection)与表示数据型态的信息,于步骤204中,协议剖析器122便请求图1所示的多阶数据处理系统100来对该附件文档的第一部份进行译码,具体来说,于步骤204中,协议剖析器122的一实施例藉由请求一多阶数据处理系统的连结识别码(session ID)来开启一多阶数据处理系统的处理程序,其于多阶数据处理系统100中是对应至处理至少base64译码的一多阶数据处理例程。图1所示的多阶数据处理系统100中的资源管理器104于上述的状态表106中维护所有支持多阶数据处理系统的处理程序的某些信息,于步骤206中,假若与资源管理器104一起运作的多阶数据处理系统100的处理例程选择器102可保留(reserve)一多阶数据处理系统的连结识别码与告知协议剖析器122一多阶数据处理系统连结识别码可供传输控制协议连结(TCP port 25connection)所用,则该多阶数据处理系统的处理程序成功地被建立。于步骤210中,协议剖析器122继续进行产生与传送具有该多阶数据处理系统连结识别码、所建立的base64编码数据型态、一数据识别码与该第一个简单信件传输协议分组中的负载数据的第一个多阶数据处理系统数据单元至多阶数据处理系统100。于一实施例中,每一数据识别码清楚地映像至一多阶数据处理系统数据单元,所以协议剖析器122便可追踪该多阶数据处理系统数据单元且亦可配置或卸载关于该多阶数据处理系统数据单元的资源,换句话说,假若该多阶数据处理系统连结识别码为无效,于步骤208中,于试图再次开启该多阶数据处理系统的连结之前,协议剖析器122便向该简单信件传输协议客户端告知资源无法使用。在另一实作方式中,于向该简单信件传输协议客户端告知资源无法使用之前,协议剖析器122亦可请求资源重新配置,包含有(但不限定)释放并让最近使用过的资源可被使用。
图2B为依据本发明一实施例的一多阶数据处理系统数据单元(例如:多阶数据处理系统数据单元250)的示意图。特别地,多阶数据处理系统数据单元250有两个主要字段,亦即标头字段252与负载字段254,其中标头字段252还包含至少三个子字段256、258与260,每一子字段分别包含上述的数据识别码、数据型态与多阶数据处理系统连结识别码;另外,负载字段254包含一单一简单信件传输协议分组的负载数据。
继续上述的范例,因为相同附件文档之后续部分属于相同传输控制协议连结并系可能地维持于Base64编码状态,对包含这些后续部分的每一简单信件传输协议(SMTP)分组而言,协议剖析器122产生具有相同的多阶数据处理系统连结识别码与相同数据型态的相对应的多阶数据处理系统数据单元来当作该附件文档的第一部份的多阶数据处理系统数据单元,另外,协议剖析器122检验每一简单信件传输协议(SMTP)分组是否有指出附件文档结尾的一边界标记,于步骤212中,假若该边界标记被找到且包含该附件文档剩余部分的最后简单信件传输协议(SMTP)分组亦被辨识出来,则于步骤214中,协议剖析器122便结束多阶数据处理系统的连结,换句话说,假若该边界标记没被找到,则协议剖析器122便于步骤210中持续产生与传送多个多阶数据处理系统数据单元至多阶数据处理系统100。
协议剖析器122可平行处理不同传输控制协议(TCP)连结,换句话说,多个流程200(如图2A所示与以上所述)可同时进行,此外,对于本领域的技术人员而言,明显可知多阶数据处理系统100可支持一应用程序接口(Application Programming Interface,API)以促进多阶数据处理系统100与多个模块(例如协议剖析器122)之间的连结及互动。举例来说,开启上述多阶数据处理系统的连接的步骤与结束上述多阶数据处理系统的连结的步骤可被协议剖析器122所产生的多个应用程序接口呼叫(API call)来加以实施。
需要注意的是,协议剖析器122于某些情况下或许不可能精确地决定一数据单元的数据型态,因此,于此一实施例中,图2B所示的数据型态子字段258便不包含数据型态信息,相反地,该子字段可包含信息以指示将数据型态辨识的工作移转至多阶数据处理系统100。
1.2多阶数据处理例程与资源管理
图3为包含一定数量的单阶数据处理例程的一多阶数据处理例程的一实施例的示意图。假定图1所示的多阶数据处理例程108处理n阶的反转操作,因此,图3所示的实施例中有n个单阶数据处理例程,例如:1阶数据处理例程300、2阶数据处理例程302与n阶数据处理例程304,每一单阶数据处理例程可存取至至少一先进先出(first-in-first-out,FIFO)缓冲器(例如先进先出缓冲器306、308与310)以及至少一数据处理区块(例如反转操作型态A数据处理区块112与114及反转操作型态B数据处理区块116与118);这些单阶数据处理例程的数据处理状态系被撷取并维持于状态表106中,并可被数据处理例程所读取。
为了进一步描述多阶数据处理例程108中多个多阶操作,图4A为处理例程选择器102与多阶数据处理例程108所执行的流程400的流程图,其中流程400用来于一多阶数据处理系统的连结建立之后处理第一个多阶数据处理系统数据单元。假定此多阶数据处理系统的连结对应至上述1.1节中的传输控制协议连结(TCP port 25 connection),其中一电子邮件与一附件文档系分布于多重简单信件传输协议分组之间,而此连结的多阶数据处理系统连结识别码为happy123;另假定此附件文档有hello.exe的文件名称及已经历多阶的格式反转(如图5所示),尤其,hello.exe已被封存(archived)、压缩与编码。
于图1与图2B中,当处理例程选择器102自协议剖析器122接收包含hello.exe的第一部份的第一个多阶数据处理系统数据单元,则处理例程选择器102便自该多阶数据处理系统数据单元的标头子字段中读取出该多阶数据处理系统连结识别码与数据型态信息,其中该数据型态信息必须至少指示出hello.exe文件已使用base64编码,于步骤402中,处理例程选择器102提供该读取出的多阶数据处理系统连结识别码予资源管理器104以自状态表106中找出对应的表格项目;于步骤404中,处理例程选择器102产生多阶数据处理例程108的处理程序与初始化一变量n至一数值1,该变数n用来追踪多阶数据处理例程108已执行的反转操作的次数;于步骤406中,基于所取出的数据型态信息,多阶数据处理例程108便保留并调用适当的资源来对该第一个多阶数据处理系统数据单元的负载数据执行一第一阶反转操作,而于此操作期间,多阶数据处理例程108会于步骤402中所辨识的表格项目中储存该反转操作的各式各样的状态信息。此状态信息的一范例为该第一个多阶数据处理系统数据单元中负载数据的某些部份(并非随着该第一个多阶数据处理系统数据单元被处理)与后续多阶数据处理系统数据单元的负载数据的集合(其随着后续的多阶数据处理系统数据单元一起被处理),更具体来说,为了解压缩具有ZIP压缩格式的负载数据,于该表格项目中,多阶数据处理例程108维护该负载数据的对应某大小的至少一滑动窗(slidingwindow),例如:32千字节,换言之,为了解压缩目前多阶数据处理系统数据单元的负载数据,包含有由处理前一多阶数据处理系统数据单元所产生的数据的滑动窗便被考虑。依据图3所示的多阶数据处理例程108的实施例与继续参考图5所示的hello.exe文件的范例,多阶数据处理例程108亦调用1阶数据处理例程300于步骤404中,该被调用的1阶数据处理例程300暂存于至少一先进先出缓冲器中,例如:先进先出缓冲器306;以及调用至少一数据处理区块,例如:反转操作型态A数据处理区块112,以于步骤406对该多阶数据处理系统数据单元执行base64译码;此外,于反转操作型态A数据处理区块112完成全部第一个多阶数据处理系统数据单元的base64译码之前,多阶数据处理例程108于步骤408中在先进先出缓冲器308的解码结果中寻找出另一个不同的数据型态;因为多阶数据处理例程108知道被压缩的hello.exe(filel.zip)的文件名称,故多阶数据处理例程108便于译码结果中寻找代表一特定zip压缩方法的某些数据型样,举例来说,假如多阶数据处理例程108找到「PK」字符与其它使用于PKZIP压缩格式所知的多个参数值,则多阶数据处理例程108便确定另一个明显的数据型态(PKZIP所压缩的数据)存在于此阶中,并接着于步骤410中将变量n递增1。然后,于调用反转操作型态B数据处理区块116来于步骤414对该第一个多阶数据处理系统数据单元执行PKUNZIP操作之前,多阶数据处理例程108会调用2阶数据处理例程302,其是自状态表106中对应于步骤412中的多阶数据处理系统连结识别码为“happy123”的表格项目内读取信息。
接着上述相同的流程,假如多阶数据处理例程108持续辨识不同的数据型态与没有超过撷取出数据型态及为此数据型态使用适当资源的递归次数(iteration)的阈值时,则多阶数据处理例程108便继续针对不同阶的数据处理来调用单阶数据处理例程,因此,PKUNZIP操作对该第一个多阶数据处理系统数据单元的处理完成之前,于步骤414中,多阶数据处理例程108以1来递增变量值n并调用反转操作型态C数据处理区块(图1未显示)来解封存(un-archive)具有图5所示的file2.tar.gz的该第一个多阶数据处理系统数据单元。于步骤416中,阈值的使用为一种可避免执行一非常大数目的反转操作的方法。于所有多阶处理之后,多阶数据处理例程108存入多个结果于如图1所示的输出队列120中。内容检查引擎126的一实施是自输出队列120中撷取数据,并以一个数据单元接着一个数据单元的方式来对数据进行检查以找出可疑的数据型样。
图4B为处理例程选择器102与多阶数据处理例程108于一多阶数据处理系统区段建立之后处理后续多阶数据处理系统数据单元的流程450。流程450与上述的流程400实质上为相同的,除了至少下述不同之外:(1)既然多阶数据处理例程108已于流程400的步骤404中产生,同一多阶数据处理例程108便持续处理后续的多阶数据处理系统数据单元;以及(2)于步骤454中,变量n的初始值被设定为0。
2.0系统架构的范例说明
图6为本发明一实施例的将多阶数据处理系统实施其上的网络系统600的方块图。具体来说,网络系统600包含有一主机处理器602、一桥接器604、一内存系统606、一内容检查协同处理器(content inspectionco-processor,CICP)608与一网络接口610;主机处理器602执行图1所示的协议剖析器122与传送服务用户128及130的操作,以及经由桥接器604来存取网络系统600的资源;内容检查协同处理器608执行多阶数据处理系统100的运作,并以逐一检查数据单元的方式来执行内容检查的工作;网络接口610支持各式各样的网络通讯协议与相关的输入/输出(input/output,I/O)功能,并经由系统总线614与网络系统600的其余部分沟通。于此实施例中,尽管主机处理器602与内容检查协同处理器608两者可直接存取内存系统606,内存总线612主要地于网络系统600中负责传送大部分的内存存取流量。
主机处理器602可为一般用途处理器或者特定用途处理器,其中特定用途处理器的一些范例为特地设计来进行(但不限定于)数据传输、讯号处理、行动运算与多媒体相关应用的处理器;此外,特定用途处理器可包含有多个可与外部单元(例如:内存系统606与内容检查协同处理器608)直接连结的接口。
内容检查协同处理器608可由一特殊应用集成电路(application-specific integrated circuit,ASIC)来加以实施、由设计于一可程序逻辑装置中的软件来加以实施或者是由一系统单芯片(system-on-chip,SOC)中的一功能单元(functional unit)来加以实施。图6所述的一个或多个组件可新增(例如:显示装置)、可组合(例如:内容检查协同处理器608与主机处理器602可属于一单一系统单芯片)或进一步分离(例如:桥接器604可另分离成一主机处理器桥接器、一总线控制器与一内存控制器),这些变化仍然属于本发明的范畴。
图7为本发明一实施例的将多阶数据处理系统实施其上的服务器系统700的方块图。服务器系统700包含一些处理器(例如:处理器702),其中处理器702经由一高速输入/输出桥接器704来存取多个内存模块706;高速输入/输出桥接器704亦管理自处理器702连结至位于芯片上的多个内存模块(例如:快取(cache))与多个高速接口(例如:加速影像处理端口(Accelerated Graphics Port)与外围组件快速互连接口标准(PeripheralComponent Interconnect Express,PCI Express))。多个内存模块706储存信息与指令以供处理器702执行,且可于指令执行期间储存暂时的变量或其它中介信息。
高速输入/输出桥接器704是管理数据密集的信道与支持高速外围设备,例如:(但不限定)一内容检查系统,该内容检查系统包含有上述图6所示的内容检查协同处理器608、一显示器、一千兆位以太网络(gigabitEthernet)、一光纤信道(fiber channel)与一独立磁盘备援阵列(RedundantArray of Independent Disks,RAID);高速输入/输出桥接器704亦耦接于支持一第二外围设备712的一第二输入/输出桥接器710,例如:(但不限定)多个磁盘控制器、通用序列总线(Universal Serial Bus,USB)、语音(audio)系统、序列(serial)系统、基本输入输出系统(Basic Input OutputSystem,BIOS)、工业标准架构(Industry Standard Architecture,ISA)总线、中断控制器(interrupt controller)与集成设备电路(IntegratedDrive Electronics,IDE)通道。
服务器系统700经由处理器702执行内存模块706中一串或多串的指令,以实现图1所示的传送服务用户128与130及协议剖析器122的操作。而这些指令可自另一计算机可读媒体(computer-readable medium)(例如:经由第二输入/输出桥接器710所存取的一储存装置)读入至主要的内存模块706,内存模块706所包含的多个串指令的执行可使得处理器702执行上述1.1节中所提及的步骤。于一设计变化中,一硬件电路(hard-wiredcircuitry)可被使用以代替或结合多个软件指令来实施上述的操作。
此处使用的「计算机可读媒体」一词意指提供多个指令予处理器702执行的任何媒体,而此一媒体可为许多形式,该形式包含但不限定于:非易失性储存媒体(non-volatile media)、易失性储存媒体与传输媒体,举例来说,非易失性储存媒体包含多个光学或磁性的盘片;易失性储存媒体包含动态内存;传输媒体包含同轴电缆(coaxial cable)、铜线(copper wire)与光纤(fiber optic),此外,传输媒体亦可有声波、光波或载波(carrierwave)的形式。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (20)
1.一种监控于一第一传送连结中的一第一文档的一数据单元及于一第二传送连结中的一第二文档的一数据单元的方法,包含有:
选取多个第一资源以依序地反转该第一文档的该数据单元的一负载数据的多阶格式转换,以产生一第一反转数据单元,且独立地选取多个第二资源以依序地反转该第二文档的该数据单元的一负载数据的多阶格式转换,以产生一第二反转数据单元;以及
于该第一文档或该第二文档中数据单元集结之前,检查该第一反转数据单元的负载数据与该第二反转数据单元的负载数据是否有可疑数据型样。
2.如权利要求1所述的方法,还包含:
对于对应该第一文档的该多阶格式转换中每一阶而言,自该第一文档的该数据单元的该负载数据中撷取一第一数据型态,以及对于对应该第二文档的该多阶格式转换中每一阶而言,独立地自该第二文档的该数据单元的该负载数据中撷取一第二数据型态;以及
依据该第一数据型态自该多个第一资源中调用一第一反转操作型态,且独立地依据该第二数据型态自该多个第二资源中调用一第二反转操作型态。
3.如权利要求2所述的方法,还包含:
于多阶格式转换中一第一阶完成反转之前,对该多阶格式转换的一第二阶而言,独立地撷取该第一数据型态与该第二数据型态。
4.如权利要求1所述的方法,还包含:
将该多个第一资源对应至该第一传送连结;以及
将该多个第二资源对应至该第二传送连结。
5.如权利要求4所述的方法,还包含:
维护关于该多个第一资源、该多个第二资源及该多个第一、第二资源的处理的信息。
6.如权利要求3所述的方法,还包含:
于递归操作的一阈值内,反复地执行该撷取步骤与该调用步骤。
7.一种监控于一第一传送连结中的一第一文档的一数据单元及于一第二传送连结中的一第二文档的一数据单元的系统,包含有:
一第一处理装置,用来自于该第一传送连结上的该第一文档的该数据单元中辨识一第一初始阶数据型态及自于该第二传送连结上的该第二文档的该数据单元中辨识一第二初始阶数据型态;
一第二处理装置,用来依据该第一初始阶数据型态与该第二初始阶数据型态,独立地选取多个第一资源与多个第二资源以于该第一文档的该数据单元的负载数据与该第二文档的该数据单元的负载数据上个别地反转其多阶格式转换来完成多阶反转,以产生一第一反转数据单元与一第二反转数据单元;以及
一第三处理装置,用来于该第一文档或该第二文档的数据单元集结之前,检查该第一反转数据单元的负载数据与该第二反转数据单元的负载数据是否有可疑数据型样。
8.如权利要求7所述的系统,其中该第二处理装置还包含:
一独立地依据该第一初始阶数据型态自该多个第一资源中调用一第一反转操作型态,以及依据该第二初始阶数据型态自该多个第二资源中调用一第二反转操作型态的装置。
9.如权利要求7所述的系统,其中该第二处理装置还包含:
一用来独立地依据一第一前一阶反转操作型态的执行结果中至少一部份来决定一第一目前阶数据型态,及依据一第二前一阶反转操作型态的执行结果中至少一部份来决定一第二目前阶数据型态的装置;
一用来独立地依据该第一目前阶数据型态自该多个第一资源中调用一第一目前阶反转操作型态,以及依据该第二目前阶数据型态自该多个第二资源中调用一第二目前阶反转操作型态的装置;以及
一用来反复地执行该决定步骤与该调用步骤以执行格式转换的多阶反转的装置。
10.如权利要求7所述的系统,其中该第二处理装置进一步包含将该多个第一资源与该多个第二资源对应至该第一传送连结与该第二传送连结。
11.如权利要求10所述的系统,其中该第二处理装置还包含一用来储存关于该多个第一资源、该多个第二资源及该多个第一、第二资源的处理的信息。
12.如权利要求7所述的系统,其中该第一处理装置更进一步包含为该第一传送连结与该第二传送连结中每一传送连结请求建立与该第一处理装置的一连结。
13.如权利要求9所述的系统,其中该第二处理装置是于递归操作的一阈值内反复地执行该决定步骤与该调用步骤。
14.一种监控于一第一传送连结中的一第一文档的一数据单元及于一第二传送连结中的一第二文档的一数据单元的系统,包含有:
一主机处理器;
一内容检查协同处理器;以及
一内存系统,耦接于该主机处理器与该内容检查协同处理器,其中包含有:
一协定剖析器,由该主机处理器执行时,试图自该第一传送连结上的该第一文档的该数据单元中辨识一第一初始阶数据型态,以及试图自该第二传送连结上的该第二文档的该数据单元中辨识一第二初始阶数据型态;
一数据处理系统,由该内容检查协同处理器执行时,独立地依据该第一初始阶数据型态与该第二初始阶数据型态来选取多个第一资源与多个第二资源,以个别地反转该第一文档的该数据单元的负载数据的多阶格式转换来完成多阶反转与反转该第二文档的该数据单元的负载数据的多阶格式转换来完成多阶反转,以产生一第一反转数据单元与一第二反转数据单元;以及
一内容检查引擎,由该内容检查协同处理器所执行時,於该第一文档或该第二文档的数据单元结结之前,检查该第一反转数据单元的负载数据与该第二反转数据单元的负载数据是否有可疑数据型样。
15.如权利要求14所述的系统,其中该数据处理系统还包含独立地产生会使用该多个第一资源的一第一处理程序并依据该第一初始阶数据型态来调用一第一反转操作型态;以及产生会使用该多个第二资源的一第二处理程序并依据该第二初始阶数据型态调用一第二反转操作型态。
16.如权利要求14所述的系统,其中该数据处理系统另独立地产生一第一处理程序与一第二处理程序,其中:
该第一处理程序系依据一第一前一阶反转操作型态的执行结果中至少一部份来决定一第一目前阶数据型态,以及该第二处理程序系依据一第二前一阶反转操作型态的执行结果中至少一部份来决定一第二目前阶数据型态;
该第一处理程序依据该第一目前阶数据型态来调用一第一目前阶反转操作型态,以及该第二处理程序依据该第二目前阶数据型态来调用一第二目前阶反转操作型态;以及
该第一处理程序与该第二处理程序反复地执行该决定步骤与该调用步骤以对多阶格式转换进行反转。
17.如权利要求16所述的系统,其中该数据处理系统还包含分别地将该多个第一资源与该多个第二资源对应至该第一传送连结与该第二传送连结。
18.如权利要求17所述的系统,其中该数据处理系统还包含一状态表以储存关于该多个第一资源、该多个第二资源与该多个第一、第二资源的处理的信息。
19.如权利要求14所述的系统,其中该协定剖析器还包含为该第一传送连结与该第二传送连结中每一传送连结请求建立与该数据处理系统的一连结。
20.如权利要求16所述的系统,其中该第一处理与该第二处理于递归操作的一阈值内反复地执行该决定步骤与该调用步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/422,087 US7930742B2 (en) | 2004-06-14 | 2006-06-05 | Multiple-level data processing system |
US11/422,087 | 2006-06-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101098331A CN101098331A (zh) | 2008-01-02 |
CN101098331B true CN101098331B (zh) | 2010-06-09 |
Family
ID=38556399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101096675A Active CN101098331B (zh) | 2006-06-05 | 2007-06-05 | 多阶数据处理系统与方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7930742B2 (zh) |
EP (1) | EP1865434A1 (zh) |
CN (1) | CN101098331B (zh) |
DE (1) | DE07011047T1 (zh) |
TW (1) | TWI349211B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8042184B1 (en) * | 2006-10-18 | 2011-10-18 | Kaspersky Lab, Zao | Rapid analysis of data stream for malware presence |
US9466036B1 (en) * | 2012-05-10 | 2016-10-11 | Amazon Technologies, Inc. | Automated reconfiguration of shared network resources |
EP3284037A1 (en) * | 2015-04-16 | 2018-02-21 | United Parcel Service Of America, Inc. | Enhanced multi-layer cargo screening system, computer program product, and method of using the same |
US20230093136A1 (en) * | 2021-09-20 | 2023-03-23 | Shopify Inc. | Systems and methods for generating audiences via a secure and proportional data exchange |
US11647040B1 (en) * | 2022-07-14 | 2023-05-09 | Tenable, Inc. | Vulnerability scanning of a remote file system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2417655A (en) * | 2004-09-15 | 2006-03-01 | Streamshield Networks Ltd | Network-based platform for providing security services to subscribers |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398871B (zh) | 1995-02-13 | 2011-05-18 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
US5832228A (en) * | 1996-07-30 | 1998-11-03 | Itt Industries, Inc. | System and method for providing multi-level security in computer devices utilized with non-secure networks |
JP3545606B2 (ja) * | 1998-03-04 | 2004-07-21 | 株式会社東芝 | 受信装置 |
FR2782878B1 (fr) | 1998-08-28 | 2000-11-10 | Holding Bev Sa | Systeme de compression et de decompression de signaux video numeriques |
US6487666B1 (en) | 1999-01-15 | 2002-11-26 | Cisco Technology, Inc. | Intrusion detection signature analysis using regular expressions and logical operators |
US6609205B1 (en) | 1999-03-18 | 2003-08-19 | Cisco Technology, Inc. | Network intrusion detection signature analysis using decision graphs |
US7185081B1 (en) | 1999-04-30 | 2007-02-27 | Pmc-Sierra, Inc. | Method and apparatus for programmable lexical packet classifier |
US6598034B1 (en) | 1999-09-21 | 2003-07-22 | Infineon Technologies North America Corp. | Rule based IP data processing |
US6880087B1 (en) | 1999-10-08 | 2005-04-12 | Cisco Technology, Inc. | Binary state machine system and method for REGEX processing of a data stream in an intrusion detection system |
US6631170B1 (en) * | 1999-12-03 | 2003-10-07 | Nokia Corporation | Radio frequency receiver |
US7327775B1 (en) * | 1999-12-23 | 2008-02-05 | Nokia Corporation | CDMA receiver |
WO2002030052A1 (en) | 2000-09-28 | 2002-04-11 | Symantec Corporation | System and method for analyzing protocol streams for a security-related event |
US7058968B2 (en) * | 2001-01-10 | 2006-06-06 | Cisco Technology, Inc. | Computer security and management system |
CN1215649C (zh) * | 2001-01-12 | 2005-08-17 | 旋永南 | 一种高频信号接收和发送的处理方法 |
US7681032B2 (en) * | 2001-03-12 | 2010-03-16 | Portauthority Technologies Inc. | System and method for monitoring unauthorized transport of digital content |
TW530495B (en) * | 2001-05-16 | 2003-05-01 | Cyberlink Corp | System and method for processing compressed data stream |
US7234168B2 (en) | 2001-06-13 | 2007-06-19 | Mcafee, Inc. | Hierarchy-based method and apparatus for detecting attacks on a computer system |
EP1436936A4 (en) | 2001-09-12 | 2006-08-02 | Safenet Inc | RECOGNITION OF FORMS OF HIGH-SPEED DATA FLOW |
DE10155251A1 (de) * | 2001-11-09 | 2003-06-18 | Siemens Ag | Transpondersystem und Verfahren zur Entfernungsmessung |
US7215976B2 (en) * | 2001-11-30 | 2007-05-08 | Symbol Technologies, Inc. | RFID device, system and method of operation including a hybrid backscatter-based RFID tag protocol compatible with RFID, bluetooth and/or IEEE 802.11x infrastructure |
US7180895B2 (en) | 2001-12-31 | 2007-02-20 | 3Com Corporation | System and method for classifying network packets with packet content |
US7093023B2 (en) | 2002-05-21 | 2006-08-15 | Washington University | Methods, systems, and devices using reprogrammable hardware for high-speed processing of streaming data to find a redefinable pattern and respond thereto |
US6768726B2 (en) * | 2002-08-06 | 2004-07-27 | Motorola, Inc. | Method and apparatus for effecting a seamless handoff between IP connections |
US7370210B2 (en) | 2002-11-18 | 2008-05-06 | Arm Limited | Apparatus and method for managing processor configuration data |
US7467202B2 (en) * | 2003-09-10 | 2008-12-16 | Fidelis Security Systems | High-performance network content analysis platform |
US7620990B2 (en) * | 2004-01-30 | 2009-11-17 | Microsoft Corporation | System and method for unpacking packed executables for malware evaluation |
US7685637B2 (en) | 2004-06-14 | 2010-03-23 | Lionic Corporation | System security approaches using sub-expression automata |
US7596809B2 (en) * | 2004-06-14 | 2009-09-29 | Lionic Corporation | System security approaches using multiple processing units |
US7216364B2 (en) | 2004-06-14 | 2007-05-08 | Lionic Corporation | System security approaches using state tables |
US7817014B2 (en) * | 2004-07-30 | 2010-10-19 | Reva Systems Corporation | Scheduling in an RFID system having a coordinated RFID tag reader array |
US20060053180A1 (en) * | 2004-09-08 | 2006-03-09 | Galit Alon | Method for inspecting an archive |
US7583179B2 (en) * | 2005-02-22 | 2009-09-01 | Broadcom Corporation | Multi-protocol radio frequency identification transceiver |
US20070006300A1 (en) * | 2005-07-01 | 2007-01-04 | Shay Zamir | Method and system for detecting a malicious packed executable |
-
2006
- 2006-06-05 US US11/422,087 patent/US7930742B2/en active Active
-
2007
- 2007-06-05 DE DE07011047T patent/DE07011047T1/de active Pending
- 2007-06-05 TW TW096120233A patent/TWI349211B/zh active
- 2007-06-05 EP EP07011047A patent/EP1865434A1/en active Pending
- 2007-06-05 CN CN2007101096675A patent/CN101098331B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2417655A (en) * | 2004-09-15 | 2006-03-01 | Streamshield Networks Ltd | Network-based platform for providing security services to subscribers |
Also Published As
Publication number | Publication date |
---|---|
CN101098331A (zh) | 2008-01-02 |
EP1865434A1 (en) | 2007-12-12 |
US20060206939A1 (en) | 2006-09-14 |
TW200817965A (en) | 2008-04-16 |
US7930742B2 (en) | 2011-04-19 |
DE07011047T1 (de) | 2008-09-11 |
TWI349211B (en) | 2011-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8042184B1 (en) | Rapid analysis of data stream for malware presence | |
RU107616U1 (ru) | Система быстрого анализа потока данных на наличие вредоносных объектов | |
US9866218B2 (en) | Boolean logic in a state machine lattice | |
CN101098331B (zh) | 多阶数据处理系统与方法 | |
US7802303B1 (en) | Real-time in-line detection of malicious code in data streams | |
US7234165B1 (en) | Malware scanning of compressed computer files | |
Alcock et al. | Libtrace: A packet capture and analysis library | |
CN107608750B (zh) | 用于型式辨识的装置 | |
US10846403B2 (en) | Detecting malicious executable files by performing static analysis on executable files' overlay | |
US20020004908A1 (en) | Electronic mail message anti-virus system and method | |
US10009379B2 (en) | Systems and methods for sterilizing email attachments and other communications delivered by email | |
US20100153507A1 (en) | Systems and methods for processing electronic data | |
JP2016224900A (ja) | 悪性コード検出方法及びシステム | |
US10762207B2 (en) | Method and device for scanning virus | |
CN112491421A (zh) | 日志文件压缩包的解析方法、装置、设备及介质 | |
CN111027103B (zh) | 基于寄存器模糊配置的芯片检测方法、装置及存储设备 | |
US20060080467A1 (en) | Apparatus and method for high performance data content processing | |
CN100392597C (zh) | 一种虚拟硬件加速方法及系统 | |
US9875045B2 (en) | Regular expression matching with back-references using backtracking | |
US20080005315A1 (en) | Apparatus, system and method for stream-based data filtering | |
WO2007022396A2 (en) | A method and system to accelerate data processing for mal-ware detection and elimination in a data network | |
US11816215B2 (en) | System and method for archive AM scanning | |
KR102126896B1 (ko) | 메모리 중심 컴퓨터를 위한 mpi 프로그램 변환 방법 및 장치 | |
CN115529159B (zh) | 加密流量检测模型的训练方法、装置、设备及存储介质 | |
US20230269257A1 (en) | Method and apparatus for using a kernel module to provide computer security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |