-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Diese Anmeldung ist eine internationale Anmeldung der
US-Patentanmeldung Nr. 15/847,672 , die am 19. Dezember 2017 eingereicht wurde, die den Vorteil der vorläufigen
US-Anmeldung Nr. 62/537,857 , die am 27. Juli 2017 eingereicht wurde, beansprucht, welche alle in ihrer Gesamtheit durch Bezugnahme hierin einbezogen werden.
-
ALLGEMEINER STAND DER TECHNIK
-
Immer mehr Computergeräte werden (z. B. durch eine Zusammenschaltung) untereinander sowie mit dem Internet verbunden. Viele dieser Computergeräte können (z. B. durch Viren, Malware etc.) kompromittiert werden oder werden möglicherweise zu Sicherheitsrisiken. Diese kompromittierten Computergeräte können dazu genutzt werden, um Online-Angriffe (z. B. Denial-of-Service-Angriffe) oder Hacking-Versuche in anderen Computergeräten (z. B. Servern) auszuführen.
-
Figurenliste
-
Die beschriebenen Ausführungsformen und ihre Vorteile werden am besten unter Bezugnahme auf die folgende Beschreibung sowie die beiliegenden Zeichnungen verständlich. Aufgrund dieser Zeichnungen bestehen keine Einschränkungen für Änderungen hinsichtlich der Form und der Einzelheiten, die der Fachmann an den beschriebenen Ausführungsformen vornehmen kann, ohne vom Gedanken und vom Schutzbereich der beschriebenen Ausführungsformen abzuweichen.
- 1 veranschaulicht ein Computersystem gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 2 veranschaulicht eine Systemarchitektur gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 3 veranschaulicht beispielhafte Netzprofildaten gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 4 ist ein Ablaufschema eines Verfahrens zum Analysieren von Netzprofildaten gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 5 ist ein Ablaufschema eines Verfahrens zum Erhalten von Netzprofildaten gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 6 ist ein Blockschema eines beispielhaften Geräts, das einen oder mehrere der hierin beschriebenen Vorgänge durchführen kann, gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Wie oben erörtert, können Computergeräte beinhaltet sein und können dazu genutzt werden, um Online-Angriffe oder Hacking-Versuche auszuführen. Viele Online-Angriffe (wie verteilte Denial-of-Service-Angriffe) und Hacking-Versuche lassen sich aufgrund der Menge von Computergeräten, von denen diese Online-Angriffe und Hacking-Versuche ausgehen können, an einem Ziel oder Zielobjekt (der Angriffe oder Hacking-Versuche) nur schwer verteidigen. Möglicherweise ist es einfacher, diese Angriffe näher am Ursprungsort dieser Angriffe zu beenden oder zu verhindern. Zudem ist es möglicherweise einfacher, diese Angriffe zu beenden oder zu verhindern, wenn die Computergeräte Netzprofildaten übertragen, anhand derer ein Server bestimmen kann, ob ein Computergerät kompromittiert worden ist (z. B. nicht mehr sicher ist, ein Sicherheitsrisiko darstellt etc.). Viele Computergeräte verschlüsseln die Netzprofildaten möglicherweise nicht, was bei Benutzer Datenschutzbedenken auslösen kann. Wegen dieser Datenschutzbedenken deaktivieren Benutzer möglicherweise das Versenden von Netzprofildaten. Darüber hinaus erkennen viele Systeme verdächtige Aktivitäten oder beinhaltete Computergeräte, die einen dedizierten Server nutzen (an den die Computergeräte Netzprofildaten übertragen). Dies kann dazu führen, dass die Computergeräte zusätzlichen Verkehr (z. B. zusätzliche Nachrichten oder Pakete) für den dedizierten Server (z. B. Nachrichten zwischen dem dedizierten Server und einem anderen Server) erzeugen und möglicherweise Ressourcen verschwenden, weil ein dedizierter Server zum Erfassen und Analysieren der Netzprofildaten genutzt wird.
-
Mittels der hierin beschriebenen Beispiele, Implementierungen und Ausführungsformen ist es möglich, dass Computergeräte verschlüsselte Netzprofildaten bereitstellen, indem sie die verschlüsselten Netzprofildaten zusammen mit dem vorhandenen Verkehr im Huckepackverfahren an einen Server übertragen oder die verschlüsselten Netzprofildaten an ein Netzgerät, etwa einen First-Hop-Router, übertragen. Hierdurch kann ein Server, der einen Dienst für ein Computergerät bereitstellt, auch die verschlüsselten Netzprofildaten prüfen, um verdächtige Aktivitäten und kompromittierte Computergeräte zu identifizieren. Hierdurch kann ein Netzgerät auch verhindern, dass Angriffe oder Hacking-Versuche einen Server erreichen, weil das Netzgerät verdächtige Aktivitäten erkennen kann und verhindern kann, dass Pakete oder Nachrichten den Server erreichen. Darüber hinaus kann durch die Verschlüsselung der Netzprofildaten die Identität des Benutzers geschützt werden, wodurch sich Datenschutzbedenken des Benutzers zerstreuen lassen.
-
1 veranschaulicht ein Computersystem 100 gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Das Computersystem 100 enthält ein Computergerät 110 und ein Internet-Of-Things-Gerät (IOT-Gerät) 120. Das Computergerät 110 kann Hardware wie Verarbeitungselemente (z. B. Prozessoren, Hauptprozessoren (CPUs)), einen Speicher (z. B. einen Arbeitsspeicher (RAM), Speicherelemente (z. B. einen Festplattenspeicher (HDD), ein Solid State Drive (SSD) etc.) und andere Hardwareelemente (z. B. eine Soundkarte, eine Grafikkarte etc.) enthalten. Das Computergerät 110 kann ein Computergerät oder eine Maschine von einem beliebigen geeigneten Typ mit einem programmierbaren Prozessor beinhalten, das/die zum Beispiel Server-Computer, Desktop-Computer, Laptop-Computer, Tablet-Computer, Smartphones, Personal Digital Assistants (PDAs), Set-Top-Boxen etc. enthält. In einigen Beispielen beinhaltet das Computergerät 110 möglicherweise nur eine Maschine oder mehrere miteinander verbundene Maschinen (z. B. mehrere in einem Cluster konfigurierte Server). Das Computergerät 110 kann ein Betriebssystem (BS) ausführen oder enthalten. Das BS des Computergeräts 110 kann die Ausführung von sonstigen Komponenten (z. B. Software, Anwendungen etc.) und/oder den Zugriff auf die Hardware (z. B. Prozessoren, einen Speicher, Massenspeicherelemente etc.) des Computergeräts verwalten.
-
Das IOT-Gerät 120 kann zulassen, dass das Computergerät 110 mit anderen Geräten (z. B. anderen Computergeräten oder anderen Netzgeräten wie einem Router oder einem Server) kommuniziert. Das IOT-Gerät 120 kann zum Beispiel zulassen, dass das Computergerät 110 Daten über eine kabelgebundene oder eine drahtlose Infrastruktur kommuniziert (z. B. Nachrichten, Pakete, Frames, Daten etc. überträgt oder empfängt). In einer Ausführungsform ist das IOT-Gerät 120 möglicherweise eine Netzschnittstelle für das Computergerät 110. Das IOT-Gerät 120 ist zum Beispiel möglicherweise eine Netzkarte, die (z. B. über ein drahtloses Medium wie Hochfrequenzsignale (HF-Signale)) an das Netz 105 gekoppelt sein kann. Das gezeigte IOT-Gerät 120 ist zwar ein vom Computergerät 110 unabhängiges Gerät, jedoch kann das IOT-Gerät 120 in anderen Ausführungsformen auch ein Bestandteil des Computergeräts 110 sein. Das IOT-Gerät 120 ist zum Beispiel möglicherweise innerhalb eines Gehäuses (z. B. eines Kastens, eines Körpers etc.) des Computergeräts 110 installiert oder angeordnet.
-
Das Computersystem 100 kann über das Netz 105 mit anderen Geräten kommunizieren, wie unten noch ausführlicher erörtert wird. Das Netz 105 kann ein öffentliches Netz (z. B. das Internet), ein privates Netz (z. B. ein Nahbereichsnetz (LAN) oder ein Weitbereichsnetz (WAN)) oder eine Kombination davon sein. In einer Ausführungsform enthält das Netz 105 möglicherweise eine kabelgebundene oder eine drahtlose Infrastruktur, die durch ein oder mehrere drahtlose Kommunikationssysteme bereitgestellt werden kann, etwa einen WiFi-Hotspot (WiFi = Wireless Fidelity), der mit dem Netz 105 verbunden ist, und/oder ein Mobilfunkanbietersystem, das mittels verschiedener Datenverarbeitungsanlagen, Übertragungsmasten (z. B. Mobilfunkmasten) etc. implementiert werden kann. Das Netz 105 kann Kommunikationen (z. B. Daten, Nachrichten, Pakete, Frames etc.) zwischen dem Computergerät 110 und anderen Geräten (z. B. elektronischen Geräten, Netzgeräten, Computergeräten etc.) übermitteln.
-
Wie in 1 veranschaulicht, kann das Computersystem 100 zum Erkennen eines oder mehrerer Netze 140 (z. B. einer Menge von Netzen) fähig sein. Wie in 1 veranschaulicht, kann das Computersystem 100 zudem mit einem oder mehreren elektronischen Geräten 130 (z. B. einer Menge elektronischer Geräte) verbunden sein oder ein oder mehrere elektronische Geräte (z. B. eine Menge elektronischer Geräte) erkennen. Das Computergerät ist zum Beispiel möglicherweise zum Erkennen eines Bluetooth-Lautsprechers fähig oder mit einem Bluetooth-Lautsprecher verbunden. In einem anderen Beispiel erkennt das Computergerät möglicherweise eine Spielkonsole oder einen Medienserver, die/der dasselbe Netz 105 nutzt.
-
In einer Ausführungsform können eine oder mehrere der Profilerstellungskomponenten 111 und 121 Netzparameter erkennen (oder erfassen). Bei den Profilerstellungskomponenten 111 und 121 kann es sich um Hardware, Software, Firmware oder eine Kombination davon handeln. Die Netzparameter enthalten möglicherweise Informationen zu den Netzen (z. B. den Netzen 140) oder Geräten (z. B. den elektronischen Geräten 130), die vom Computersystem 100 erkannt werden oder mit ihm verbunden sind. Die Netzparameter können Unterschicht-, Mittelschicht- und Oberschicht-Informationen enthalten. In einigen Ausführungsformen können die Profilerstellungskomponenten 111 und 121 unterschiedliche Netzparameter erkennen. Die Profilerstellungskomponente 111 erkennt zum Beispiel möglicherweise Unterschicht-Informationen (wie unten noch ausführlicher erörtert wird), und die Profilerstellungskomponente 121 erkennt möglicherweise Mittelschicht- und Oberschicht-Informationen (wie unten noch ausführlicher erörtert wird). In anderen Ausführungsformen können die Profilerstellungskomponenten 111 und 121 in einer einzigen Profilerstellungskomponente kombiniert sein. Wenn das IOT-Gerät 120 zum Beispiel ein Bestandteil des Computergeräts 110 ist, können die Profilerstellungskomponenten 111 und 121 in einer einzigen Profilerstellungskomponente kombiniert sein.
-
In einer Ausführungsform enthalten die Unterschicht-Informationen (z. B. Netzparameter) (unter Bezugnahme auf die durch die Internet-Protokoll-Familie definierten Schichten) möglicherweise Link-Layer- oder Internet-Layer-Informationen zu den Netzen oder den Geräten, die vom Computersystem 100 erkannt werden oder mit ihm verbunden sein können. Die Unterschicht-Informationen (z. B. die Netzparameter) enthalten zum Beispiel möglicherweise Netzadressen (z. B. eine IP-Adresse (IP = Internet Protocol) oder MAC-Adressen (MAC = Medium Access Control)) von Geräten, die vom Computersystem 100 erkannt werden. Die Unterschicht-Informationen enthalten möglicherweise auch eine Netzadresse (z. B. eine MAC- oder IP-Adresse) eines First-Hop-Routers (z. B. eines Routers, der das Netz 105 implementiert, etwa eines WiFi-Routers). Die Unterschicht-Informationen enthalten ferner möglicherweise eine Netzkennung für das Netz 150. Das Netz 105 ist zum Beispiel möglicherweise ein WiFi-Netz, und die Unterschicht-Informationen enthalten möglicherweise eine SSID (Service Set Identifier) des Netzes 105. Die Unterschicht-Informationen enthalten ferner möglicherweise eine oder mehrere Netzkennungen wie SSIDs (Service Set Identifiers), BSSIDs oder ESSIDs von anderen Netzen, die vom Computersystem 100 erkannt werden. Die Unterschicht-Informationen können zum Beispiel SSIDs des einen oder der mehreren Netze 140 enthalten. In einem anderen Beispiel enthalten die Unterschicht-Informationen möglicherweise Gerätekennungen (z. B. Namen, alphanumerische Werte etc.) oder Bluetooth-Adressen von Geräten (z. B. von Bluetooth-Lautsprechern, Bluetooth-Kopfhörern, anderen Computergeräten etc.), die an das Computersystem 100 gekoppelt sein (oder vom Computersystem 100 erkannt werden) können. In anderen Ausführungsformen werden möglicherweise Kennungen oder Adressen von anderen Typen genutzt, die von anderen Kommunikationsprotokollen (z. B. Bluetooth Low Energy (BLE), ZigBee, Z-Wave, Near Field Communication (NFC) etc.) genutzt werden.
-
In einer Ausführungsform enthalten die Mittelschicht-Informationen (z. B. Netzparameter) (unter Bezugnahme auf die durch die Internet-Protokoll-Familie definierten Schichten) Transport-Layer-Informationen zu den Netzen oder den Geräten, die vom Computersystem 100 erkannt werden oder mit ihm verbunden sein können. Die Mittelschicht-Informationen enthalten zum Beispiel möglicherweise eine Liste von Ports (z. B. TCP-Ports), an denen das Computersystem 100 lauscht (z. B. eine Liste von Ports, an denen das Computersystem 100 auf eingehende Verbindungsanforderungen wartet). In einem anderen Beispiel die Mittelschicht-Informationen, eine Liste von eingehenden Verbindungen (z. B. IP-Ports von Verbindungen oder Kommunikationskanälen, die von einem anderen Gerät initiiert worden sind). In einem weiteren Beispiel enthalten die Mittelschicht-Informationen möglicherweise eine Liste von ausgehenden Verbindungen (z. B. IP-Ports von Verbindungen oder Kommunikationskanälen, die vom Computersystem 100 initiiert worden sind). In einem weiteren Beispiel enthalten die Mittelschicht-Informationen möglicherweise eine Liste von eingehenden Verbindungen, die aufgrund von nicht geöffneten Ports im Computersystem 100 abgelehnt worden sind (z. B. Verbindungsanforderungen für nicht geöffnete Ports, die durch das Computersystem 100 empfangen worden sind). Die Liste von abgelehnten eingehenden Verbindungen enthält möglicherweise auch die (nicht geöffneten) Ports, die in den eingehenden Verbindungsanforderungen enthalten gewesen sind. In einem weiteren Beispiel enthalten die Mittelschicht-Informationen möglicherweise eine Liste von ausgehenden Verbindungen, die aufgrund von nicht geöffneten Ports in einem anderen Gerät abgelehnt worden sind (z. B. Verbindungsanforderungen an Ports anderer Geräte, die aufgrund von nicht geöffneten Ports in anderen Geräten abgelehnt worden sind). Die Liste von abgelehnten ausgehenden Verbindungen enthält möglicherweise auch die (nicht geöffneten) Ports, die in den ausgehenden Verbindungsanforderungen enthalten gewesen sind.
-
In einer Ausführungsform enthalten die Oberschicht-Informationen (z. B. Netzparameter) (unter Bezugnahme auf die durch die Internet-Protokoll-Familie definierten Schichten) Application-Layer-Informationen zu den Netzen oder den Geräten, die vom Computersystem 100 erkannt werden oder mit ihm verbunden sein können. Die Oberschicht-Informationen enthalten zum Beispiel möglicherweise eine Liste von eingehenden Authentifizierungsanforderungen, Authentifizierungsanmeldeinformationen und Ergebnissen (z. B. eine Liste von eingehenden Anforderungen eines Zugriffs auf das Computersystem 100, in der durch andere Geräte übertragene Authentifizierungsanmeldeinformationen enthalten gewesen sind). In einem anderen Beispiel enthalten die Oberschicht-Informationen möglicherweise eine Liste von ausgehenden Authentifizierungsanmeldeinformationen und Ergebnissen (z. B. eine Liste von ausgehenden Anforderungen eines Zugriffs auf andere Geräte, in der durch das Computersystem 100 übertragene Authentifizierungsanmeldeinformationen enthalten gewesen sind). In einem weiteren Beispiel enthalten die Oberschicht-Informationen möglicherweise eine Liste von eingehenden Verbindungsanforderungen, die aufgrund einer fehlgeschlagenen Authentifizierung abgelehnt worden sind (z. B. von eingehenden, durch das Computersystem 100 empfangenen Verbindungsanforderungen, die abgelehnt worden sind, weil die Authentifizierungsanmeldeinformationen nicht gültig gewesen sind). Die Liste von abgelehnten eingehenden Verbindungen enthält möglicherweise Netzadressen (z. B. IP-Adressen von Geräten, die die eingehende Verbindungsanforderung übertragen haben) und Ports des Computersystems 100, an denen die (abgelehnten) eingehenden Verbindungsanforderungen empfangen worden sind. In einem weiteren Beispiel enthalten die Oberschicht-Informationen möglicherweise eine Liste von ausgehenden Verbindungen, die aufgrund einer fehlgeschlagenen Authentifizierung abgelehnt worden sind (z. B. von ausgehenden, durch das Computersystem übertragenen Verbindungsanforderungen, die abgelehnt worden sind, weil vom Computersystem 100 bereitgestellte Authentifizierungsanmeldeinformationen nicht gültig gewesen sind). Die Liste von abgelehnten ausgehenden Verbindungen enthält möglicherweise Netzadressen der Geräte, die die ausgehenden Verbindungsanforderungen vom Computergerät empfangen haben, sowie die Ports des Computergeräts, die zum Übertragen der ausgehenden Verbindungsanforderungen genutzt worden sind.
-
In einer Ausführungsform können eine oder mehrere der Profilerstellungskomponenten 111 und 121 einige oder alle der Netzparameter (die vom Computergerät 110 und vom IOT-Gerät 120 erkannt worden sind) kombinieren, um Netzprofildaten zu erzeugen, wie unten noch ausführlicher erörtert wird. Die Profilerstellungskomponenten 111 und 121 können die Netzprofildaten verschlüsseln und die verschlüsselten Netzprofildaten an einen Router (z. B. einen WiFi-Router, der das Netz 105 implementiert) oder einen Server (in 1 nicht veranschaulicht) übertragen, wie unten noch ausführlicher erörtert wird. Die Profilerstellungskomponente 111 kann die Netzprofildaten vorher hashen (z. B. einen Hash-Wert mittels einer Hash-Funktion oder eines Hash-Algorithmus erzeugen) und die gehashten Netzprofildaten (z. B. die verschlüsselten Netzprofildaten) an den Router oder den Server übertragen.
-
In einer Ausführungsform nehmen die Profilerstellungskomponenten 111 und 121, wenn sie die verschlüsselten Netzprofildaten an den Server übertragen, die verschlüsselten Netzprofildaten in vorhandene Daten oder vorhandenen Verkehr auf, die/der an den Server übertragen werden/wird (sie nehmen z. B. die verschlüsselten Netzprofildaten in andere Nachrichten, Pakete, Frames etc. auf). In einer anderen Ausführungsform übertragen die Profilerstellungskomponenten 111 und 121, wenn sie die verschlüsselten Netzprofildaten an den Router übertragen, möglicherweise Pakete (oder Nachrichten), die an den Router adressiert sind (die z. B. eine Netzadresse des Routers als Empfänger der Pakete angeben).
-
In einer Ausführungsform kann der Router oder der Server die verschlüsselten Netzprofildaten analysieren, um zu bestimmen, ob das verschlüsselte Netzprofil möglicherweise angibt, dass das Computersystem 100 (z. B. das Computergerät 110) kompromittiert ist (z. B. nicht sicher ist), wie unten noch ausführlicher erörtert wird. Der Router oder der Server vergleicht zum Beispiel möglicherweise die verschlüsselten Netzprofildaten mit früheren verschlüsselten Netzprofildaten, um zu bestimmen, ob zwischen dem verschlüsselten Netzprofil und den früheren verschlüsselten Netzprofildaten Unterschiede bestehen. Wenn der Router oder der Server bestimmt, dass das Computersystem 100 möglicherweise kompromittiert ist (z. B. nicht sicher ist), kann der Router oder der Server eine oder mehrere Sicherheitsmaßnahmen durchführen, wie unten noch ausführlicher erörtert wird. Wenn der Router oder der Server bestimmt, dass das Computersystem 100 nicht kompromittiert ist (z. B. sicher ist), kann der Router oder der Server zulassen, dass das Computersystem 100 weiter mit dem Router oder dem Server kommuniziert.
-
In einer Ausführungsform werden Netzparameter (z. B. SSIDs, Benutzernamen etc.), die zum Bestimmen oder Offenlegen der Identität eines Benutzers genutzt werden können, möglicherweise verschlüsselt, bevor die Netzparameter (die in den verschlüsselten Netzprofildaten enthalten sind) an den Router oder den Server übertragen werden. Der Router oder der Server entschlüsselt die verschlüsselten Netzprofildaten möglicherweise nicht beim Analysieren der verschlüsselten Netzprofildaten. Hierdurch kann der Router oder der Server bestimmen, ob das Computersystem 100 kompromittiert worden ist (z. B. ob das Computersystem 100 gehackt worden ist, ein Sicherheitsrisiko darstellt, mit Viren oder Malware infiziert ist etc.), ohne die Identität des Benutzers offenzulegen oder zu kompromittieren.
-
2 veranschaulicht eine Systemarchitektur 200 gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Die Systemarchitektur enthält das Computersystem 100, das Netz 105, ein Netzgerät 210, ein Netz 205 und einen Server 230. Wie oben erörtert, enthält das Computersystem 100 das Computergerät 110 (z. B. ein Smartphone, einen PDA, einen Tablet-Computer, einen Laptop-Computer, einen Desktop-Computer etc.) und ein IOT-Gerät 120 (z. B. eine Netzkarte, einen WiFi-Adapter etc.). Das Computersystem 100 kann an ein Netz 105 gekoppelt sein, und das Netz 105 kann durch das Netzgerät 210 implementiert sein, wie oben erörtert. Das Netz 105 ist zum Beispiel möglicherweise ein WiFi-Netz, das durch das Netzgerät 210 implementiert ist oder durch dieses bereitgestellt wird. In einer Ausführungsform ist das Netzgerät 210 möglicherweise ein Router (z. B. ein Netzgerät, das Daten wie Nachrichten, Pakete, Frames etc. weiterleitet) zwischen Netzen. Das Netzgerät 210 kann ein First-Hop-Router sein. Bei einem First-Hop-Router kann es sich um einen sowohl an ein LAN (z. B. ein WiFi-Netz) als auch an ein WAN gekoppelten Router handeln. Ein First-Hop-Router kann zum Beispiel zulassen, dass Geräte (z. B. Computergeräte), die an ein WiFi-Netz (z. B. ein LAN) gekoppelt sind, mit dem Internet (z. B. einem WAN) kommunizieren oder darauf zugreifen. Das Netzgerät 210 enthält eine Sicherheitskomponente 211. Bei der Sicherheitskomponente 211 kann es sich um Hardware, Software, Firmware oder eine Kombination davon handeln. Bei dem Server 230 handelt es sich möglicherweise um ein Computergerät (z. B. einen Rackmount-Server, einen Server-Computer, einen Anwendungsserver, einen Streaming-Video-Server etc.), das einen Dienst für das Computersystem 100 bereitstellt. Der Server 230 ist zum Beispiel möglicherweise ein Server für einen Banking-Dienst, der von einem Benutzer des Computersystems 100 genutzt wird. In einem anderen Beispiel ist der Server 230 möglicherweise ein Server für einen Multimedia-Streamingdienst (z. B. einen Video- oder Audio-Streamingdienst). Der Server 230 enthält eine Sicherheitskomponente 231. Bei der Sicherheitskomponente 231 kann es sich um Hardware, Software, Firmware oder eine Kombination davon handeln.
-
In einigen Ausführungsformen kann das Netzgerät 210 mehrere Netzgeräte enthalten. Das Netzgerät 210 kann zum Beispiel einen Zugangspunkt (z. B. einen Funkzugangspunkt) und einen First-Hop-Router enthalten. Wenn die Systemarchitektur 200 sowohl einen Zugangspunkt als auch einen First-Hop-Router enthält, kann der Zugangspunkt verschlüsselte Netzprofildaten von allen Geräten, die mit dem Zugangspunkt verbunden sind, für den First-Hop-Router bereitstellen.
-
Wie oben erörtert, kann das Computersystem 100 (z. B. Profilerstellungskomponenten des Computergeräts 110 oder des IOT-Geräts 120) Netzparameter erkennen und Netzprofildaten, die die Netzparameter enthalten, erzeugen. Die Netzparameter können Unterschicht-, Mittelschicht- und Oberschicht-Informationen enthalten, wie oben erörtert. Unterschiedliche Profilerstellungskomponenten können die Unterschicht-, Mittelschicht- und Oberschicht-Informationen erzeugen, wie oben erörtert. Die Profilerstellungskomponente 111 (des Computergeräts 110) überträgt zum Beispiel möglicherweise verschlüsselte Netzprofildaten, welche Unterschicht-, Mittelschicht- und Oberschicht-Informationen enthalten. In einem anderen Beispiel überträgt die Profilerstellungskomponente 121 (des IOT-Geräts 120) möglicherweise verschlüsselte Netzprofildaten, welche Unterschicht- und Mittelschicht-Informationen enthalten (weil das IOT-Gerät 120 möglicherweise eine Netzkarte ist, die nicht auf Oberschicht-Informationen wie Benutzernamen, Passwörter, Authentifizierungsanmeldeinformationen etc. zugreifen kann). In einem weiteren Beispiel kann der Funkzugangspunkt für alle an den Zugangspunkt gekoppelten Computersysteme Mittelschicht-Informationen (z. B. eingehende Verbindungsanforderungen, ausgehende Verbindungsanforderungen etc.) an das Netzgerät 210 enthalten. Dies kann dazu führen, dass doppelte Informationen oder Daten an das Netzgerät 210 oder den Server 230 gesendet werden. Wenn zum Beispiel sowohl die Profilerstellungskomponente 111 als auch die Profilerstellungskomponente 121 verschlüsselte Netzprofildaten (welche Unterschicht- oder Mittelschicht-Informationen enthalten) an den Server 230 übertragen, kann der Server 230 die Unterschicht- oder Mittelschicht-Informationen zweimal empfangen. In einer Ausführungsform überwachen die Profilerstellungskomponenten oder Zugangspunkte (z. B. Funkzugangspunkte) möglicherweise die Pakete, Nachrichten etc., die durch das Computergerät 110 übertragen werden, um zu bestimmen, ob doppelte Informationen übertragen werden. Die Profilerstellungskomponente 121 bestimmt zum Beispiel möglicherweise, ob verschlüsselte Netzprofildaten bereits durch das Computergerät 110 gesendet worden sind (z. B. in einem Paket an das Netzgerät 210 oder enthalten in vorhandenen Paketen oder Nachrichten). Wenn verschlüsselte Netzprofildaten bereits durch das Computergerät 110 gesendet worden sind, erfasst die Profilerstellungskomponente 111 möglicherweise keine Netzprofildaten (sie erkennt z. B. die Netzparameter nicht) und überträgt keine Netzprofildaten. In einem anderen Beispiel erfasst oder überträgt ein Zugangspunkt (in 2 nicht veranschaulicht) möglicherweise keine Netzprofildaten, wenn der Zugangspunkt bestimmt, dass die vom Computergerät 110 (oder vom IOT-Gerät 120) empfangenen Pakete (oder Nachrichten) Netzprofildaten enthalten.
-
In einer Ausführungsform werden die verschlüsselten Netzprofildaten möglicherweise in einen Strom von an das Netzgerät 210 übertragenen Paketen eingefügt. Die verschlüsselten Netzprofildaten können zum Beispiel in Pakete (oder Nachrichten, Frames etc.), die an das Netzgerät gerichtet oder adressiert sein können, aufgenommen werden. Die Pakete (die die verschlüsselten Netzprofildaten enthalten) können in einen Strom von an das Netzgerät 210 übertragenen Paketen eingefügt werden. Die verschlüsselten Netzprofildaten sind zum Beispiel möglicherweise in jedem n. Paket (z. B. jedem fünften Paket) des Stroms enthalten. Die Zieladresse der Pakete (die die verschlüsselten Netzprofildaten enthalten) kann die Netzadresse (z. B. die IP-Adresse) des Netzgeräts 210 sein. Der Zielport der Pakete, die die verschlüsselten Netzprofildaten enthalten, kann ebenfalls ein bestimmter Port (z. B. ein User-Datagram-Protocol-Port (UDP-Port)) sein, an dem das Netzgerät 210 auf den Empfang der verschlüsselten Netzprofildaten wartet. Die Quelladresse der Pakete (die die verschlüsselten Netzprofildaten enthalten) kann die Netzadresse (z. B. die IP-Adresse) des Computergeräts 110 oder des lOT-Geräts 120 sein.
-
In einer Ausführungsform empfängt und analysiert die Sicherheitskomponente 211 des Netzgeräts 210 die verschlüsselten Netzprofildaten möglicherweise, um zu bestimmen, ob das verschlüsselte Netzprofil angibt, dass das Computergerät 110 möglicherweise kompromittiert ist (z. B. um zu bestimmen, ob das Computergerät 110 mit Viren oder Malware infiziert worden ist, ein Sicherheitsrisiko darstellt etc.). In einer Ausführungsform bestimmt (z. B. kalkuliert, erzeugt etc.) die Sicherheitskomponente 211 möglicherweise die Hash-Werte der Quell- und der Zieladresse (z. B. der IP-Adresse, der MAC-Adresse etc.) der Pakete (die die verschlüsselten Netzprofildaten enthalten). Die Sicherheitskomponente 211 kann bestimmen, ob Hash-Werte gehashten (z. B. verschlüsselten) Quell- und Zieladressen des Computersystems 100 und gehashten Netzadressen des Netzgeräts 210, die in die Pakete aufgenommen worden sind, entsprechen. Hierdurch kann die Sicherheitskomponente 211 verhindern, dass andere Geräte die Netzprofildaten spoofen (sie verhindert z. B., dass andere Geräte sich als das Computergerät 110 ausgeben).
-
In einer Ausführungsform vergleicht die Sicherheitskomponente 211 (oder die Sicherheitskomponente 231) möglicherweise unterschiedliche Abschnitte der verschlüsselten Netzprofildaten mit Abschnitten von zuvor empfangenen verschlüsselten Netzprofildaten, um zu bestimmen, ob verschlüsselte Netzprofildaten möglicherweise angeben, dass das Computersystem 100 (z. B. das Computergerät 110, das IOT-Gerät 120 etc.) kompromittiert worden ist (z. B. nicht sicher ist), wie unten noch ausführlicher erörtert wird. Die Sicherheitskomponente 211 (oder die Sicherheitskomponente 231) kann auch eine oder mehrere Sicherheitsmaßnahmen durchführen, wenn die Sicherheitskomponente 211 (oder die Sicherheitskomponente 231) bestimmt, dass das Computersystem 100 möglicherweise kompromittiert ist (z. B. nicht sicher ist), oder bestimmt, dass möglicherweise verdächtige Aktivitäten stattfinden. Hierdurch kann das Netzgerät 210 verdächtige Aktivitäten erkennen (z. B. Angriffe wie Denial-of-Service-Angriffe erkennen, Hacking-Versuche erkennen etc.), die von kompromittierten Computergeräten (z. B. Computergeräten, die mit Malware oder Viren infiziert sind) im Netz 105 durchgeführt werden oder denen Computergeräte ausgesetzt sind.
-
Die Sicherheitskomponente 211 (oder die Sicherheitskomponente 231) vergleicht zum Beispiel möglicherweise den Abschnitt der Netzprofildaten, der eine Liste (z. B. einen Verlauf) von aufgrund von nicht geöffneten Ports abgelehnten eingehenden Verbindungen enthält, mit früheren Netzprofildaten, die eine Liste von aufgrund von nicht geöffneten Ports zuvor abgelehnten eingehenden Verbindungen enthalten. Wenn viele aufgrund von nicht geöffneten Ports abgelehnte eingehende Verbindungen (oder neue abgelehnte eingehende Verbindungen) vorhanden sind, kann dies ein Hinweis darauf sein, dass das Computergerät 110 oder das IOT-Gerät 120 das Ziel eines Port-Scannings (z. B. von verdächtigen Aktivitäten) gewesen oder kompromittiert worden ist (z. B. nicht sicher ist). Wenn die Port-Scannings von einer kleinen Anzahl von Netzadressen (z. B. von einer kleinen Anzahl von Geräten) empfangen werden, kann die Sicherheitskomponente 211 einige oder alle der Pakete, die von diesen Netzadressen empfangen werden, fallen lassen (sie stellt z. B. möglicherweise dem Computersystem 100 keine von diesen Netzadressen empfangenen Pakete oder Nachrichten zu).
-
In einem anderen Beispiel vergleicht die Sicherheitskomponente 211 (oder die Sicherheitskomponente 231) möglicherweise den Abschnitt der Netzprofildaten, der eine Liste von aufgrund von Authentifizierungsfehlern (z. B. aufgrund ungültiger Authentifizierungsanmeldeinformationen, eines ungültigen Benutzernamens oder Passworts etc.) abgelehnten eingehenden Verbindungen angibt, mit früheren Netzprofildaten, die eine Liste von aufgrund von Authentifizierungsfehlern zuvor abgelehnten eingehenden Verbindungen enthalten. Wenn viele aufgrund von Authentifizierungsfehlern abgelehnte eingehende Verbindungen (oder neue abgelehnte eingehende Verbindungen) vorhanden sind, kann dies ein Hinweis darauf sein, dass das Computergerät 110 oder das IOT-Gerät 120 das Ziel eines Hackings (z. B. von verdächtigen Aktivitäten) gewesen oder kompromittiert worden ist (z. B. nicht sicher ist). Wenn die abgelehnten eingehenden Verbindungen von einer kleinen Anzahl von Netzadressen (z. B. von einer kleinen Anzahl von Geräten) empfangen werden, kann die Sicherheitskomponente 211 (einige oder alle) Pakete, die von diesen Netzadressen empfangen werden, fallen lassen (sie stellt z. B. möglicherweise dem Computersystem 100 keine von diesen Netzadressen empfangenen Pakete oder Nachrichten zu).
-
In einem weiteren Beispiel vergleicht die Sicherheitskomponente 211 (oder die Sicherheitskomponente 231) möglicherweise den Abschnitt der Netzprofildaten, der eine Liste (z. B. einen Verlauf) von (aufgrund von nicht geöffneten Ports oder Authentifizierungsfehlern) abgelehnten ausgehenden Verbindungsanforderungen angibt, mit früheren Netzprofildaten, die eine Liste von (aufgrund von nicht geöffneten Ports oder Authentifizierungsfehlern) früheren abgelehnten ausgehenden Verbindungsanforderungen enthalten. Wenn viele abgelehnte ausgehende Verbindungsanforderungen (oder neue abgelehnte ausgehende Anforderungen) vorhanden sind, kann dies ein Hinweis darauf sein, dass das Computergerät 110 möglicherweise kompromittiert ist (z. B. nicht sicher ist, ein Sicherheitsrisiko darstellt, mit Viren oder Malware infiziert ist etc.) und versucht hat, Port-Scannings an anderen Geräten durchzuführen oder sich in andere Geräte einzuhacken.
-
In einer Ausführungsform vergleicht die Sicherheitskomponente 231 (oder die Sicherheitskomponente 211) möglicherweise unterschiedliche Abschnitte der verschlüsselten Netzprofildaten mit früheren Abschnitten von zuvor empfangenen verschlüsselten Netzprofildaten, um zu bestimmen, ob verschlüsselte Netzprofildaten möglicherweise angeben, dass das Computersystem 100 (z. B. das Computergerät 110, das IOT-Gerät 120 etc.) kompromittiert worden ist (z. B. nicht sicher ist), wie unten noch ausführlicher erörtert wird. Die Sicherheitskomponente 231 (oder die Sicherheitskomponente 211) kann auch eine oder mehrere Sicherheitsmaßnahmen durchführen, wenn die Sicherheitskomponente 231 (oder die Sicherheitskomponente 211) bestimmt, dass das Computersystem 100 möglicherweise kompromittiert ist (z. B. nicht sicher ist), oder bestimmt, dass möglicherweise verdächtige Aktivitäten stattfinden. Hierdurch kann das Netzgerät 210 verdächtige Aktivitäten erkennen (z. B. Angriffe wie Denial-of-Service-Angriffe erkennen, Hacking-Versuche erkennen etc.), die von kompromittierten Computergeräten (z. B. Computergeräten, die mit Malware oder Viren infiziert sind) durchgeführt werden oder denen Computergeräte ausgesetzt sind. Hierdurch kann das Netzgerät 210 auch verhindern, dass Angriffe oder Hacking-Versuche den Server 230 erreichen (um z. B. als erste Verteidigungslinie zu dienen), indem es Pakete fallen lässt oder verwirft, wenn ein verdächtiges Verhalten erkannt wird.
-
In einer Ausführungsform ist der Server 230 möglicherweise kein Server, der eigens für die Überwachung von Computergeräten zum Empfangen von Netzprofildaten und zum Bestimmen, ob die Computergeräte möglicherweise kompromittiert sind (z. B. nicht sicher sind), vorgesehen ist. Der Server 230 ist möglicherweise ein Server, der Dienste oder Funktionen für das Computersystem 100 bereitstellt, wie oben erörtert. Folglich können vorhandene Server dazu genutzt werden, um zu erkennen, wenn ein Computergerät möglicherweise kompromittiert ist (z. B. nicht sicher ist) und wenn ein Computergerät gerade verdächtige Aktivitäten (z. B. ein Port-Scanning) durchführt. Werden vorhandene Server dazu genutzt, um zu erkennen, wenn ein Computergerät möglicherweise kompromittiert ist (z. B. nicht sicher ist) oder gerade verdächtige Aktivitäten durchführt, können Kosten eingespart werden, da zur Durchführung dieser Funktionen möglicherweise kein zusätzlicher dedizierter Server benötigt wird.
-
In einer Ausführungsform überträgt die Profilerstellungskomponente die verschlüsselten Netzprofildaten möglicherweise an den Server 230 und nimmt hierzu die verschlüsselten Netzprofildaten in vorhandene Nachrichten auf, die an den Server übertragen werden. Die Profildaten werden möglicherweise nicht unter Nutzung einer dedizierten Nachricht oder eines dedizierten Pakets an den Server 230 übertragen. Die Profildaten können im Huckepackverfahren zu vorhandenen Nachrichten oder Paketen, die an den Server 230 übertragen werden, hinzugefügt werden. Der Server 230 ist zum Beispiel möglicherweise ein Server, der Streaming-Videos (z. B. Videodaten, Videoinhalte etc.) für das Computergerät 110 bereitstellt. Wenn das Computergerät 110 eine Anforderung eines Zugriffs auf unterschiedliche Videos (z. B. zum Herunterladen von Videos etc.) überträgt, kann die Profilerstellungskomponente 111 die verschlüsselten Netzprofildaten in die Nachrichten aufnehmen. Das Computergerät 110 ist zum Beispiel möglicherweise eine Hypertext-Transfer-Protocol-Nachricht (HTTP-Nachricht) zum Anfordern des Zugriffs auf ein Video. Die Profilerstellungskomponente 111 kann die Netzprofildaten unter Nutzung von HTTP-Direktiven in die HTTP-Nachricht aufnehmen. Eine HTTP-Direktive kann das Format eines Name-Wert-Paars (z. B. „name=value“) aufweisen, wobei der Name eine Kennung für den durch einen Abschnitt der Netzprofildaten dargestellten Netzparameter sein kann (der Name gibt z. B. möglicherweise an, dass die HTTP-Direktive die SSID des Netzes 105 enthält) und wobei der Wert die gehashte (oder verschlüsselte) Version der SSID sein kann.
-
In einer Ausführungsform vergleicht die Sicherheitskomponente 231 möglicherweise unterschiedliche Abschnitte der verschlüsselten Netzprofildaten mit Abschnitten von zuvor empfangenen verschlüsselten Netzprofildaten, um zu bestimmen, ob ein verschlüsseltes Netzprofil angibt, dass das Computersystem 100 (z. B. das Computergerät 110, das IOT-Gerät 120 etc.) möglicherweise kompromittiert ist (z. B. nicht sicher ist) oder gerade verdächtige Aktivitäten (z. B. ein Port-Scanning, mehrere Login- oder Authentifizierungsversuche etc.) durchführt, wie unten noch ausführlicher erörtert wird. Wenn die Sicherheitskomponente 231 keine verdächtigen Aktivitäten erkennt oder bestimmt, dass das Computersystem 100 nicht kompromittiert worden ist (z. B. kein Sicherheitsrisiko darstellt, sicher ist etc.), kann die Sicherheitskomponente 231 zulassen, dass der Server 230 mit dem Computersystem 100 kommuniziert (z. B. Pakete oder Nachrichten überträgt und empfängt).
-
In einer Ausführungsform führt die Sicherheitskomponente 231 möglicherweise eine oder mehrere Sicherheitsmaßnahmen durch, wenn die Sicherheitskomponente 231 bestimmt, dass das Computersystem 100 möglicherweise kompromittiert ist (z. B. nicht sicher ist), oder bestimmt, dass möglicherweise verdächtige Aktivitäten stattfinden. Zum Beispiel kann die Sicherheitskomponente 231 einige (oder alle) der vom Computersystem 100 (z. B. vom Computergerät 110) empfangenen Nachrichten oder Pakete fallen lassen, wenn die Sicherheitskomponente 231 eine verdächtige Aktivität erkennt oder bestimmt, dass das Computersystem 100 möglicherweise kompromittiert ist (z. B. nicht sicher ist). In einem anderen Beispiel überträgt die Sicherheitskomponente 231 möglicherweise eine Nachricht, die eine zusätzliche Authentifizierung anfordert, an das Computersystem 100. Die Sicherheitskomponente 231 kann zum Beispiel Sicherheitsfragen (z. B. zum Namen des Haustiers, zum Mädchennamen der Mutter, zum ersten Auto etc.) an das Computersystem 100 übertragen. Wenn das Computersystem 100 die zusätzliche Authentifizierung (z. B. zusätzliche Passwörter, Antworten auf Sicherheitsfragen etc.) nicht bereitstellt, lässt die Sicherheitskomponente 231 möglicherweise nicht zu, dass das Computersystem 100 mit dem Server 230 kommuniziert (z. B. werden Pakete oder Nachrichten, die vom Computersystem 100 empfangen worden sind, von ihr möglicherweise fallen gelassen, verworfen, ignoriert etc.).
-
In einer Ausführungsform werden die verschlüsselten Netzprofildaten (die vom Computergerät 110 oder vom IOT-Gerät 120 übertragen werden) möglicherweise nicht von den Sicherheitskomponenten 211 und 231 entschlüsselt. Die Sicherheitskomponenten 211 und 231 können unterschiedliche Versionen (z. B. eine momentane Version und eine frühere Version) der verschlüsselten Netzprofildaten miteinander vergleichen, um Unterschiede zwischen den Versionen der verschlüsselten Netzprofildaten zu bestimmen oder zu identifizieren, wie unten erörtert. Da die verschlüsselten Netzprofildaten genutzt werden (ohne dass die verschlüsselten Netzprofildaten entschlüsselt werden), können das Netzgerät 210 und der Server 230 die Identität von Benutzern des Computersystems 100 schützen, da zum Identifizieren von Benutzern dienende Informationen (z. B. Benutzernamen, Netzadressen, SSIDs etc.) verschlüsselt (z. B. gehasht) bleiben. Das Netzgerät 210 und der Server 230 können die verschlüsselten Netzparameter, die vom Computersystem 100 erkannt werden, trotzdem nutzen, während gleichzeitig die Benutzeranonymität gewahrt wird.
-
In einer Ausführungsform kann der Server 230 das Netzgerät 210 dazu anweisen, eine oder mehrere Sicherheitsmaßnahmen durchzuführen, wenn die Sicherheitskomponente 231 bestimmt, dass das Computersystem 100 möglicherweise kompromittiert ist (z. B. nicht sicher ist), oder bestimmt, dass möglicherweise verdächtige Aktivitäten stattfinden. Der Server 230 überträgt zum Beispiel möglicherweise eine oder mehrere Nachrichten an das Netzgerät 210, die angibt/angeben, dass ein oder mehrere vom IOT-Gerät 120 empfangene Pakete fallen gelassen werden sollen oder dass keine Kommunikation des IOT-Geräts 120 mit dem Netzgerät 210 erfolgen soll.
-
3 veranschaulicht beispielhafte Netzprofildaten 300 gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Wie oben erörtert, kann eine Profilerstellungskomponente (z. B. die Profilerstellungskomponenten 111 und 121, die in den 1 und 2 veranschaulicht sind) Netzprofildaten basierend auf Netzparametern, die von einem Gerät (z. B. einem Computergerät, einem IOT-Gerät etc.) erkannt werden, erhalten oder erzeugen. Die Netzparameter können Unterebene-Informationen 310, Mittelschicht-Informationen 320 und Oberebene-Informationen 330 enthalten. Die Unterebene-Informationen 310 enthalten möglicherweise Link-Layer- oder Internet-Layer-Informationen wie Netzadressen (z. B. IP- oder MAC-Adresse), Netzkennungen, Gerätekennungen (z. B. Namen, alphanumerische Werte etc.), Bluetooth-Adressen oder andere Kennungen und Adressen, die von anderen Kommunikationsprotokollen (z. B. BLE, ZigBee, Z-Wave etc.) genutzt werden. Die Mittelschicht-Informationen können Transport-Layer-Informationen wie Ports oder Portnummern, eingehende Verbindungsanforderungen, ausgehende Verbindungsanforderungen, ob eingehende Verbindungsanforderungen abgelehnt worden sind, ob ausgehende Verbindungsanforderungen abgelehnt worden sind etc. enthalten. Die Oberschicht-Informationen können Application-Layer-Informationen wie eingehende Authentifizierungsanforderungen, Authentifizierungsanmeldeinformationen und Ergebnisse, ausgehende Authentifizierungsanforderungen, Authentifizierungsanmeldeinformationen und Ergebnisse etc. enthalten.
-
In einer Ausführungsform werden die Netzprofildaten 300 möglicherweise für eine Verschlüsselungskomponente 350 zur Verschlüsselung der Netzprofildaten (um verschlüsselte Netzprofildaten 360 zu erzeugen) bereitgestellt. Bei der Verschlüsselungskomponente 350 kann es sich um Hardware, Software, Firmware oder eine Kombination davon zur Verschlüsselung von Daten oder Informationen handeln. Die Verschlüsselungskomponente 350 kann verschiedene Verfahren, Algorithmen, Funktionen, Vorgänge etc. zur Datenverschlüsselung nutzen. Die Verschlüsselungskomponente 350 kann zum Beispiel eine Hash-Funktion (z. B. eine kryptografische Hash-Funktion) zum Verschlüsseln der Netzprofildaten 300 (oder von Abschnitten der Netzprofildaten) nutzen. Zu Beispielen für Hash-Funktionen zählen Message-Digest(MD)-Hash-Funktionen (z. B. MD4, MD5 etc.), ein sicherer Hash-Algorithmus (z. B. SHA-1, SHA-256) etc.
-
Die verschlüsselten Netzprofildaten 360 können in mehrere Abschnitte 365 aufgeteilt sein. Jeder Abschnitt 365 kann mit einem vom Gerät erkannten Netzparameter korrespondieren. Eine erste Menge von Abschnitten 365 korrespondiert zum Beispiel möglicherweise mit einer Liste von (aufgrund von Authentifizierungsfehlern oder nicht geöffneten Ports) abgelehnten eingehenden Verbindungsanforderungen, wobei jeder Abschnitt 365 der ersten Menge von Abschnitten 365 mit je einer abgelehnten eingehenden Verbindungsanforderung aus der Liste von abgelehnten eingehenden Verbindungsanforderungen korrespondiert. In einem anderen Beispiel korrespondiert eine zweite Menge von Abschnitten 365 möglicherweise mit einer Menge von Netzkennungen (z. B. einer Liste von SSIDs), die vom Gerät erkannt werden, wobei jeder Abschnitt 365 der zweiten Menge von Abschnitten 365 mit einer Netzkennung aus der Menge von Netzkennungen korrespondiert. In einem anderen Beispiel korrespondiert eine dritte Menge von Abschnitten 365 möglicherweise mit einer Menge von Gerätekennungen (z. B. einer Liste von Gerätenamen), die vom Gerät erkannt werden, wobei jeder Abschnitt 365 der dritten Menge von Abschnitten 365 mit einer Gerätekennung aus der Menge von Gerätekennungen korrespondiert.
-
In einer Ausführungsform kann die Profilerstellungskomponente, wenn die Profilerstellungskomponente die verschlüsselten Netzprofildaten 360 an ein Netzgerät (z. B. einen Router) überträgt, die Abschnitte 365 in an das Netzgerät adressierte Pakete (die z. B. die Quelladresse des Netzgeräts als Empfänger der Pakete angeben) aufnehmen, wie oben erörtert. In einer anderen Ausführungsform kann die Profilerstellungskomponente, wenn die Profilerstellungskomponente die verschlüsselten Netzprofildaten 360 an einen Server überträgt, die Abschnitte 365 der verschlüsselten Netzprofildaten 360 in HTTP-Direktiven aufnehmen, wie oben erörtert. Die Profilerstellungskomponente kann zum Beispiel für jeden Abschnitt 365 (z. B. für jede SSID, für jede Netzadresse, für jede eingehende Verbindungsanforderung, für jede ausgehende Verbindungsanforderung etc.) eine HTTP-Direktive hinzufügen. Die HTTP-Direktive kann einen Namen haben, der den in der HTTP-Direktive enthaltenen Netzparameter identifiziert. Die HTTP-Direktive ist zum Beispiel möglicherweise mit dem Namen „network-profile-xyz“ versehen, wobei „xyz“ der Name des Netzparameters (z. B. SSID, IP-Adresse, MAC-Adresse, Gerätename etc.) ist. Der Wert der HTTP-Direktive kann die gehashte (oder verschlüsselte) Version des Netzparameters sein. Der Wert der HTTP-Direktive ist zum Beispiel möglicherweise ein Hash-Wert, der basierend auf der SSID oder einer MAC-Adresse (z. B. einem Netzparameter) erzeugt wird. Wenn eine Liste von Netzparametern übertragen wird (z. B. eine Liste von abgelehnten eingehenden Verbindungsanforderungen), kann eine erste HTTP-Direktive die Größe der Liste enthalten, während die andere HTTP-Direktive mit den einzelnen Netzparametern in der Liste korrespondieren kann.
-
In einer Ausführungsform stellen die Abschnitte 365 die Netzparameter möglicherweise in einer speziellen Reihenfolge dar. Zum Beispiel kann das erste Drittel der Abschnitte 365 Unterebene-Informationen, das zweite Drittel der Abschnitte 365 mittel-untere Abschnitte und das letzte Drittel der Abschnitte 365 Oberebene-Abschnitte darstellen. In einem anderen Beispiel wird jeder Netzparameter möglicherweise mittels einer speziellen Anzahl von Abschnitten 365 in einer speziellen Reihenfolge dargestellt. Zum Beispiel können die ersten drei Abschnitte 365 von einem Gerät erkannte SSIDs darstellen, die nächsten fünf Abschnitte 365 können eine von einem Gerät erkannte Quell-MAC-Adresse darstellen, die nächsten zwei Abschnitte 365 können eingehende Verbindungsanforderungen darstellen, die nächsten zwei Abschnitte 365 können ausgehende Verbindungsanforderungen darstellen etc.
-
Wenn ein Netzgerät (z. B. ein Router) oder ein Server die verschlüsselten Netzprofildaten 360 empfängt, kann das Netzgerät oder der Server die verschlüsselten Netzprofildaten 360 in einer oder mehreren FIFO-Warteschlangen (FIFO = First In First Out) speichern. Das Netzgerät oder der Server verwaltet zum Beispiel möglicherweise eine FIFO-Warteschlange, wobei ein Eintrag in der Warteschlange eine Version von verschlüsselten Netzprofildaten, die vom Gerät erzeugt worden sind, enthält. In einem anderen Beispiel verwaltet das Netzgerät oder der Server möglicherweise eine FIFO-Warteschlange für jeden Typ der Netzparameter in den verschlüsselten Netzprofildaten. Eine erste FIFO-Warteschlange enthält zum Beispiel möglicherweise Abschnitte von Netzprofildaten, die mit SSIDs korrespondieren, eine zweite FIFO-Warteschlange enthält möglicherweise Abschnitte von Netzprofildaten, die mit einer Netzadresse korrespondieren, eine dritte FIFO-Warteschlange enthält möglicherweise Abschnitte von Netzprofildaten, die mit Netzkennungen korrespondieren, etc.
-
In einer Ausführungsform bestimmt eine Sicherheitskomponente (z. B. die Sicherheitskomponenten 211 und 231) möglicherweise, ob eine bei einem Schwellenwert liegende Anzahl von Abschnitten 365 der verschlüsselten Netzprofildaten 360 von früheren Versionen der verschlüsselten Netzprofildaten abweicht. Wenn eine bei einem Schwellenwert liegende Anzahl von Abschnitten der verschlüsselten Netzprofildaten von früheren Versionen der verschlüsselten Netzprofildaten abweicht, können die Sicherheitskomponenten 211 und 231 bestimmen, dass das Computersystem 100 möglicherweise kompromittiert ist (z. B. nicht sicher ist) oder gerade verdächtige Aktivitäten durchführt. Die Sicherheitskomponente vergleicht zum Beispiel möglicherweise jeden Abschnitt 365 der verschlüsselten Netzprofildaten 360 mit jedem Abschnitt von zuvor empfangenen verschlüsselten Netzprofildaten (die in einer FIFO-Warteschlange gespeichert sein können). Wenn eine bei einem Schwellenwert liegende Anzahl von Abschnitten 365 von früheren Abschnitten abweicht (z. B. bei einer Nichtübereinstimmung von mehr als fünfzehn Prozent der Hash-Werte, bei einer Nichtübereinstimmung von mehr als zehn der Hash-Werte etc.), kann die Sicherheitskomponente bestimmen, dass das Gerät möglicherweise kompromittiert ist (z. B. nicht sicher ist) oder dass das Gerät gerade verdächtige Aktivitäten durchführt.
-
4 ist ein Ablaufschema eines Verfahrens 400 zum Analysieren von Netzprofildaten gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Das Verfahren 400 kann durch eine Verarbeitungslogik durchgeführt werden, die Hardware (z. B. eine Schaltungsanordnung, eine dedizierte Logik, eine programmierbare Logik, einen Prozessor, ein Verarbeitungselement, einen Hauptprozessor (CPU), einen Mehrkernprozessor, ein System auf einem Chip (SoC) etc.), Software (z. B. Befehle, die in einem Verarbeitungselement laufen gelassen/ausgeführt werden), Firmware (z. B. Mikrocode) oder eine Kombination davon beinhalten kann. In einigen Ausführungsformen kann das Verfahren 400 durch eine Sicherheitskomponente (z. B. die in 3 veranschaulichten Sicherheitskomponenten 211 und 231), ein Netzgerät (z. B. das in 3 veranschaulichte Netzgerät 210), einen Server (z. B. den in 3 veranschaulichten Server 230) oder ein Verarbeitungselement (z. B. das in 6 veranschaulichte Verarbeitungselement 602) durchgeführt werden.
-
Das Verfahren 400 beginnt am Block 405, an dem bei dem Verfahren 400 ein Paket oder eine Nachricht empfangen wird. Es kann zum Beispiel ein UDP-Paket oder eine HTTP-Nachricht von einem Gerät (z. B. von einem Computergerät, einem IOT-Gerät, einem Computersystem etc.) empfangen werden. Am Block 410 wird bei dem Verfahren 400 optional bestimmt, ob in der Nachricht oder dem Paket verschlüsselte Netzprofildaten enthalten sind. Zum Beispiel kann bei dem Verfahren 400 bestimmt werden, ob die HTTP-Nachricht HTTP-Direktiven enthält, wie oben erörtert. Wenn keine verschlüsselten Netzprofildaten enthalten sind, kann bei dem Verfahren 400 am Block 425 optional verhindert werden, dass das Gerät kommuniziert. Bei dem Verfahren 400 kann zum Beispiel verhindert werden, dass das Gerät mit einem Server oder einem Router kommuniziert.
-
Wenn die verschlüsselten Netzprofildaten enthalten sind, wird bei dem Verfahren 400 zum Block 415 übergegangen, an dem bei dem Verfahren die verschlüsselten Netzprofildaten analysiert werden. Am Block 420 wird bei dem Verfahren 400 bestimmt, ob das Gerät möglicherweise kompromittiert ist (z. B. nicht sicher ist). Zum Beispiel können bei dem Verfahren 400 die verschlüsselten Netzprofildaten (oder Abschnitte der verschlüsselten Netzprofildaten) mit einer früheren Version der verschlüsselten Netzprofildaten verglichen werden, wie oben erörtert. Bei dem Verfahren 400 können die verschlüsselten Netzprofildaten auch verglichen werden, ohne dass die verschlüsselten Netzprofildaten entschlüsselt werden, um die Identität eines Benutzers des Geräts zu schützen, wie oben erörtert.
-
Wenn das Gerät nicht kompromittiert worden ist (wenn z. B. eine bei einem Schwellenwert liegende Anzahl von Abschnitten der verschlüsselten Netzprofildaten, die von früheren Abschnitten früherer verschlüsselter Netzprofildaten abweichen, überschritten wird), wird bei dem Verfahren 400 zum Block 430 übergegangen, an dem bei dem Verfahren 400 eine oder mehrere Sicherheitsmaßnahmen durchgeführt werden. Bei dem Verfahren 400 werden zum Beispiel möglicherweise ein oder mehrere Pakete oder eine oder mehrere Nachrichten, die vom Gerät empfangen worden sind, fallen gelassen (z. B. verworfen). In einem anderen Beispiel wird bei dem Verfahren 400 möglicherweise eine zusätzliche Authentifizierung angefordert (z. B. werden zusätzliche Anmeldeinformationen angefordert). Wenn das Gerät nicht kompromittiert worden ist (wenn z. B. eine bei einem Schwellenwert liegende Anzahl von Abschnitten der verschlüsselten Netzprofildaten, die von früheren Abschnitten früherer verschlüsselter Netzprofildaten abweichen, unterschritten oder genau erreicht wird), wird bei dem Verfahren 400 zum Block 435 übergegangen, an dem bei dem Verfahren 400 zugelassen wird, dass das Gerät mit einem Server oder einem Router kommuniziert.
-
5 ist ein Ablaufschema eines Verfahrens 500 zum Erhalten von Netzprofildaten gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Das Verfahren 500 kann durch eine Verarbeitungslogik durchgeführt werden, die Hardware (z. B. eine Schaltungsanordnung, eine dedizierte Logik, eine programmierbare Logik, einen Prozessor, ein Verarbeitungselement, einen Hauptprozessor (CPU), einen Mehrkernprozessor, ein System auf einem Chip (SoC) etc.), Software (z. B. Befehle, die in einem Verarbeitungselement laufen gelassen/ausgeführt werden), Firmware (z. B. Mikrocode) oder eine Kombination davon beinhalten kann. In einigen Ausführungsformen kann das Verfahren 500 durch eine Profilerstellungskomponente (z. B. die in den 1 und 2 veranschaulichten Profilerstellungskomponenten 111 und 121), ein Computergerät (z. B. das in den 1 und 2 veranschaulichte Computergerät 110) oder ein Verarbeitungselement (z. B. das in 6 veranschaulichte Verarbeitungselement 602) durchgeführt werden.
-
Das Verfahren 500 beginnt am Block 505, an dem bei dem Verfahren 500 Netzprofildaten erhalten werden. Bei dem Verfahren 500 werden zum Beispiel möglicherweise Netzparameter (z. B. eine Netzadresse, Netzkennungen, eingehende Verbindungsanforderungen, ausgehende Verbindungsanforderungen etc.) erkannt. Bei dem Verfahren 500 können Netzprofildaten, die die Netzparameter enthalten (die z. B. Unterebene- und/oder Mittelebene- und/oder Oberebene-Informationen etc. enthalten), erzeugt werden. Am Block 510 können bei dem Verfahren 500 die Netzprofildaten verschlüsselt werden. Zum Beispiel können bei dem Verfahren 500 ein oder mehrere Hash-Werte basierend auf den Netzparametern erzeugt werden, wie oben erörtert. Die verschlüsselten Netzprofildaten können in mehrere Abschnitte aufgeteilt sein, von denen jeder mehrere Hash-Werte enthalten kann. Am Block 515 können bei dem Verfahren 500 die verschlüsselten Netzprofildaten an ein Netzgerät (z. B. einen First-Hop-Router) oder einen Server übertragen werden. Bei dem Verfahren 500 können zum Beispiel die verschlüsselten Netzprofildaten in vorhandenen Verkehr oder vorhandene Daten, der/die an einen Server übertragen wird/werden, aufgenommen werden (indem z. B. eine oder mehrere HTTP-Direktiven in eine HTTP-Nachricht aufgenommen werden), wie im Block 516 veranschaulicht. In einem anderen Beispiel, wie im Block 517 veranschaulicht, können die verschlüsselten Netzprofildaten bei dem Verfahren 500 in eine Nachricht oder ein Paket, die/das an das Netzgerät adressiert ist (die/das z. B. das Netzgerät als Empfänger der Nachricht oder des Pakets angibt), übertragen werden, wie oben erörtert.
-
6 ist ein Blockschema eines beispielhaften Geräts 600, das einen oder mehrere der hierin beschriebenen Vorgänge durchführen kann, gemäß einigen Ausführungsformen. Das Gerät 600 kann mit anderen Geräten über ein LAN, ein Intranet, ein Extranet und/oder das Internet verbunden sein. Das Gerät kann als Server-Maschine in einer Client-Server-Netzumgebung oder als Client in einer Peer-to-Peer-Netzumgebung betrieben werden. Das Gerät ist möglicherweise ein elektronisches Gerät oder ein Computergerät (etwa ein Personal Computer (PC), ein Tablet-Computer, ein PDA, ein Smartphone, eine Set-Top-Box (STB), ein Server-Computer etc.), ein Netzgerät (etwa ein Router, ein Switch oder eine Brücke) oder eine beliebige Maschine, die zum Ausführen eines Satzes von (sequenziellen oder anderen) Befehlen zur Vorgabe von Aktionen, die von dieser Maschine durchzuführen sind, fähig ist. Ferner ist der Begriff „Gerät“, wenngleich nur ein einziges Gerät veranschaulicht wird, auch so zu verstehen, dass er eine beliebige Gruppierung von Geräten einschließt, die entweder einzeln oder gemeinsam einen Satz (oder mehrere Sätze) von Befehlen zur Durchführung der hierin erörterten Verfahren ausführen.
-
Das beispielhafte Gerät 600 kann ein Verarbeitungselement (z. B. einen Mehrzweckprozessor, einen PLD etc.) 602, einen Hauptspeicher 604 (z. B. ein Synchronous Dynamic Random Access Memory (DRAM), einen Festwertspeicher (ROM)), einen statischen Speicher 606 (z. B. einen Flash-Speicher und ein Datenspeicherelement 618), die über einen Bus 630 miteinander kommunizieren können, enthalten.
-
Das Verarbeitungselement 602 kann durch ein oder mehrere Mehrzweckverarbeitungselemente wie einen Mikroprozessor, einen Hauptprozessor oder dergleichen bereitgestellt werden. In einem Ausführungsbeispiel beinhaltet das Verarbeitungselement 602 möglicherweise einen CISC-Mikroprozessor (CISC = Complex Instruction Set Computing), einen RISC-Mikroprozessor (RISC = Reduced Instruction Set Computing), einen VLIW-Mikroprozessor (VLIW = Very Long Instruction Word) oder einen Prozessor, der andere Befehlssätze implementiert, oder Prozessoren, die eine Kombination von Befehlssätzen implementieren. Das Verarbeitungselement 602 kann auch ein oder mehrere dedizierte Verarbeitungselemente wie einen anwendungsspezifischen integrierten Schaltkreis (ASIC), ein Field Programmable Gate Array (FPGA), einen digitalen Signalprozessor (DSP), einen Netzprozessor oder dergleichen beinhalten. Das Verarbeitungselement 602 kann für die Ausführung der hierin beschriebenen Vorgänge gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung zum Durchführen der hierin erörterten Vorgänge und Schritte konfiguriert sein.
-
Das Gerät 600 kann ferner ein Netzschnittstellenelement 608, das mit einem Netz 620 kommunizieren kann, enthalten. Das Gerät 600 kann auch eine Videoanzeigeeinheit 610 (z. B. eine Flüssigkristallanzeige (LCD) oder eine Kathodenstrahlröhre (CRT)), ein für alphanumerische Eingaben vorgesehenes Gerät 612 (z. B. eine Tastatur), ein Cursorsteuerungsgerät 614 (z. B. eine Maus) und ein Tonsignalerzeugungsgerät 616 (z. B. einen Lautsprecher) enthalten. In einer Ausführungsform sind die Videoanzeigeeinheit 610, das für alphanumerische Eingaben vorgesehene Gerät 612 und das Cursorsteuerungsgerät 614 möglicherweise in einer einzigen Komponente oder einem einzigen Gerät (z. B. einem LCD-Touchscreen) kombiniert.
-
Das Datenspeicherelement 618 kann ein computerlesbares Speichermedium 628 enthalten, in dem ein oder mehrere Sätze von Befehlen, z. B. von Befehlen zum Ausführen der hierin beschriebenen Vorgänge, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung gespeichert ist/sind. Befehle, die Befehle 626 für eine Profilerstellungskomponente und/oder eine Sicherheitskomponente implementieren, können bei ihrer Ausführung durch das Gerät 600 auch ganz oder mindestens teilweise im Hauptspeicher 604 und/oder im Verarbeitungselement 602 liegen, wobei der Hauptspeicher 604 und das Verarbeitungselement 602 ebenfalls computerlesbare Medien bilden. Die Befehle können ferner über ein Netz 620 über das Netzschnittstellenelement 608 übertragen oder empfangen werden.
-
In dem Ausführungsbeispiel ist zwar nur ein computerlesbares Speichermedium 628 gezeigt, jedoch ist der Begriff „computerlesbares Speichermedium“ so zu verstehen, dass er entweder nur ein Medium oder mehrere Medien (z. B. eine zentrale oder eine verteilte Datenbank und/oder zugehörige Cachespeicher und Server) zum Speichern des einen oder der mehreren Befehlssätze einschließt. Der Begriff „computerlesbares Speichermedium“ ist auch so zu verstehen, dass er beliebige Medien einschließt, die zum Speichern, Codieren oder Übermitteln eines Befehlssatzes zur Ausführung durch die Maschine fähig sind und die bewirken, dass die Maschine die hierin beschriebenen Verfahren durchführt. Der Begriff „computerlesbares Speichermedium“ ist demzufolge so zu verstehen, dass er Halbleiterspeicher, optische Medien und magnetische Medien einschließt, ohne aber darauf beschränkt zu sein.
-
In einigen Ausführungsformen kann das beispielhafte Gerät 600 auch eine Teilmenge der in 6 veranschaulichten Komponenten enthalten. Das beispielhafte Gerät 600 enthält zum Beispiel möglicherweise das Verarbeitungselement, den Hauptspeicher 604 (oder ein Datenspeicherelement von einem anderen Typ, etwa ein Element zur dauerhaften Datenspeicherung) und das Netzschnittstellenelement 608.
-
Sofern nicht ausdrücklich anders angegeben, beziehen sich Begriffe wie „erhalten“, „verschlüsseln“, „übertragen“, „enthalten“, „fallen lassen“, „empfangen“, „bestimmen“, „durchführen“, „vergleichen“, „anfordern“, „verhindern“ oder dergleichen auf Aktionen und Prozesse, die durch Computergeräte durchgeführt oder implementiert werden, wobei diese Computergeräte Daten, die als physikalische (z. B. elektronische) Größen innerhalb der Register und Speicher des Computergeräts dargestellt werden, manipulieren und in andere Daten umwandeln, wobei diese anderen Daten in ähnlicher Weise als physikalische Größen innerhalb der Computergerätspeicher oder -register oder anderer derartiger Elemente zum Speichern, Übertragen oder Anzeigen von Informationen dargestellt werden.
-
Die hierin beschriebenen Beispiele beziehen sich auch auf eine Vorrichtung zum Durchführen der hierin beschriebenen Vorgänge. Diese Vorrichtung kann speziell für die erforderlichen Zwecke ausgelegt sein, oder sie kann ein Mehrzweckcomputergerät, das durch ein im Computergerät gespeichertes Computerprogramm selektiv programmiert wird, beinhalten. Ein derartiges Computerprogramm kann in einem computerlesbaren, nicht flüchtigen Speichermedium gespeichert sein.
-
Manche Ausführungsformen sind implementierbar als Computerprogrammprodukt, das Befehle, die in einem maschinenlesbaren Medium gespeichert sind, enthalten kann. Diese Befehle können dazu genutzt werden, um einen Mehrzweck- oder Spezialprozessor zum Durchführen der beschriebenen Vorgänge zu programmieren. Ein maschinenlesbares Medium enthält einen beliebigen Mechanismus zum Speichern oder Übertragen von Informationen in einer Form (z. B. Software, Verarbeitungsanwendung), die von einer Maschine (z. B. einem Computer) gelesen werden kann. Das maschinenlesbare Medium enthält möglicherweise Folgendes, ohne jedoch darauf beschränkt zu sein: ein Magnetspeichermedium (z. B. eine Diskette); ein optisches Speichermedium (z. B. eine CD-ROM); ein magnetooptisches Speichermedium; einen Festwertspeicher (ROM); einen Arbeitsspeicher (RAM); einen lösch- und programmierbaren Speicher (z. B. ein EPROM oder ein EEPROM); einen Flash-Speicher; oder ein Medium von einem anderen Typ, das zum Speichern elektronischer Befehle geeignet ist. Das maschinenlesbare Medium wird möglicherweise als nicht flüchtiges, maschinenlesbares Medium bezeichnet.
-
Die hierin beschriebenen Verfahren und Ausführungsbeispiele beziehen sich nicht zwangsläufig auf einen bestimmten Computer oder eine andere bestimmte Vorrichtung. Es können verschiedene Mehrzwecksysteme gemäß den hierin beschriebenen Lehren genutzt werden, oder es kann sich eine noch spezieller angepasste Vorrichtung zum Durchführen der erforderlichen Verfahrensschritte als zweckmäßig erweisen. Die erforderliche Struktur für diverse dieser Systeme ergibt sich aus der obigen Beschreibung.
-
Die obige Beschreibung ist als beispielhaft und nicht als einschränkend anzusehen. Die obige Offenbarung ist zwar unter Bezugnahme auf spezielle Ausführungsbeispiele beschrieben worden, jedoch versteht es sich, dass die vorliegende Offenbarung nicht auf die beschriebenen Beispiele beschränkt ist. Der Schutzbereich der Offenbarung ist unter Bezugnahme auf die folgenden Ansprüche zu bestimmen, ebenso der gesamte Schutzbereich von Äquivalenten, die die Ansprüche ebenfalls unter Schutz stellen.
-
Die Singularformen „ein“ und „eine“ sowie „der“, „die“ und „das“, wie hierin genutzt, sollen auch die jeweiligen Pluralformen einschließen, sofern aus dem Kontext nicht eindeutig etwas Anderes hervorgeht. Ferner versteht es sich, dass die Begriffe „beinhaltet“, „beinhaltend“, „enthält“ und/oder „enthaltend“, wenn sie hierin genutzt werden, das Vorhandensein der jeweils aufgeführten Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente und/oder Komponenten angeben, dass dadurch aber nicht ausgeschlossen wird, dass auch ein oder mehrere andere Merkmale, eine oder mehrere andere Ganzzahlen, ein oder mehrere andere Schritte, ein oder mehrere andere Vorgänge, ein oder mehrere andere Elemente, eine oder mehrere andere Komponenten und/oder eine oder mehrere andere Gruppen davon vorhanden sein oder noch hinzugefügt werden können. Außerdem dienen die Begriffe „erster“, „zweiter“, „dritter“, „vierter“ etc., wie hierin genutzt, als Bezeichnungen zur Unterscheidung zwischen unterschiedlichen Elementen und sind nicht zwangsläufig Ordinalzahlen, die genau ihrer numerischen Bezeichnung entsprechen. Deshalb dient die hierin genutzte Terminologie allein dem Zweck der Beschreibung bestimmter Ausführungsformen und soll nicht einschränken.
-
Es ist auch zu beachten, dass die genannten Funktionen/Abläufe in einigen alternativen Implementierungen auch in einer anderen als der Reihenfolge, die in den Figuren gezeigt wird, erfolgen können. Zum Beispiel können zwei nacheinander gezeigte Figuren abhängig von der jeweiligen Funktionalität/vom jeweiligen Ablauf stattdessen auch im Wesentlichen gleichzeitig ausgeführt werden oder können mitunter auch in umgekehrter Reihenfolge ausgeführt werden.
-
Die Verfahrensvorgänge sind zwar in einer speziellen Reihenfolge beschrieben worden, jedoch versteht es sich, dass zwischen den beschriebenen Vorgängen noch andere Vorgänge durchgeführt werden können, dass die beschriebenen Vorgänge so angeglichen werden können, dass sie zeitlich etwas versetzt dazu erfolgen können, oder dass die beschriebenen Vorgänge in einem System, das zulässt, dass die Verarbeitungsvorgänge in verschiedenen mit der Verarbeitung verbundenen Intervallen erfolgen, verteilt sein können.
-
Verschiedene Einheiten, Schaltkreise oder andere Komponenten werden möglicherweise als „konfiguriert“ oder „konfigurierbar“, um einen oder mehrere Tasks durchzuführen, beschrieben oder beansprucht. In diesem Zusammenhang wird mit den Begriffen „konfiguriert“ und „konfigurierbar“ indirekt auch eine Struktur ausgedrückt, nämlich in der Bedeutung, dass die Einheiten/Schaltkreise/Komponenten eine Struktur (z. B. eine Schaltungsanordnung), die den einen oder die mehreren Tasks während des Betriebs durchführt, enthalten. Entsprechend ist es auch möglich zu sagen, dass die Einheit/der Schaltkreis/die Komponente konfiguriert oder konfigurierbar ist, um den Task durchzuführen, selbst wenn die genannte Einheit/der genannte Schaltkreis/die genannte Komponente gerade nicht im Betrieb ist (z. B. nicht an ist). Die Einheiten/Schaltkreise/Komponenten, zu deren Beschreibung Begriffe wie „konfiguriert“ oder „konfigurierbar“ genutzt werden, enthalten Hardware - zum Beispiel Schaltkreise, Speicherbausteine, die zum Implementieren des Betriebs ausführbare Programmbefehle speichern, etc. Wird erklärt, dass eine Einheit/ein Schaltkreis/eine Komponente „konfiguriert“ oder „konfigurierbar“ ist, um einen oder mehrere Tasks durchzuführen, erfolgt dies ausdrücklich nicht unter Berufung auf Absatz sechs des United States Code, Bd. 35, § 112 für diese Einheit/diesen Schaltkreis/diese Komponente. Darüber hinaus kann „konfiguriert“ oder „konfigurierbar“ eine Universalstruktur (z. B. eine Universalschaltungsanordnung) einschließen, die durch Software und/oder Firmware (z. B. ein FPGA oder einen Mehrzweckprozessor zur Ausführung von Software) manipuliert wird, um so betrieben zu werden, dass sie zur Durchführung des einen oder der mehreren betreffenden Tasks fähig ist. „Konfiguriert“ kann auch einschließen, dass ein Herstellungsprozess (z. B. eine Halbleiterfertigungsanlage) so angepasst wird, dass hierbei für die Implementierung oder Durchführung eines oder mehrerer Tasks angepasste Bauelemente (z. B. integrierte Schaltkreise) gefertigt werden. „Konfigurierbar“ ist ausdrücklich nicht anwendbar auf leere Medien, unprogrammierte Prozessoren oder unprogrammierte Universalcomputer oder unprogrammierte programmierbare Logikbausteine, programmierbare Gate-Arrays oder sonstige unprogrammierte Bauelemente, es sei denn, zu ihnen gehören programmierte Medien, die die Möglichkeit bieten, dass das unprogrammierte Bauelement zur Durchführung der offenbarten Funktion(en) konfiguriert wird.
-
Die vorstehende Beschreibung ist zum Zweck der Erläuterung unter Bezugnahme auf spezielle Ausführungsformen beschrieben worden. Jedoch erhebt die obige Erörterung, die zur Veranschaulichung dient, keinen Anspruch auf Vollständigkeit und beschränkt die Erfindung nicht auf genau die Ausführungsformen, die offenbart werden. Denn angesichts der obigen Lehren sind viele Abwandlungen und Änderungen möglich. Die Ausführungsformen sind mit Blick darauf gewählt und beschrieben worden, dass die Prinzipien der Ausführungsformen und ihre praktische Anwendung bestmöglich erläutert werden, um dadurch dem Fachmann die bestmögliche Ausnutzung der Ausführungsformen sowie verschiedener Abwandlungen, soweit diese für die ins Auge gefasste konkrete Nutzung geeignet ist, zu ermöglichen. Demzufolge sind die vorliegenden Ausführungsformen als beispielhaft und nicht einschränkend anzusehen, und die Erfindung soll nicht auf die hierin aufgeführten Einzelheiten beschränkt sein, sondern kann im Schutzbereich und unter Berücksichtigung von Äquivalenten der beigefügten Ansprüche noch abgewandelt werden.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 15847672 [0001]
- US 62537857 [0001]