DE112020004607T5 - Sicherheitsüberprüfung eines universal serial bus gerätes - Google Patents

Sicherheitsüberprüfung eines universal serial bus gerätes Download PDF

Info

Publication number
DE112020004607T5
DE112020004607T5 DE112020004607.9T DE112020004607T DE112020004607T5 DE 112020004607 T5 DE112020004607 T5 DE 112020004607T5 DE 112020004607 T DE112020004607 T DE 112020004607T DE 112020004607 T5 DE112020004607 T5 DE 112020004607T5
Authority
DE
Germany
Prior art keywords
security
usb
computer
score
identifying
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.)
Pending
Application number
DE112020004607.9T
Other languages
English (en)
Inventor
Cesar Augusto Rodriguez Bravo
Rhonda Childress
Craig Trim
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.)
Kyndryl Inc
Original Assignee
Kyndryl Inc
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 Kyndryl Inc filed Critical Kyndryl Inc
Publication of DE112020004607T5 publication Critical patent/DE112020004607T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Universal Serial Bus (USB)-Geräte werden für den Zugriff gemäß Eigenschaften bewertet, die Deskriptoren und ROM-Informationen beinhalten. Deskriptoren sind Querverweise auf historische Deskriptoren, von denen bekannt ist, dass sie mit bösartigen oder genehmigten USB-Geräten verknüpft sind. ROM-Informationen werden analysiert, um die Kongruenz der Daten zu ermitteln. Gerätetreiber und Konfigurationsdateien auf dem USB-Gerät werden auf Indicators of Compromise oder Bedrohungen überprüft und einem entsprechenden Sicherheits-Score zugeordnet. Sicherheitsaktionen werden gemäß einem Sicherheits-Score durchgeführt, der gemäß den übereinstimmenden Deskriptoren und analysierten ROM-Informationen zugeordnet ist.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich allgemein auf das Gebiet der Computersicherheit und insbesondere auf die Absicherung eines Computers gegen Keystroke Injection Tools.
  • HINTENGRUND
  • Ein Keystroke Injection Tool wird häufig verwendet, um eine Tastaturverbindung zu einem Universal Serial Bus (USB)-Anschluss zu imitieren. Das USB Rubber Ducky ist ein bekanntes Keystroke Injection Tool, das als generisches Flash-Laufwerk getarnt ist. Computer erkennen es als normale Tastatur und akzeptieren automatisch die vorprogrammierten Tastenanschlag-Nutzlasten. Das USB Rubber Ducky wird lediglich eingesteckt, vom Computer als Tastatur erkannt und moderne Betriebssysteme akzeptieren die vorprogrammierten Tastenanschläge des Geräts.
  • USB-Protokolle können bestimmte Geräte beim Start oder wenn sie zur Laufzeit eingesteckt werden, konfigurieren. Die USB-Geräte sind zur schnellen Handhabung in verschiedene Geräteklassen unterteilt. Jede USB-Geräteklasse definiert ein gemeinsames Verhalten und/oder Protokolle für Geräte, die ähnliche Funktionen erfüllen. Beispiele und entsprechende Klassen beinhalten: (i) Videomonitor (Anzeigeklasse); (ii) Modem (Kommunikationsklasse); (iii) Lautsprecher (Audioklasse); (iv) Festplatte (Massenspeicherklasse) und (v) Datenhandschuh (Human Interface Device (HID) Klasse). Die USB HID-Klasse besteht hauptsächlich aus Geräten, die von Menschen verwendet werden, um den Betrieb von Computersystemen zu steuern. Typische Beispiele für Geräte der USB HID-Klasse beinhalten: (i) Tastaturen, Computermäuse, Zeigegeräte, Trackballs und Joysticks; (ii) Steuerungen wie Fernbedienungen, Spiele, Simulationsgeräte (Datenhandschuhe, Gasregler, Lenkräder und Pedale); und (iii) andere Eingabegeräte, die Strichcodeleser, Thermometer oder Voltmeter beinhalten. Daher gibt es in der Technik einen Bedarf, das oben genannte Problem zu lösen.
  • KURZDARSTELLUNG
  • Unter einem ersten Aspekt betrachtet, stellt die vorliegende Erfindung ein computer-implementiertes Verfahren für eine Sicherheitsaktion bereit, das Folgendes umfasst: Identifizieren einer Menge von digitalen Objekten auf einem Universal Serial Bus (USB)-Gerät, um einen Sicherheitseintrag zu ermitteln; Zuordnen eines Sicherheits-Scores zu dem USB-Gerät auf Grundlage des ermittelten Sicherheitseintrags; in Reaktion auf den zugeordneten Sicherheits-Score, Durchführen einer Sicherheitsaktion.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein System für eine Sicherheitsaktion bereit, wobei das System umfasst: einen Prozessor; und ein computerlesbares Speichermedium, das Programmanweisungen speichert, die, wenn sie von dem Prozessor ausgeführt werden, so konfiguriert sind, dass sie den Prozessor veranlassen, ein Verfahren auszuführen, das umfasst: Identifizieren einer Menge von digitalen Objekten auf einem Universal Serial Bus (USB)-Gerät, um einen Sicherheitseintrag zu ermitteln; Zuordnen eines Sicherheits-Scores zu dem USB-Gerät auf der Grundlage des ermittelten Sicherheitseintrags; in Reaktion auf den zugeordneten Sicherheits-Score, Durchführen einer Sicherheitsaktion.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein computer-implementiertes Verfahren bereit, das Folgendes umfasst: Identifizieren einer Menge von Deskriptoren aus Deskriptor-Feldern auf einem Universal Serial Bus (USB)-Gerät; Vergleichen jedes Deskriptors der Menge von Deskriptoren mit einer Menge von historischen Deskriptoren, wobei der Menge von historischen Deskriptoren individuell ein Sicherheits-Score zugeordnet wird; Lesen von Nur-Lese-Speicher (ROM)-Informationen auf dem USB-Gerät; Analysieren der ROM-Informationen auf Kongruenz, wobei einer Nicht-Kongruenz ein vordefinierter Sicherheits-Score zugeordnet wird; Zuordnen eines Sicherheits-Scores zu dem USB-Gerät auf Grundlage des Vergleichs jedes Deskriptors und der Analyse der ROM-Informationen, wobei der höchste individuelle Sicherheits-Score die Grundlage des zugeordneten Sicherheits-Scores ist; und in Reaktion auf den zugeordneten Sicherheits-Score, Durchführen einer Sicherheitsaktion.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein computer-implementiertes Verfahren bereit, das Folgendes umfasst: Lesen von Nur-Lese-Speicher (ROM)-Informationen auf einem Universal Serial Bus (USB)-Gerät; Identifizieren einer Menge von Trails von Konfigurationsdateien in den ROM-Informationen; Identifizieren einer Menge von Indicators of Compromise, die vorbestimmte Trails von Konfigurationsdateien beinhalten; Ermitteln, dass ein Trail der Menge von Trails mit einem vorbestimmten Trail in der Menge von Indicators of Compromise übereinstimmt; Identifizieren eines Sicherheits-Scores, der mit dem vorbestimmten Trail verknüpft ist; und Durchführen einer Sicherheitsaktion, die dem Sicherheits-Score entspricht.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein computer-implementiertes Verfahren bereit, das Folgendes umfasst: Identifizieren einer Menge von Gerätetreibern, die auf einem Universal Serial Bus (USB)-Gerät gespeichert sind, Identifizieren einer Menge von Mikrocontroller-Gerätetreibern; Ermitteln, dass ein Gerätetreiber der Menge von Gerätetreibern auf dem USB-Gerät mit einem Mikrocontroller-Gerätetreiber der Menge von Mikrocontroller-Gerätetreibern übereinstimmt; Identifizieren eines Sicherheits-Scores, der mit dem übereinstimmenden Mikrocontroller-Gerätetreiber verknüpft ist; und Durchführen einer Sicherheitsaktion, die dem Sicherheits-Score entspricht.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein Computerprogrammprodukt für eine Sicherheitsaktion bereit, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium umfasst, das von einer Verarbeitungsschaltung gelesen werden kann und Programmanweisungen zur Ausführung durch die Verarbeitungsschaltung speichert, um ein Verfahren zum Ausführen der Schritte der Erfindung auszuführen.
  • Unter einem weiteren Aspekt betrachtet, stellt die vorliegende Erfindung ein Computerprogramm bereit, das auf einem computerlesbaren Medium gespeichert ist und in den internen Arbeitsspeicher eines digitalen Computers geladen werden kann, das Teile des Softwarecodes umfasst, wenn das Programm auf einem Computer ausgeführt wird, um die Schritte der Erfindung auszuführen.
  • In einem Aspekt der vorliegenden Erfindung beinhaltet ein computer-implementiertes Verfahren: (i) Identifizieren einer Menge von Deskriptoren aus Deskriptor-Feldern auf einem Universal Serial Bus (USB)-Gerät; (ii) Vergleichen jedes Deskriptors der Menge von Deskriptoren mit einer Menge von historischen Deskriptoren, wobei der Menge von historischen Deskriptoren individuell ein Sicherheits-Score zugeordnet wird; (iii) Lesen von Nur-Lese-Speicher (ROM) Informationen auf dem USB-Gerät; (iv) Analysieren der ROM-Informationen auf Kongruenz, wobei einer Nicht-Kongruenz ein vordefinierter Sicherheits-Score zugeordnet wird; (v) Zuordnen eines Sicherheits-Scores zu dem USB-Gerät auf Grundlage des Vergleichs jedes Deskriptors und der Analyse der ROM-Informationen, wobei der höchste individuelle Sicherheits-Score die Grundlage des zugeordneten Sicherheits-Scores ist; und (vi) in Reaktion auf den zugeordneten Sicherheits-Score, Durchführen einer Sicherheitsaktion.
  • In einem anderen Aspekt der vorliegenden Erfindung beinhaltet ein computer-implementiertes Verfahren: (i) Lesen von Nur-Lese-Speicher (ROM)-Informationen auf einem Universal Serial Bus (USB)-Gerät; (ii) Identifizieren einer Menge von Trails von Konfigurationsdateien in den ROM-Informationen; (iii) Identifizieren einer Menge von Indicators of Compromise, die vorbestimmte Trails von Konfigurationsdateien beinhalten; (iv) Ermitteln, dass ein Trail in der Menge von Trails mit einem vorbestimmten Trail in der Menge von Indicators of Compromise übereinstimmt; (v) Identifizieren eines Sicherheits-Scores, der mit dem vorbestimmten Trail verknüpft ist; und (vi) Durchführen einer Sicherheitsaktion, die dem Sicherheits-Score entspricht.
  • In einem weiteren Aspekt der vorliegenden Erfindung beinhaltet ein computer-implementiertes Verfahren: (i) Identifizieren einer Menge von Gerätetreibern, die auf einem Universal Serial Bus (USB)-Gerät gespeichert sind; (ii) Identifizieren einer Menge von Mikrocontroller-Gerätetreibern; (iii) Ermitteln, dass ein Gerätetreiber der Menge von Gerätetreibern auf dem USB-Gerät mit einem Mikrocontroller-Gerätetreiber der Menge von Mikrocontroller-Gerätetreibern übereinstimmt; (iv) Identifizieren eines Sicherheits-Scores, der mit dem übereinstimmenden Mikrocontroller-Gerätetreiber verknüpft ist; und Durchführen einer Sicherheitsaktion, die dem Sicherheits-Score entspricht.
  • Figurenliste
  • Die vorliegende Erfindung wird nun lediglich beispielhaft unter Bezugnahme auf bevorzugte Ausführungsformen beschrieben, wie es in den folgenden Figuren veranschaulicht ist:
    • 1 ist eine schematische Ansicht einer ersten Ausführungsform eines Systems gemäß der vorliegenden Erfindung;
    • 2 ist ein Ablaufplan, der ein Verfahren zeigt, das zumindest teilweise von dem System der ersten Ausführungsform ausgeführt wird;
    • 3 ist eine schematische Ansicht eines maschinenlogischen (z.B. Software) Teils des Systems der ersten Ausführungsform;
    • 4 ist eine Ablaufplanansicht eines zweiten Ausführungsbeispiels eines Verfahrens gemäß der vorliegenden Erfindung; und
    • 5 ist eine Ablaufplanansicht einer dritten Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Universal Serial Bus (USB)-Geräte werden für den Zugriff gemäß Eigenschaften bewertet, die Deskriptoren und ROM-Informationen beinhalten. Deskriptoren sind Querverweise auf historische Deskriptoren, von denen bekannt ist, dass sie mit bösartigen oder genehmigten USB-Geräten verknüpft sind. Die ROM-Informationen werden analysiert, um die Kongruenz der Daten zu ermitteln. Gerätetreiber und Konfigurationsdateien auf dem USB-Gerät werden auf Indicators of Compromise oder Bedrohungen überprüft und einem entsprechenden Sicherheits-Score zugeordnet. Sicherheitsaktionen werden gemäß einem Sicherheits-Score durchgeführt, der den übereinstimmenden Deskriptoren und den analysierten ROM-Informationen zugeordnet ist. Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder Medien) beinhalten, auf dem (den) sich computerlesbare Programmanweisungen befinden, die einen Prozessor veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Das computerlesbare Speichermedium kann ein greifbares Gerät sein, das Anweisungen zur Verwendung durch ein Anweisungsausführungsgerät aufbewahren und speichern kann. Bei dem computerlesbaren Speichermedium kann es sich beispielsweise um ein elektronisches Speichergerät, ein magnetisches Speichergerät, ein optisches Speichergerät, ein elektromagnetisches Speichergerät, ein Halbleiterspeichergerät oder um eine geeignete Kombination der vorgenannten Geräte handeln, ohne darauf beschränkt zu sein. Eine nicht erschöpfende Liste spezifischerer Beispiele für ein computerlesbares Speichermedium beinhaltet Folgendes: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Nur-Lese-Speicher (CD-ROM), eine Digital Versatile Disk (DVD), ein Memory Stick, eine Diskette, ein mechanisch codiertes Gerät, wie z.B. Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen aufgezeichnet sind, und jede geeignete Kombination der vorgenannten. Ein computerlesbares Speichermedium, wie es hier verwendet wird, ist nicht so zu verstehen, dass es sich um transitorische Signale an sich handelt, wie z.B. Radiowellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium verbreiten (z.B. Lichtimpulse, die durch ein Glasfaserkabel laufen), oder elektrische Signale, die durch einen Draht übertragen werden.
  • Die hierin beschriebenen Programmanweisungen können von einem computerlesbaren Speichermedium auf die jeweiligen Computer-/Verarbeitungsgeräte oder auf einen externen Computer oder ein externes Speichergerät über ein Netzwerk heruntergeladen werden, beispielsweise über das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk. Das Netzwerk kann Kupferübertragungskabel, optische Übertragungsfasern, drahtlose Übertragung, Router, Firewalls, Switches, Gateway Computer und/oder Edge Server umfassen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jedem Computer-/Verarbeitungsgerät empfängt computerlesbare Programmanweisungen aus dem Netzwerk und leitet die computerlesbaren Programmanweisungen zur Speicherung in einem computerlesbaren Speichermedium innerhalb des jeweiligen Computer-/Verarbeitungsgeräts weiter.
  • Bei den computerlesbaren Programmanweisungen zur Durchführung der Operationen der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, Instruktionen der Befehlssatzarchitektur (ISA), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandsabhängige Daten oder entweder um Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, einschließlich einer objektorientierten Programmiersprache wie Smalltalk, C++ oder dergleichen und herkömmlichen prozeduralen Programmiersprachen wie der Programmiersprache „C“ oder ähnlichen Programmiersprachen. Die computerlesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem Remote-Computer oder vollständig auf dem Remote-Computer oder Server ausgeführt werden. Im letzteren Fall kann der Remote-Computer mit dem Computer des Benutzers über einen beliebigen Typ von Netzwerk verbunden sein, einschließlich eines lokalen Netzwerks (LAN) oder eines Weitverkehrsnetzes (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet mit Hilfe eines Internet Service Providers). In einigen Ausführungsformen können elektronische Schaltungen, die beispielsweise programmierbare Logikschaltungen, feldprogrammierbare Gate-Arrays (FPGA) oder programmierbare Logik-Arrays (PLA) beinhalten, die computerlesbaren Programmanweisungen ausführen, indem sie die Zustandsinformationen der computerlesbaren Programmanweisungen zur Personalisierung der elektronischen Schaltungen verwenden, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung werden hier unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder Blockdiagramme sowie Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaubildern durch computerlesbare Programmanweisungen realisiert werden können.
  • Diese computerlesbaren Programmanweisungen können einem Prozessor eines Allzweck-Computers, eines Spezial-Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zur Verfügung gestellt werden, um eine Maschine zu erzeugen, so dass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zur Realisierung der im Ablaufplan- und/oder Blockdiagramm-Block oder -Blöcken angegebenen Funktionen/Vorgänge erzeugen. Diese computerlesbaren Programmanweisungen können auch in einem computerlesbaren Speichermedium gespeichert werden, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Geräte anweisen kann, in einer bestimmten Weise zu funktionieren, so dass das computerlesbare Speichermedium mit den darin gespeicherten Anweisungen einen Herstellungsgegenstand umfasst, der Anweisungen enthält, die Aspekte der/des in dem Ablaufplan- und/oder dem Blockschaubild-Block oder -Blöcken spezifizierten Funktion/Vorgangs realisieren.
  • Die computerlesbaren Programmanweisungen können auch auf einen Computer, ein andere programmierbare Datenverarbeitungsvorrichtung oder ein anderes Gerät aufgeladen werden, um eine Reihe von Arbeitsschritten auf dem Computer, einer anderen programmierbaren Vorrichtung oder einem anderen Gerät auszuführen, um einen computerimplementierten Prozess zu erzeugen, so dass die Anweisungen, die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einem anderen Gerät ausgeführt werden, die im Ablaufplan und/oder Blockschaubild spezifizierten Funktionen/Vorgänge realisieren.
  • Die Flussdiagramme und Blockdiagramme in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedener Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block im Flussdiagramm oder in den Blockdiagrammen ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Implementierung der spezifizierten logischen Funktion(en) umfassen. In einigen alternativen Implementierungen können die im Block angegebenen Funktionen in einer anderen Reihenfolge als in den Abbildungen angegeben auftreten. So können zum Beispiel zwei nacheinander gezeigte Blöcke in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden, abhängig von der jeweiligen Funktionalität. Es wird auch darauf hingewiesen, dass jeder Block in den Blockdiagrammen und/oder Flussdiagrammen sowie Kombinationen von Blöcken in den Blockdiagrammen und/oder Flussdiagrammen durch spezielle Hardware-basierte Systeme implementiert werden können, die die spezifizierten Funktionen oder Vorgänge durchführen oder Kombinationen von spezieller Hardware und Computer-Anweisungen ausführen.
  • Die vorliegende Erfindung wird nun unter Bezugnahme auf die Figuren im Detail beschrieben. 1 ist ein funktionales Blockschaubild, das verschiedene Teile des vernetzten Computersystems 100 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, beinhaltend: Computersystem 102; Sicherheitssubsystem 104; historischen Deskriptor-Speicher 105; Client-Subsysteme 106, 108, 110, 112; Kommunikationsnetzwerk 114; Computergerät 200; Kommunikationseinheit 202; Satz von Prozessoren 204; Satz von Eingabe-/Ausgabe-(E/A)-Schnittstellen 206; Speichergerät 208; dauerhaften Speicher 210; Anzeigegerät 212; Satz von externen Geräten 214; USB-Speichergerät 216; USB-Deskriptor-Speicher 218; ROM 220; Arbeitsspeicher (RAM) 230; Cache-Speichergerät 232; Sicherheitsprogramm 300; und Speicher für Sicherheitsaktionen 302.
  • Das Subsystem 102 ist in vielerlei Hinsicht repräsentativ für die verschiedenen Computer-Subsysteme der vorliegenden Erfindung. Dementsprechend werden in den folgenden Abschnitten mehrere Teile des Subsystems 102 besprochen.
  • Bei dem Subsystem 102 kann es sich um einen Laptop-Computer, einen Tablet-Computer, einen Netbook-Computer, einen Personal Computer (PC), einen Desktop-Computer, einen Personal Digital Assistant (PDA), ein Smart Phone oder ein beliebiges programmierbares elektronisches Gerät handeln, das über das Netzwerk 114 mit den Client-Subsystemen kommunizieren kann. Das Programm 300 ist eine Ansammlung von maschinenlesbaren Anweisungen und/oder Daten, die zum Erstellen, Verwalten und Steuern bestimmter Softwarefunktionen verwendet werden, die im Folgenden ausführlich beschrieben werden.
  • Das Subsystem 102 ist in der Lage, über das Netzwerk 114 mit anderen Computer-Subsystemen zu kommunizieren. Bei dem Netzwerk 114 kann es sich beispielsweise um ein lokales Netzwerk (LAN), ein Weitverkehrsnetz (WAN) wie das Internet oder eine Kombination aus beiden handeln und es kann drahtgebundene, drahtlose oder faseroptische Verbindungen beinhalten. Im Allgemeinen kann das Netzwerk 114 eine beliebige Kombination von Verbindungen und Protokollen sein, die die Kommunikation zwischen dem Server und den Client-Subsystemen unterstützen.
  • Das Subsystem 102 ist als Blockschaubild mit vielen Doppelpfeilen dargestellt. Diese Doppelpfeile (keine separaten Bezugszeichen) stellen eine Kommunikationsstruktur dar, die die Kommunikation zwischen verschiedenen Komponenten des Teilsystems 102 bereitstellt. Diese Kommunikationsstruktur kann mit jeder Architektur realisiert werden, die für die Weitergabe von Daten und/oder Steuerinformationen zwischen Prozessoren (wie Mikroprozessoren, Kommunikations- und Netzwerkprozessoren usw.), Arbeitsspeichern, Peripheriegeräten und jeder anderen Hardwarekomponente innerhalb eines Systems konzipiert ist. Die Kommunikationsstruktur kann zum Beispiel zumindest teilweise mit einem oder mehreren Bussen realisiert werden.
  • Arbeitsspeicher 208 und dauerhafter Speicher 210 sind computerlesbare Speichermedien. Im Allgemeinen kann der Arbeitsspeicher 208 jedes geeignete flüchtige oder nichtflüchtige, computerlesbare Speichermedium beinhalten. Es wird ferner darauf hingewiesen, dass jetzt und/oder in naher Zukunft: (i) externe(s) Gerät(e) 214 in der Lage sein können, einen Teil oder den gesamten Arbeitsspeicher für das Teilsystem 102 zu liefern; und/oder (ii) Geräte außerhalb des Teilsystems 102 in der Lage sein können, Arbeitsspeicher für das Teilsystem 102 bereitzustellen.
  • Das Programm 300 wird in einem dauerhaften Speicher 210 für den Zugriff und/oder die Ausführung durch einen oder mehrere der jeweiligen Computer-Prozessoren 204 gespeichert, in der Regel durch einen oder mehrere Arbeitsspeicher des Arbeitsspeichers 208. Der dauerhafte Speicher 210: (i) ist zumindest dauerhafter als ein Signal bei der Übertragung; (ii) speichert das Programm (einschließlich seiner Softlogik und/oder Daten) auf einem greifbaren Medium (wie magnetischen oder optischen Domänen); und (iii) ist im Wesentlichen weniger dauerhaft als ein permanenter Speicher. Alternativ kann der Datenspeicher dauerhafter und/oder permanenter sein als der Typ des Speichers, den der dauerhafte Speicher 210 bereitstellt.
  • Das Programm 300 kann sowohl maschinenlesbare als auch ausführbare Anweisungen beinhalten, und/oder substantielle Daten (d.h. den Typ von Daten, die in einer Datenbank gespeichert sind). In dieser Ausführungsform beinhaltet der dauerhafte Speicher 210 ein magnetisches Festplattenlaufwerk. Um einige mögliche Varianten zu nennen, kann der dauerhafte Speicher 210 ein Festkörperlaufwerk, ein Halbleiterspeichergerät, einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM), einen Flash-Speicher oder jedes andere computerlesbare Speichermedium beinhalten, das Programmanweisungen oder digitale Informationen speichern kann.
  • Die vom dauerhaften Speicher 210 verwendeten Medien können auch austauschbar sein. Zum Beispiel kann eine austauschbare Festplatte für den dauerhaften Speicher 210 verwendet werden. Andere Beispiele beinhalten optische und magnetische Festplatten, Daumenlaufwerke und Smart Cards, die in ein Laufwerk eingelegt werden, um auf ein anderes computerlesbares Speichermedium übertragen zu werden, das ebenfalls Teil des dauerhaften Speichers 210 ist.
  • Die Kommunikationseinheit 202 stellt in diesen Beispielen die Kommunikation mit anderen Datenverarbeitungssystemen oder Geräten außerhalb des Subsystems 102 bereit. In diesen Beispielen beinhaltet die Kommunikationseinheit 202 eine oder mehrere Netzwerk-Schnittstellenkarten. Die Kommunikationseinheit 202 kann die Kommunikation durch die Verwendung von physischen und/oder drahtlosen Links bereitstellen. Alle hier besprochenen Softwaremodule können über eine Kommunikationseinheit (wie die Kommunikationseinheit 202) auf ein Gerät mit dauerhaftem Speicher (z.B. Speichergerät 210) heruntergeladen werden.
  • Satz von E/A-Schnittstellen 206 ermöglicht die Eingabe und Ausgabe von Daten mit anderen Geräten, die lokal in Datenkommunikation mit dem Computer 200 verbunden sein können. Zum Beispiel stellt Satz von E/A-Schnittstellen 206 eine Verbindung zum Satz von externen Geräten 214 bereit. Satz von externen Geräten 214 beinhaltet typischerweise Geräte wie eine Tastatur, ein Keypad, einen Berührungsbildschirm und/oder ein anderes geeignetes Eingabegerät. Beim USB-Speichergerät 216 handelt es sich typischerweise um ein tragbares, vom Computer lesbares Speichermedium, wie z.B. ein Daumenlaufwerk, eine tragbare optische oder magnetische Platte oder eine Speicherkarte. Software und Daten, die zur Ausführung von Ausführungsformen der vorliegenden Erfindung verwendet werden, z.B. das Programm 300, können auf solchen tragbaren, von Computern lesbaren Speichermedien, wie dem USB-Deskriptor-Speicher 218, gespeichert werden. In diesen Ausführungsformen kann die relevante Software ganz oder teilweise über den Satz von E/A-Schnittstellen 206 auf das dauerhafte Speichergerät 210 geladen werden (oder auch nicht). Satz von E/A-Schnittstellen 206 steht auch in Datenkommunikation mit dem Gerät 212.
  • Das Anzeigegerät 212 stellt einen Mechanismus zur Anzeige von Daten für den Benutzer bereit und kann z.B. ein Computermonitor oder ein Smartphone-Bildschirm sein.
  • Die hier beschriebenen Programme werden basierend auf der Anwendung identifiziert, für die sie in einer bestimmten Ausführungsform der vorliegenden Erfindung implementiert sind. Es sollte jedoch gewürdigt werden, dass eine bestimmte Programmnomenklatur hier nur der Einfachheit halber verwendet wird und die vorliegende Erfindung daher nicht auf die Verwendung in einer bestimmten, durch eine solche Nomenklatur identifizierten und/oder implizierten Anwendung beschränkt werden sollte.
  • Das Sicherheitsprogramm 300 identifiziert USB-Bedrohungen zu dem Zeitpunkt, zu dem das USB-Gerät an die USB-Schnittstelle des Computers angeschlossen wird. Es wird auf bestimmte Eigenschaften von legitimen und/oder bösartigen USB-Geräten Bezug genommen. Nach der Übereinstimmung von mindestens einer Ziel-Eigenschaft mit dem USB-Gerät wird entschieden, ob das USB-Gerät sicher ist, um den Zugriff auf das Computersystem zu erlauben.
  • In einigen Ausführungsformen der vorliegenden Erfindung werden die folgenden Tatsachen, potentiellen Probleme und/oder verbesserungswürdigen Bereiche im Vergleich zum aktuellen Stand der Technik erkannt: (i) das USB Rubber Ducky verfügt über eine einfache Skriptsprache, hervorragende Hardware und ein verdecktes Design; (ii) nahezu jedes Computergerät, vom Desktop bis zum Smartphone, akzeptiert menschliche Eingaben über Tastaturen; (iii) der allgegenwärtige USB-HID-Standard ermöglicht eine nahezu universelle Verwendung; (iv) herkömmliche Herangehensweisen an die Bedrohung durch USB-HID-Simulationen bestehen darin, USB-Anschlüsse zu deaktivieren und zu fest verdrahteten Computermäusen und Tastaturen zurückzukehren; und/oder (v) es ist sehr einfach, ein herkömmliches USB-Speichergerät in ein Keystroke Injection Tool umzuwandeln.
  • Einige Ausführungsformen der vorliegenden Erfindung zielen darauf ab, ein System und ein Verfahren bereitzustellen, um einige Schwachstellen auf Geräten der Klasse der Human Interface Devices (HID) zu beheben.
  • Einige Ausführungsformen der vorliegenden Erfindung führen eine Reihe von Erweiterungen für die HID-Geräteklasse ein, die Angriffe von Nicht-HID-Geräten wie dem USB Rubber Ducky abwehren und gleichzeitig die Funktionsfähigkeit der USB-Anschlüsse auf Computergeräten pflegen.
  • Die Sicherheitsprüfung kann in Bezug auf die verschiedenen Deskriptoren durchgeführt werden, die auf USB-Geräten gespeichert und lesbar sind, wann sie an einen USB-Anschluss eines Computergeräts angeschlossen werden. Einige Ausführungsformen der vorliegenden Erfindung verwenden Deskriptoren, um potenzielle USB-HID-Bedrohungen zu identifizieren. Standardmäßige Deskriptor-Felder von USB-Geräten können zum Beispiel beinhalten: (i) Klasse; (ii) Unterklasse; (iii) Hersteller; (iv) Produkt; und/oder (v) Version.
  • Einige Ausführungsformen der vorliegenden Erfindung vergleichen die USB-Deskriptor-Felder eines neuen USB-Geräts mit einer Liste potenziell gefährlicher USB-Deskriptoren, die in der Vergangenheit auf bösartigen Geräten gefunden wurden. Deskriptoren wie „USB Rubber Ducky“ oder „Bad-USB“ können es einem System ermöglichen, zu ermitteln, dass das eingesteckte Gerät ein gefährliches USB-Gerät ist. Wenn das Deskriptor-Feld „bCountryCode“ auf USB-Geräten, die als Keystroke Injection Tools verwendet werden, häufig gleich ist, wäre dieses Deskriptor-Feld ein guter Parameter zur Identifizierung dieser bösartigen Geräte. Außerdem sind einige Ausführungsformen der vorliegenden Erfindung so konfiguriert, dass sie einige Deskriptor-Felder je nach Bedarf des Administrators einbeziehen oder ausschließen, um z.B. falsch positive Ergebnisse zu reduzieren.
  • Einige Ausführungsformen der vorliegenden Erfindung berücksichtigen funktionale Eigenschaften, die mit einer Klasse von Geräten verknüpft sind. Der HID-Standard verwendet einen Deskriptor oder eine Klasse, um die Funktion eines Geräts zu ermitteln. Deskriptoren, die eine Abhängigkeit angeben, beinhalten: Audiogerät, Eingabegerät und Massenspeichergerät. Außerdem verwendet der HID-Standard Protokolle, um unterschiedliche Geräteklassen zu handhaben. So kann z.B. Protokoll 1 für ein Tastaturgerät und Protokoll 2 für ein Mausgerät verwendet werden.
  • Einige Ausführungsformen der vorliegenden Erfindung zielen auf die Ermittlung der Wahrscheinlichkeit ab, dass ein Gerät der HID-Klasse von einem anderen, möglicherweise bösartigen Gerät simuliert wird. Durch das Erfassen von Informationen von jedem neu angeschlossenen USB-Gerät können die Informationen mit einer Datenbank abgeglichen werden, die Deskriptoren oder andere Informationen enthält, die bekannte bösartige USB-Geräte identifizieren. Wenn ein Abgleich mit der Datenbank erfolgt, wird ein Sicherheits-Score angewendet. In einigen Ausführungsformen ist der Sicherheits-Score numerisch und gilt individuell für jeden übereinstimmenden Treffer. In einigen Ausführungsformen wird für jeden übereinstimmenden Deskriptor, der identifiziert wurde, ein entsprechender Konfidenz-Score auf das Gerät angewandt. Der aggregierte Konfidenz-Score wird verwendet, um eine entsprechende Aktion zu ermitteln. Zum Beispiel: (i) wenn Konfidenzniveau = 100 ist, dann wird der Anschluss gesperrt und eine Warnung ausgelöst (Benutzer, Management, Sicherheit); (ii) wenn Konfidenzniveau = 100 ist, dann wird der Benutzer blockiert; (iii) wenn Konfidenzniveau > 75 ist, wird eine Warnung an den Benutzer ausgelöst; und/oder (iv) wenn Konfidenzniveau > 75 ist, wird ein Sicherheitsereignis gesendet (z.B. ein SIEM-Produkt (Security Information and Event Management)). Auf diese Weise wird aus der Summe der einzelnen Sicherheits-Scores die Ermittlung eines Konfidenzniveaus für das neu angeschlossene USB-Gerät bereitgestellt. Außerdem sind einige Ausführungsformen der vorliegenden Erfindung so konfiguriert, dass sie einige Deskriptor-Felder einbeziehen oder ausschließen, um z.B. falsch positive Ergebnisse zu reduzieren.
  • Einige Ausführungsformen der vorliegenden Erfindung zielen darauf ab, bösartige USB-Geräte zu identifizieren, indem sie Trails auf einem USB-Direktzugriffspeicher (ROM) überprüfen. Aus dem ROM werden Informationen ausgelesen, um eine Menge von Korrelationen zu erstellen und zu ermitteln, ob ein USB-Gerät geändert oder gehackt und in einen „Bad-USB“ oder einen anderen Typ von bösartigem Code-Injektor umgewandelt wurde. Zum Beispiel: (i) wenn das Feld „Hersteller“ Acme lautet und Acme lediglich Massenspeicher-USB herstellt, das installierte Gerät jedoch als Eingabegerät (Tastatur) konfiguriert ist; und (ii) wenn der Code im ROM sich auf ein Massenspeicher-USB-Gerät bezieht, das installierte Gerät jedoch als Eingabegerät (Tastatur) konfiguriert ist.
  • Wenn irgendwelche Veränderung auf dem USB-Gerät erkannt wird, beginnt eine Reihe von Maßnahmen, die Folgendes beinhalten: (i) die Analyse der potenziellen Bedrohung, um ein Konfidenzniveau für die mögliche Gefahr des USB-Geräts zu erstellen; und (ii) das Ausführen einer gegebenen Menge von Sicherheitsaktionen auf Grundlage des Konfidenzniveaus.
  • Einige Ausführungsformen der vorliegenden Erfindung führen sicherheitsbezogene Aufgaben aus, bevor die Treiber geladen werden und/oder Code auf der Firmware des USB-Geräts ausgeführt wird. Durch diese Vorgehensweise verhindern einige Ausführungsformen der vorliegenden Erfindung, dass bösartiger Code in das Computergerät gelangt.
  • Einige Ausführungsformen der vorliegenden Erfindung verhindern den Empfang einer Injektion von unerwünschtem Code mit Vorkehrungen, die Folgendes beinhalten: (i) die Verwendung von Konfidenzniveaus, um eine geeignete, auszuführende Sicherheitsaktion zu ermitteln; (ii) die Verwendung von HID-Klassen, um die ursprüngliche Funktion eines USB-Geräts zu ermitteln, wann es in einen USB-Anschluss eingesteckt wurde; (iii) die Korrelation der von dem USB-HID-Klassen-Gerät erhaltenen Metadaten gegen eine von dem Gerät ausgeführte Aktion; (iv) das Scannen von Trails bekannter Konfigurationsdateibedrohungen auf dem USB-Gerät; und/oder (v) das Scannen von Trails aus dem Geräte-ROM (Gerätehersteller), um die erhaltenen Daten gegen die Funktion des USB-Geräts zu korrelieren.
  • 2 zeigt den Ablaufplan 250, der ein erstes Verfahren gemäß der vorliegenden Erfindung darstellt. 3 zeigt das Programm 300, mit dem zumindest einige der Verfahrensschritte des Ablaufplans 250 ausgeführt werden. Dieses Verfahren und die damit verknüpfte Software werden im Folgenden unter ausführlicher Bezugnahme auf 2 (für die Verfahrensschrittblöcke) und 3 (für die Softwareblöcke) erläutert.
  • Die Verarbeitung beginnt in Schritt S255, wobei das Detektionsmodul („Mod“) 355 erkennt, dass ein USB-Gerät in einen USB-Anschluss eingesteckt ist. In diesem Beispiel wird das USB-Gerät 215 in die E/A-Schnittstelle 206 des Computergeräts 200 (1) eingesteckt. Nach dem Erkennen des Einsteckens eines USB-Geräts in den USB-Anschluss hält Detect-Mod das automatische Lesen oder Verarbeiten des USB-Geräts an bei gleichzeitiger Auslösung einer Reihe von Auswertungsschritten, die folgen. Die Auswertung wird durchgeführt, um zu ermitteln, ob der Zugriff auf das USB-Gerät für die Operationen auf dem Computergerät gewährt werden soll oder nicht. Auf diese Weise wird ein USB-Gerät effektiv für den Zugriff freigegeben.
  • Die Verarbeitung geht weiter zu Schritt S260, wobei Deskriptor-Mod 360 Deskriptor-Daten auf dem USB-Gerät identifiziert. Deskriptor-Daten, die zum Beispiel im USB-Deskriptor-Speicher 218 (1) gespeichert sind, beinhalten Datenfelder, die das USB-Gerät identifizieren. Datenfelder für Deskriptoren können u.a. beinhalten: (i) Klasse; (ii) Unterklasse; (iii) Hersteller; (iv) Produkt; und/oder (v) Version.
  • Die Verarbeitung geht weiter zu Schritt S265, wobei ROM-Iinformation-Mod 365 Informationen aus dem ROM auf dem USB-Gerät liest. In diesem Beispiel beinhaltet ROM 220 ROM-Informationen über das USB-Gerät 216. Die interessierenden Informationen auf dem ROM beinhalten unter anderem: (i) Hersteller; (ii) Programmcode; (iii) Konfigurationsdaten; und/oder (iv) Änderungs-Trail-Daten.
  • Die Verarbeitung geht weiter zu Schritt S270, wobei das Vergleichs-Mod 370 die Deskriptor-Daten mit historischen Deskriptor-Daten vergleicht. In diesem Beispiel sind die historischen Deskriptor-Daten im Deskriptor-Speicher 105 auf dem Sicherheitssubsystem 104 (1) gespeichert. Die historischen Deskriptor-Daten werden entweder mit den Bestanden- oder den Nichtbestanden-Indikatoren verknüpft. Bestanden-Indikatoren geben an, dass es sich bei dem verknüpften USB-Gerät nicht um ein verdächtiges Gerät handelt. Nichtbestanden-Indikatoren geben an, dass es sich bei dem verknüpften USB-Gerät um ein verdächtiges Gerät handelt. Für jeden in der Datenbank gespeicherten Deskriptor wird ein Sicherheits-Score zugeordnet. Wenn ein übereinstimmender Deskriptor gefunden wird, kann der verknüpfte Sicherheits-Score für die Berechnung des Sicherheits-Scores des USB-Geräts verwendet werden. Die historischen Deskriptor-Daten basieren auf bekannten bösartigen und nicht bösartigen USB-Geräten. Bestimmte Deskriptoren, die häufig mit bösartigen USB-Geräten verknüpft sind, werden in der Datenbank aufgezeichnet. Ferner werden in einigen Ausführungsformen bestimmte Deskriptoren, die häufig auf legitimen USB-Geräten gefunden werden, zusammen mit einem Sicherheits-Score aufgezeichnet, der ein positives Ergebnis oder ein sicheres Gerät angibt.
  • Die Verarbeitung geht weiter zu Schritt S275, wobei Analyze-Mod 375 die ROM-Informationen auf Korrelationsfehler analysiert. Korrelationsfehler können sich darauf beziehen, dass eine ROM-Information nicht mit einer anderen abgeglichen wurde, z.B. wenn ein Hersteller ermittelt wurde, der nicht die Klasse von USB-Geräten herstellt, die durch die in Schritt S260 erfassten Deskriptor-Daten dargestellt ist oder durch die in den ROM-Informationen dargestellt ist. Andere Korrelationsfehler werden festgestellt, wenn die Analyse ergibt, dass der Programmcode nicht mit der Klasse des USB-Geräts zusammenhängt, die durch die in Schritt S260 erfassten Deskriptor-Daten dargestellt ist oder die in den ROM-Informationen dargestellt ist. Korrelationsfehler können auch durch einen Grad der Kongruenz in den ROM-Informationen angegeben werden. Diese Stufe kann einen einfachen zweiteiligen Test darstellen: kongruent oder nicht kongruent. Alternativ wird ein Grad der Kongruenz berücksichtigt, und ein entsprechender Sicherheits-Score stellt den Grad der Kongruenz dar.
  • Die Verarbeitung geht weiter zu Schritt S280, wobei Sicherheits-Score-Mod 380 dem USB-Gerät auf Grundlage übereinstimmender Deskriptoren und Korrelationsfehler einen Sicherheits-Score zuordnet. Für jeden übereinstimmenden Deskriptor wird der entsprechende Sicherheits-Score mit dem USB-Gerät verknüpft. In diesem Beispiel ist der Sicherheits-Score numerisch, so dass mehrere Sicherheits-Scores eine Summe oder einen aggregierten Sicherheits-Score ergeben können. Alternativ wird der Sicherheits-Score für jeden übereinstimmenden Deskriptor einzeln in Betracht gezogen und der Sicherheits-Score mit dem höchsten Ranking ist die Grundlage für das Gewähren oder Verweigern von Zugriff auf das Computersystem. Auch Korrelationsfehler können mit einem Sicherheits-Score verknüpft werden. Wenn Korrelationsfehler Sicherheits-Scores erzeugen, kann der Score in die Summe einbezogen werden, um einen aggregierten Sicherheits-Score zu ermitteln. Alternativ resultiert jeder Korrelationsfehler in einen bestimmten Sicherheits-Score, der dann zusammen mit den anderen Sicherheits-Scores, die aus den übereinstimmenden Deskriptoren ermittelt wurden, in ein Ranking aufgenommen wird, und die Aktion wird gemäß dem höchstrangigen Sicherheits-Score durchgeführt.
  • Die Verarbeitung geht weiter zu Schritt S285, wobei Sicherheitsaktions-Mod 385 die Sicherheitsaktionen für den zugeordneten Sicherheits-Score identifiziert. In diesem Beispiel werden die Sicherheitsaktionen mit den Sicherheits-Scores im Sicherheitsaktionsspeicher 302 (1) korreliert. In einigen Ausführungsformen führt ein Bereich mit relativ niedrigen Scores zu einer Menge von Sicherheitsaktionen und ein Bereich mit relativ hohen Scores zu einer anderen Menge von Sicherheitsaktionen. In einigen Ausführungsformen wird jeder mögliche Score mit einer Menge von Sicherheitsaktionen verknüpft. Eine solche Ausführungsform würde gut funktionieren, wenn der höchste Ranking-Score der Sicherheits-Score ist, und würde genau mit einer bestimmten Menge von Sicherheitsaktionen korrelieren. Wo aggregierte Sicherheits-Scores verwendet werden, kann sich die Anwendung von Bereichen von Werten als einfacher in der Praxis erweisen.
  • Die Verarbeitung endet bei Schritt S290, wobei Actions-Mod 390 die ermittelte Menge von Sicherheitsaktionen durchführt. Verschiedene Sicherheitsaktionen können in einer Menge von Sicherheitsaktionen gruppiert werden, so dass mehr als eine Aktion durchgeführt wird. Sicherheitsaktionen beinhalten, sind aber nicht beschränkt auf: (i) Sperren des USB-Anschlusses; (ii) Senden einer Warnung an den Benutzer; (iii) Senden einer Warnung an eine bestimmte Sicherheitsstelle; (iv) Sperren des Zugriffs auf einen mit dem USB-Gerät verknüpften Benutzer; (v) Erzeugen eines Sicherheitsereignisses über ein SIEM-Produkt; (vi) Zulassen des Zugriffs auf das Computersystem; und/oder (vii) Gewähren eines begrenzten Zugriffs auf bestimmte Funktionen/Operationen des Computersystems.
  • 4 zeigt einen Ablaufplan 400, der ein zweites Verfahren gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Dieses Verfahren kann auf dem vernetzten Computersystem 100 (1) oder anderen in der Technik bekannten Computersystemen implementiert werden.
  • Die Verarbeitung beginnt bei Schritt 402, wobei ein USB-Gerät in einen USB-Anschluss eingesteckt wird. Ist das USB-Gerät eingesteckt, erkennt das Computersystem gemäß einiger Ausführungsformen der vorliegenden Erfindung das Einstecken und leitet den Prozess der Ermittelns ein, ob Treiber geladen werden sollen oder nicht oder ob Operationen oder Aktionen von dem USB-Gerät ausgeführt werden dürfen.
  • Die Verarbeitung geht weiter zu Schritt 404, wobei Informationen aus dem ROM auf dem eingesteckten USB Gerät gelesen werden.
  • Die Verarbeitung geht weiter zu Schritt 406, wobei die gelesenen Informationen gegen andere ROM-Informationen und jegliche USB-Geräte-Deskriptoren korreliert werden. Ein Fehler beim Korrelieren der gelesenen Informationen mit sich selbst und mit den Geräte-Deskriptoren ist ein starker Indikator dafür, dass das USB-Gerät verändert wurde.
  • Die Verarbeitung geht weiter zu Schritt 408, wobei ermittelt wird, ob die auf dem USB-Gerät verfügbaren Informationen übereinstimmen oder kongruent sind. Wenn kongruent, fährt die Verarbeitung mit Schritt 410 fort. Wenn nicht kongruent, fährt die Verarbeitung mit Schritt 416 fort.
  • Nach der Verzweigung „Ja“ fährt die Verarbeitung mit Schritt 410 fort, in dem die gelesenen Informationen gegen eine Datenbank mit bekannten Konfigurationsdateien, die Indicators of Compromise morphen, von USB-Geräten, denen kein Zugriff auf das Computersystem gegeben werden sollte, korreliert werden. Beispielhafte Dateien beinhalten: „script.bin“ Dateien, „.ino‟ Dateien, „.h‟ Dateien und „.cpp‟ Dateien.
  • Die Verarbeitung geht weiter zu Schritt 412, in dem ermittelt wird, ob eine Korrelation zu bekannten Bedrohungen ermittelt bzw. erkannt wurde oder nicht. Wenn ja, fährt die Verarbeitung mit Schritt 416 fort. Wenn nicht, fährt die Verarbeitung mit Schritt 414 fort.
  • Nach der Verzweigung „nein“ endet die Verarbeitung in Schritt 414, wobei das Computersystem mit dem Laden von Treibern und anderen Prozessen fortfährt, bei denen das USB-Gerät als legitim und nicht sicherheitsgefährdend akzeptiert wird.
  • Unter nunmehriger Bezugnahme auf den „Nein“-Zweig aus Schritt 408 geht die Verarbeitung zu Schritt 416 über. Es sei auch darauf hingewiesen, dass der „Ja“-Zweig aus Schritt 412 ebenfalls zu Schritt 416 weitergeht. In Schritt 416 erstellt das Computersystem auf Grundlage der nicht übereinstimmenden Daten ein Konfidenzniveau für das USB-Gerät. In einigen Ausführungsformen der vorliegenden Erfindung wird das Konfidenzniveau gemäß dem Grad der Nichtübereinstimmung eingestellt. Alternativ bekommt jeder Grad der Nichtübereinstimmung ein Konfidenzniveau und das Fehlen einer Nichtübereinstimmung bekommt ein anderes Konfidenzniveau.
  • Die Verarbeitung endet in Schritt 418, wobei eine erforderliche Aktion gemäß dem in Schritt 416 erstellten Konfidenzniveau ausgelöst wird. In einigen Ausführungsformen der vorliegenden Erfindung gelten für jedes Konfidenzniveau vordefinierte Aktionen. Auf diese Weise wird das Konfidenzniveau mit einer bestimmten erforderlichen Aktion in Einklang gebracht, so dass die Aktion automatisch nach Ermitteln des Konfidenzniveaus durchgeführt wird. Alternativ wird ein Konfidenzniveau an einen Benutzer gemeldet, damit er korrigierende Aktion durchführen kann.
  • 5 zeigt den Ablaufplan 500, der die deskriptorbasierte Verarbeitung eines HID-Geräts (Human Interface Device) darstellt, um ein Konfidenzniveau zu ermitteln, das besagt, dass es sich bei einem eingesteckten USB-Gerät tatsächlich um ein HID-Gerät und nicht um eine Bedrohung handelt. Ein USB-Speichergerät, das ein HID-Gerät emuliert, würde unter Bezugnahme auf die Deskriptoren erkannt und für den Zugriff auf das Computersystem gesperrt werden. Es ist zu beachten, dass ein USB-Gerät lediglich eine oder mehrere Konfigurationen auf dem Konfigurations-Deskriptor haben kann. Die Klasse des USB-Geräts wird auf dem Schnittstellen-Deskriptor definiert.
  • Die Verarbeitung beginnt in Schritt 502, wobei der Geräte-Deskriptor von dem USB-Gerät abgerufen wird.
  • Die Verarbeitung geht weiter zu Schritt 504, wobei der Konfigurations-Deskriptor von dem USB-Gerät abgerufen wird.
  • Die Verarbeitung geht weiter zu Schritt 506, in dem der Schnittstellen-Deskriptor von dem USB-Gerät abgerufen wird. Der Schnittstellen-Deskriptor gibt nicht nur die Geräteklasse an, sondern enthält auch Nutzungsdaten, die bei der Identifizierung des in den USB-Anschluss eingesteckten Gerätetyps hilfreich sein können.
  • Die Verarbeitung geht weiter zu Schritt 510, in dem der Deskriptor der menschlichen Schnittstelle (human interface descriptor, HID) aus den in Schritt 506 abgerufenen Daten des Schnittstellen-Deskriptors identifiziert wird. Der HID-Deskriptor ist ein fest codiertes Feld von Bytes, die Datenpakete beschreiben. Zu den Datenpaketen gehören: wie viele Pakete das Gerät unterstützt, wie groß die Pakete sind und welchen Zweck die einzelnen Bytes und Bits in den Paketen erfüllen.
  • Die Verarbeitung geht weiter zu Schritt 512, in dem der Berichtsdeskriptor des HID. HID-Geräte senden Daten in Form von Berichten an das Host-Computergerät. Der Berichtsdeskriptor teilt dem Host-Computer mit, wie die vom HID gesendeten Daten zu interpretieren sind.
  • Die Verarbeitung geht weiter zu Schritt 514, in dem der physische Deskriptor des HID. HID-Nutzungen sind in Nutzungsseiten verwandter Steuerungen organisiert. Die Nutzungsseite und die Nutzungs-ID definieren eine eindeutige Konstante, die eine bestimmte Art von Steuerung beschreibt, einschließlich der Angabe, ob das Gerät ein physisches Eingabegerät (physical input device, PID) ist.
  • Die Verarbeitung endet in Schritt 508, in dem der Endpunktdeskriptor vom USB-Gerät abgerufen wird. Ein Endpunktdeskriptor enthält Informationen wie: Endpunktadresse, Typ, Richtung und Datenmenge, die der Endpunkt verarbeiten kann. Die Datenübertragungen an den Endpunkt basieren auf diesen Informationen.
  • Einige Ausführungsformen der vorliegenden Erfindung sind darauf gerichtet, ein USB-Gerät zu erkennen, das verändert oder gehackt wurde. Veränderte Geräte gelten als verdächtig und erhalten keinen Zugriff auf das Computersystem. Einige Ausführungsformen der vorliegenden Erfindung verwenden funktionale Eigenschaften und USB-Geräteklassen, um verdächtige USB-Geräte zu erkennen. Einige Ausführungsformen der vorliegenden Erfindung verwenden die nichtflüchtigen Daten im ROM, um zu ermitteln, ob ein USB-Gerät gehackt und geändert wurde. Wenn es als gehackt gilt, wird dem USB Gerät der Zugriff auf das Computersystem verweigert. Einige Ausführungsformen der vorliegenden Erfindung verwenden im ROM gespeicherte Geräte-Deskriptoren, um zu ermitteln, ob das angeschlossene USB-Gerät ein verdächtiger Code-Injektor ist, dem kein Zugriff gewährt werden darf. Einige Ausführungsformen der vorliegenden Erfindung sind darauf gerichtet, einen Konfidenz-Score zu erstellen, um die Wahrscheinlichkeit einer Bedrohung durch das installierte USB-Gerät zu ermitteln. In einigen Ausführungsformen der vorliegenden Erfindung wird der Konfidenz-Score verwendet, um die auszulösende Sicherheitsaktion zu ermitteln. Es wird eine Korrelation zwischen dem Konfidenz-Score und der Sicherheitsaktion gespeichert, um bei Ermittlung des Konfidenz-Scores automatisch vorbestimmte Sicherheitsaktionen durchzuführen. Außerdem ermöglichen einige Ausführungsformen die Einbeziehung und/oder den Ausschluss bestimmter Faktoren bei der Ermittlung eines Konfidenz-Scores.
  • Einige Ausführungsformen der vorliegenden Erfindung sind auf ein Verfahren zum Ermitteln, ob ein Mikrocontroller zur Emulation einer Tastatur verwendet wird, gerichtet, wobei das Verfahren umfasst: Erkennen, dass ein USB-Gerät an ein Computersystem angeschlossen wurde; und Auslösen einer vorbestimmten Sicherheitsaktion, wenn eines oder mehrere der folgenden Ereignisse auftreten: (i) es wird ermittelt, dass das USB-Gerät eine bestimmte Anzahl (oder einen bestimmten Prozentsatz) von USB-Deskriptoren aufweist, die nicht mit bekannten USB-Deskriptoren für Tastaturen übereinstimmen; (ii) es wird ermittelt, dass das USB-Gerät einen Gerätetreiber aufweist, der mit einem bekannten Gerätetreiber für ein Mikrocontroller-Gerät (z.B, ein Arduino-Gerät wie CH3430, FT232RL, ATMEGA16u2 und ATMega32U4) übereinstimmt; und (iii) ein Tastatur-Gerätetreiber wird innerhalb eines vorgegebenen Zeitfensters (z.B. 10 Sekunden) nach dem Erkennen des USB-Geräts als mit dem Computersystem verbunden erkannt. Die Dauer des Zeitablaufs lässt den Schluss zu, dass es sich bei dem USB-Gerät um eine Tastatur handelt. Alternativ kann eine Verzögerung um die Dauer des Zeitfensters vor dem Gewähren von Zugriff auf das USB-Gerät, das sich als Tastaturgerät präsentiert, eine Möglichkeit zum Erkennen eines weiteren Tastaturgeräts bereitstellen, was zu der Schlussfolgerung führt, dass eines der beiden Geräte lediglich eine Simulation einer Tastatur ist und eine weitere Analyse der Geräte durchgeführt werden sollte.
  • Einige Ausführungsformen der vorliegenden Erfindung sind auf ein Verfahren zum Ermitteln, ob ein USB-Gerät manipuliert wurde, gerichtet, wobei das Verfahren umfasst: Erkennen, durch einen Computer, dass ein USB-Gerät in einen USB-Anschluss des Computers eingesteckt wurde; Lesen, durch den Computer, von USB-Geräte-Deskriptoren des USB-Geräts und von Nur-Lese-Speicher (ROM)-Informationen des USB-Geräts; in Reaktion auf das Ermitteln, dass die USB-Geräte-Deskriptoren und die ROM-Informationen in Übereinstimmung mit einander sind, Vergleichen der USB-Geräte-Deskriptoren mit einer Datenbank bekannter gefährlicher USB-Geräte-Deskriptoren; und in Reaktion auf das Ermitteln, dass die USB-Geräte-Deskriptoren mit keinem der bekannten gefährlichen USB-Geräte-Deskriptoren übereinstimmen, Laden der Gerätetreiber für das USB-Gerät durch den Computer und Zulassen des Zugriffs auf das USB-Gerät durch einen Benutzer des Computers.
  • Einige Ausführungsformen der vorliegenden Erfindung sind auf ein Verfahren zum Ermitteln, ob ein USB-Gerät manipuliert wurde, gerichtet, wobei das Verfahren umfasst: in Reaktion auf das Ermitteln, dass die Geräte-Deskriptoren und die ROM-Informationen nicht miteinander übereinstimmen, Ermitteln eines Konfidenzniveaus bösartiger Aktivität in Übereinstimmung mit dem Unterschied zwischen den USB-Geräte-Deskriptoren und den ROM-Informationen und in Reaktion auf das Überschreiten eines Schwellenwerts durch das Konfidenzniveau, Auslösen einer Sicherheitsaktion, bevor der Computer die Gerätetreiber für das USB-Gerät lädt.
  • Einige Ausführungsformen der vorliegenden Erfindung sind auf ein Verfahren zum Ermitteln, ob ein USB-Gerät manipuliert wurde, gerichtet, wobei das Verfahren umfasst: in Reaktion auf das Ermitteln, dass die USB-Geräte-Deskriptoren mit bekannten gefährlichen USB-Geräte-Deskriptoren übereinstimmen, Ermitteln eines Konfidenzniveaus bösartiger Aktivität auf Grundlage des Ausmaßes der Übereinstimmung zwischen den USB-Geräte-Deskriptoren und den bekannten gefährlichen USB-Geräte-Deskriptoren; und in Reaktion darauf, dass das Konfidenzniveau einen Schwellenwert überschreitet, Auslösen einer Sicherheitsaktion, bevor der Computer die Gerätetreiber für das USB-Gerät lädt.
  • Einige Ausführungsformen der vorliegenden Erfindung können eines oder mehrere der folgenden Merkmale, Eigenschaften und/oder Vorteile beinhalten: (i) stoppt die Injektion von Code, bevor die Injektion beginnt, wodurch das Risiko einer Infizierung des Computergeräts effektiv eliminiert wird; und/oder (ii) funktioniert mit allen bekannten Bedrohungen, die Standard-USB-Daumenlaufwerke in ein Code-Injektions-Tool umwandeln.
  • Einige Ausführungsformen der vorliegenden Erfindung sind auf ein Computerprogrammprodukt gerichtet, das ein computerlesbares Speichermedium umfasst, in dem eine Menge von Anweisungen gespeichert ist, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor veranlassen, Sicherheitsaktionen gemäß einem Sicherheits-Score durchzuführen, durch: Identifizieren einer Menge von Deskriptoren aus Deskriptor-Feldern auf einem Universal Serial Bus (USB)-Gerät; Vergleichen jedes Deskriptors der Menge von Deskriptoren mit einer Menge von historischen Deskriptoren, wobei der Menge von historischen Deskriptoren individuell ein Sicherheits-Score zugeordnet ist; Lesen von Nur-Lese-Speicher (ROM) Informationen auf dem USB-Gerät; Analysieren der ROM-Informationen auf Kongruenz, wobei einer Nicht-Kongruenz ein vordefinierter Sicherheits-Score zugeordnet wird; Zuordnen eines Sicherheits-Scores zu dem USB-Gerät auf Grundlage des Vergleichs jedes Deskriptors und der Analyse der ROM-Informationen, wobei der höchste individuelle Sicherheits-Score die Grundlage des zugeordneten Sicherheits-Scores ist; und Durchführen einer Sicherheitsaktion als Reaktion auf den zugeordneten Sicherheits-Score.
  • Gemäß einigen Ausführungsformen der vorliegenden Erfindung werden Sicherheitsaktionen gemäß einem Sicherheits-Score durch Erkennen des in einen USB-Anschluss eingesteckten Geräts durchgeführt.
  • Einige Ausführungsformen der vorliegenden Erfindung sind auf Sicherheitsaktionen gerichtet, die den Zugriff auf das Computersystem gewähren.
  • Einige Ausführungsformen der vorliegenden Erfindung sind auf Sicherheitsaktionen gerichtet, die den USB-Anschluss für die Verwendung durch das USB-Gerät sperren.
  • Einige Ausführungsformen der vorliegenden Erfindung sind darauf gerichtet, dem USB-Gerät einen Sicherheits-Score zuzuordnen, der die Aggregation der zugeordneten Sicherheits-Scores für jeden historischen Geräte-Deskriptor beinhaltet, der mit einem Deskriptor in der Menge der Deskriptoren übereinstimmt, um einen kombinierten Sicherheits-Score für das USB-Gerät zu erzeugen.
  • Einige Ausführungsformen der vorliegenden Erfindung sind darauf gerichtet, Sicherheitsaktionen gemäß einem Sicherheits-Score durchzuführen, indem die Sicherheitsaktion unter Bezugnahme auf eine Tabelle ermittelt wird, die eine Menge von Sicherheitsaktionen, einschließlich der Sicherheitsaktion, mit Bereichen von Werten von kombinierten Sicherheits-Scores, einschließlich des kombinierten Sicherheits-Scores, verknüpft.
  • Einige Ausführungsformen der vorliegenden Erfindung sind auf ein Computersystem gerichtet, das Folgendes umfasst: einen Satz von einem oder mehreren Prozessoren; und ein computerlesbares Speichermedium mit darin gespeicherten Programmanweisungen; wobei: der Satz von Prozessoren die Programmanweisungen ausführt, die den Satz von Prozessoren veranlassen, Sicherheitsaktionen gemäß einem Sicherheits-Score durchzuführen, durch: Identifizieren eines Satzes von Deskriptoren aus Deskriptor-Feldern auf einem Universal Serial Bus (USB)-Gerät; Vergleichen jedes Deskriptors des Satzes von Deskriptoren mit einem Satz von historischen Deskriptoren, wobei dem Satz von historischen Deskriptoren individuell ein Sicherheits-Score zugeordnet ist; Lesen von Nur-Lese-Speicher (ROM) Informationen auf dem USB-Gerät; Analysieren der ROM-Informationen auf Kongruenz, wobei einer Nicht-Kongruenz ein vordefinierter Sicherheits-Score zugeordnet wird; Zuordnen eines Sicherheits-Scores zu dem USB-Gerät auf Grundlage des Vergleichs jedes Deskriptors und der Analyse der ROM-Informationen, wobei der höchste individuelle Sicherheits-Score die Grundlage des zugeordneten Sicherheits-Scores ist; und Durchführen einer Sicherheitsaktion als Reaktion auf den zugeordneten Sicherheits-Score.
  • Es folgen einige hilfreiche Definitionen:
    • Vorliegende Erfindung:
      • sollte nicht als eine absolute Angabe dafür genommen werden, dass der Gegenstand, der durch den Begriff „vorliegende Erfindung“ beschrieben wird, entweder durch die Ansprüche, wie sie eingereicht sind, oder durch die Ansprüche abgedeckt ist, die schließlich nach einer Patentverfolgung erteilt werden können; wenngleich der Begriff „vorliegende Erfindung“ dazu verwendet wird, dem Leser zu helfen, ein allgemeines Gefühl dafür zu bekommen, von welchen Offenbarungen hierin angenommen wird, dass sie potentiell neuartig sind, ist diese Erkenntnis, wie sie durch die Verwendung des Begriffs „vorliegende Erfindung“ angegeben ist, unverbindlich und provisorisch und über den Verlauf der Patentverfolgung hinweg Veränderungen unterworfen, da sich relevante Informationen entwickeln und da die Ansprüche unter Umständen abgeändert werden.
  • Ausführungsform:
    • siehe Definition von „vorliegende Erfindung“ vorstehend - ähnliche Warnungen gelten für den Begriff „Ausführungsform“.
    • und/oder: inklusives oder; A, B „und/oder“ C bedeutet zum Beispiel, dass wenigstens eines von A oder B oder C wahr und zutreffend ist.
  • Nutzer/Abonnent:
    • beinhaltet, ohne hierauf beschränkt zu sein, die Folgenden: (i) einen einzelnen Menschen, (ii) eine Einheit einer künstlichen Intelligenz mit hinreichender Intelligenz, um als Nutzer oder Abonnent zu handeln, und/oder (iii) eine Gruppe miteinander in Beziehung stehender Nutzer oder Abonnenten.
    • Modul/Teilmodul:
    jedweder Satz aus Hardware, Firmware und/oder Software, der funktionsgemäß arbeitet, um irgendeine Art von Funktion zu erfüllen, unabhängig davon, ob das Modul: (i) sich in einzelner lokaler Nähe befindet, (ii) über einen weiten Bereich verteilt ist, (iii) in einzelner Nähe innerhalb eines größeren Softwarecodeabschnitts liegt, (iv) sich in einem einzelnen Softwarecodeabschnitt befindet, (v) sich in einer einzelnen Speichereinheit, einem einzelnen Kurzzeitspeicher oder einem einzelnen Medium befindet, (vi) mechanisch verbunden ist, (vii) elektrisch verbunden ist und/oder (viii) in Datenverbindung steht.
  • Computer:
    • jedwedes Gerät mit signifikanten Funktionalitäten zur Datenverarbeitung und/oder zum Lesen maschinenlesbarer Befehle, darunter, ohne hierauf beschränkt zu sein: Desktop-Computer, Großrechner, Laptop-Computer, Geräte auf Grundlage frei programmierbarer Gatterfelder (FPGA), Smartphones, persönliche digitale Assistenten (PDAs), am Körper angebrachte oder eingesetzte Computer, integrierte Computer, Geräte auf Grundlage anwendungsspezifischer integrierter Schaltungen (Application-specific Integrated Circuit, ASIC).

Claims (22)

  1. Computer-implementiertes Verfahren für eine Sicherheitsaktion, umfassend: Identifizieren einer Menge von digitalen Objekten auf einem Universal Serial Bus (USB)-Gerät, um einen Sicherheitseintrag zu ermitteln; Zuordnen eines Sicherheits-Scores zu dem USB-Gerät auf Grundlage des ermittelten Sicherheits-Ei nt rags; in Reaktion auf den zugeordneten Sicherheits-Score, Durchführen einer Sicherheitsaktion.
  2. Computer-implementiertes Verfahren nach Anspruch 1, wobei die Sicherheitsaktion darin besteht, Zugriff auf das Computersystem zu gewähren.
  3. Computer-implementiertes Verfahren nach einem der vorangehenden Ansprüche, das ferner umfasst: Erkennen des in einen USB-Anschluss eingesteckten USB-Geräts.
  4. Computer-implementiertes Verfahren nach Anspruch 3, wobei die Sicherheitsaktion darin besteht, den USB-Anschluss für die Verwendung durch das USB-Gerät zu sperren.
  5. Computer-implementiertes Verfahren nach einem der vorangehenden Ansprüche, ferner umfassend: Ermitteln der Sicherheitsaktion unter Bezugnahme auf eine Tabelle, die eine Menge von Sicherheitsaktionen, einschließlich der Sicherheitsaktion, mit einem Bereich von Sicherheits-Scores, einschließlich des Sicherheits-Scores, verknüpft.
  6. Verfahren nach einem der vorangehenden Ansprüche, wobei: das Identifizieren eine Menge von digitalen Objekten auf einem Universal Serial Bus (USB)-Gerät, um einen Sicherheitseintrag zu ermitteln, umfasst: Identifizieren einer Menge von Deskriptoren aus Deskriptor-Feldern auf dem USD-Gerät; Vergleichen jedes Deskriptors der Menge von Deskriptoren mit einer Menge von historischen Deskriptoren, wobei der Menge von historischen Deskriptoren individuell ein Sicherheits-Score zugeordnet wird; und Lesen von Nur-Lese-Speicher (ROM)-Informationen auf dem USB-Gerät; und Analysieren der ROM-Informationen auf Kongruenz, wobei einer Nicht-Kongruenz ein vordefinierter Sicherheits-Score zugeordnet wird; und wobei das Zuordnen eines Sicherheits-Scores das Zuordnen eines Sicherheits-Scores zu dem USB-Gerät auf Grundlage des Vergleichs jedes Deskriptors und der Analyse der ROM-Informationen umfasst, wobei der höchste individuelle Sicherheits-Score die Grundlage des zugeordneten Sicherheits-Scores ist.
  7. Computer-implementiertes Verfahren nach Anspruch 6, wobei das Zuordnen des Sicherheits-Scores zu dem USB-Gerät das Aggregieren der zugeordneten Sicherheits-Scores für jeden historischen Deskriptor, der mit einem Deskriptor in der Menge von Deskriptoren übereinstimmt, um einen kombinierten Sicherheits-Score für das USB-Gerät zu erzeugen, beinhaltet.
  8. Computer-implementiertes Verfahren nach Anspruch 7, ferner umfassend: Ermitteln der Sicherheitsaktion unter Bezugnahme auf eine Tabelle, die eine Menge von Sicherheitsaktionen, einschließlich der Sicherheitsaktion, mit Bereichen von Werten von kombinierten Sicherheits-Scores, einschließlich des kombinierten Sicherheits-Scores, verknüpft.
  9. Computer-implementiertes Verfahren nach einem der Ansprüche 1 bis 5, wobei: das Identifizieren einer Menge von digitalen Objekten auf einem Universal Serial Bus (USB)-Gerät, um einen Sicherheitseintrag zu ermitteln, umfasst: Lesen von Nur-Lese-Speicher (ROM)-Informationen auf einem Universal Serial Bus (USB)-Gerät; Identifizieren einer Menge von Trails von Konfigurationsdateien in den ROM-Informationen; Identifizieren einer Menge von Indicators of Compromise, die vorbestimmte Trails von Konfigurationsdateien beinhalten; und Ermitteln, dass ein Trail der Menge von Trails mit einem vorbestimmten Trail in der Menge von Indicators of Compromise übereinstimmt; und wobei das Zuordnen eines Sicherheits-Scores das Identifizieren eines Sicherheits-Scores umfasst, der mit dem vorbestimmten Trail verknüpft ist.
  10. Computer-implementiertes Verfahren nach einem der Ansprüche 1 bis 5, wobei: das Identifizieren einer Menge von digitalen Objekten auf einem Universal Serial Bus (USB)-Gerät, um einen Sicherheitseintrag zu ermitteln, umfasst: Identifizieren einer Menge von Gerätetreibern, die auf einem Universal Serial Bus (USB)-Gerät gespeichert sind, Identifizieren einer Menge von Mikrocontroller-Gerätetreibern; Ermitteln, dass ein Gerätetreiber der Menge der Gerätetreiber auf dem USB-Gerät mit einem Mikrocontroller-Gerätetreiber der Menge von Mikrocontroller-Gerätetreibern übereinstimmt; und wobei das Zuordnen eines Sicherheits-Scores das Identifizieren eines Sicherheits-Scores umfasst, der mit dem übereinstimmenden Mikrocontroller-Gerätetreiber verknüpft ist.
  11. System für eine Sicherheitsaktion, wobei das System folgendes umfasst: einen Prozessor; und ein computerlesbares Speichermedium, das Programmanweisungen speichert, die, wenn sie von dem Prozessor ausgeführt werden, so konfiguriert sind, dass sie den Prozessor veranlassen, ein Verfahren auszuführen, das Folgendes umfasst: Identifizieren einer Menge von digitalen Objekten auf einem Universal Serial Bus (USB)-Gerät, um einen Sicherheitseintrag zu ermitteln; Zuordnen eines Sicherheits-Scores zu dem USB Gerät auf Grundlage des ermittelten Sicherheitseintrags; als Reaktion auf den zugeordneten Sicherheits-Score, Durchführen einer Sicherheitsaktion.
  12. System nach Anspruch 11, wobei die Sicherheitsaktion darin besteht, den Zugriff auf das Computersystem zu gewähren.
  13. System nach einem der Ansprüche 10 oder 12, ferner umfassend: Erkennen des in einen USB-Anschluss eingesteckten USB-Geräts.
  14. System nach einem der Ansprüche 10 bis 13, wobei die Sicherheitsaktion darin besteht, den USB-Anschluss für die Verwendung durch das USB-Gerät zu sperren.
  15. System nach einem der Ansprüche 10 bis 14, ferner umfassend: Ermitteln der Sicherheitsaktion unter Bezugnahme auf eine Tabelle, die eine Menge von Sicherheitsaktionen, einschließlich der Sicherheitsaktion, mit einem Bereich von Sicherheits-Scores, einschließlich des Sicherheits-Scores, verknüpft.
  16. System nach einem der Ansprüche 10 bis 15, wobei: das Identifizieren einer Menge von digitalen Objekten auf einem Universal Serial Bus (USB)-Gerät, um einen Sicherheitseintrag zu ermitteln, umfasst: Identifizieren einer Menge von Deskriptoren aus Deskriptor-Feldern auf dem USD-Gerät; Vergleichen jedes Deskriptors der Menge von Deskriptoren mit einer Menge von historischen Deskriptoren, wobei der Menge von historischen Deskriptoren individuell ein Sicherheits-Score zugeordnet wird; und Lesen von Nur-Lese-Speicher (ROM)-Informationen auf dem USB-Gerät; und Analysieren der ROM-Informationen auf Kongruenz, wobei einer Nicht-Kongruenz ein vordefinierter Sicherheits-Score zugeordnet wird; und wobei das Zuordnen eines Sicherheits-Scores das Zuordnen eines Sicherheits-Scores zu dem USB-Gerät auf Grundlage des Vergleichs jedes Deskriptors und der Analyse der ROM-Informationen umfasst, wobei der höchste individuelle Sicherheits-Score die Grundlage des zugeordneten Sicherheits-Scores ist.
  17. System nach Anspruch 16, wobei das Zuordnen des Sicherheits-Scores zu dem USB-Gerät das Aggregieren der zugeordneten Sicherheits-Scores für jeden historischen Deskriptor, der mit einem Deskriptor in der Menge der Deskriptoren übereinstimmt, um einen kombinierten Sicherheits-Score für das USB-Gerät zu erzeugen, beinhaltet.
  18. System nach Anspruch 17, ferner umfassend: Ermitteln der Sicherheitsaktion unter Bezugnahme auf eine Tabelle, die eine Menge von Sicherheitsaktionen, einschließlich der Sicherheitsaktion, mit Bereichen von Werten von kombinierten Sicherheits-Scores, einschließlich des kombinierten Sicherheits-Scores, verknüpft.
  19. System nach einem der Ansprüche 10 bis 15, wobei: das Identifizieren einer Menge von digitalen Objekten auf einem Universal Serial Bus (USB)-Gerät, um einen Sicherheitseintrag zu ermitteln, umfasst: Lesen von Nur-Lese-Speicher (ROM)-Informationen auf einem Universal Serial Bus (USB)-Gerät; Identifizieren einer Menge von Trails von Konfigurationsdateien in den ROM-Informationen; Identifizieren einer Menge von Indicators of Compromise, die vorbestimmte Trails von Konfigurationsdateien beinhalten; und Ermitteln, dass ein Trail der Menge von Trails mit einem vorbestimmten Trail in der Menge von Indicators of Compromise übereinstimmt; und wobei das Zuordnen eines Sicherheits-Scores das Identifizieren eines Sicherheits-Scores umfasst, der mit dem vorbestimmten Trail verknüpft ist.
  20. Computer-implementiertes Verfahren nach einem der Ansprüche 10 bis 15, wobei: das Identifizieren einer Menge von digitalen Objekten auf einem Universal Serial Bus (USB)-Gerät, um einen Sicherheitseintrag zu ermitteln, umfasst: Identifizieren einer Menge von Gerätetreibern, die auf einem Universal Serial Bus (USB)-Gerät gespeichert sind, Identifizieren einer Menge von Mikrocontroller-Gerätetreibern; Ermitteln, dass ein Gerätetreiber der Menge von Gerätetreibern auf dem USB-Gerät mit einem Mikrocontroller-Gerätetreiber der Menge von Mikrocontroller-Gerätetreibern übereinstimmt; und wobei das Zuordnen eines Sicherheits-Scores das Identifizieren eines Sicherheits-Scores umfasst, der mit dem übereinstimmenden Mikrocontroller-Gerätetreiber verknüpft ist.
  21. Computerprogrammprodukt für eine Sicherheitsaktion, wobei das Computerprogrammprodukt umfasst: ein computerlesbares Speichermedium, das von einer Verarbeitungsschaltung gelesen werden kann und Anweisungen zur Ausführung durch die Verarbeitungsschaltung speichert, um ein Verfahren gemäß einem der Ansprüche 1 bis 9 auszuführen.
  22. Computerprogramm, das auf einem computerlesbaren Medium gespeichert ist und in den internen Arbeitsspeicher eines digitalen Computers geladen werden kann, das Teile des Softwarecodes umfasst, wenn das Programm auf einem Computer ausgeführt wird, um das Verfahren nach einem der Ansprüche 1 bis 9 auszuführen.
DE112020004607.9T 2019-10-31 2020-10-28 Sicherheitsüberprüfung eines universal serial bus gerätes Pending DE112020004607T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/669,581 2019-10-31
US16/669,581 US11681798B2 (en) 2019-10-31 2019-10-31 Security screening of a universal serial bus device
PCT/IB2020/060093 WO2021084436A1 (en) 2019-10-31 2020-10-28 Security screening of a universal serial bus device

Publications (1)

Publication Number Publication Date
DE112020004607T5 true DE112020004607T5 (de) 2022-07-28

Family

ID=75686294

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020004607.9T Pending DE112020004607T5 (de) 2019-10-31 2020-10-28 Sicherheitsüberprüfung eines universal serial bus gerätes

Country Status (5)

Country Link
US (1) US11681798B2 (de)
JP (1) JP2023501205A (de)
DE (1) DE112020004607T5 (de)
GB (1) GB2603652B (de)
WO (1) WO2021084436A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220272123A1 (en) * 2021-02-25 2022-08-25 Shopify Inc. Method and system for protecting a checkout transaction from malicious code injection

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010011667A (ko) 1999-07-29 2001-02-15 이종우 보안 기능을 갖는 키보드 및 이를 이용한 시스템
US7047257B2 (en) * 2001-04-03 2006-05-16 Qnx Software Systems Computer file management system
US7761618B2 (en) * 2005-03-25 2010-07-20 Microsoft Corporation Using a USB host controller security extension for controlling changes in and auditing USB topology
KR100985076B1 (ko) 2008-04-16 2010-10-04 주식회사 안철수연구소 Usb 디바이스 보안 장치 및 방법
KR100986123B1 (ko) * 2008-06-16 2010-10-07 킹스정보통신(주) 유에스비 키보드의 보안방법
KR101034016B1 (ko) 2008-11-28 2011-05-11 킹스정보통신(주) 키보드 보안상태 확인모듈 및 그 방법
EP2202662A1 (de) 2008-12-24 2010-06-30 Gemalto SA Tragbare Sicherheitsvorrichtung, die gegen Keylogger-Programme schützt
KR101042246B1 (ko) 2009-10-09 2011-06-17 한국전자통신연구원 침해방지용 보안 usb 커넥터 및 이를 이용한 침해 방지 시스템
US10305910B2 (en) * 2010-01-15 2019-05-28 Apple Inc. Accessing specialized fileserver
JP2014509421A (ja) * 2011-02-01 2014-04-17 エムシーシーアイ コーポレイション Usbホストシステムの拡張usbプロトコルスタックのためのセキュリティ手段
US9081911B2 (en) * 2011-05-31 2015-07-14 Architecture Technology Corporation Mediating communication of a universal serial bus device
US8862803B2 (en) * 2011-05-31 2014-10-14 Architecture Technology Corporation Mediating communciation of a univeral serial bus device
US8997067B2 (en) * 2012-01-31 2015-03-31 Sap Se Unified software build system
US9817951B2 (en) * 2012-04-06 2017-11-14 Comcast Cable Communications, Llc System and method for analyzing a device
GB2509124A (en) 2012-12-21 2014-06-25 Nomad Spectrum Ltd Wireless access point and cellular network relay with secondary co-processor controlling power supplies and SIM cards
US20150020189A1 (en) * 2013-07-09 2015-01-15 High Sec Labs Ltd. Electro-mechanic usb locking device
CN103778081A (zh) 2014-02-11 2014-05-07 成都卫士通信息安全技术有限公司 一种usb外设设备接入控制方法
US9990325B2 (en) 2015-04-10 2018-06-05 International Business Machines Corporation Universal serial bus (USB) filter hub malicious code prevention system
EP3104296B1 (de) * 2015-06-10 2019-12-18 Alcatel Lucent Usb-angriffsschutz
US9785771B1 (en) 2015-07-13 2017-10-10 Bromium, Inc. Preventing malicious attacks launched from or involving usb devices
WO2017046789A1 (en) * 2015-09-15 2017-03-23 Gatekeeper Ltd. System and method for securely connecting to a peripheral device
CN105426203A (zh) * 2015-11-04 2016-03-23 福建星海通信科技有限公司 一种车载终端功能的快速配置方法
CN105718825B (zh) 2015-11-16 2020-08-21 哈尔滨安天科技集团股份有限公司 一种恶意usb设备的检测方法及装置
EP3179398B1 (de) 2015-12-10 2018-06-27 Alcatel Lucent Sicherstellung von usb-angriffsschutz
CN106961361A (zh) * 2016-01-08 2017-07-18 中兴通讯股份有限公司 自检处理方法、装置及系统
IL244557A0 (en) * 2016-03-13 2016-07-31 Cyber Sepio Systems Ltd A system and method for protecting a computer system from USB-related weaknesses such as cyber attacks
US10460103B2 (en) 2016-09-20 2019-10-29 International Business Machines Corporation Security for devices connected to a network
US9894197B1 (en) 2016-10-14 2018-02-13 International Business Machines Corporation Tracking management system for devices
US10841337B2 (en) * 2016-11-28 2020-11-17 Secureworks Corp. Computer implemented system and method, and computer program product for reversibly remediating a security risk
US20180174069A1 (en) 2016-12-15 2018-06-21 International Business Machines Corporation System and method for improving problematic information technology device prediction using outliers
US11520939B2 (en) * 2017-03-17 2022-12-06 International Business Machines Corporation Protecting computer systems from malicious USB devices via a USB firewall
US11134092B2 (en) 2017-04-12 2021-09-28 International Business Machines Corporation Security for internet of things devices
US20180324179A1 (en) * 2017-05-02 2018-11-08 Hao-Hsun Hou Method for preventing badusb attack
US11023575B2 (en) * 2017-06-26 2021-06-01 Fortinet, Inc. Security sanitization of USB devices
WO2019030748A1 (en) * 2017-08-03 2019-02-14 Cyber Sepio Systems Ltd SYSTEM AND METHOD FOR SECURING A COMPUTER SYSTEM AGAINST THREATS INTRODUCED ÈAR FROM USB DEVICES
JP7007565B2 (ja) * 2017-11-20 2022-01-24 富士通株式会社 情報処理装置および情報処理プログラム
US11568044B2 (en) * 2018-03-19 2023-01-31 University Of Florida Research Foundation, Incorporated Method and apparatus for vetting universal serial bus device firmware
JP2019200660A (ja) * 2018-05-17 2019-11-21 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
US11681831B2 (en) * 2019-04-10 2023-06-20 International Business Machines Corporation Threat detection using hardware physical properties and operating system metrics with AI data mining
US11132441B2 (en) * 2019-05-06 2021-09-28 The Florida International University Board Of Trustees Systems and methods for inhibiting threats to a computing environment
US11640464B2 (en) * 2019-05-30 2023-05-02 University Of Florida Research Foundation, Inc. Protocol model learning and guided firmware analysis
EP4034895A4 (de) * 2019-09-23 2023-10-18 Palitronica Inc. Verfahren und vorrichtung zur erkennung von gefälschten teilen, beeinträchtigten oder manipulierten komponenten oder vorrichtungen, manipulierten systemen wie lokalen kommunikationsnetzen und zur sicheren identifizierung von komponenten
US11416607B2 (en) * 2019-11-04 2022-08-16 Dell Products L.P. Security risk indicator and method therefor

Also Published As

Publication number Publication date
GB202202142D0 (en) 2022-04-06
GB2603652A (en) 2022-08-10
GB2603652B (en) 2023-08-30
US11681798B2 (en) 2023-06-20
WO2021084436A1 (en) 2021-05-06
US20210133319A1 (en) 2021-05-06
JP2023501205A (ja) 2023-01-18

Similar Documents

Publication Publication Date Title
US20230281311A1 (en) Method of malware detection and system thereof
DE112012002718B4 (de) Erkennen von Sicherheitsschwachstellen in Web-Anwendungen
DE60303753T2 (de) Selektives Erkennen von böswilligem Rechnercode
DE112019001121B4 (de) Auf einem computer implementiertes verfahren zum identifizieren von malware und system hierfür
US11734427B2 (en) Systems, methods and devices for memory analysis and visualization
DE112017003335T5 (de) Maschinelles lernen in gegnerischen umgebungen
DE60102555T2 (de) Verhinderung der map-aktivierten modulmaskeradeangriffe
DE102012218704A1 (de) Erkennung von schwachstellen für dom-basiertes cross-site-scripting
DE112012000279T5 (de) Ermitteln der Anfälligkeit von Computer-Software-Anwendungen gegenüber Rechteausweitungsangriffen
DE202011111121U1 (de) System zum Erfassen komplexer Schadsoftware
US9892263B2 (en) System, method and apparatus to visually configure an analysis of a program
DE112010003979T5 (de) System und Verfahren für das statische Erkennen und Kategorisieren von Informationsfluss-Herabstufungseinrichtungen
DE202014011086U1 (de) System zur Bestimmung einer Vertrauenswürdigkeitskategorie von Anwendungen, die eine Schnittstellenüberlagerung durchführen
DE112013002012B4 (de) Verfahren eines Erkennens von Schadsoftware in einem Betriebssystemkern
DE112010004526T5 (de) System, Verfahren und Vorrichtung für eine Gleichzeitige Festlegung und Durchsetzung von Richtlinien zur Zugriffskontrolle und Integrität
DE102012209006A1 (de) Testen von Web-Anwendungen auf Sicherheitslücken beim Heraufladen von Dateien
DE202013102179U1 (de) System zu detektieren von durch eine virtuelle Maschine ausgeführtem Schadcode
DE102013203854A1 (de) Erfassen von bösartigem Computercode in einem ausführenden Programmmodul
US9716704B2 (en) Code analysis for providing data privacy in ETL systems
EP3430558B1 (de) Erkennen einer abweichung eines sicherheitszustandes einer recheneinrichtung von einem sollsicherheitszustand
DE112019000594T5 (de) Injizieren von Abfangcode in einen Ausführungspfad eines ein Programm ausführenden Prozesses, um einen Abfangadressbereich zu erzeugen, um möglichen schädlichen Programmcode zu erkennen
DE102017106016A1 (de) System und Verfahren zur Erkennung von Befehlssequenzen von Interesse
DE102016204698A1 (de) Verbessern des Erkennens von Steganographie am Perimeter
DE102019209349A1 (de) Untersuchung von Web-Bedrohungen mithilfe von fortschrittlichem Web-Crawling
DE112020004607T5 (de) Sicherheitsüberprüfung eines universal serial bus gerätes

Legal Events

Date Code Title Description
R012 Request for examination validly filed