检测恶意代码的制作方法

文档序号:7627236阅读:182来源:国知局
专利名称:检测恶意代码的制作方法
技术领域
本发明涉及恶意代码的检测,更具体地,涉及一种检测恶意代码的方法和装置,其中通过观测分组在网络上的运动来尽可能快地检测未知的因特网蠕虫,并通过报告它们的检测来阻止因特网蠕虫的蔓延。
背景技术
随着因特网技术的发展,因特网的威胁因素正日益增长。典型的威胁因素包括恶意代码,而恶意代码通常可以分成理论定义和实质定义。理论定义包括为了损害他人而设计的所有计算机程序或可执行部分,而实质定义包括为了在心理上或实质上伤害他人的所有计算机程序或可执行部分。由于程序员的错误而内藏的程序错误排除在这些恶意代码之外,但是如果它们将会造成大量破坏的话,这些程序错误将包含于恶意代码中。
恶意代码的典型例子包括计算机病毒和因特网蠕虫。
计算机病毒是一种形式的程序,它对感染目标程序进行感染,以使用它自己的代码和翻译过的代码来执行感染目标程序;并且当执行被感染的文件时,它能够在网络上和计算机系统中蔓延。
因特网蠕虫以进程的形式存在,它以一种在网络上的其他主机中运行蠕虫进程的方法来进行感染。由于因特网蠕虫的感染不需要人为的操作,并且生成了大量的业务量来感染因特网蠕虫,因此未感染的主机也不可能使用因特网,从而造成了因特网的扰乱。从莫里森蠕虫(Morris Worm)开始,该蠕虫在1998年被广泛地蔓延并造成了因特网的破坏,已经产生了许多蠕虫,并造成了大量的破坏。
因特网蠕虫具有这样的特征,它通过自身在整个网络上传播,这不同于现有的计算机病毒。计算机病毒通过删除和修改正常的文件来造成破坏,而因特网蠕虫是通过耗尽网络资源,并由于其爆炸性的传播特性而扰乱网络,来造成破坏。
因此,国内和海外的公司已经引入了反病毒产品。在大多数情况下,这些产品具有存储已知计算机病毒和蠕虫的模式的数据库(DB),并且通过使用模式匹配技术来检测病毒的威胁,在此是按照涉嫌的文件或进程与所存储的模式是否匹配来进行检测的。
已知的反病毒产品体现为这样的一种方法,通过采集关于已知病毒的程序的一系列特定的字符串(模式)来创建模式数据库,从而它们可以成为防范已知病毒的有效防御措施。然而,反病毒产品对于未知的病毒或蠕虫是无法防御的,并且它们的主要目标是为了保护主机和内部网络,因此在这一点上具有缺陷,不能够阻止由于供给业务量引起的网络消耗。
如上所述,利用已知模式DB,使用模式匹配技术的反病毒产品能够用于检测已知的计算机病毒和因特网蠕虫,但是它们不能够有效地适用于检测未知的因特网蠕虫。
同样,这些反病毒产品位于终端中,并且它们最重要的目的是为了保护相应的终端不受危险的威胁。在使用这种方法的情况下,不可能阻止攻击数据分组通过网络发送到相应的终端上,从而网络资源仍然被消耗。

发明内容
因此,本发明的一个目的是提供一种检测恶意代码的装置和方法,其中使用安装在网络瓶颈处的检测装置来检查穿过网络瓶颈的TCP分组,以便确定外出数据分组(outgoing packet)是否是由因特网蠕虫生成的,并通过生成警报和截取相应的分组,来最小化由因特网蠕虫引起的网络资源的消耗。
根据本发明的一个方面,提供一种方法,包括将关于进入TCP连接建立分组的信息注册到内部网络上,并存储所注册连接的TCP数据分组的内容;在将TCP连接建立指向外部网络期间,在预定时间内当一个连接被确定为与进入TCP业务量相同特征的业务量连接时,存储相应TCP连接的数据;以及在确定外出TCP业务量的数据分组与所注册的进入TCP业务量数据分组相同时,将数据分组判定为恶意代码。进入TCP业务量(incoming traffic)最好存储在进入TCP注册表中,而外出TCP业务量(outgoing traffic)存储在外出TCP注册表中。
进入TCP连接表最好是包括至少一个表项(entry),包括源IP地址、目的IP地址、源TCP端口号码、目的TCP端口号码、表项注册时间和至少一个数据分组存储空间。
外出TCP连接表最好包括至少一个表项,包括源IP地址、目的IP地址、源TCP端口号码、目的TCP端口号码、表项注册时间和至少一个数据分组存储空间。
将关于进入TCP连接建立分组的信息注册到内部网络上,并存储所注册连接的TCP数据分组的内容最好包括当相应数据分组未在进入TCP连接数据中注册并且进入业务量是TCP SYN分组时,注册具有进入TCP连接数据的相应业务量。
进入TCP SYN分组的报头信息当中的关于源IP地址、目的IP地址、源TCP端口号码和目的TCP端口号码的信息,最好被注册在进入TCP连接表中的同一项目中;表项注册时间是注册该TCP SYN分组的时间;并且没有数据被注册在进入TCP连接表的数据存储空间内。
将关于进入TCP连接建立分组的信息注册到内部网络上,并存储所注册连接的TCP数据分组的内容最好还包括将相应数据分组的报头信息与进入TCP连接表的每个表项的相同项目进行比较,并在进入业务量是TCP数据分组时,确定相应的业务量是否注册在进入TCP连接表中;并在确定结果是发现进入TCP数据分组相同的表项时,将进入TCP数据分组中的纯数据信息注册到相应表项的数据分组字段中。
数据分组字段最好包括至少一个存储空间,具有一个可由操作员改变的最大值。
将相应数据分组的报头信息与进入TCP连接表的每个表项的相同项目进行比较,并在进入业务量是TCP数据分组时,判断相应的业务量是否注册在进入TCP连接表中最好包括比较关于源IP地址、目的IP地址、源TCP端口和目的TCP端口的信息,并且仅当所有的比较项目都相同时,确定关于进入TCP数据分组的报头的信息与进入TCP连接表上的信息是相同的。
在将TCP连接建立指向外部网络期间,在预定时间内当连接被确定为请求与进入TCP业务量相同特征的业务量连接时,存储相应TCP连接的数据最好包括在关于相应分组的信息与进入TCP连接表中注册每个表项相比较并且表项包括相同的信息且外出业务量是TCP SYN分组时,将关于TCP SYN分组的信息注册在外出连接表中。
确定TCP SYN分组信息与TCP连接表的表项信息是相同的业务量最好包括确定TCP SYN分组的源IP地址和进入TCP连接表表项的目的IP地址是相同的,以及TCP SYN分组的目的TCP端口号码与TCP连接记录表项的目的TCP端口号码是相同的。
在TCP连接建立指向外部网络期间,在预定时间内当一个连接被确定为请求与进入TCP业务量相同特征的业务量连接时,存储相应TCP连接的数据最好包括当确定外出业务量是TCP数据分组时,将相应分组的报头与外出TCP连接表的每个表项信息进行比较;当确定该表项信息是与外出TCP数据分组相同的业务量时,将外出TCP数据分组的纯数据的内容与存储在相应表项的数据存储空间中的数据分组内容进行比较;并在确定分组比较结果是两个数据相同时,确定外出TCP业务量是由恶意代码生成的。最好是,当从表项注册时间起预定时间期间过去之后,从相应的表中删除进入TCP表或进入TCP表的每个表项。
存储在数据分组存储空间内的信息最好包括所发送的纯数据的校验和值。
存储在数据分组存储空间内的信息最好包括所发送的纯数据的校验和值。
根据本发明的另一方面,提供一种方法,包括将进入UDP连接注册到内部网络上,并存储所注册连接的UDP数据分组的内容;确定通过从外部接收的连接请求而连接到外部的内部主机,是否已经在预定时间内请求连接到,在从内部网络指向外部网络的UDP连接当中,相同的目的UDP端口,并进行UDP业务量注册以存储相应UDP连接的数据;以及在外出UDP连接数据分组和用进入连接数据注册的数据分组相同时,确定该数据分组是恶意代码。注册和存储UDP数据最好包括在的特定数据分组的先前UDP会话的会话超时时间期间内没有接收到的相同数据分组时,生成UDP表的表项并存储相应的数据分组。
根据本发明的另一方面,提供一种装置,包括数据库,包括外出TCP连接表,适用于将进入TCP分组建立分组信息注册到内部网络上,并适用于在进入TCP连接表接收到所注册连接的TCP数据分组的内容,并且从内部网络指向外部网络的连接接收来自外部的连接请求且连接到外部的内部主机在预定时限内请求连接到相同目的TCP端口的连接请求时,存储相应TCP连接的数据;和控制器,连接到进入和外出TCP连接表,并适用于注册、比较和存储数据,且适用于在外出TCP业务量的数据分组与所注册的进入TCP业务量数据分组相同时,判定该数据分组是恶意代码。
该装置最好配置在内部网络和外部因特网之间的瓶颈处。


当结合附图来考虑,通过参照以下的详细说明,本发明将得到更好的理解,从而本发明的更加完全的理解,及其许多伴随的优点,将更容易变得显而易见,附图中相似的参考标记表示相同或类似的部件,其中图1是因特网蠕虫的传播图;图2是根据本发明实施例的检测恶意代码的装置放置于网络上的位置视图;图3是根据本发明实施例的TCP连接表;图4是使用校验和的TCP连接表;图5是根据本发明实施例的检测恶意代码的方法的流程图;图6是根据本发明实施例的检测恶意代码的装置的分组分离过程;图7是处理进入TCP SYN分组的方法的流程图;
图8是处理进入TCP数据分组的方法的流程图;图9是处理外出TCP SYN分组的方法的流程图;和图10是处理外出TCP数据分组的方法的流程图。
具体实施例方式
现在将参照附图,在此对本发明进行更加充分的描述,其中示出了本发明的示范实施例。然而,本发明能够体现为不同的形式,并且不应当被构建为限于在此阐述的实施例。与此相反,这些实施例被提供以便本说明书能够是彻底和完整的,并能够将本发明的范围充分地传达给本领域技术人员。在附图中,贯穿整个说明书,相似的数字指示相似的要素。
图1是因特网蠕虫的传播图。
在因特网蠕虫的传播中,当目标主机11被攻击主机10感染时,目标主机11成为感染其他主机的主体。这也被称作“再传播(re-propagation)”,而目标主机中的“再传播延迟”是从目标主机的感染时间到该目标主机的第一次再传播试验时间所经历的时间期间。
垂直线表示时间轴,它是基于图1中的每个主机而形成的,而每一个箭头均表示连接试验。“X”表示关于该目标主机的感染试验由于没有目标IP的因素而失败。
图1能够基于因特网蠕虫的传播路径来解释说明,其可以使用TCP协议来执行,其中攻击主机10的连接试验(通过SYN分组)是由细箭头来表示的,而在连接成功之后的蠕虫的传输是由粗箭头来表示的。
在因特网蠕虫的传播中,目标主机11的再传播时间是非常短的,也就是说,该目标主机在1秒之内感染其他主机。同样,值得注意的是,用于感染和再传播过程的TCP端口号码总是相同的。
根据图1来评论的蠕虫业务量的特征如同下述。
首先,进入业务量的倾向出现在感染的早期阶段,其中感染从外部向内部传播。
第二,再传播到其他主机的再传播时间非常短(1秒之内)。
第三,蠕虫数据被复制(在TCP协议的情况下目标端口同样被保持)。
根据本发明的检测恶意代码的装置,体现为一种使用上述蠕虫业务量的特征的、有效的蠕虫业务量装置和方法。
根据本发明的检测恶意代码的装置,为了检测从网络进入和外出的业务量,被配置在网络瓶颈(bottleneck)处。网络的瓶颈指的是一种链接,从网络外部生成的、并指向网络内部的所有进入分组都通过该链接,并且从网络内部生成的、并指向网络外部的所有外出分组也都通过该链接。在这样一个位置可以配置一个接入路由器或同类的设备。
图2是根据本发明实施例的检测恶意代码的装置放置于网络上的位置视图。
如图2所示,根据本发明的恶意代码检测装置20位于因特网和内部网络之间的瓶颈处,从而它能够监控从外部网络到内部网络的进入业务量,和从内部网络到外部网络的外出业务量,并检测恶意代码。
照此,根据本发明的恶意代码检测装置20包括数据库和控制器,其中数据库包括进入TCP连接表和外出TCP连接表。
进入TCP连接表注册到内部网络的进入TCP连接,并存储关于所注册连接的TCP数据分组的内容。当从内部网络指向外部网络的TCP连接接收到来自外部的请求,并确定在预定时限内连接到外部的内部主机已经请求连接到相同的目的TCP端口时,外出TCP连接表存储TCP连接的数据。
控制器连接到进入和外出TCP连接表上,以便负责注册、比较和存储各类数据。当与外出TCP业务量的数据分组相同的分组被存储为进入TCP业务量的数据时,控制器将相应的数据分组确定为蠕虫业务量,并采取恰当的措施。
图3是根据本发明实施例的TCP连接表。
根据本发明实施例的恶意代码检测装置20具有进入TCP连接表和外出TCP连接表,并且每个表的一个表项均包括关于源IP地址31、目的IP地址32、源TCP端口号码33、目的TCP端口号码34、用于最大数目数据分组(MAX_DATA_PACKET)的数据分组存储空间36和表项注册时间的信息。
进入TCP连接表和外出TCP连接表两者都被构建为如图3所示的形式,并且在检测恶意代码中扮演重要的角色。
图4是使用校验和的TCP连接表。
图4中的表格在这一点上与图3不同,数据存储空间实际上不存储要通过TCP分组来发送的数据,而是存储相应数据的校验和值。
用于图4的实施例的校验和是在TCP校验和中将分组报头部分排除在外的纯数据的校验和。
TCP校验和能够通过对临时IP报头、TCP报头和某一补码进行求和来获得。TCP报头包括发射机的端口号码、目的端口号码、发送的次序号码、响应确认号码、报头长度、代码比特、窗口、校验和、紧急指示符,等等。
因此,如果从TCP报头的校验和项目中包含的值中减去临时IP报头加上TCP报头的内容的某一补码,则能够获得相应数据的某一补码的总和。
如果存储如上所述而获取的校验和值,以代替存储如图3中的所有数据,那么有可能存储关于相应数据的信息,并且将其他分组与每分组4字节的空间进行比较以及搜索其他分组,也变得更加容易。
图5是根据本发明实施例的检测恶意代码的方法的流程图。
根据该恶意代码检测方法,在进入连接表中注册到各类内部网络的进入TCP连接(S51)。用于所注册连接的数据分组被存储(S52)。当通过从内部网络到外部网络的外出TCP连接当中,来自外部的连接请求而连接到外部的主机,在预定时限内请求连接到相同的目的TCP端口时,将它注册在外出连接表中(S53)。
当监视与在外出连接表中注册的连接相对应的数据分组,并且相同的数据分组存在于在进入连接表中注册的数据分组当中时,该数据分组被确定为蠕虫业务量(S54),从而警报消息被发送给网络管理员,或者丢弃确定为蠕虫业务量的业务量。
图6是根据本发明实施例的检测恶意代码的装置的数据分组分离过程。
当恶意代码检测装置20接收TCP分组时,确定以下内容该分组是指向外部因特网的进入业务量或者来自内部网络的同样东西,还是从外部网络指向内部网络的外出业务量(S610)。
当确定业务量的方向之后,进入业务量和外出业务量被分为TCPSYN分组或TCP数据分组(S620和S630)。
在图6中,对进入TCP SYN分组执行“A”过程(S621),对进入TCP数据分组执行“B”过程(S622),为外出TCP SYN分组执行“C”过程(S631),以及为外出TCP数据分组执行“D”过程(S632)。
将参照图7~10来描述每个过程的细节。图7~10是根据通过图6的过程而分离的各种数据分组的,处理过程或方法的流程图。
图7是处理进入TCP SYN分组的方法的流程图。
当所检测的业务量是进入TCP SYN分组时,根据本发明实施例的恶意代码检测装置20首先确定该分组是否已经注册在进入TCP连接表中(S71)。当该分组已经被注册时,由于没有必要再一次注册相同的业务量,该过程被终结。然而,如果该分组还没有被注册,由于所检测的业务量是新业务量,则将相应的业务量注册在进入TCP连接表中(S72)。
在图3的注册信息中所述的TCP连接表的表项当中,源IP地址31、目的IP地址32、源TCP端口号码33和目的TCP端口号码34包含于相应项目中SYN分组的TCP报头中。由于由MAX_DATA_PACKET的数目来设置的数据分组存储空间是用于存储数据的纯空间,因此SYN分组不需要被注册。当注册TCP SYN分组时注册该表项。
图8是处理进入TCP数据分组的方法的流程图。
尽管图8示出了进入业务量如图7中所检测的情况下的处理次序,但是它是当假设该业务量不是SYN分组而是数据分组时的后继过程。进入TCP数据分组包括进入TCP数据分组中不是SYN分组的所有数据分组。
当恶意代码检测装置20接收TCP数据分组时,将相应数据分组的报头信息与进入TCP连接表中的每个项目进行比较,并确定以下内容相应的业务量是否已经注册到进入TCP连接表中(S81)。
数据分组的报头信息与进入TCP连接表的每个表项的源IP地址、目的IP地址、源TCP端口号码和目的TCP端口号码进行比较,以便找到一个表项,其中它所有的项目都匹配。如果这样的一个表项存在,并且该表项的数据分组存储空间是未满的(S82),则将该数据分组的纯数据信息注册到空的相应表项的数据分组存储空间中(S83)。
该数据分组存储空间是由MAX_DATA_PACKET的最大数目来设定的,它可以由操作员来改变。仅供参考,在根据本发明实施例的恶意代码检测方法的模拟实验中,MAX_DATA_PACKET被设置为5。
图9是处理外出TCP SYN分组的方法的流程图。
当恶意代码检测装置20所检测的业务量是外出TCP SYN分组时,将关于相应数据分组的信息与注册在进入TCP连接表中的每个表项进行比较(S91)。此时的比较项目是SYN分组的源IP地址和进入TCP连接表表项的目的IP地址,以及SYN分组的目的TCP端口号码和TCP连接表表项的目的TCP端口号码。
由于两个比较项目相同的情况就是作为进入业务量的所注册业务量数据与外出业务量相同的情况,因此关于该SYN分组的信息被注册到外出连接表中(S92)。
外出连接表表项的源IP地址、目的IP地址、源TCP端口号码和目的TCP端口号码,与包含于SYN分组的TCP报头的信息一起,依原样注册,而根据确定为包括相同业务量的进入TCP连接表表项的数据分组存储空间的内容,依原样地拷贝数据分组存储空间。
当注册TCP SYN分组时注册表项注册时间。
图10是处理外出TCP数据分组的方法的流程图。
外出TCP数据分组指的是外出TCP数据分组当中不是SYN分组的所有数据分组。当根据本发明实施例的恶意代码检测装置20检测外出TCP数据分组时,数据分组的报头信息与外出TCP连接表的每个表项的源IP地址、目的IP地址、源TCP端口号码和目的TCP端口号码进行比较,以便找到一个表项,其中它所有的项目都匹配(S101)。
如果满足上述条件的表项存在时,对数据分组的内容与存储在相应表项的数据存储空间中的数据分组的内容进行比较(S102)。当在它们当中找到相同的数据分组时,该外出的TCP数据分组被确定为由因特网蠕虫生成的数据分组(S103)。已经检测到因特网蠕虫的检测装置警告管理员,已经找到了因特网蠕虫业务量,并且生成相应源IP地址的外出TCP业务量被报告到预先指定的信息中心,或者采取相应的措施,例如截取相应的数据分组(S104)。
在经过从注册时间开始的预定时间期间(ENTRY_TIMEOUT)之后,从相应的表格中移除每个进入和外出TCP数据表的表项。基于该表项在经过在从其注册时间开始的预定时间期间之后,不再被认为是蠕虫业务量,来留出蠕虫业务量的快速再传播延迟时间的余量。
通过减少每个表的表项数目,有可能克服以下缺点,例如增加了每个表的表项,延长了搜索和处理时间,并因此导致增加了整个系统的负载。
在用于检测装置中的两个表中包含的MAX_DATA_PACKET数目的数据存储空间,存储该数据分组的全部纯数据,并且和比较和搜索步骤中的比较目标也成为一个整串。
然而,全部数据的比较意味着存储和搜索时间可能会延迟,而使用TCP校验和的方法能够用于有效地克服该延迟。参照图4对TCP校验和进行了描述。能够使用4字节来存储数据分组,并且简化了比较和搜索步骤。
如上所述的基于TCP的因特网蠕虫检测方法,也可以扩展性地应用于UDP。
基本过程与TCP的情况是相同的,除了以下内容之外,在UDP的情况下,搜索普通数据分组来代替SYN分组,并生成没有当构建进入/外出UDP连接表时清楚地请求连接的数据分组的表项。
当接收数据分组时,如果在先前的UDP会话超时时间内,没有接收到具有相同源IP和目的IP以及相同源UDP端口和目的UDP端口号码的数据分组,那么该数据分组作为TCP SYN分组来操作,从而有可能生成表项,并应当同时地存储为第一数据分组。
本领域技术人员能够使用如上所述的例如UDP会话超时的定时器,轻而易举地设计UDP处理过程,并根据基于TCP的本发明,轻而易举地推导出基于UDP的恶意代码检测方法和系统。
根据本发明,通过仅使用网络上的分组来检测蠕虫,能够检测未知的因特网蠕虫,而与现有的反病毒产品不同,无须使用利用已知匹配DB的匹配技术,从而将错误的警告最小化,并能够有效地检测因特网蠕虫。由于该检测是相对于外出分组来执行的,因此能够阻止由于相应网络而导致的所有因特网资源的消耗。
权利要求
1.一种方法,包括将关于进入TCP连接建立分组的信息注册到内部网络上,并存储所注册连接的TCP数据分组的内容;在TCP连接建立指向外部网络期间,在预定时间内当一个连接被确定为请求与进入TCP业务量相同特征的业务量连接时,存储相应TCP连接的数据;以及当确定外出TCP业务量的数据分组与所注册的进入TCP业务量数据分组相同时,将数据分组确定为恶意代码。
2.根据权利要求1的方法,其中进入TCP业务量被存储在进入TCP注册表中,而外出TCP业务量被存储在外出TCP注册表中。
3.根据权利要求2的方法,其中进入TCP连接表包括至少一个表项,该至少一个表项包括源IP地址、目的IP地址、源TCP端口号码、目的TCP端口号码、表项注册时间和至少一个数据分组存储空间。
4.根据权利要求2的方法,其中外出TCP连接表包括至少一个表项,该至少一个表项包括源IP地址、目的IP地址、源TCP端口号码、目的TCP端口号码、表项注册时间和至少一个数据分组存储空间。
5.根据权利要求2的方法,其中将关于进入TCP连接建立分组的信息注册到内部网络上,并存储所注册连接的TCP数据分组的内容包括当相应的分组未被注册到进入TCP连接数据中且进入业务量是TCP SYN分组时,用进入TCP连接数据注册相应的业务量。
6.根据权利要求5的方法,其中进入TCP SYN分组的报头信息当中的,关于源IP地址、目的IP地址、源TCP端口号码和目的TCP端口号码的信息,被注册在进入TCP连接表中的同一项目中;表项注册时间是注册TCP SYN分组的时间;和没有数据被注册在进入TCP连接表的数据存储空间内。
7.根据权利要求2的方法,其中将关于进入TCP连接建立分组的信息注册到内部网络上,并存储所注册连接的TCP数据分组的内容还包括将相应分组的报头信息与进入TCP连接表的每个表项的相同项目进行比较,并当进入业务量是TCP数据分组时,确定相应的业务量是否被注册在进入TCP连接表中;和当确定结果是发现与进入TCP数据分组相同的表项时,将进入TCP数据分组中的纯数据信息注册到相应表项的数据分组字段中。
8.根据权利要求7的方法,其中数据分组字段包括至少一个存储空间,所述至少一个存储空间具有可由操作员改变的最大值。
9.根据权利要求7的方法,其中将相应分组的报头信息与进入TCP连接表的每个表项的相同项目进行比较,并当进入业务量是TCP数据分组时,确定相应的业务量是否被注册在进入TCP连接表中包括比较关于源IP地址、目的IP地址、源TCP端口号码和目的TCP端口号码的信息,并且当所有的比较项目都相同时,确定关于进入TCP数据分组的报头的信息与关于进入TCP连接表的信息是相同的。
10.根据权利要求2的方法,其中在TCP连接建立指向外部网络期间,在预定时间内当一个连接被确定为与进入TCP业务量相同特征的业务量连接时,存储相应TCP连接的数据分组包括当关于相应分组的信息与进入TCP连接表中每个表项进行比较并且每个表项均包括相同的信息且外出业务量是TCP SYN分组时,将关于TCP SYN分组的信息注册到外出连接表中。
11.根据权利要求2的方法,其中确定TCP SYN分组信息与TCP连接表的表项信息是相同的业务量包括确定TCP SYN分组的源IP地址和进入TCP连接表表项的目的IP地址是相同的,以及TCP SYN分组的目的TCP端口号码与TCP连接记录表项的目的TCP端口号码是相同的。
12.根据权利要求2的方法,其中在TCP连接建立指向外部网络期间,在预定时间内当一个连接被确定为请求与进入TCP业务量相同特征的业务量连接时,存储相应TCP连接的数据分组包括当外出业务量是TCP数据分组时,将相应数据分组的报头与外出TCP连接表的每个表项的相同项目进行比较;当确定该表项信息是与外出TCP数据分组相同的业务量时,将外出TCP数据分组的纯数据的内容与存储在相应表项的数据存储空间中的数据分组内容进行比较;和当确定比较结果是两个数据相同时,确定外出TCP业务量是由恶意代码生成的。
13.根据权利要求2的方法,其中在经过从表项注册时间开始的预定时间期间之后,从相应的表中删除进入TCP表或进入TCP表的每个表项。
14.根据权利要求3的方法,其中存储在数据分组存储空间内的信息包括所发送的纯数据的校验和值。
15.根据权利要求4的方法,其中存储在数据分组存储空间内的信息包括所发送的纯数据的校验和值。
16.一种方法,包括将进入UDP连接注册到内部网络上,并存储所注册连接的UDP数据分组的内容;确定通过从外部接收的连接请求而连接到外部的内部主机,是否已经在预定时间内请求连接到,在从内部网络指向外部网络的UDP连接当中,相同的目的UDP端口,并进行外出UDP业务量注册以存储相应UDP连接的数据;和当确定外出UDP连接数据分组和用进入连接数据注册的数据分组相同时,确定该数据分组是恶意代码。
17.根据权利要求16的方法,其中注册和存储UDP数据分组包括当在针对特定数据分组的先前UDP会话的会话超时时间期间内没有接收到的相同数据分组时,生成UDP表项并存储相应的数据分组。
18.一种装置,包括数据库,包括外出TCP连接表,适用于将进入TCP分组建立分组信息注册到内部网络上,并适用于当进入TCP连接表存储所注册连接的TCP数据分组的内容,并且从内部网络指向外部网络的TCP连接接收来自外部的的连接请求,以及连接到外部的内部主机在预定时限内请求连接到相同目的TCP端口时,存储相应TCP连接的数据;以及控制器,连接到进入和外出TCP连接表,并适用于注册、比较和存储数据,且适用于在外出TCP业务量的数据分组与所注册的进入TCP业务量数据分组相同时,确定数据分组是恶意代码。
19.根据权利要求18的装置,其中该装置配置在内部网络和外部因特网之间的瓶颈处。
全文摘要
一种恶意代码的检测方法,包括将关于进入TCP连接建立数据分组的信息注册到内部网络上,并存储所注册连接的TCP数据分组的内容;在TCP连接建立指向外部网络期间,在预定时间内当一个连接被确定为请求与进入TCP业务量相同特征的业务量连接时,存储相应TCP连接的数据;并在确定外出TCP业务量的数据分组与所注册的进入TCP业务量数据分组相同时,将数据分组确定为恶意代码。
文档编号H04L12/56GK1773944SQ200510120009
公开日2006年5月17日 申请日期2005年11月8日 优先权日2004年11月8日
发明者吴枓玲 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1