DE112005000932T5 - Netzwerkschnittstellen-Controllerschaltung - Google Patents

Netzwerkschnittstellen-Controllerschaltung Download PDF

Info

Publication number
DE112005000932T5
DE112005000932T5 DE112005000932T DE112005000932T DE112005000932T5 DE 112005000932 T5 DE112005000932 T5 DE 112005000932T5 DE 112005000932 T DE112005000932 T DE 112005000932T DE 112005000932 T DE112005000932 T DE 112005000932T DE 112005000932 T5 DE112005000932 T5 DE 112005000932T5
Authority
DE
Germany
Prior art keywords
network interface
interface controller
controller circuit
virus
elements
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.)
Ceased
Application number
DE112005000932T
Other languages
English (en)
Inventor
Dan Bearverton Gaur
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 DE112005000932T5 publication Critical patent/DE112005000932T5/de
Ceased legal-status Critical Current

Links

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

Verfahren, das umfaßt:
Feststellen, mindestens zum Teil durch eine Netzwerkschnittstellen-Controllerschaltung, ob mindestens eine Signatur, die mindestens zum Teil auf einen oder mehreren entsprechenden Abschnitten eines oder mehrerer entsprechender Pakete beruht, mit mindestens einem Virus in Verbindung steht.

Description

  • GEBIET DER ERFINDUNG
  • Die Offenbarung betrifft das Gebiet der Netzwerkschnittstellen-Controllerschaltung bzw. -Controllerschaltkreise.
  • STAND DER TECHNIK
  • In einer herkömmlichen Netzwerkanordnung ist ein Netzwerkschnittstellencontroller in einem Host oder Leitrechner mit einem Netzwerk verknüpft. Der Controller kann dazu in der Lage sein, in einen Betriebsmodus mit relativ geringem Stromverbrauch einzutreten, in dem der Energieverbrauch geringer sein kann, als wenn der Controller in einem Betriebsmodus mit relativ höherem Stromverbrauch arbeitet. Danach, wenn der Controller über das Netzwerk eine vorbestimmte Abfolge von Symbolen und/oder Werten empfängt, kann der Controller den Empfang der Abfolge erkennen, und kann in Reaktion auf den Empfang der Abfolge in den Betriebsmodus mit relativ höherem Stromverbrauch eintreten. Die vorbestimmte Abfolge kann statisch sein, oder ein Programmprozeß, der im Host ausgeführt wird, kann dazu fähig sein, die Abfolge zu verändern.
  • Des Weiteren wird bei dieser herkömmlichen Netzwerkanordnung durch einen Host-Prozessor im Host ein Viruserkennungsprogramm ausgeführt. Die Ausführung des Viruserkennungsprogramms durch den Host-Prozessor führt dazu, daß der Host-Prozessor Daten und Programmkode, die im Systemspeicher des Hosts und/oder einem Massenspeicher abgespeichert sind, untersucht, um festzustellen, ob die Daten und/oder der Programmkode eine oder mehrere vorbestimmte Abfolgen von Werten enthält, für die zuvor festgestellt worden ist, daß sie mit dem Vorhandensein eines oder mehrerer Viren in Zusammenhang stehen. Falls der Host-Prozessor diese eine oder diese Mehrzahl vorbestimmter Abfolgen in den Daten und/oder dem Programmkode entdeckt, kann der Host-Prozessor feststellen, daß ein oder mehrere Viren in den Daten und/oder dem Programmkode vorhanden sind, und kann Maßnahmen einleiten, um diesen Zustand zu korrigieren.
  • Falls die Daten und/oder der Programmkode, die im Host gespeichert sind, einen oder mehrere Viren enthalten, ist es wahrscheinlich, daß die Daten und/oder der Programmkode dem Host ursprünglich über das Netzwerk zugeführt worden sind. Leider gibt es bei dieser herkömmlichen Anordnung keinen Mechanismus am Netzwerkschnittstellencontroller zum Erkennen eines oder mehrerer Viren, die der Netzwerkschnittstellencontroller über das Netzwerk empfangen hat; des Weiteren gibt es bei dieser herkömmlichen Anordnung keinen Mechanismus, der verhindert, daß ein oder mehrere Viren, die der Netzwerkschnittstellencontroller über das Netzwerk empfangen hat, im Systemspeicher und/oder Massenspeicher des Hosts abgespeichert werden. Des Weiteren gibt es bei dieser herkömmlichen Anordnung im Host keinen Mechanismus zum Ermitteln einer Quelle des einen oder der Mehrzahl von Viren, die den einen oder die Mehrzahl von Viren über das Netzwerk zum Host übertragen hat.
  • Des Weiteren kann der eine oder die Mehrzahl von Viren durch den Host-Prozessor ausgeführt werden, nachdem ein oder mehrere Viren im Systemspeicher und/oder Massenspeicher des Hosts abgespeichert worden sind, sofern der eine oder die Mehrzahl von Viren nicht vom Host entfernt wird, bevor sie durch den Host-Prozessor ausgeführt wird. Dies kann unter anderem dazu führen, daß der Netzwerkschnittstellencontroller den einen oder die Mehrzahl von Viren über das Netzwerk auf andere Hosts überträgt. Leider ist der Netzwerkschnittstellencontroller bei diesem herkömmlichen Netzwerk nicht dazu fähig, das Vorhandensein eines oder mehrerer Viren in Daten und/oder Programmkode, die durch den Netzwerkschnittstellencontroller über das Netzwerk weitergeleitet werden sollen, zu erkennen und/oder die Übertragung eines oder mehrerer Viren in Daten und/oder Programmkode, die durch den Netzwerkschnittstellencontroller über das Netzwerk weitergeleitet werden sollen, zu verhindern.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Merkmale und Vorteile von Ausführungsformen des beanspruchten Gegenstands der Erfindung werden anhand der nun folgende ausführliche Beschreibung, sowie durch Bezugnahme auf die Zeichnungen, in denen dieselben Bezugsziffern gleichartige Komponenten darstellen, deutlich werden, wobei:
  • 1 ein Netzwerk abbildet, das eine Systemausführungsform enthält.
  • 2 die Systemausführungsform abbildet, die das Netzwerk von 1 enthält.
  • 3 ein Ablaufdiagramm ist, das Vorgänge veranschaulicht, die gemäß einer Ausführungsform ausgeführt werden können.
  • Obwohl die folgende ausführliche Beschreibung unter Bezugnahme auf veranschaulichende Ausführungsformen erfolgt, sind für Fachleute viele Alternativen, Abänderungen und Variationen davon augenscheinlich. Demgemäß ist beabsichtigt, daß der beanspruchte Gegenstand der Erfindung umfassend betrachtet wird, und daß er ausschließlich dadurch definiert ist, wie in den beiliegenden Ansprüchen dargelegt ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 zeigt eine Ausführungsform eines Netzwerks 10. Netzwerk 10 kann Leitrechner oder Hosts 12, 14 und 18 aufweisen, die über das Netzwerk 16 kommunikativ miteinander verbunden sind. Wie hierin verwendet, wird eine erste Vorrichtung als mit einer zweiten Vorrichtung „kommunikativ verbunden" betrachtet, wenn die erste Vorrichtung dazu fähig ist, ein oder mehrere Signale, die ein oder mehrere Pakete kodieren und/oder darstellen können, von der zweiten Vorrichtung zu empfangen, oder solche Signale auf die zweite Vorrichtung zu übertragen. Das Netzwerk 16 kann zum Beispiel ein oder mehrere lokale Netzwerke und/oder ein oder mehrere Weitverkehrsnetze aufweisen. Die Hosts 12, 14 und/oder 18 können dazu fähig sein, in Übereinstimmung mit einem oder mehreren Übertragungsprotokollen über das Netzwerk 16 ein oder mehrere Pakete untereinander auszutauschen. Dieses eine oder diese Mehrzahl von Übertragungsprotokollen können zum Beispiel ein Ethernet-Protokoll und/oder ein TCP/IP-Protokoll (Übertragungssteuerungsprotokoll/Internetprotokoll) umfassen. Wenn dieses eine oder diese Mehrzahl von Übertragungsprotokollen zum Beispiel ein Ethernet-Protokoll umfassen, kann das Ethernet-Protokoll mit dem Protokoll, das im Standard 802.3, Ausgabe 2000, veröffentlicht am 20. Oktober 2000 vom Institut für Elektrik- und Elektronikingenieure, Inc. (IEEE), beschrieben ist, kompatibel sein, oder mit diesem übereinstimmen. Wenn die Hosts 12, 14 und/oder 18 dazu fähig sind, untereinander über das Netzwerk 16 ein oder mehrere Pakete in Übereinstimmung mit dem TCP/IP-Protokoll auszutauschen, kann dieses TCP/IP-Protokoll alternativ oder zusätzlich dazu den Protokollen entsprechen, die in den Bitten um Stellungnahme (RFC) 791 und 793, veröffentlicht im September 1981 von der Internet-Entwickler- Einsatzgruppe (IETF), beschrieben sind, oder mit diesen übereinstimmen. Ohne von dieser Ausführungsform abzuweichen, können die Hosts 12, 14 und/oder 18 natürlich dazu fähig sein, untereinander über das Netzwerk 16 ein oder mehrere Pakete in Übereinstimmung mit einem oder mehreren zusätzlichen und/oder anderen Übertragungsprotokollen auszutauschen.
  • Wie hierin verwendet, bedeutet „Paket" ein oder mehrere Symbole und/oder einen oder mehrere Werte. Ebenfalls wie hierin verwendet, versteht man unter „Host" eine Vorrichtung, die dazu fähig ist, einen oder mehrere logische Vorgänge und/oder einen oder mehrere arithmetische Vorgänge auszuführen.
  • 2 zeigt die Systemausführungsform 200, die der Host 12 aufweisen kann. Die Systemausführungsform 200 kann einen Host-Prozessor 12 umfassen, der mit einem Chipsatz 14 gekoppelt ist. Der Host-Prozessor 12 kann zum Beispiel einen Intel® Pentium® 4 Mikroprozessor aufweisen, der im Handel vom Rechtsnachfolger der gegenständlichen Anmeldung erhältlich ist. Natürlich kann der Host-Prozessor 12 alternativ dazu eine andere Art von Mikroprozessor, zum Beispiel einen Mikroprozessor, der von einer anderen Quelle als dem Rechtsnachfolger der gegenständlichen Anmeldung hergestellt worden und/oder im Handel erhältlich ist, aufweisen, ohne von dieser Ausführungsform abzuweichen.
  • Der Chipsatz 14 kann ein Host-Brücken/Hubsystem aufweisen, das den Host-Prozessor 12, den Systemspeicher 21 und das Benutzerschnittstellensystem 16 miteinander und mit einem Bussystem 22 verbindet. Der Chipsatz 14 kann auch ein Eingabe-Ausgabe(I/O)-Brücken/Hubsystem (nicht abgebildet) aufweisen, welches das Host-Brücken/Hubsystem mit dem Bus 22 verbinden kann. Der Chipsatz 14 kann Chips mit integrierte Leiterplatten, zum Beispiel jene, die aus Sätzen von integrierten Leitplatten, die im Handel vom Rechtsnachfolger der gegenständlichen Anmeldung erhältlich sind, ausgewählt sind (z.B. Grafikspeicher und I/O-Steuerungshub-Chipsätze), aufweisen, obwohl auch, oder alternativ dazu, andere integrierte Leiterplatten verwendet werden können. Das Benutzerschnittstellensystem 16 kann zum Beispiel eine Tastatur, ein Zeigegerät und ein Anzeigesystem aufweisen, die es einem menschlichen Benutzer ermöglichen, Befehle in das System 200 einzugeben und den Betrieb des Systems 200 zu überwachen.
  • Der Bus 22 kann einen Bus aufweisen, welcher der Peripheral Component Interconnect (PCI = Schnittstelle für periphere Komponenten) Localbus-Spezifikation, Neuregelung 2.2, 18. Dezember 1998, erhältlich von der PCI Special Interest Group (Gruppe mit besonderem Interesse für PCI) in Portland, Oregon, USA, entspricht (im Folgenden bezeichnet als „PCI-Bus"). Alternativ dazu kann Bus 22 statt dessen einen Bus aufweisen, welcher der PCI-X-Spezifikation, Rev. 1.0a, 24. Juli 2000, erhältlich von der oben genannten PCI Special Interest Group in Portland, Oregon, USA, entspricht (im Folgenden bezeichnet als „PCI-X-Bus"). Alternativ dazu kann Bus 22 auch andere Arten und Anordnungen von Bussystemen aufweisen.
  • Prozessor 12, Systemspeicher 21, Chipsatz 14, Bus 22 und Leiterkartensteckplatz 30 können auf einer einzelnen Platine, zum Beispiel einer Systemhauptplatine 32, angeordnet sein. Der Leiterkartensteckplatz 30 kann einen PCI-Erweiterungssteckplatz, der eine PCI-Bus-Schnittstelle 36 aufweist, aufweisen. Die Schnittstelle 36 kann elektrisch und mechanisch mit einer PCI-Bus-Schnittstelle 34, welche die Leiterkarte 20 aufweist, gekoppelt sein. Steckplatz 30 und Karte 20 können so gestaltet sein, daß sie ein Einstecken der Karte 20 in den Steckplatz 30 erlauben. Ist die Karte 20 ordnungsgemäß in den Steckplatz 30 eingesteckt, können die Schnittstellen 34 und 36 elektrisch und mechanisch miteinander gekoppelt sein. Wenn die Schnittstellen 34 und 36 derart miteinander gekoppelt sind, wird eine Protokoll-Offload-Engine 202 in der Karte 20 elektrisch mit dem Bus 22 gekoppelt.
  • Wenn die Protokoll-Offload-Engine 202 elektrisch mit dem Bus 22 gekoppelt ist, kann der Host-Prozessor 12 über den Chipsatz 14 und den Bus 22 Daten und/oder Befehle mit der Engine 202 austauschen, wodurch es dem Host-Prozessor 12 möglich wird, den Betrieb der Engine 202 zu steuern und/oder zu überwachen. Die Protokoll-Offload-Engine 202 kann Netzwerkschnittstellen-Controller(NIC)-Schaltkreise 204 aufweisen. Die NIC-Schaltkreise 204 können einen Speicher 206 und Verarbeitungsschaltkreise 208 aufweisen. Wie hierin verwendet, können „Schaltkreise" einzeln oder in beliebiger Kombination zum Beispiel analoge Schaltkreise, digitale Schaltkreise, festverdrahtete Schaltkreise, programmierbare Schaltkreise, Zustandsmaschinenschaltkreise und/oder Speicher, der Programmbefehle, die durch programmierbare Schaltkreise ausgeführt werden können, aufweisen kann, aufweisen.
  • Der Speicher 21 und/oder der Speicher 206 können computerlesbaren Nur-Lese-Speicher, Massenspeicher und/oder Direktzugriffs-Speicher aufweisen. Im Betrieb kann der Speicher 21 einen oder mehrere Viruserkennungs- und/oder Viruskorrekturprogrammprozesse 23 und einen oder mehrere Betriebssystemprogrammprozesse 31 speichern. Jeder der Programmprozesse 23 und 31 kann einen oder mehrere Programmbefehle, die durch den Prozessor 12 ausgeführt werden können, und/oder eine oder mehrere Datenstrukturen, auf die mit dem Prozessor 12 zugegriffen, mit denen der Prozessor 12 betrieben werden und/oder die der Prozessor 12 beeinflussen kann, aufweisen. Das Ausführen dieser Programmbefehle und/oder das Zugreifen auf, das Betrieben werden mit und/oder das Beeinflussen dieser Datenstrukturen durch den Prozessor 12 kann zum Beispiel dazu führen, daß der Prozessor 12 Vorgänge ausführt, die dazu führen, daß der Prozessor 12, das System 200 und/oder der Host 12 die Vorgänge, deren Ausführung durch Prozessor 12, System 200 und/oder Host 12 hierin beschrieben ist, ausführen.
  • Ohne von dieser Ausführungsform abzuweichen, kann/können die gesamte Engine 202 und/oder Schaltkreise 204, oder ein Abschnitt davon, statt in der Karte 20 auch in anderen Strukturen, Systemen und/oder Vorrichtungen, die zum Beispiel eine Hauptplatine 32, die mit dem Bus 22 gekoppelt ist und Daten und/oder Befehle mit anderen Komponenten des Systems 200 austauscht, aufweist, eingeschlossen sein. Ohne von dieser Ausführungsform abzuweichen kann der Chipsatz 14 zum Beispiel einen oder mehrere integrierte Schaltkreise aufweisen, welche die gesamte/n Engine 202 und/oder Schaltkreise 204, oder einen Abschnitt davon, aufweisen können. Andere Abänderungen sind ebenfalls möglich ohne von dieser Ausführungsform abzuweichen.
  • Ebenso kann der Speicher 206 zusätzlich oder alternativ dazu im Betrieb einen oder mehrere Programmprozesse (nicht abgebildet) speichern. Jeder der Programmprozesse kann einen oder mehrere Programmbefehle, die durch die Engine 202, die Schaltkreise 204 und/oder die Schaltkreise 208 ausgeführt werden können, und/oder eine oder mehrere Datenstrukturen, auf die durch die Engine 202, die Schaltkreise 204 und/oder die Schaltkreise 208 zugegriffen werden kann, die mit diesen betrieben werden können und/oder durch diese beeinflußt werden können, aufweisen. Das Ausführen dieser Programmbefehle und/oder das Zugreifen auf, Betrieben werden mit und/oder Beeinflussen dieser Datenstrukturen durch die Engine 202, die Schaltkreise 204 und/oder die Schaltkreise 208 kann zum Beispiel dazu führen, daß der Prozessor 12 Vorgänge ausführt, die dazu führen können, daß die Engine 202, die Schaltkreise 204 und/oder die Schaltkreise 208 die Vorgänge, deren Ausführung durch die Engine 202, die Schaltkreise 204 und/oder die Schaltkreise 208 hierin beschrieben ist, ausführen.
  • In dieser Ausführungsform kann die Karte 20 kommunikativ mit dem Netzwerk 16 verbunden sein. Die Karte 20 kann dazu fähig sein, über das Netzwerk 16 ein oder mehrere Pakete mit dem Host 14 und/oder dem Host 18 auszutauschen.
  • Unter besonderer Bezugnahme auf 3 werden nun Vorgänge 300, die im System 200 und/oder im Netzwerk 10 gemäß einer Ausführungsform ausgeführt werden können, beschrieben. Zum Beispiel nach einem Zurücksetzen des Systems 200 und/oder der Karte 20 kann der Host 14 dem Host 12 über das Netzwerk 16 ein oder mehrere Pakete 212 übermitteln. Ein oder mehrere Pakete 212 können ein oder mehrere Pakete 214A oder eine Mehrzahl von Paketen 214A ... 214N aufweisen.
  • Ein oder mehrere Pakete 212 können durch die Karte 20 aus dem Netzwerk 16 empfangen werden. Danach können die Schaltkreise 208, mindestens zum Teil beruhend auf einem oder mehreren Abschnitten 226A eines oder mehrerer Pakete 214A, eine oder mehrere Signaturen 230 erzeugen. Wie hierin verwendet bedeutet "Signatur" einen Satz aus einem oder mehreren Symbolen und/oder einem oder mehreren Werten, erzeugt mindestens zum Teil beruhend auf einem Satz aus einem oder mehreren Symbolen und/oder einem oder mehreren Werten. In dieser Ausführungsform können die eine oder die Mehrzahl von Signaturen 230 zum Beispiel eine Abfolge aus einem oder mehreren Symbolen und/oder einem oder mehreren Werten, die in einem oder mehreren Abschnitten 226A enthalten sind, aufweisen (zum Beispiel eine Teilmenge der Abfolge aus einem oder mehreren Symbolen und/oder einem oder mehreren Werten, die in einem oder mehreren Abschnitten 226A enthalten sind). Alternativ oder zusätzlich dazu können eine oder mehrere Signaturen 230 zum Beispiel einen oder mehrere zyklische Redundanzprüfungs-(CRC)-Werte, erzeugt mindestens zum Teil beruhend auf einem oder mehreren Abschnitten 226A und einem oder mehreren CRC-Algorithmen, aufweisen. Wie hierin verwendet umfaßt ein „Abschnitt" eines Elements entweder einen Teil des oder die Gesamtheit des Elements.
  • In dieser Ausführungsform können die Schaltkreise 208 zum Beispiel eine oder mehrere Signaturen 230 gemäß einem oder mehreren Signaturerzeugungsalgorithmen, die mit einem oder mehreren Viren in Verbindung stehen, erzeugen. Dieser eine oder diese Mehrzahl von Signaturerzeugungsalgorithmen kann zum Beispiel einen oder mehrere entsprechende Abschnitte (zum Beispiel einen oder mehrere Abschnitte 226A und/oder 226N, und/oder die ent sprechenden Größen eines oder mehrerer Abschnitte 226A und/oder 226N) eines oder mehrerer Pakete 212 bestimmen, bei denen ein oder mehrere entsprechende Sätze aus einem oder mehreren logischen Vorgängen, einem oder mehreren arithmetischen Vorgängen und/oder einer oder mehreren anderen Formen von Datenbeeinflussung (zum Beispiel Kettenentfernung) auszuführen sind, um eine oder mehrere Signaturen 230 zu erzeugen. Dieser eine oder diese Mehrzahl von Algorithmen kann empirisch derart ermittelt werden, daß eine oder mehrere Signaturen 230, die durch den einen oder die Mehrzahl von Algorithmen erzeugt worden sind, einer oder mehreren vorbestimmten Signaturen 27, für die zuvor festgestellt worden ist, daß sie mit dem Vorhandensein eines oder mehrerer Viren in Verbindung stehen, entsprechen, falls der eine oder die Mehrzahl von Abschnitten eines oder mehrerer Pakete 212, die in dem einen oder der Mehrzahl von Signaturerzeugungsalgorithmen bestimmt worden ist, einen oder mehrere Viren aufweisen.
  • Zum Beispiel können eine oder mehrere Signaturen 27 eine oder mehrere Ketten aufweisen, für die zuvor durch vorherige empirische Überprüfung (zum Beispiel eines oder mehrerer Pakete durch einen oder mehrere Viruserkennungsprogrammprozesse) festgestellt worden ist, daß sie das Vorhandensein eines oder mehrerer Viren bedeuten. In diesem Beispiel kann der eine oder die Mehrzahl von Algorithmen das Überprüfen eines oder mehrerer Pakete 212 umfassen, um festzustellen, ob ein oder mehrere Abschnitte (zum Beispiel ein oder mehrere Abschnitte 226A und/oder 226N) eines oder mehrerer Pakete 212 diese eine oder diese Mehrzahl von Ketten aufweisen, und falls ein oder mehrere Pakete 212 diese eine oder diese Mehrzahl von Ketten aufweisen, kann dieser eine oder diese Mehrzahl von Algorithmen als eine oder mehrere Signaturen 230 das Entfernen dieser einen oder dieser Mehrzahl von Ketten aus einem oder mehreren Paketen 212, zum Beispiel aus einem Abschnitt 226A eines Pakets 214A und aus einem anderen Abschnitt 226N eines anderen Pakets 214N, umfassen. Alternativ oder zusätzlich dazu kann der eine oder die Mehrzahl von Algorithmen zum Beispiel das Erzeugen eines oder mehrerer CRC-Prüfsummenwerte für ein oder mehrere Pakete 212, ein oder mehrere Pakete 214A und/oder 214N und/oder einen oder mehrere Abschnitte 226A und/oder 226N umfassen.
  • Bei dieser Ausführungsform kann ein Virus einen oder mehrere Befehle umfassen, die, wenn sie durch eine Maschine (wie zum Beispiel einen Computer und/oder einen Prozessor) ausgeführt werden, dazu führen können, daß die Maschine einen oder mehrere Vorgänge, wie zum Beispiel einen oder mehrere böswillige und/oder unberechtigte Vorgänge, ausführt, deren Ausführung für einen menschlichen Bediener und/oder Benutzer der Maschine unerwünscht ist. Alternativ oder zusätzlich dazu kann bei dieser Ausführungsform ein Virus Daten umfassen, die, wenn durch eine Maschine auf sie zugegriffen wird und/oder sie durch eine Maschine beeinflußt werden, dazu führen können, daß die Maschine einen oder mehrere Vorgänge ausführt, deren Ausführung für einen menschlichen Bediener und/oder Benutzer der Maschine unerwünscht ist. Des Weiteren können bei dieser Ausführungsform eine oder mehrere vorbestimmte Signaturen 27 eine Mehrzahl von vorbestimmten Signaturen 29A ... 29N umfassen. Jede der Signaturen 29A ... 29N kann mit einem entsprechenden Virus (zum Beispiel mit dessen Vorhandensein) in Verbindung stehen.
  • Bei dieser Ausführungsform kann der Speicher 21 eine Virusdefinitionsdatenbank 25 speichern, und/oder ein oder mehrere Prozesse 23 können eine solche umfassen. Die Datenbank 25 kann einen oder mehrere Tupel (nicht abgebildet) aufweisen. Der eine oder die Mehrzahl von Tupeln können eine entsprechende der einen oder der Mehrzahl von Signaturen 27, einen oder mehrere entsprechende Viren, mit denen die jeweiligen Signaturen 27 in Verbindung stehen, einen oder mehrere entsprechende Signaturerzeugungsalgorithmen und einen oder mehrere entsprechende zusätzliche Hinweise, die anzeigen können, ob der eine oder die Mehrzahl entsprechender Viren in einem oder mehreren Abschnitten eines oder mehrerer Pakete 212 vorhanden sind. Die Schaltkreise 208 können gemäß diesem einen oder dieser Mehrzahl von Signaturerzeugungsalgorithmen eine oder mehrere Signaturen 230 erzeugen, und können die eine oder die Mehrzahl von Signaturen 230 mit der einen oder der Mehrzahl von Signaturen 27, die mit diesem einen oder dieser Mehrzahl entsprechender Signaturerzeugungsalgorithmen in Verbindung stehen, vergleichen.
  • Bei dieser Ausführungsform kann, bevor die Schaltkreise 208 eine oder mehrere Signaturen 230 erzeugen, mindestens ein Abschnitt der Daten, die in der Datenbank 25 und/oder vorbestimmten Signaturen 29A ... 29N enthalten sind, vom Host 18 über das Netzwerk 16 auf das System 200 übertragen werden. Ohne von dieser Ausführungsform abzuweichen können natürlich auch andere Verfahren verwendet werden, um die Datenbank 25 und/oder die vorbestimmten Signaturen 29A ... 29N im Speicher 21 und/oder in einem oder mehreren Prozessen 23 abzuspeichern. Bei dieser Ausführungsform kann, bevor die Schaltkreise 208 eine oder mehrere Signaturen 230 erzeugen, das Ausführen eines oder mehrerer Prozesse 23 durch den Prozessor 12 dazu führen, daß der eine oder die Mehrzahl vorbestimmter Signaturerzeugungsalgorithmen und/oder eine oder mehrere vorbestimmte Signaturen 27 vom Speicher 21 zu den Schaltkreisen 204 übertragen, und zur Verwendung durch die Schaltkreise 208, mindestens zum Teil für die Erzeugung einer oder mehrerer Signaturen 230, im Speicher 206 abgespeichert werden. Alternativ oder zusätzlich dazu kann, bevor die Schaltkreise 208 eine oder mehrere Signaturen 230 erzeugen, die Ausführung eines oder mehrerer Prozesse 23 durch den Prozessor 12 dazu führen, daß ein CRC-Startwert (seed value) vom Speicher 21 zu den Schaltkreisen 204 übertragen, und zur Verwendung durch die Schaltkreise 208, mindestens zum Teil für die Erzeugung einer oder mehrerer Signaturen 230, im Speicher 206 abgespeichert werden.
  • Nachdem die Schaltkreise 208 eine oder mehrere Signaturen 230 erzeugt haben, können die Schaltkreise 204 und/oder die Schaltkreise 208 mindestens zum Teil feststellen, ob mindestens eine Signatur (zum Beispiel eine oder mehrere Signaturen 230), die mindestens zum Teil auf einem oder mehreren entsprechenden Abschnitten 226A und/oder 226N eines oder mehrerer entsprechender Pakete 214A und/oder 214N beruhen, mit mindestens einem Virus in Verbindung steht, wie durch Vorgang 302 in 3 dargestellt. Bei dieser Ausführungsform können die Schaltkreise 208 und/oder die Schaltkreise 204 den Vorgang 302 ausführen, indem sie eine oder mehrere Signaturen 230 mit jeder der einen oder der Mehrzahl vorbestimmter Signaturen 27 vergleichen. Entsprechen eine oder mehrere der Signaturen 230 einer oder mehreren der einen oder der Mehrzahl vorbestimmter Signaturen 27, so können die Schaltkreise 208 und/oder 204 mindestens zum Teil als Ergebnis des Vorgangs 302 feststellen, daß eine oder mehrere der Signaturen 230 mit mindestens einem Virus in Verbindung stehen.
  • Falls mindestens zum Teil als Ergebnis des Vorgangs 302 die Schaltkreise 204 und/oder 208 feststellen, daß mindestens eine Signatur 230 mit mindestens einem Virus in Verbindung steht, können die Schaltkreise 204 zu einem oder mehreren Elementen außerhalb der Schaltkreise 204, wie zum Beispiel dem Host-Prozessor 12 und/oder einem oder mehreren Prozessen 23, eine oder mehrere Mitteilungen 210 ausgeben, die anzeigen können, daß eine oder mehrere Signaturen 230 mit mindestens einem Virus in Verbindung stehen, wie durch Vorgang 304 in 3 dargestellt. Der Host-Prozessor 12 und/oder ein oder mehrere Prozesse 23 können eine oder mehrere Mitteilungen 210 empfangen, wie durch Vorgang 306 in 3 dargestellt. Wie durch Vorgang 308 in 3 dargestellt, können dann der Host-Prozessor 12 und/oder ein oder mehrere Prozesse 23, mindestens zum Teil als Reaktion auf den Empfang der einen oder mehreren Mitteilungen 210 durch den Host-Prozessor 12 und/oder einen oder mehrere Prozesse 23, einen oder mehrere entsprechende Abschnitte 226A und/oder 226N eines oder mehrerer entsprechender Pakete 214A und/oder 214N untersuchen, um festzustellen, ob ein oder mehrere Abschnitte 226A und/oder 226N mindestens zum Teil mindestens einen Virus aufweisen. Bei dieser Ausführungsform können der Host-Prozessor 12 und/oder ein oder mehrere Prozesse 23 als Teil des Vorgangs 308 einen oder mehrere Abschnitte 226A und/oder 226N und ein oder mehrere Pakete 212 untersuchen, um festzustellen, welche der jeweiligen zusätzlichen Kriterien, die mit einem oder mehreren der jeweiligen Viren in Verbindung stehen, in den jeweiligen Tupeln in Datenbank 25 durch einen oder mehrere Abschnitte 226A und/oder 226N und/oder ein oder mehrere Pakete 212 erfüllt sind. Falls die jeweiligen zusätzlichen Kriterien derart erfüllt sind, können der Prozessor 12 und/oder ein oder mehrere Prozesse 23 als Ergebnis des Vorgangs 308 feststellen, daß ein oder mehrere Abschnitte 226A und/oder 226N einen oder mehrere der entsprechenden Viren, die mit den jeweiligen zusätzlichen Kriterien in Verbindung stehen, aufweisen. Dann können ein oder mehrere Prozesse 23 und/oder der Host-Prozessor 12 einem oder mehreren Betriebssystemsprozessen 31 Zeichen geben. Dies kann zu einer Abänderung der Ausführung eines oder mehrerer der Prozesse 31 durch den Host-Prozessor 12 führen, so daß durch den Host-Prozessor 12 ein oder mehrere Vorgänge ausgeführt werden können, die zum Beispiel dazu führen können, daß ein menschlicher Bediener des Systems 200 davon unterrichtet wird, daß mindestens ein Virus in einem oder mehreren Paketen 212 entdeckt worden ist, und/oder die den Bediener dazu auffordern, dem System 200 zu erlauben, Maßnahmen zu treffen, um diesen Zustand zu korrigieren.
  • Vor dem Ausführen des Vorgangs 308 können die Schaltkreise 204 im Speicher 206 einen oder mehrere Abschnitte 226A und/oder 226N und/oder ein oder mehrere Pakete 212 abspeichern. Um die mögliche Ausbreitung eines oder mehrerer Viren über die Karte 20 hinaus zu verhindern, können die Schaltkreise 204 einem oder mehreren Elementen (wie zum Beispiel einem oder mehreren Prozessen 31) im System 200 außerhalb der Schaltkreise 204 verbieten, auf einen oder mehrere Abschnitte 226A und/oder 226N und/oder ein oder mehrere Pakete 212 zuzugreifen (und/oder einen oder mehrere Viren, die darin enthalten sein können, auszuführen).
  • Vorteilhafterweise kann dies verhindern, daß ein oder mehrere Viren, welche die Netzwerkschnittstellen-Controllerschaltkreise 204 über das Netzwerk 16 empfangen haben, im Systemspeicher 21 und/oder dem Massenspeicher (nicht abgebildet) im System 200 abgespeichert und/oder durch die Systemausführungsform ausgeführt werden.
  • Falls die Schaltkreise 208 und/oder 204 als Ergebnis des Vorgangs 302 feststellen, daß eine oder mehrere Signaturen 230 mit mindestens einem Virus in Verbindung stehen, können die Schaltkreise 208 und/oder 204 zusätzlich dazu zum Beispiel Kopfinformationen und/oder Netzwerkströmungsinformationen, die in einem oder mehreren Paketen 212 enthalten sind, untersuchen, und können, mindestens zum Teil beruhend auf solchen Informationen, die Quelle (zum Beispiel Host 14), die ein oder mehrere Pakete 212 über das Netzwerk 16 zum System 200 übertragen hat, ermitteln.
  • Alternativ oder zusätzlich dazu können die Schaltkreise 204 dazu fähig sein, ein oder mehrere Pakete zu erzeugen und über das Netzwerk 16 zu einem Host (zum Beispiel dem Host 18) zu übermitteln. Bei dieser Anordnung können ein oder mehrere Pakete 212 dafür bestimmt sein, von den Schaltkreisen 204 über das Netzwerk 16 zum Host 18 ausgegeben zu werden. Bevor ein oder mehrere Pakete 212 von den Schaltkreisen 204 zum Netzwerk 16 übertragen werden, können die Schaltkreise 204 ein oder mehrere Pakete 212 im Speicher 206 abspeichern. Die Schaltkreise 208 können, im Wesentlichen in der zuvor beschriebenen Weise, mindestens zum Teil beruhend auf einem oder mehreren Abschnitten (zum Beispiel einem oder mehreren Abschnitten 226A und/oder 226N) eines oder mehrerer Pakete 212, die im Speicher 206 abgespeichert sind, eine oder mehrere Signaturen 230 erzeugen.
  • Danach können bei dieser Anordnung die Schaltkreise 204 und/oder 208 den Vorgang 302 im Wesentlichen in der zuvor beschriebenen Weise ausführen. Falls die Schaltkreise 204 und/oder 208 mindestens zum Teil als Ergebnis des Vorgangs 302 feststellen, daß eine oder mehrere Signaturen 230 mit mindestens einem Virus in Verbindung steht, können dann die Schaltkreise 204 mindestens zum Teil eine oder mehrere Mitteilungen 210 an einen oder mehrere Prozesse 23 und/oder den Host-Prozessor 12 ausgeben, wie durch Vorgang 304 dargestellt. Die eine oder die Mehrzahl an Mitteilungen können durch einen oder mehrere Prozesse 23 und/oder den Host-Prozessor 12 empfangen werden, wie durch Vorgang 306 dargestellt.
  • Danach können der Host-Prozessor 12 und/oder der eine oder die Mehrzahl an Prozessen 23, mindestens zum Teil als Reaktion auf den Empfang der einen oder mehreren Mitteilungen 210 am Host-Prozessor 12 und/oder dem einen oder der Mehrzahl von Prozessen 23, einen oder mehrere entsprechende Abschnitte 226A und/oder 226N eines oder mehrerer entsprechender Pakete 214A und/oder 214N untersuchen, um festzustellen, ob ein oder mehrere der entsprechenden Abschnitte 226A und/oder 226N mindestens zum Teil mindestens einen Virus aufweisen. Bei dieser Ausführungsform können der Host-Prozessor 12 und/oder der eine oder die Mehrzahl von Prozessen 23 als Teil des Vorgangs 308 einen oder mehrere Abschnitte 226A und/oder 226N und/oder ein oder mehrere Pakete 212 untersuchen, um zu ermitteln, welche der entsprechenden zusätzlichen Kriterien, die mit einem oder mehreren der entsprechenden Viren in Verbindung stehen, in den jeweiligen Tupeln in Datenbank 25 durch einen oder mehrere der Abschnitte 226A und/oder 226N und/oder ein oder mehrere der Pakete 212 erfüllt sein können. Falls die entsprechenden zusätzlichen Kriterien derart erfüllt sind, können der Prozessor 12 und/oder ein oder mehrere Prozesse 23 als Ergebnis des Vorgangs 308 feststellen, daß ein oder mehrere Abschnitte 226A und/oder 226N einen oder mehrere der entsprechenden Viren, die mit den jeweiligen zusätzlichen Kriterien in Verbindung stehen, aufweisen. Dann können ein oder mehrere Prozesse 23 und/oder der Host-Prozessor 12 einem oder mehreren Betriebssystemsprozessen 31 Zeichen geben. Dies kann zu einer Abänderung der Ausführung eines oder mehrerer der Prozesse 31 durch den Host-Prozessor 12 führen, so daß durch den Host-Prozessor 12 ein oder mehrere Vorgänge ausgeführt werden können, die zum Beispiel dazu (ihren können, daß ein menschlicher Bediener des Systems 200 davon unterrichtet wird, daß mindestens ein Virus in einem oder mehreren Paketen 212 entdeckt worden ist, und/oder die den Bediener dazu auffordern, dem System 200 zu erlauben, Maßnahmen zu treffen, um diesen Zustand zu komgieren. Solche Korrekturmaßnahmen können zum Beispiel das Verhindern der Übertragung eines oder mehrerer Abschnitte 226A und/oder 226N und/oder eines oder mehrerer Pakete 212 durch die Schaltkreise 204 auf des Netzwerk 16 und/oder den Host 14, und das weitere Abtasten von Daten, die im System 200 gespeichert sind, um zu ermitteln, ob ein oder mehrere Viren in diesen Daten vorhanden sind, umfassen.
  • Zusammengefaßt kann folglich eine Systemausführungsform eine Platine, die eine Busschnittstelle und eine Leiterkarte, die in die Busschnittstelle eingesteckt werden kann, aufweist, aufweisen. Die Leiterkarte kann Netzwerkschnittstellen-Controllerschaltkreise aufweisen, die mindestens zum Teil dazu fähig sind, zu ermitteln, ob mindestens eine Signatur, die mindestens zum Teil auf einem oder mehreren der entsprechenden Abschnitte eines oder mehrere der entsprechenden Pakete beruht, mit mindestens einem Virus in Verbindung steht.
  • Vorteilhafterweise können die Netzwerksschnittstellen-Controllerschaltkreise bei dieser Systemausführungsform dazu fähig sein, einen oder mehrere Viren, welche die Netzwerkschnittstellen-Controllerschaltkreise über das Netzwerk empfangen hat, zu erkennen. Ebenfalls können bei dieser Systemausführungsform die Netzwerkschnittstellen-Controllerschaltkreise vorteilhafterweise dazu fähig sein, zu verhindern, daß ein oder mehrere Viren, welche die Netzwerkschnittstellen-Controllerschaltkreise über das Netzwerk empfangen haben, im Systemspeicher und/oder im Massenspeicher des Hosts abgespeichert werden, und/oder daß sie durch die Systemausführungsform ausgeführt werden. Des Weiteren können bei dieser Systemausführungsform die Netzwerkschnittstellen-Controllerschaltkreise vorteilhafterweise dazu fähig sein, eine Quelle des einen oder der Mehrzahl von Viren, die den einen oder die Mehrzahl von Viren über das Netzwerk zu den Netzwerkschnittstellen-Controllerschaltkreisen übertragen hat, zu ermitteln. Darüber hinaus können bei dieser Systemausführungsform die Netzwerkschnittstellen-Controllerschaltkreise vorteilhafterweise auch dazu fähig sein, das Vorhandensein eines oder mehrere Viren zu erkennen und/oder die Übertragung eines oder mehrerer Viren durch die Netzwerkschnittstellen-Controllerschaltkreise zum Netzwerk und/oder über das Netzwerk zu einem Host zu verhindern.
  • Die Begriffe und Ausdrücke, die hierin benützt worden sind, sind als beschreibende, nicht jedoch als einschränkende Begriffe verwendet, und es ist nicht beabsichtigt, durch die Verwendung dieser Begriffe und Ausdrücke irgendwelche Entsprechungen der gezeigten und beschriebenen Merkmale (oder Abschnitte davon) auszuschließen, und es versteht sich, daß verschiedene Abänderungen, Variationen, Alternativen und Entsprechungen innerhalb des Umfangs der Ansprüche möglich sind. Demgemäß sollen die Ansprüche alle diesen Abänderungen, Variationen, Alternativen und Entsprechungen umfassen.
  • Zusammenfassung
  • Die vorliegende Erfindung umfaßt ein Ermitteln (302), mindestens zum Teil durch eine Netzwerkschnittstellen-Controllerschaltung, ob mindestens eine Signatur, die mindestens zum Teil auf einem oder mehreren entsprechenden Abschnitten eines oder mehrerer entsprechender Pakete beruht, mit mindestens einem Virus in Verbindung steht.

Claims (29)

  1. Verfahren, das umfaßt: Feststellen, mindestens zum Teil durch eine Netzwerkschnittstellen-Controllerschaltung, ob mindestens eine Signatur, die mindestens zum Teil auf einen oder mehreren entsprechenden Abschnitten eines oder mehrerer entsprechender Pakete beruht, mit mindestens einem Virus in Verbindung steht.
  2. Verfahren nach Anspruch 1, wobei: falls die Netzwerkschnittstellen-Controllerschaltung mindestens zum Teil feststellt, daß die mindestens eine Signatur mit dem mindestens einen Virus in Verbindung steht, das Verfahren des Weiteren mindestens zum Teil ein Ausgeben einer oder mehrerer Mitteilungen, die anzeigen, daß die mindestens eine Signatur mit dem mindestens einen Virus in Verbindung steht, von der Netzwerkschnittstellen-Schaltung umfaßt.
  3. Verfahren nach Anspruch 2, des ferner umfaßt: Empfangen der einen oder der Mehrzahl von Mitteilungen an einem oder mehreren Elementen außerhalb der Netzwerkschnittstellen-Controllerschaltung; und mindestens zum Teil als Reaktion auf den Empfang der einen oder der Mehrzahl von Mitteilungen, ein Untersuchen des einen oder der Mehrzahl entsprechender Abschnitte des einen oder der Mehrzahl entsprechender Pakete mindestens zum Teil durch das eine oder die Mehrzahl von Elementen, um festzustellen, ob der eine oder die Mehrzahl entsprechender Abschnitte mindestens zum Teil den mindestens einen Virus aufweisen.
  4. Verfahren nach Anspruch 1, wobei: die Netzwerkschnittstellen-Controllerschaltung dazu fähig ist, das eine oder die Mehrzahl entsprechender Pakete von einem Netzwerk zu empfangen.
  5. Verfahren nach Anspruch 1, wobei: die Netzwerkschnittstellen-Controllerschaltung dazu in der Lage ist, das eine oder die Mehrzahl entsprechender Pakete auf ein Netzwerk zu übertragen.
  6. Verfahren nach Anspruch 3, wobei: die Netzwerkschnittstellen-Controllerschaltung dazu in der Lage ist, mindestens zum Teil von dem einen oder der Mehrzahl von Elementen eine oder mehr Signaturen, die mit dem mindestens einen Virus in Verbindung stehen, zu empfangen; und die Netzwerkschnittstellen-Controllerschaltung dazu in der Lage ist, die eine oder die Mehrzahl von Signaturen mit der mindestens einen Signatur zu vergleichen.
  7. Verfahren nach Anspruch 6, wobei: die Netzwerkschnittstellen-Controllerschaltung dazu in der Lage ist, vor dem Überprüfen zu verhindern, daß der eine oder die Mehrzahl entsprechender Abschnitte des einen oder der Mehrzahl entsprechender Pakete zu dem einen oder der Mehrzahl anderer Elemente weitergeleitet wird und/oder daß das eine oder die Mehrzahl anderer Elementen auf diese zugreift.
  8. Vorrichtung, die umfaßt: Netzwerkschnittstellen-Controllerschaltung, die mindestens zum Teil dazu in der Lage ist, festzustellen, ob mindestens eine Signatur, die mindestens zum Teil auf einem oder mehreren entsprechenden Abschnitten eines oder mehrerer entsprechender Pakete beruht, mit mindestens einem Virus in Verbindung steht.
  9. Vorrichtung nach Anspruch 8, wobei: falls die Netzwerkschnittstellen-Controllerschaltung mindestens zum Teil feststellt, daß die mindestens eine Signatur mit dem mindestens einen Virus in Verbindung steht, der Netzwerkschnittstellen-Controller des Weiteren mindestens zum Teil dazu in der Lage ist, eine oder mehrere Mitteilungen, die anzeigen, daß die mindestens eine Signatur mit dem mindestens einen Virus in Verbindung steht, von der Netzwerkschnittstellen-Schaltung auszugeben.
  10. Vorrichtung nach Anspruch 8, die ferner umfaßt: ein oder mehrere Elemente außerhalb der Netzwerkschnittstellen-Controllerschaltung, wobei das eine oder die Mehrzahl von Elementen dazu in der Lage ist, die eine oder die Mehrzahl von Mitteilungen zu empfangen, wobei das eine oder die Mehrzahl von Elementen des Weiteren dazu in der Lage ist, mindestens zum Teil als Reaktion auf ein Empfangen der einen oder der Mehrzahl von Mitteilungen, mindestens zum Teil den einen oder die Mehrzahl entsprechender Abschnitte des einen oder der Mehrzahl entsprechender Pakete zu überprüfen, um festzustellen, ob der eine oder die Mehrzahl entsprechender Abschnitte des einen oder der Mehrzahl entsprechender Pakete mindestens zum Teil den mindestens einen Virus aufweist.
  11. Vorrichtung nach Anspruch 8, wobei: die Netzwerkschnittstellen-Controllerschaltung dazu in der Lage ist, das eine oder die Mehrzahl entsprechender Pakete von einem Netzwerk zu empfangen.
  12. Vorrichtung nach Anspruch 8, wobei: die Netzwerkschnittstellen-Controllerschaltung dazu in der Lage ist, das eine oder die Mehrzahl entsprechender Pakete auf ein Netzwerk zu übertragen.
  13. Vorrichtung nach Anspruch 10, wobei: die Netzwerkschnittstellen-Controllerschaltung dazu in der Lage ist, mindestens zum Teil von dem einen oder der Mehrzahl von Elementen eine oder mehrere Signaturen, die mit dem mindestens einen Virus in Verbindung steht, zu empfangen; und die Netzwerkschnittstellen-Controllerschaltung dazu in der Lage ist, die eine oder die Mehrzahl von Signaturen mit der mindestens einen Signatur zu vergleichen.
  14. Vorrichtung nach Anspruch 13, wobei: die Netzwerkschnittstellen-Controllerschaltung dazu in der Lage ist, vor dem Überprüfen des einen oder der Mehrzahl entsprechender Pakete durch das eine oder die Mehrzahl von Elementen zu verhindern, daß der eine oder die Mehrzahl entsprechender Abschnitte des einen oder der Mehrzahl entsprechender Pakete zu einem oder mehreren Elementen weitergeleitet wird und/oder daß ein oder mehrere Elemente auf diese zugreifen.
  15. Gegenstand, der ein oder mehrere Speichermedien aufweist, die Anweisungen speichern, die, wenn sie durch eine Maschine ausgeführt werden, zu Vorgängen führen, die folgendes umfassen: Feststellen mindestens zum Teil durch eine Netzwerkschnittstellen-Controllerschaltung, ob mindestens eine Signatur, die mindestens zum Teil auf einen oder mehreren entsprechenden Abschnitten eines oder mehrerer entsprechender Pakete beruht, mit mindestens einem Virus in Verbindung steht.
  16. Gegenstand nach Anspruch 15, wobei die Anweisungen, wenn sie ausgeführt werden, des Weiteren zur Folge haben, daß: falls die Netzwerkschnittstellen-Controllerschaltung mindestens zum Teil feststellt, daß die mindestens eine Signatur mit dem mindestens einen Virus in Verbindung steht, mindestens zum Teil eine oder mehrere Mitteilungen, die anzeigen, daß die mindestens eine Signatur mit dem mindestens einen Virus in Verbindung steht, von der Netzwerkschnittstellen-Schaltung ausgegeben werden.
  17. Gegenstand nach Anspruch 16, wobei die Anweisungen, wenn sie ausgeführt werden, des Weiteren zur Folge haben, daß: die eine oder die Mehrzahl von Mitteilungen an einem oder mehreren Elementen außerhalb der Netzwerkschnittstellen-Controllerschaltung empfangen werden; und der eine oder die Mehrzahl entsprechender Abschnitte des einen oder der Mehrzahl entsprechender Pakete mindestens zum Teil als Reaktion auf den Empfang der einen oder der Mehrzahl von Mitteilungen mindestens zum Teil durch das eine oder die Mehrzahl von Elementen überprüft wird, um festzustellen, ob der eine oder die Mehrzahl entsprechender Abschnitte des einen oder der Mehrzahl entsprechender Pakete mindestens zum Teil den mindestens einen Virus aufweist.
  18. Gegenstand nach Anspruch 15, wobei: die Netzwerkschnittstellen-Controllerschaltung dazu in der Lage ist, das eine oder die Mehrzahl entsprechender Pakete von einem Netzwerk zu empfangen.
  19. Gegenstand nach Anspruch 15, wobei: die Netzwerkschnittstellen-Controllerschaltung dazu in der Lage ist, das eine oder die Mehrzahl entsprechender Pakete auf ein Netzwerk zu übertragen.
  20. Gegenstand nach Anspruch 17, wobei: die Netzwerkschnittstellen-Controllerschaltung dazu in der Lage ist, mindestens zum Teil von dem einen oder der Mehrzahl von Elementen eine oder mehrere Signaturen, die mit dem mindestens einen Virus in Verbindung stehen, zu empfangen; und die Netzwerkschnittstellen-Controllerschaltung dazu in der Lage ist, die eine oder die Mehrzahl von Signaturen mit der mindestens einen Signatur zu vergleichen.
  21. Gegenstand nach Anspruch 20, wobei: die Netzwerkschnittstellen-Controllerschaltung dazu in der Lage ist, vor dem Überprüfen zu verhindern, daß der eine oder die Mehrzahl entsprechender Abschnitte des einen oder der Mehrzahl entsprechender Pakete zu dem einen oder der Mehrzahl anderer Elemente weitergeleitet wird und/oder daß das eine oder die Mehrzahl von Elementen auf diese zugreift.
  22. System, das umfaßt: eine Platine mit einer Busschnittstelle; und eine Leiterplatte, die in die Busschnittstelle eingesteckt werden kann, wobei die Leiterplatte Netzwerkschnittstellen-Controllerschaltung aufweist, die dazu in der Lage ist, mindestens zum Teil festzustellen, ob mindestens eine Signatur, die mindestens zum Teil auf einem oder mehreren entsprechenden Abschnitten eines oder mehrerer entsprechender Pakete beruht, mit mindestens einem Virus in Verbindung steht.
  23. System nach Anspruch 22, wobei: die Platine einen Bus aufweist, über den die Busschnittstelle mit einem Prozessor gekoppelt ist.
  24. System nach Anspruch 22, wobei: eine Protokoll-Offload-Engine die Netzwerkschnittstellen-Controllerschaltung aufweist.
  25. System nach Anspruch 22, wobei: der eine oder die Mehrzahl entsprechender Abschnitte einen Abschnitt eines Pakets und einen anderen Abschnitt eines anderen Pakets umfaßt.
  26. System nach Anspruch 22, wobei: die mindestens eine Signatur eine Abfolge von Symbolen und/oder Werten aufweist, die in dem einen oder der Mehrzahl entsprechender Abschnitte enthalten ist.
  27. System nach Anspruch 22, wobei: die mindestens eine Signatur mindestens einen zyklischen Redundanzprüfungswert aufweist.
  28. System nach Anspruch 22, wobei: die Netzwerkschnittstellen-Controllerschaltung des Weiteren mindestens zum Teil dazu in der Lage ist, eine Quelle des einen oder der Mehrzahl entsprechender Pakete festzustellen.
  29. System nach Anspruch 28, wobei: die Quelle einen Host aufweist.
DE112005000932T 2004-05-21 2005-04-29 Netzwerkschnittstellen-Controllerschaltung Ceased DE112005000932T5 (de)

Applications Claiming Priority (3)

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
PCT/US2005/014880 WO2005116796A1 (en) 2004-05-21 2005-04-29 Method and apparatus for virus detection at a network interface controller by means of signatures

Publications (1)

Publication Number Publication Date
DE112005000932T5 true DE112005000932T5 (de) 2007-06-14

Family

ID=34968382

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112005000932T Ceased DE112005000932T5 (de) 2004-05-21 2005-04-29 Netzwerkschnittstellen-Controllerschaltung

Country Status (6)

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

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
US7831745B1 (en) 2004-05-25 2010-11-09 Chelsio Communications, Inc. Scalable direct memory access using validation of host and scatter gather engine (SGE) generation indications
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
US7660306B1 (en) 2006-01-12 2010-02-09 Chelsio Communications, Inc. Virtualizing the operation of intelligent network interface circuitry
US7724658B1 (en) 2005-08-31 2010-05-25 Chelsio Communications, Inc. Protocol offload transmit traffic management
US7660264B1 (en) 2005-12-19 2010-02-09 Chelsio Communications, Inc. Method for traffic schedulign in intelligent network interface circuitry
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
US7826350B1 (en) 2007-05-11 2010-11-02 Chelsio Communications, Inc. Intelligent network adaptor with adaptive direct data placement scheme
US8589587B1 (en) 2007-05-11 2013-11-19 Chelsio Communications, Inc. Protocol offload in intelligent network adaptor, including application level signalling
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
EP3476101B1 (de) * 2017-08-24 2023-10-25 Pensando Systems Inc. Verfahren, vorrichtung und system für netzwerksicherheit

Family Cites Families (13)

* 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
DK170490B1 (da) * 1992-04-28 1995-09-18 Multi Inform As Databehandlingsanlæg
US5960170A (en) * 1997-03-18 1999-09-28 Trend Micro, Inc. Event triggered iterative virus detection
US6094731A (en) * 1997-11-24 2000-07-25 Symantec Corporation Antivirus accelerator for computer networks
US6347375B1 (en) * 1998-07-08 2002-02-12 Ontrack Data International, Inc Apparatus and method for remote virus diagnosis and repair
WO2001052219A2 (en) * 2000-01-12 2001-07-19 Indivisual Learning, Inc. Methods and systems for multimedia education
CA2424352A1 (en) * 2000-05-28 2001-12-06 Yaron Mayer System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
US6910134B1 (en) * 2000-08-29 2005-06-21 Netrake Corporation Method and device for innoculating email infected with a virus
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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE112005000932T5 (de) Netzwerkschnittstellen-Controllerschaltung
DE112012004550B4 (de) Verfahren, System und Vorrichtung zur Zustandsmigration für einen Remote Direct Memory Access-Adapter in einer virtuellen Umgebung
DE19747396A1 (de) Verfahren und Anordnung zur Schaffung einer Ferndiagnose für ein elektronisches System über ein Netz
DE102019104531A1 (de) Anomalieerkennung in einem netzswerksbereichskontroller
WO2014206695A1 (de) Datenspeichervorrichtung zum geschützten datenaustausch zwischen verschiedenen sicherheitszonen
DE10392321T5 (de) Verfahren und Vorrichtung zum Übersetzen physischer Gastadressen in einer Umgebung für eine virtuelle Maschine
DE102015107823A1 (de) Randomisierter Speicherzugriff
DE102016119991B4 (de) Emulation von Taktjittern
EP1639465A2 (de) Verfahren zur überwachung des programmlaufs in einem mikro-computer
DE102019131865A1 (de) Verfahren und vorrichtung zur eigendiagnose der ram-fehlererkennungslogik eines antriebsstrangcontrollers
DE112007003722T5 (de) Modifizieren von Systemroutinginformationen in linkbasierenden Systemen
CN113176968A (zh) 基于接口参数分类的安全测试方法、装置及存储介质
DE102010028485B4 (de) Verfahren und Vorrichtung zur Absicherung von über eine Schnittstelle zu übertragenden Datenpaketen
DE102016221441A1 (de) Verfahren und Vorrichtung zum Überwachen eines Bildsensors
DE112019007853T5 (de) Steuereinrichtung
DE102019117229A1 (de) Kommunikationsvorrichtung und -verfahren zum authentifizieren einer nachricht
DE102008046397A1 (de) Verifizierung auf Basis von Transaktionen eines Systems auf einem Chip auf Systemebene durch Übersetzen von Transaktionen in Maschinencodierung
DE102019111564A1 (de) Verfahren und system zum konfigurieren von filterobjekten für eine controller area network-steuerung
DE102013009364B4 (de) Verfahren und System zur Erkennung von latenten Fehlern in Mikrocontrollern
EP2405317B1 (de) Verfahren zur sicheren Parametrierung eines Sicherheitsgeräts
DE102008030162C5 (de) Verfahren zum Prüfen der Funktionsfähigkeit einer eingebetteten Komponente in einem eingebetteten System
DE102017201621A1 (de) Integrierte Schaltung für ein Steuergerät eines Kraftfahrzeugs, Verfahren zur Herstellung einer integrierten Schaltung
WO2016206847A1 (de) Verfahren und vorrichtung zum absichern einer programmzählerstruktur eines prozessorsystems und zum überwachen der behandlung einer unterbrechungsanfrage
DE102009038248A1 (de) Verfahren zum Entfernen modularer Software
DE102020205069A1 (de) Relaisvorrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 21/20 AFI20070323BHDE

8131 Rejection