CN100444076C - 网络接口控制器电路 - Google Patents

网络接口控制器电路 Download PDF

Info

Publication number
CN100444076C
CN100444076C CNB2005800160921A CN200580016092A CN100444076C CN 100444076 C CN100444076 C CN 100444076C CN B2005800160921 A CNB2005800160921 A CN B2005800160921A CN 200580016092 A CN200580016092 A CN 200580016092A CN 100444076 C CN100444076 C CN 100444076C
Authority
CN
China
Prior art keywords
network interface
packets
interface controller
virus
entities
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
Application number
CNB2005800160921A
Other languages
English (en)
Other versions
CN1957308A (zh
Inventor
D·高尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1957308A publication Critical patent/CN1957308A/zh
Application granted granted Critical
Publication of CN100444076C publication Critical patent/CN100444076C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures 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)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

本发明包括网络接口控制器电路至少部分确定(302)是否有至少部分基于一个或多个相应分组的一个或多个相应部分的至少一个签名与所述至少一个病毒相关联。

Description

网络接口控制器电路
技术领域
本发明涉及网络接口控制器电路领域。
背景技术
在一种常规的网络配置中,主机中的网络接口控制器被耦合至网络。控制器能够进入相对低功率的操作模式中,其中由控制器消耗的功率可能比当控制器以相对较高功率的操作模式操作时要少。之后,如果由控制器经由网络接收预定符号和/或值序列,则控制器可检测序列的接收,并响应于该序列的接收,可进入相对较高功率的操作模式。预定序列可以是静态的,或者主机中执行的程序进程可能能够改变该序列。
而且,在该常规网络配置中,由主机中的主机处理器执行病毒检测程序。主机处理器对病毒检测程序的执行使得主机处理器检查主机系统存储器和/或大容量存储器中所存储的数据和程序代码以确定这些数据和/或程序代码是否包含先前被确定为与一个病毒的存在相关联的一个或多个预定值序列。如果主机处理器在数据和/或程序代码中检测到这些一个或多个预定序列,则主机处理器可确定一个或多个病毒存在于该数据和/或程序代码中,并可采取行动来修正这种情况。
如果主机中所存储的数据和/或程序包含一个或多个病毒,则可能这些数据和/或程序代码一开始是经由网络提供给主机的。不幸的是,在这种常规配置中,不存在在网络接口控制器处检测网络接口控制器经由网络接收的一个或多个病毒的任何机制;而且在该常规配置中,不存在防止网络接口控制器经由网络接收的一个或多个病毒被存储在主机的系统存储器和/或大容量存储器中的任何机制。更不幸地,在该常规配置中,主机中不存在确定经由网络向主机发送一个或多个病毒的一个或多个病毒源的机制。
而且,当一个或多个病毒被存储在主机的系统存储器和/或大容量存储器中之后,除非这一个或多个病毒在由主机处理器执行之前从主机中被移除,否则这一个或多个病毒可能由主机处理器执行。这可导致网络接口控制器经由网络将这一个或多个病毒发送给其它主机等。不幸地,在该常规网络中,网络接口控制器不能检测旨在由网络接口控制器经由网络传送的数据和/或程序代码中的一个或多个病毒的存在,和/或阻止对其的传送。
发明内容
本发明旨在解决上述问题。
根据本发明的一种由系统中的网络接口控制器电路进行病毒检测的方法,包括:至少部分由网络接口控制器电路确定是否有至少部分基于一个或多个分组的一个或多个相应的部分的至少一个签名与至少一个病毒相关联,其中所述的一个或多个分组可以被接收以用于转发给系统中的一个或多个实体和/或被所述一个或多个实体所访问,并且/或者所述一个或多个相应分组可以由系统经网络发送;如果所述网络接口控制器电路至少部分确定所述至少一个签名与所述至少一个病毒相关联,则所述方法还包括从所述网络接口电路至少部分发出指示所述至少一个签名与所述至少一个病毒相关联的一条或多条消息;在所述网络接口控制器电路外部的一个或多个实体处接收所述一条或多条消息;以及至少部分响应于所述一条或多条消息的接收,由所述一个或多个实体至少部分检查所述一个或多个相应分组的所述一个或多个相应部分来确定所述一个或多个部分是否至少部分包含所述至少一个病毒。
根据本发明的一种用于病毒检测的装置,包括:一个或多个实体;和网络接口控制器电路,其能够经网络接收一个或多个分组,用于转发给一个或多个实体和/或被所述一个或多个分组所访问,并且/或者能够经由网络发送一个或多个分组,所述网络接口控制器电路还能够至少部分确定是否有至少部分基于一个或多个分组的一个或多个相应部分的至少一个签名与至少一个病毒相关联;其中,如果所述网络接口控制器电路至少部分确定所述至少一个签名与所述至少一个病毒相关联,则所述网络接口控制器也能够从所述网络接口电路中至少部分发出指示所述至少一个签名与所述至少一个病毒相关联的一条或多条消息,并且所述一个或多个实体能够接收所述一条或多条消息,所述一个或多个实体还能够至少部分响应于对所述一条或多条消息的接收至少部分检查所述一个或多个相应分组的所述一个或多个相应部分,以确定所述一个或多个分组的一个或多个相应部分是否至少部分包含所述至少一个病毒。
根据本发明的一种用于病毒检测的系统,包括:包含总线接口和一个或多个实体的电路板;以及能够被插入所述总线接口的电路卡,所述电路卡包括网络接口控制器电路,所述网络接口控制器电路能够经网络接收一个或多个分组,用于转发给一个或多个实体和/或被所述一个或多个分组所访问,并且/或者能够经由网络发送一个或多个分组,所述网络接口控制器电路还能够至少部分确定是否有至少部分基于一个或多个分组的一个或多个相应部分的至少一个签名与至少一个病毒相关联。
附图说明
随着以下详细描述的进行,并基于对附图的参考,所要求保护的主题的实施例的特征和优点将变得明显,附图中,相同的标号描述同样的部分,其中:
图1示出了包括系统实施例的网络。
图2示出了图1的网络中所包含的系统实施例。
图3是示出可根据一个实施例执行的操作的流程图。
尽管将参考说明性实施例进行以下详细描述,但对本领域的技术人员而言,对各实施例的众多替换、修改及变化是显而易见的。从而,所要求保护的主题旨在被宽泛地考虑,且仅如所附权利要求书所述定义。
具体实施方式
图1示出了网络10的一个实施例。网络10可包括经由网络16通信上耦合在一起的主机12、14和18。如此处所使用的,如果第一设备能够从第二设备接收和/或向其发送可编码和/或表示一个或多个分组的一个或多个信号,则第一设备被认为“通信上耦合”至第二设备。网络16可包括例如一个或多个局域网和/或一个或多个广域网。主机12、14和18能够根据一个或多个通信协议经由网络16在它们之间交换一个或多个分组。这一个或多个通信协议可包括例如以太网协议和/或传输控制协议/因特网协议(TCP/IP)。例如,如果这一个或多个通信协议包括以太网协议,则该以太网协议可与2000年10月20日出版的电气和电子工程师协会(IEEE)标准802.3的2000年版中所述的协议兼容或遵循该协议。作为替代或除此之外,如果主机12、14和/或18能够根据TCP/IP协议经由网络16在它们之间交换一个或多个分组,则TCP/IP协议可遵循1981九月出版的因特网工程任务组(IETF)因特网标准(草案)(RFC)791和793中所述的协议或与此兼容。当然,不背离本实施例,主机12、14和/或18能够根据一个或多个其它和/或替换的通信协议经由网络16在它们之间交换一个或多个分组。
如此处所使用的,“分组”指一个或多个符号和/或一个或多个值。同样如此处所使用的,“主机”指能够执行一个或多个逻辑运算和/或一个或多个算术运算的设备。
图2示出了可包含在主机12中的系统实施例200。系统实施例200可包括耦合至芯片组14的主机处理器12。主机处理器12可包括例如可从本申请的受让人处购得的
Figure C20058001609200081
微处理器。当然,主机处理器12或者可包括另一类型的微处理器,例如从除本申请的受让人以外的来源制造和/或购得的微处理器,而不背离本实施例。
芯片组14可包括可将主机处理器12、系统存储器21和用户接口系统16彼此耦合以及耦合至总线系统22的主机桥/集线器系统。芯片组14还可包括可将主机桥/总线系统耦合至总线22的输入/输出(I/O)桥/集线器系统(未示出)。芯片组14可包括集成电路芯片,诸如从可从本申请的受让人处购得的集成电路芯片组中所选的那些(例如,图形存储器和I/O控制器集线器芯片组),然而也可以或替换地使用其它集成电路芯片。用户接口系统16可包括例如可允许人类用户向系统200输入命令或监视其操作的键盘、定点设备和显示系统。
总线22可包括遵循可从美国俄勒冈州波特兰市的PCI特殊利益集团提供的外围部件互连(PCI)本地总线规范修订版2.2(1998年12月18日)的总线(后文中被称作为“PCI总线”)。或者,总线22可改为包括遵循美国俄勒冈州波特兰市的前述PCI特殊利益集团提供的PCI-X规范修订版1.0a(2000年7月24日)的总线(后文中称之为“PCI-X总线”)。而且或者,总线22可包括其它类型和配置的总线系统。
处理器12、系统存储器21、芯片组14、总线22、电路卡槽30可被包含在单个电路板中,例如系统主板32。电路卡槽30可包括可包含PCI总线接口36的PCI扩展槽。接口36可与包含在电路卡20中的PCI总线接口34电和机械地配合。槽30和卡20可被构造成允许卡20被插入槽30中。当卡20被正确插入槽30中时,接口34和36可变为彼此电和机械地耦合。当接口34和36如此彼此耦合时,卡20中的协议卸载引擎202变为电耦合至总线22。
当协议卸载引擎202被电耦合至总线22时,主机处理器12可经由芯片组14和总线22与引擎202交换数据和/或命令,这可允许主机处理器12控制和/或监视引擎202的操作。协议卸载引擎202可包括网络接口控制器(NIC)电路204。NIC电路204可包括存储器206和处理电路208。如此处所使用的,“电路”可例如单独的或按照任何组合包括模拟电路、数字电路、硬连线电路、可编程电路、状态机电路和/或可包含可由可编程电路执行的程序指令的存储器。
存储器21和/或存储器206可包括只读、大容量存储器、和/或随机存取计算机可读存储器。在操作中,存储器21可存储一个或多个病毒检测和/或修正程序进程23和一个或多个操作系统程序进程31。程序进程23和31各自可包括能够由处理器12执行的一条或多条程序指令、和/或能够由处理器12访问、操作和/或操纵的一个或多个数据结构。处理器12对这些程序指令的执行和/或对这些数据结构的访问、操作和/或操纵可使得,例如处理器12执行这样的操作,该操作可导致在处理器12、系统200和/或主机12中执行如此处所述由处理器12、系统200和/或主机12执行的操作。
在不背离本实施例的情况下,代替被包含在卡20中,引擎202和/或电路204的所有或一部分可包含在例如可被包含在主板32中、耦合至总线22和与系统200中的其它组件交换数据和/或命令的其它结构、系统和/或设备中。例如,在不背离本实施例的情况下,芯片组14可包括可包含引擎202和/或电路204的所有或一部分的一个或多个集成电路。其它的修改也是可能的,而不会背离本实施例。
而且,除此之外或者作为替代,在操作中,存储器26可存储一个或多个程序进程(未示出)。程序进程中的每一个可包含能够由引擎202、电路204和/或电路208执行的一条或多条程序指令,和/或能够由它们访问、操作和/或操纵的一个或多个数据结构。引擎202、电路204和/或电路208对这些程序指令的执行和/或对这些数据结构的访问、操作和/或操纵可导致,例如处理器12执行这样的操作,该操作可使得在引擎202、电路204和/或电路208中执行如此处所述由引擎202、电路204和/或电路208执行的操作。
在本实施例中,卡20可被通信上耦合至网络16。卡20能够经由网络16与主机14和/或主机18交换一个或多个分组。
现在具体参考图3,将描述根据一个实施例可在系统200和/或网络10中执行的操作300。当例如对系统200和/或卡20的复位之后,主机14可经由网络16向主机12发送一个或多个分组212。一个或多个分组212可包括一个或多个分组214A或多个分组214A...214N。
一个或多个分组212可由卡20从网络16接收。此后,可至少部分基于一个或多个分组214A的一个或多个部分226A生成一个或多个签名230。如此处所使用的,“签名”指的是至少部分基于一个或多个符号和/或一个或多个值的集合生成的一个或多个符号和/或一个或多个值的集合。在本实施例中,一个或多个签名230可包括例如包含在一个或多个部分226A中的一个或多个符号和/或一个或多个值的序列(例如,包含在一个或多个部分226A中的一个或多个符号和/或一个或多个值的序列的子集)。作为替代或者除此之外,一个或多个签名230可包括例如至少部分基于一个或多个部分226A和一个或多个循环冗余校验(CRC)算法生成的一个或多个CRC值。如此处所使用的,实体的“部分”可包括实体的某些或全部。
例如,在本实施例中,电路208可根据与一个或多个病毒相关联的一个或多个预定的签名生成算法来生成一个或多个签名230。这一个或多个签名生成算法可指定例如一个或多个分组212的一个或多个相应的部分(例如,一个或多个部分226A和/或226N、和/或一个或多个部分226A和/或226N的一个或多个相应部分),在其上执行一个或多个逻辑运算、一个或多个算术运算和/或一个或多个其它形式的数据操作(例如,串提取)的一个或多个相应的集合以生成一个或多个签名230。这一个或多个算法可根据经验确定,使得如果一个或多个签名生成算法中指定的一个或多个分组212的一个或多个部分包含一个或多个病毒,则由这一个或多个算法生成的一个或多个签名230可匹配先前被确定为与一个或多个病毒的存在相关联的一个或多个预定的签名27。
例如,一个或多个签名27可包含先前经由在先经验检查(例如,由一个或多个病毒扫描程序进程对一个或多个分组的检查)被确定为表示一个或多个病毒的存在的一个或多个串。在该示例中,这一个或多个算法可包括检查一个或多个分组212以确定一个或多个分组212的一个或多个部分(例如,一个或多个部分226A和/或226N)是否包含这一个或多个串,且如果一个或多个分组212包含这一个或多个串,则这一个或多个算法可包括从一个或多个分组212中,例如从一个分组214A的一个部分226A和另一分组214N的另一部分226N中提取这一个或多个串作为一个或多个签名230。作为替代或者除此之外,这一个或多个算法可包括例如为一个或多个分组212、一个或多个分组214A和/或214N、和/或一个或多个部分226A和/或226N生成一个或多个CRC校验和值。
在本实施例中,病毒可包括当由机器(例如计算机和/或处理器)执行时可导致该机器执行例如一个或多个恶意和/或未经授权的操作等其表现不是该机器的人工操作员和/用户所期望的一个或多个操作的一条或多条指令。作为替代或者除此之外,在本实施例中,病毒可包括当由机器访问和/或操纵时可导致在该机器中执行其表现不是该机器的人工操作员和/或用户所期望的一个或多个操作的数据。同样在本实施例中,一个或多个预定的签名27可包括多个预定的签名29A...29N。签名29A...29N中的每一个可与相应的病毒(例如,其存在)相关联。
在本实施例中,存储器21可存储和/或一个或多个进程23可包含病毒定义数据库25。数据库25可包含一个或多个元组(未示出)。这一个或多个元组可包含一个或多个签名27中的相应的一个、与签名23中相应的一个相关联的一个或多个相应的病毒、一个或多个相应的签名生成算法、以及可指示这一个或多个相应的病毒是否存在于一个或多个分组212的一个或多个部分中的一个或多个附加的相应标记。电路208可根据这一个或多个签名生成算法来生成一个或多个签名230,且可将这一个或多个签名230同与这一个或多个相应的签名生成算法相关联的一个或多个签名27进行比较。
在本实施例中,在电路208生成一个或多个签名230之前,数据库25中所包含的数据和/或预定签名29A...29N中的至少一部分可经由网络16从主机18发送到系统200。当然,在不背离本实施例的情况下,可利用其它技术将数据库25和/或预定签名29A...29N存储到存储器21和/或一个或多个进程23中。在本实施例中,在电路208生成一个或多个签名230之前,处理器12对一个或多个进程23的执行可导致一个或多个预定的签名生成算法和/或一个或多个预定签名27从存储器21发送到电路204并被存储在存储器206中供电路208生成一个或多个签名230的至少一部分使用。作为替代或者除此之外,在电路208生成一个或多个签名230之前,处理器12对一个或多个进程23的执行可导致CRC种子值从存储器21发送到电路204并被存储在存储器206中供电路208生成一个或多个签名230中的至少一部分使用。
如图3中的操作302所示,当电路208生成了一个或多个签名230之后,电路204和/或电路208可至少部分确定至少部分基于一个或多个相应分组214A和/或214N的一个多个相应部分226A和/或226N的至少一个签名(例如,一个或多个签名230)是否与至少一个病毒相关联。在本实施例中,电路208和/或电路204可通过将一个或多个签名230与一个或多个预定签名27中的每一个进行比较来执行操作302。如果一个或多个签名230匹配一个或多个预定签名27中的一个或多个,则作为操作302的结果,电路208和/或204可至少部分确定一个或多个签名230与至少一个病毒相关联。
如图3中的操作304所示,如果作为操作302的结果,电路204和/或208至少部分确定至少一个签名230与至少一个病毒相关联,则电路204可向电路204外部的一个或多个实体,例如主机处理器12和/或一个或多个进程23提交可指示一个或多个签名230与至少一个病毒相关联的一条或多条消息210。如图3中的操作306所示,主机处理器12和/或一个或多个进程23可接收一条或多条消息210。之后,如图3中的操作308所示,至少部分响应于主机处理器12和/或一个或多个进程23对一条或多条消息210的接收,主机处理器12和/或一个或多个进程23可检查一个或多个相应的分组214A和/或214N的一个或多个相应部分226A和/或226N来确定一个或多个相应的部分226A和/或226N是否至少部分包含至少一个病毒。在本实施例中,作为操作308的一部分,主机处理器12和/或一个或多个进程23可检查一个或多个部分226A和/或226N、和/或一个或多个分组212来确定,数据库25中的相应元组中与一个或多个相应病毒相关联的相应的附加准则中的哪一个可被一个或多个部分226A和/或226N、和/或一个或多个分组212满足。作为操作308的结果,如果这样满足相应的附加准则,则处理器12和/或一个或多个进程23可确定一个或多个部分226A和/或226N包含与这样的相应的附加准则相关联的一个或多个相应的病毒。之后,一个或多个进程23和/或主机处理器12可向一个或多个操作系统进程31发信号。这可导致主机处理器12对一个或多个进程31的执行的修改,使得一个或多个操作可由主机处理器12执行,这可导致例如系统200的人工操作员被告知在一个或多个分组212中检测到至少一个病毒和/或提示该操作员授权系统200采取行动来修正这种状况。
在执行操作308之前,电路204可在存储器206中存储一个或多个部分226A和/或226N、和/或一个或多个分组212。为了防止一个或多个病毒在卡20以外的潜在传播,电路204可禁止电路204外部的系统200中的一个或多个实体(例如,一个或多个进程31)访问一个或多个部分226A和/226N、和/或一个或多个分组212(和/或执行可包含在其中的一个或多个病毒)。有利的是,这可防止网络接口控制器电路204经由网络16接收的一个或多个病毒被存储在系统200中的系统存储器21和/或大容量存储器(未示出)中,和/或由系统实施例执行。
另外,如果作为操作302的结果,电路208和/或204确定一个或多个签名230与至少一个病毒相关联,则电路208和/或204可检查一个或多个分组212中所包含的报头和/或网络流信息,并可至少部分基于这样的信息来确定经由网络16将一个或多个分组212发送给系统200的源(例如,主机14)。
作为替代或者除此之外,电路204能够生成一个或多个分组并经由网络16将其发送给主机(例如,主机18)。在该配置中,一个或多个分组212可旨在由电路204经由网络16发给主机18。在从电路204发送一个或多个分组212到网络16之前,电路204可将一个或多个分组212存储在存储器206中。电路208可基本上按照前述的方式至少部分基于存储器206中所存储的一个或多个分组212的一个或多个部分(例如,一个或多个部分226A和/或226N)生成一个或多个签名230。
在该配置中,之后,电路204和/或208可基本上按照前述的方式执行操作302。如操作304所示,之后,如果作为操作302的结果,电路204和/或208至少部分确定一个或多个签名230与至少一个病毒相关联,则电路204可向一个或多个进程23和/或主机处理器12至少部分发出一条或多条消息210。如操作306所示,这一条或多条消息210可由一个或多个进程23和/或主机处理器12接收。
之后,至少部分响应于主机处理器12和/或一个或多个进程12对一条或多条消息210的接收,主机处理器12和/或一个或多个进程23可检查一个或多个相应分组214A和/或214N的一个或多个相应的部分226A和/或226N来确定一个或多个相应部分226A和/或226N是否至少部分包含至少一个病毒。在本实施例中,作为操作308的一部分,主机处理器12和/或一个或多个进程23可检查一个或多个部分226A和/或226N、和/或一个或多个分组212来确定,数据库25中的相应元组中与一个或多个相应病毒相关联的相应的附加准则中的哪一个可被一个或多个部分226A和/或226N、和/或一个或多个分组212满足。作为操作308的结果,如果这样满足相应的附加准则,则处理器12和/或一个或多个进程23可确定一个或多个部分226A和/或226N包含与这样的相应的附加准则相关联的一个或多个相应的病毒。之后,一个或多个进程23和/或主机处理器12可向一个或多个操作系统进程31发信号。这可导致主机处理器12对一个或多个进程31的执行的修改,使得一个或多个操作可由主机处理器12执行,这可导致例如系统200的人工操作员被告知在一个或多个分组212中检测到至少一个病毒和/或提示该操作员授权系统200采取行动来修正这种状况。这样的修正行动可包括,例如防止电路204将一个或多个部分226A和/或226N发送到网络16和/或主机14,和/或进一步扫描系统200中所存储的数据以确定是否有一个或多个病毒存在于这样的数据中。
因此,总之,一个系统实施例可包括包含总线接口的电路板和能够被插入总线接口的电路卡。电路卡可包含能够至少部分确定是否有至少部分基于一个或多个相应分组的一个或多个相应部分的至少一个签名与至少一个病毒相关联的网络接口控制器电路。
有利的是,在本系统实施例中,网络接口控制器电路能够检测网络接口控制器电路经由网络接收的一个或多个病毒。而且有利的是,在本系统实施例中,网络接口控制器电路能够防止网络接口控制器电路经由网络接收的一个或多个病毒被存储在主机的系统存储器和/或大容量存储器中,和/或由系统实施例执行。还有利的是,在本系统实施例中,网络接口控制器电路能够确定经由网络将一个或多个病毒发送给网络接口控制器电路的一个或多个病毒的源。另外有利的是,在本系统实施例中,网络接口控制器电路也能够检测一个或多个病毒的存在和/或防止网络接口控制器电路经由网络将一个或多个病毒发送给网络和/或主机。
此处所采用的术语和表达按照描述而非限制地使用,且在对这样的术语和表达的使用中不旨在排除所示和所述的特征的任何等效物(或其部分),且可以认识到,各种修改、变化、替换和等效实施方式在权利要求书的范围内是可能的。从而,权利要求书旨在覆盖所有这样的修改、变化、替换和等效实施方式。

Claims (14)

1.一种由系统中的网络接口控制器电路进行病毒检测的方法,包括:
至少部分由网络接口控制器电路确定是否有至少部分基于一个或多个分组的一个或多个相应的部分的至少一个签名与至少一个病毒相关联,其中所述的一个或多个分组可以被接收以用于转发给系统中的一个或多个实体和/或被所述一个或多个实体所访问,并且/或者所述一个或多个相应分组可以由系统经网络发送;
如果所述网络接口控制器电路至少部分确定所述至少一个签名与所述至少一个病毒相关联,则所述方法还包括从所述网络接口电路至少部分发出指示所述至少一个签名与所述至少一个病毒相关联的一条或多条消息;
在所述网络接口控制器电路外部的一个或多个实体处接收所述一条或多条消息;以及
至少部分响应于所述一条或多条消息的接收,由所述一个或多个实体至少部分检查所述一个或多个相应分组的所述一个或多个相应部分来确定所述一个或多个部分是否至少部分包含所述至少一个病毒。
2.如权利要求1所述的方法,其特征在于:
所述网络接口控制器电路能够至少部分从所述一个或多个实体接收与所述至少一个病毒相关联的一个或多个签名;以及
所述网络接口控制器电路能够将所述一个或多个签名与所述至少一个签名进行比较。
3.如权利要求2所述的方法,其特征在于:
所述网络接口控制器电路能够在所述检查之前防止所述一个或多个相应分组的一个或多个相应的部分被转发给一个或多个其它实体和/或由其访问。
4.一种用于病毒检测的装置,包括:
一个或多个实体;和
网络接口控制器电路,其能够经网络接收一个或多个分组,用于转发给一个或多个实体和/或被所述一个或多个分组所访问,并且/或者能够经由网络发送一个或多个分组,所述网络接口控制器电路还能够至少部分确定是否有至少部分基于一个或多个分组的一个或多个相应部分的至少一个签名与至少一个病毒相关联;其中,
如果所述网络接口控制器电路至少部分确定所述至少一个签名与所述至少一个病毒相关联,则所述网络接口控制器也能够从所述网络接口电路中至少部分发出指示所述至少一个签名与所述至少一个病毒相关联的一条或多条消息,并且所述一个或多个实体能够接收所述一条或多条消息,所述一个或多个实体还能够至少部分响应于对所述一条或多条消息的接收至少部分检查所述一个或多个相应分组的所述一个或多个相应部分,以确定所述一个或多个分组的一个或多个相应部分是否至少部分包含所述至少一个病毒。
5.如权利要求4所述的装置,其特征在于:
所述网络接口控制器电路能够至少部分从所述一个或多个实体接收与所述至少一个病毒相关联的一个或多个签名;以及
所述网络接口控制器电路能够将所述一个或多个签名与所述至少一个签名进比较。
6.如权利要求5所述的装置,其特征在于:
所述网络接口控制器电路能够在所述一个或多个实体对所述一个或多个相应的分组的检查之前防止所述一个或多个相应的分组的一个或多个相应的部分被转发给一个或多个其它实体和/或由其访问。
7.一种用于病毒检测的系统,包括:
电路板,其包含总线接口和一个或多个实体;以及
电路卡,其可被插入所述总线接口,所述电路卡包括网络接口控制器电路,所述网络接口控制器电路能够经网络接收一个或多个分组,用于转发给一个或多个实体和/或被所述一个或多个分组所访问,并且/或者能够经由网络发送一个或多个分组,所述网络接口控制器电路还能够至少部分确定是否有至少部分基于一个或多个分组的一个或多个相应部分的至少一个签名与至少一个病毒相关联。
8.如权利要求7所述的系统,其特征在于:
所述电路板包括所述总线接口经其被耦合至处理器的总线。
9.如权利要求7所述的系统,其特征在于:
协议卸载引擎包含所述网络接口控制器电路。
10.如权利要求7所述的系统,其特征在于:
所述一个或多个相应部分包含一个分组的一部分和另一分组的另一部分。
11.如权利要求7所述的系统,其特征在于:
所述至少一个签名包含所述一个或多个相应部分中所包含的符号和/或值的序列。
12.如权利要求7所述的系统,其特征在于:
所述至少一个签名包含至少一个循环冗余校验值。
13.如权利要求7所述的系统,其特征在于:
所述网络接口控制器电路还能够至少部分确定所述一个或多个相应接收到的分组的源。
14.如权利要求13所述的系统,其特征在于:
所述源包括主机。
CNB2005800160921A 2004-05-21 2005-04-29 网络接口控制器电路 Active CN100444076C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/851,341 US20050259678A1 (en) 2004-05-21 2004-05-21 Network interface controller circuitry
US10/851,341 2004-05-21

Publications (2)

Publication Number Publication Date
CN1957308A CN1957308A (zh) 2007-05-02
CN100444076C true CN100444076C (zh) 2008-12-17

Family

ID=34968382

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800160921A Active CN100444076C (zh) 2004-05-21 2005-04-29 网络接口控制器电路

Country Status (6)

Country Link
US (1) US20050259678A1 (zh)
CN (1) CN100444076C (zh)
DE (1) DE112005000932T5 (zh)
GB (1) GB2431551B (zh)
TW (1) TWI282491B (zh)
WO (1) WO2005116796A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447795B2 (en) * 2001-04-11 2008-11-04 Chelsio Communications, Inc. Multi-purpose switching network interface controller
US8185943B1 (en) 2001-12-20 2012-05-22 Mcafee, Inc. Network adapter firewall system and method
US7761605B1 (en) * 2001-12-20 2010-07-20 Mcafee, Inc. Embedded anti-virus scanner for a network adapter
US7945705B1 (en) * 2004-05-25 2011-05-17 Chelsio Communications, Inc. Method for using a protocol language to avoid separate channels for control messages involving encapsulated payload data messages
US7660264B1 (en) 2005-12-19 2010-02-09 Chelsio Communications, Inc. Method for traffic schedulign in intelligent network interface circuitry
US7660306B1 (en) 2006-01-12 2010-02-09 Chelsio Communications, Inc. Virtualizing the operation of intelligent network interface circuitry
US7715436B1 (en) 2005-11-18 2010-05-11 Chelsio Communications, Inc. Method for UDP transmit protocol offload processing with traffic management
US7616563B1 (en) 2005-08-31 2009-11-10 Chelsio Communications, Inc. Method to implement an L4-L7 switch using split connections and an offloading NIC
US7724658B1 (en) 2005-08-31 2010-05-25 Chelsio Communications, Inc. Protocol offload transmit traffic management
US7760733B1 (en) 2005-10-13 2010-07-20 Chelsio Communications, Inc. Filtering ingress packets in network interface circuitry
US20080059811A1 (en) * 2006-09-06 2008-03-06 Ravi Sahita Tamper resistant networking
WO2008055156A2 (en) 2006-10-30 2008-05-08 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for detecting an anomalous sequence of function calls
US8935406B1 (en) 2007-04-16 2015-01-13 Chelsio Communications, Inc. Network adaptor configured for connection establishment offload
US8060644B1 (en) 2007-05-11 2011-11-15 Chelsio Communications, Inc. Intelligent network adaptor with end-to-end flow control
US8589587B1 (en) 2007-05-11 2013-11-19 Chelsio Communications, Inc. Protocol offload in intelligent network adaptor, including application level signalling
US7826350B1 (en) 2007-05-11 2010-11-02 Chelsio Communications, Inc. Intelligent network adaptor with adaptive direct data placement scheme
US7831720B1 (en) 2007-05-17 2010-11-09 Chelsio Communications, Inc. Full offload of stateful connections, with partial connection offload
US8555380B2 (en) * 2008-02-28 2013-10-08 Intel Corporation Automatic modification of executable code
US8468356B2 (en) * 2008-06-30 2013-06-18 Intel Corporation Software copy protection via protected execution of applications
US9086913B2 (en) * 2008-12-31 2015-07-21 Intel Corporation Processor extensions for execution of secure embedded containers
DE102011084740A1 (de) * 2011-10-19 2013-04-25 Robert Bosch Gmbh Verfahren zum Verarbeiten eines Datenpakets
WO2013165368A1 (en) * 2012-04-30 2013-11-07 Hewlett-Packard Development Company, L.P. Network access apparatus having a control module and a network access module
US9268707B2 (en) 2012-12-29 2016-02-23 Intel Corporation Low overhead paged memory runtime protection
US10681145B1 (en) * 2014-12-22 2020-06-09 Chelsio Communications, Inc. Replication in a protocol offload network interface controller
US11025752B1 (en) 2015-07-20 2021-06-01 Chelsio Communications, Inc. Method to integrate co-processors with a protocol processing pipeline
WO2019040771A1 (en) * 2017-08-24 2019-02-28 Pensando Systems Inc. METHODS AND SYSTEMS FOR NETWORK SECURITY

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993022723A1 (en) * 1992-04-28 1993-11-11 Multi-Inform A/S Network adaptor connected to a computer for virus signature recognition in all files on a network
US5319776A (en) * 1990-04-19 1994-06-07 Hilgraeve Corporation In transit detection of computer virus with safeguard
WO2000028420A1 (en) * 1998-11-09 2000-05-18 Symantec Corporation Antivirus accelerator for computer networks
WO2002019109A1 (en) * 2000-08-29 2002-03-07 Netrake Corporation Method for inoculating infected email
CN1444742A (zh) * 2000-05-28 2003-09-24 梅耶·亚隆 针对不良程序窃取信息和破坏行为的通用综合性计算机安全防护系统与方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960170A (en) * 1997-03-18 1999-09-28 Trend Micro, Inc. Event triggered iterative virus detection
US6347375B1 (en) * 1998-07-08 2002-02-12 Ontrack Data International, Inc Apparatus and method for remote virus diagnosis and repair
CA2396509A1 (en) * 2000-01-12 2001-07-19 Avis Gustason Methods and systems for multimedia education
US7043757B2 (en) * 2001-05-22 2006-05-09 Mci, Llc System and method for malicious code detection
US7310817B2 (en) * 2001-07-26 2007-12-18 Mcafee, Inc. Centrally managed malware scanning
US6892241B2 (en) * 2001-09-28 2005-05-10 Networks Associates Technology, Inc. Anti-virus policy enforcement system and method
US7080408B1 (en) * 2001-11-30 2006-07-18 Mcafee, Inc. Delayed-delivery quarantining of network communications having suspicious contents
US7188369B2 (en) * 2002-10-03 2007-03-06 Trend Micro, Inc. System and method having an antivirus virtual scanning processor with plug-in functionalities

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319776A (en) * 1990-04-19 1994-06-07 Hilgraeve Corporation In transit detection of computer virus with safeguard
WO1993022723A1 (en) * 1992-04-28 1993-11-11 Multi-Inform A/S Network adaptor connected to a computer for virus signature recognition in all files on a network
WO2000028420A1 (en) * 1998-11-09 2000-05-18 Symantec Corporation Antivirus accelerator for computer networks
CN1444742A (zh) * 2000-05-28 2003-09-24 梅耶·亚隆 针对不良程序窃取信息和破坏行为的通用综合性计算机安全防护系统与方法
WO2002019109A1 (en) * 2000-08-29 2002-03-07 Netrake Corporation Method for inoculating infected email

Also Published As

Publication number Publication date
GB2431551A (en) 2007-04-25
TWI282491B (en) 2007-06-11
DE112005000932T5 (de) 2007-06-14
CN1957308A (zh) 2007-05-02
TW200609706A (en) 2006-03-16
GB0625676D0 (en) 2007-02-07
GB2431551B (en) 2008-12-10
WO2005116796A1 (en) 2005-12-08
US20050259678A1 (en) 2005-11-24

Similar Documents

Publication Publication Date Title
CN100444076C (zh) 网络接口控制器电路
JP4320013B2 (ja) 不正処理判定方法、データ処理装置、コンピュータプログラム、及び記録媒体
US8732453B2 (en) Secure acknowledgment device for one-way data transfer system
US7623450B2 (en) Methods and apparatus for improving security while transmitting a data packet
US20080134332A1 (en) Method and apparatus for reduced redundant security screening
US7484244B2 (en) Apparatus, method, and system for virus detection
JP2007512585A (ja) 電子メールメッセージの悪用を防止する方法およびシステム
CN112437920A (zh) 异常检测装置和异常检测方法
CN106855815B (zh) 设备管理装置、设备管理系统和验证方法
US10289510B1 (en) Intelligent platform management interface functional fuzzer
US9241048B2 (en) Mechanism for processing network event protocol messages
US20050076287A1 (en) System and method for checksum offloading
CN116204214A (zh) Bmc升级方法、装置、系统、电子设备及存储介质
US11032313B2 (en) Dynamic remote malware scanning
US7134070B2 (en) Checksum determination
JP2011138189A (ja) 通信装置及びプログラム
US20070150959A1 (en) Inter-process authentication via a copyrighted value
JP5618745B2 (ja) 通信装置、通信方法、及びプログラム
CN115941358B (zh) 漏洞挖掘方法、装置、终端设备及存储介质
KR100862903B1 (ko) 프로토콜 무결성 고속 검출 장치 및 검출 방법
KR20040076097A (ko) 홈 네트워크 개발용 에뮬레이팅 장치
CN110268479A (zh) 数据组的传输
JP5456636B2 (ja) ファイル収集監視方法、ファイル収集監視装置及びファイル収集監視プログラム
US20060133419A1 (en) Indication of an error in receive offload packets
US20230088671A1 (en) Inspection apparatus, inspection method and program

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