DE112017003335T5 - Maschinelles lernen in gegnerischen umgebungen - Google Patents

Maschinelles lernen in gegnerischen umgebungen Download PDF

Info

Publication number
DE112017003335T5
DE112017003335T5 DE112017003335.7T DE112017003335T DE112017003335T5 DE 112017003335 T5 DE112017003335 T5 DE 112017003335T5 DE 112017003335 T DE112017003335 T DE 112017003335T DE 112017003335 T5 DE112017003335 T5 DE 112017003335T5
Authority
DE
Germany
Prior art keywords
data set
training data
features
compromisable
circuit
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
DE112017003335.7T
Other languages
English (en)
Inventor
Yi Gai
Chih-Yuan Yang
Ravi L. Sahita
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112017003335T5 publication Critical patent/DE112017003335T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Ein System zum Trainieren von Klassifikatoren für eine gegnerische Umgebung umfasst eine Merkmalsextraktionsschaltung, um eine Anzahl von Merkmalen zu identifizieren, die jeder Probe zugeordnet sind, die in einem Ausgangsdatensatz enthalten ist, der eine Vielzahl von Proben enthält. Das System umfasst ferner eine Probenzuordnungsschaltung, um wenigstens einen Teil der im Ausgangsdatensatz enthaltenen Proben wenigstens einem Trainingsdatensatz zuzuordnen; eine Schaltung für maschinelles Lernen, die kommunikationsfähig mit der Probenzuordnungsschaltung gekoppelt ist, wobei die Schaltung für maschinelles Lernen: wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil des Ausgangsdatensatzes identifiziert; eine Klassifikator-Verlustfunktion [l(x, y, w)] definiert, die Folgendes enthält: einen Merkmalsvektor (x) für jede Probe, die in dem Ausgangsdatensatz enthalten ist; eine Markierung (y) für jede in dem Ausgangsdatensatz enthaltene Probe; und einen dem Klassifikator zugeordneten Gewichtsvektor (w); und den Minimax der Klassifikator-Verlustfunktion (minmaxl(x, y, w)) bestimmt.

Description

  • GEBIET DER TECHNIK
  • Die vorliegende Offenbarung betrifft das maschinelle Lernen und insbesondere das maschinelle Lernen in gegnerischen Umgebungen.
  • ALLGEMEINER STAND DER TECHNIK
  • Cyberangriffe stellen für die meisten Computersysteme eine zunehmende Bedrohung dar. Systeme für maschinelles Lernen stellen relativ ausgefeilte und leistungsfähige Werkzeuge zum Schutz vor solchen Cyberangriffen bereit. Universelle Werkzeuge für maschinelles Lernen sind bei der automatischen Malware-Analyse erfolgreich. Derartige Werkzeuge für maschinelles Lernen können jedoch für Angriffe anfällig sein, die gegen den Lernprozess, der dazu eingesetzt wird, die Maschinen für das Erkennen von Schadsoftware zu trainieren, gerichtet sind. Ein Gegner kann beispielsweise den Trainingsdatensatz mit Trainingsbeispielen, die Bits von Malware enthalten, „salten“ oder anderweitig verfälschen, sodass das trainierte Online-System auf der Grundlage des „gesalteten“ oder verfälschten Trainingsdatensatzes zukünftige Malware-Angriffe fälschlicherweise als legitime Aktivität identifiziert. Die Fähigkeit des Angreifers, spezifische Schwachstellen von Lernalgorithmen auszunutzen und den Trainingsdatensatz sorgfältig zu manipulieren, kompromittiert das gesamte System für maschinelles Lernen. Die Verwendung von „gesalteten“ oder verfälschten Trainingsdaten kann zu Unterschieden zwischen den Trainingsdatensätzen und nachfolgenden Testdatensätzen führen.
  • Figurenliste
  • Merkmale und Vorteile verschiedener Ausführungsformen des beanspruchten Gegenstandes ergeben sich aus der nachfolgenden ausführlichen Beschreibung und unter Bezugnahme auf die Zeichnungen, in denen gleiche Bezugszeichen gleiche Elemente bezeichnen. Es zeigen:
    • die 1 ein beispielhaftes System für maschinelles Lernen, dass eine Merkmal-Hash-Schaltung, eine Probenzuordnungsschaltung und eine Schaltung für maschinelles Lernen gemäß wenigstens einer Ausführungsform der vorliegenden Offenbarung umfasst;
    • die 2 ein Blockdiagramm eines beispielhaften Systems gemäß wenigstens einer Ausführungsform der vorliegenden Offenbarung, in dem die Schaltung für maschinelles Lernen und der gegen gegnerische Verfälschung resistente Klassifikator implementiert werden können; und
    • die 3 ein High-Level-Logik-Ablaufdiagramm eines beispielhaften Verfahrens zum Trainieren eines Klassifikators in einer gegnerischen Umgebung unter Verwendung von maschinellem Lernen in einer potentiell gegnerischen Umgebung gemäß wenigstens einer Ausführungsform der vorliegenden Offenbarung.
  • Obwohl die nachfolgende ausführliche Beschreibung mit Bezug auf beispielhafte Ausführungsformen fortgesetzt wird, werden für Fachleute auf dem Gebiet viele Alternativen, Abwandlungen und Varianten derselben offensichtlich sein.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die hierin beschriebenen Systeme und Verfahren bieten eine verbesserte Systemsicherheit und -leistung, indem sie die Auswirkungen von „gesalteten“ oder verfälschten Trainingsdaten, die dazu verwendet werden, ein System mit einem Klassifikator für eine gegnerische Umgebung durch maschinelles Lernen zu trainieren, minimieren. Aus spieltheoretischer Sicht sollte ein System mit einem Klassifikator für eine gegnerische Umgebung die Bemühungen der Malware-Generatoren, bösartigen Code in das System einzufügen, erfolgreich antizipieren. Solche Systeme mit einem Klassifikator für eine gegnerische Umgebung können auf einer Minimax-Formulierung aufbauend konzipiert werden. Das Minimaxtheorem ist eine in der Entscheidungstheorie und Spieltheorie verwendete Entscheidungsregel zur Minimierung des möglichen Verlustes für ein Worst-Case-Szenario. In der Spieltheorie ist der Minimax-Wert der kleinste Wert, zu dessen Erhalt ein Spieler von anderen Spielern gezwungen werden kann, ohne dass diese die Handlungen des Spielers kennen. Äquivalent dazu ist er der größte Wert, den ein Spieler sicher erhalten kann, wenn er die Handlungen der anderen Spieler kennt.
  • Bei den hier offenbarten Systemen und Verfahren wird, wenn ein Merkmal durch einen Gegner kompromittiert wird, die Genauigkeit des Klassifikators kompromittiert. Mit anderen Worten, die Bereitstellung von veränderten, „gesalteten“ oder verfälschten Trainingsdaten an ein System für maschinelles Lernen mit einem Klassifikator für eine gegnerische Umgebung, kompromittiert die nachfolgende Genauigkeit des Klassifikators für eine gegnerische Umgebung. Die hierin beschriebenen Systeme und Verfahren minimieren den Worst-Case-Verlust über alle möglichen kompromittierten Merkmale hinweg. Derartige Systeme und Verfahren verbessern die Leistungsfähigkeit des Klassifikators für eine gegnerische Umgebung, indem eine reduzierte Gesamtfehlerrate und eine robustere Abwehr von Gegnern bereitgestellt werden.
  • Die hier beschriebenen Systeme und Verfahren berücksichtigen den Worst-Case-Verlust der Klassifizierungsgenauigkeit, wenn ein Satz von Merkmalen durch Gegner kompromittiert wird. Die hierin offenbarten Systeme und Verfahren minimieren die Auswirkungen gegnerischer Evasion, falls bekannte Lösungen versagen könnten. Die hierin beschriebenen Systeme und Verfahren führen zu einem Klassifikator, der das Worst-Case-Szenario in einer gegnerischen Umgebung optimiert, wenn ein Satz von Merkmalen durch Angreifer kompromittiert wird. Metadaten können dazu verwendet werden, eine maximale Anzahl von Merkmalen, die möglicherweise kompromittiert werden können, zu definieren. Ein einzelnes Bit kann dazu verwendet werden, es dem Systementwickler zu ermöglichen, den gegnerischen Modus EIN und AUS zu schalten. Wenn der gegen gegnerische Verfälschung resistente Modus auf EIN geschaltet ist, wird die Leistung des gegen gegnerische Verfälschung resistenten Klassifikators auf den Worst-Case-Genauigkeitsverlust optimiert. Wenn der gegen gegnerische Verfälschung resistente Modus auf AUS geschaltet ist, fungiert der gegen gegnerische Verfälschung resistente Klassifikator als herkömmlicher Klassifikator.
  • Es wird ein System zum Trainieren von Klassifikatoren für eine gegnerische Umgebung bereitgestellt. Das System zum Trainieren von Klassifikatoren für eine gegnerische Umgebung kann Folgendes umfassen: eine Merkmalsextraktionsschaltung, um eine Anzahl von Merkmalen zu identifizieren, die jeder Probe zugeordnet sind, die in einem Ausgangsdatensatz enthalten ist, der eine Vielzahl von Proben enthält; eine Probenzuordnungsschaltung, um wenigstens einen Teil der im Ausgangsdatensatz enthaltenen Proben wenigstens einem Trainingsdatensatz zuzuordnen; eine Schaltung für maschinelles Lernen, die kommunikationsfähig mit der Probenzuordnungsschaltung gekoppelt ist, wobei die Schaltung für maschinelles Lernen: wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Ausgangsdatensatz enthaltenen Proben identifiziert; eine Klassifikator-Verlustfunktion [l(xi, yi, w)] definiert, die Folgendes enthält: einen Merkmalsvektor (xi) für jede Probe, die in dem Ausgangsdatensatz enthalten ist; eine Markierung (yi) für jede in dem Ausgangsdatensatz enthaltene Probe; und einen dem Klassifikator zugeordneten Gewichtsvektor (w); und den Minimax der Klassifikator-Verlustfünktion (minwmaxi l(xi, yi, w)) bestimmt.
  • Es wird ein Trainingsverfahren für Klassifikatoren für eine gegnerische Umgebung bereitgestellt. Das Verfahren kann Folgendes umfassen: das Zuordnen wenigstens eines Teils der in einem Ausgangsdatensatz enthaltenen Vielzahl von Proben zu wenigstens einem Trainingsdatensatz; das Identifizieren einer Anzahl von Merkmalen, die jeder in einem Trainingsdatensatz enthaltenen Probe zugeordnet sind; das Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben; das Definieren einer Klassifikator-Verlustfünktion [l(xi, yi w)], die Folgendes enthält: einen Merkmalsvektor (xi) für jedes in dem Trainingsdatensatz enthaltene Element; eine Markierung (yi) für jedes in dem Trainingsdatensatz enthaltene Element; und einen dem Klassifikator zugeordneten Gewichtsvektor (w); und das Bestimmen des Minimax der Klassifikator-Verlustfünktion (minwmaxi l(xi, yi, w)).
  • Eine Speichervorrichtung, die maschinenlesbare Anweisungen enthält, die bei Ausführung eine konfigurierbare Schaltung physisch in eine Schaltung zum Trainieren von Klassifikatoren für eine gegnerische Umgebung umwandeln, wobei die Schaltung zum Trainieren von Klassifikatoren für eine gegnerische Umgebung eine Anzahl von Merkmalen identifiziert, die jeder Probe zugeordnet sind, die in einem Ausgangsdatensatz enthalten ist, der eine Vielzahl von Proben enthält; wenigstens einen Teil der in dem Ausgangsdatensatz enthaltenen Proben wenigstens einem Trainingsdatensatz zuordnet; wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben identifiziert; eine Klassifikator-Verlustfunktion [l(xi, yi, w)] definiert, die Folgendes enthält: einen Merkmalsvektor (xi) für jede in dem Trainingsdatensatz enthaltene Probe; eine Markierung (yi) für jede in dem Trainingsdatensatz enthaltene Probe; und einen dem Klassifikator zugeordneten Gewichtsvektor (w); und den Minimax der Klassifikator-Verlustfunktion (minwmaxi l(xi, yi, w)) bestimmt.
  • Es wird ein System zum Trainieren von Klassifikatoren für eine gegnerische Umgebung bereitgestellt. Das System zum Trainieren von Klassifikatoren für eine gegnerische Umgebung kann Folgendes umfassen: Mittel zum Identifizieren einer Anzahl von Merkmalen, die jeder Probe zugeordnet sind, die in einem Ausgangsdatensatz enthalten ist, der eine Vielzahl von Proben enthält; ein Mittel zum Zuordnen wenigstens eines Teils der in dem Ausgangsdatensatz enthaltenen Proben zu wenigstens einem Trainingsdatensatz; ein Mittel zum Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben; ein Mittel zum Definieren einer Klassifikator-Verlustfunktion [l(xi, yi, w)], die Folgendes enthält: einen Merkmalsvektor (xi) für jede in dem Trainingsdatensatz enthaltene Probe; eine Markierung (yi) für jede in dem Trainingsdatensatz enthaltene Probe; und einen dem Klassifikator zugeordneten Gewichtsvektor (w); und ein Mittel zum Bestimmen des Minimax der Klassifikator-Verlustfunktion (minwmaxi l(xi, yi, w)).
  • Wie sie hierin verwendet werden, sind die Begriffe „oben“, „unten“, „nach oben“, „nach unten“, „abwärts“ und „aufwärts“ und ähnliche Richtungsbegriffe in ihrer relativen und nicht in ihrer absoluten Bedeutung zu verstehen. So kann ein als „aufwärts versetzt“ beschriebenes Bauteil als „seitlich versetzt“ angesehen werden, wenn die Vorrichtung, welche die Komponente trägt, um 90 Grad gedreht wird, und als „abwärts versetzt“, wenn die Vorrichtung, welche die Komponente trägt, umgekehrt wird. Solche Implementierungen sollten als in den Umfang der vorliegenden Offenbarung einbezogen betrachtet werden.
  • Wie sie in dieser Beschreibung und den beigefügten Ansprüchen verwendet werden, schließen die Singularformen „ein“ bzw. „eine“ sowie „der, die, das“, Pluralbezugnahmen ein, sofern der Inhalt nicht eindeutig etwas anderes vorgibt. Außerdem ist zu beachten, dass der Begriff „oder“ grundsätzlich in seiner „und/oder“ einschließenden Bedeutung verwendet wird, es sei denn, der Inhalt gibt eindeutig etwas anderes vor.
  • Die 1 zeigt ein beispielhaftes System für maschinelles Lernen 100 für Klassifikatoren für eine gegnerische Umgebung, dass die Merkmal-Hash-Schaltung 110, die Probenzuordnungsschaltung 120, und die Schaltung für maschinelles Lernen 130 gemäß zumindest einer Ausführungsform der vorliegenden Offenbarung umfasst. Die Merkmalsextraktionsschaltung 112 kann einen Teil der Merkmals-Hash-Schaltung 110 bilden oder einen Teil derselben enthalten. Die Merkmals-Hash-Schaltung 110 empfängt einen Ausgangsdatensatz 102, der eine Vielzahl von Proben 104A-104n (zusammenfassend „Proben 104“) umfasst. Die Merkmals-Hash-Schaltung 110 kann die Merkmalsextraktionsschaltung 112 umfassen. Die Probenzuordnungsschaltung 120 kann den von der Merkmalsextraktionsschaltung 112 empfangenen Datensatz in einen oder mehrere Trainingsdatensätze 122, einen oder mehrere Testdatensätze 124 und einen oder mehrere Kreuzvalidierungsdatensätze 126 einteilen. Die Schaltung für maschinelles Lernen 130 umfasst die Minimax-Lösungsschaltung 136 und die gegen gegnerische Verfälschung resistente Klassifikatorschaltung 138. Die Schaltung für maschinelles Lernen liefert als Ausgabe wenigstens die Ergebnisse des maschinellen Lernens 150. In Ausführungsformen kann der Ausgangsdatensatz 102 von beliebig vielen Stellen bezogen werden. Die Trainingsdaten können beispielsweise in Form von API-Protokolldateien aus einer McAfee Advance Threat Detect (ATD)-Box oder eines CF-Protokolls von McAfee Chimera (Intel Corp., Santa Clara, CA) bereitgestellt werden.
  • Jede der in dem Ausgangsdatensatz 102 enthaltenen Proben 104 kann eine jeweilige Anzahl von Merkmalen 106A-106n (zusammenfassend „Merkmale 106“) aufweisen, die logisch mit ihnen verknüpft sind. eine Anzahl dieser Merkmale 106 kann manuell oder autonom als potentiell kompromittierbare Merkmale 108A-108n (zusammenfassend „kompromittierbare Merkmale 108“) identifiziert werden. Solche kompromittierbaren Merkmale 108 stellen diejenigen Merkmale dar, die das Potenzial haben, von einem gegnerischen Agenten kompromittiert zu werden. Die Variable „K“ kann dazu verwendet werden, die maximale Anzahl solcher kompromittierbaren Merkmale 108, die in dem Ausgangsdatensatz 102 vorhanden sind, zu repräsentieren.
  • Die Merkmalsextraktionsschaltung 112 erzeugt einen Datensatz, der einen jeweiligen Merkmalsvektor (xi für die Proben i = 1...n, wobei xi ∈ Rd,i = 1,2, ...n und eine Markierung (yi für die Proben i = 1...n) umfasst, die jeder in dem Ausgangsdatensatz 102 enthaltenen Probe logisch zugeordnet sind. Die Merkmalsextraktionsschaltung 112 kann eine beliebige Anzahl und/oder Kombination von elektrischen Komponenten und/oder Halbleitervorrichtungen umfassen, die in der Lage sind, eine oder mehrere Logikvorrichtungen, Zustandsmaschinen, Prozessoren und/oder Steuerungen zu bilden oder anderweitig bereitzustellen, welche in der Lage sind, ein oder mehrere Merkmale 106A-106n, die jeder der Proben 104 logisch zugeordnet sind, zu identifizieren und/oder zu extrahieren. In der Merkmalsextraktionsschaltung können beliebige aktuelle oder zukünftig entwickelte Merkmalsextraktionstechniken implementiert sein.
  • In einigen Umsetzungen können ein oder mehrere Auswahlverfahren für Filtermerkmale, wie z.B. der Chi-Quadrat-Test, der Informationsgewinn und die Korrelationsergebnisse, von der Merkmalsextraktionsschaltung 112 verwendet werden, um wenigstens einige der in dem Ausgangsdatensatz 102 vorhandenen Merkmale 106 zu identifizieren. Solche Auswahlverfahren für Filtermerkmale können ein oder mehrere statistische Maße verwenden, um eine Bewertung auf jedes Merkmal anzuwenden oder diesem anderweitig zuzuweisen. Merkmale können dann nach Score eingestuft werden und wenigstens teilweise auf dem Score basierend zur Einbeziehung in den Datensatz ausgewählt oder von der Einbeziehung in den Datensatz zurückgewiesen werden.
  • In einigen Umsetzungen können ein oder mehrere Wrapper-Verfahren, wie z.B. das Auswahlverfahren der rekursiven Merkmalseliminierung von der Merkmalsextraktionsschaltung 112 verwendet werden, um wenigstens einige der in dem Ausgangsdatensatz 102 vorhandenen Merkmale 106 zu identifizieren. Solche Auswahlverfahren für Wrappermerkmale betrachten die Auswahl eines Merkmalssatzes als Suchproblem, bei dem unterschiedliche Merkmalskombinationen vorbereitet, ausgewertet und mit anderen Kombinationen verglichen werden.
  • In einigen Umsetzungen können ein oder mehrere Auswahlverfahren für eingebettete Merkmale, wie z.B. das LASSO-Verfahren, das Verfahren des elastischen Netzes, oder das Ridge-Regressionsverfahren von der Merkmalsextraktionsschaltung 112 verwendet werden, um wenigstens einige der in dem Ausgangsdatensatz 102 vorhandenen Merkmale 106 zu identifizieren. Solche Auswahlverfahren für eingebettete Merkmale können lernen, welche Merkmale 106 am besten zur Genauigkeit des Klassifikators beitragen, während der Klassifikator erstellt wird.
  • Die Probenzuordnungsschaltung 120 empfängt den Datensatz von der Merkmalsextraktionsschaltung 112 und teilt den Inhalt des empfangenen Datensatzes in einen oder mehrere von: einem Trainingsdatensatz 122, einem Testdatensatz 124 und einem Kreuzvalidierungsdatensatz 126 ein. Die Merkmalsextraktionsschaltung 120 kann eine beliebige Anzahl und/oder Kombination von elektrischen Komponenten und/oder Halbleitervorrichtungen umfassen, die in der Lage sind, eine oder mehrere Logikvorrichtungen, Zustandsmaschinen, Prozessoren und/oder Steuerungen zu bilden oder anderweitig bereitzustellen, die in der Lage sind, die in dem Ausgangsdatensatz 102 enthaltenen Proben 104 einer Anzahl von Teilmengen zuzuteilen. Wie beispielsweise in der 1 dargestellt, können die Proben 104 einer oder mehreren Trainingsdaten-Teilmengen 122, einer oder mehreren Testdaten-Teilmengen 124 und/oder einer oder mehreren Kreuzvalidierungs-Teilmengen 126 zugeteilt werden. In einigen Umsetzungen, kann die Probenzuordnungsschaltung 120 die Proben zufallsgesteuert einigen oder allen der einen oder mehreren Trainingsdaten-Teilmengen 122, der einen oder mehreren Testdaten-Teilmengen 124 und/oder der einen oder mehreren Kreuzvalidierungs-Teilmengen 126 zuteilen. In einigen Umsetzungen, kann die Probenzuordnungsschaltung 120 die Proben gleichmäßig oder ungleichmäßig einigen oder allen der einen oder mehreren Trainingsdaten-Teilmengen 122, der einen oder mehreren Testdaten-Teilmengen 124 und/oder der einen oder mehreren Kreuzvalidierungs-Teilmengen 126 zuteilen.
  • Der Trainingsdatensatz 122 kann der Minimax-Lösungsschaltung 136 zugeführt werden, welche die gesamte oder einen Teil der Schaltung für maschinelles Lernen 130 bildet. Die Minimax-Lösungsschaltung 136 kann eine beliebige Anzahl und/oder Kombination von elektrischen Komponenten und/oder Halbleitervorrichtungen umfassen, die eine oder mehrere Logikvorrichtungen, Zustandsmaschinen, Prozessoren und/oder Steuerungen bilden oder anderweitig bereitstellen können, welche in der Lage sind, ein Minimax-Problem zu lösen. Ein Minimax-Problem kann ein beliebiges Problem umfassen, bei dem ein Teil des Problems (z.B. das Risiko eines Verlusts, der auf die Akzeptanz von bösartigem Code, wie Malware, zurückzuführen ist), über eine gesamte Probenpopulation minimiert wird. Das Worst-Case-Szenario liegt vor, wenn die maximale Anzahl von Merkmalen „gesaltet“, verfälscht, oder auf andere Weise beschädigt worden ist (d.h. wenn „K“ maximiert ist). Wie in der 1 dargestellt, kann die Minimax-Lösungsschaltung 136 beispielsweise eine Lösung für das folgende Minimax-Problem bereitstellen: m i n w m a x i l ( x i , y i , w )
    Figure DE112017003335T5_0001
    wobei w = Gewichtsvektor des Klassifikators, w ∈ Rd, und l(xj, yj, w) = die durch den Klassifikator definierte Verlustfunktion ist. In einer solchen Umsetzung wird die Verlustfunktion l(xi, yi, w) minimiert, um die gegen gegnerische Verfälschung resistente Klassifikator-Schaltung 138 herzustellen, zu erzeugen oder anderweitig bereitzustellen, wenn das Bit 134 („M“) des gegen gegnerische Verfälschung resistenten Klassifikators auf einen definierten binären logischen Zustand gesetzt wird. Wenn das Klassifikator-Bit 134 beispielsweise in einem logischen AUSZustand ist, funktioniert die Klassifikatorschaltung 138 in einem konventionellen, nichtgegnerischen Modus. Wenn das Klassifikator-Bit 134 in einem logischen EIN-Zustand ist, funktioniert die Klassifikatorschaltung 138 in einem gegen gegnerische Verfälschung resistenten Modus.
  • Eine Support-Vektor-Maschine (SVM) kann dazu dienen, ein anschauliches Beispiel für die Umsetzung der hier beschriebenen gegen gegnerische Verfälschung resistenten maschinellen Systeme und Verfahren bereitzustellen. Support-Vektor-Maschinen sind überwachte Lernmodelle mit zugehörigen Lernalgorithmen, die zur Klassifikation und Regressionsanalyse verwendete Daten analysieren. Ausgehend von einem Trainingsdatensatz 122, der eine Anzahl von Proben 104 enthält, wobei jede Probe als Element einer gültigen Probenuntermenge oder einer Malware-Probenuntermenge markiert ist, setzt der SVM-Trainingsalgorithmus ein Modell zusammen oder konstruiert auf andere Weise ein Modell, das bestimmt, ob nachfolgende Proben 104 gültig oder Malware sind. Eine solche SVM kann als nicht-probabilistischer binärer linearer Klassifikator betrachtet werden. Ein SVM-Modell ist eine Darstellung der Proben 104 als Punkte im Raum, die so dargestellt sind, dass die Beispiele der einzelnen Kategorien durch eine möglichst große Lücke voneinander getrennt sind. Neue Proben 104 werden dann in demselben Raum eingetragen und in Abhängigkeit von der Seite der Lücke, auf welche die Probe fällt, als gültig oder Malware vorhergesagt. Ziel der SVM ist es, den durch die folgende Gleichung gegebenen Hinge Loss zu minimieren: m i n [ 1 2 w 2 + C i [ 1 y i w x i ] ]
    Figure DE112017003335T5_0002
  • Wenn K Merkmale kompromittiert sind (d.h. das „Worst-Case“-Szenario), wird der Hinge Loss für die Probe „i“ durch die folgende Gleichung angegeben: m a x [ 1 y i w ( x i ( 1 a i ) ) ]
    Figure DE112017003335T5_0003
    wobei: a i { 0,1 } d
    Figure DE112017003335T5_0004
    j a i j = K
    Figure DE112017003335T5_0005
  • Das Maximierungsproblem in Gleichung (3) zeigt den Worst-Case-Verlust für die Probe i. Um einen robusten Klassifikator zu erhalten, sollte der Worst-Case-Verlust über alle Proben minimiert werden, wodurch ein Minimax-Problem entsteht. Somit kann ein gegen gegnerische Verfälschung resistenter Klassifikator durch die Lösung des folgenden Problems erhalten werden: m i n w m a x a 1 , a 2 , a n 1 2 w 2 + C i [ 1 y i w ( x i ( 1 a i ) ) ]
    Figure DE112017003335T5_0006
  • Das in der Gleichung (4) vorgestellte Minimax-Problem kann direkt durch Variation aller möglichen Szenarien gelöst werden. Ein alternatives, effizienteres Lösungsverfahren, besteht darin, das Minimax-Problem in ein quadratisches Programm mit konvexen Dualitäts-Transformationen umzuwandeln, sodass ein oder mehrere schnelle Algorithmen angewendet werden können. In einigen Umsetzungen kann der Wert von „K“ vorgegeben sein, und die Lösung des Minimax-Problems für einen festen „K“-Wert erzeugt ein Klassifikationsmodell, das eine höhere Resilienz gegenüber bösartigen Daten aufweist als ein herkömmlicher Klassifikator. In einer weiteren Ausführungsform kann der Wert von „K“ für wenigstens einige Szenarien variiert und das Minimax-Problem für jedes Szenario gelöst werden, um einen optimalen „K“-Wert zu bestimmen.
  • Vorteilhafterweise verbessert die Lösung des Minimax-Problems die Arbeitsweise und die Performance des Hostsystems, insbesondere wenn Trainingsdaten „gesalteten“, verfälschten, oder anderweitig missbräuchlich geänderten Code enthalten können, indem sie die Erkennung von bösartigem Code rationalisiert und verbessert. Durch Rationalisierung und Verbesserung der Detektionsgenauigkeit von bösartigem Code ist es möglich, die der Systemsicherheit zugeordneten Rechenressourcen zu reduzieren und die Ressourcen für wertschöpfende Verarbeitungskapazitäten freizugeben. In Ausführungsformen können der eine oder die mehreren Testdatensätze 124 und/oder der eine oder die mehreren Kreuzvalidierungsdatensätze 126 dem gegen gegnerische Verfälschung resistenten Klassifikator 138 zum Testen und/oder Validieren der Systemleistung bereitgestellt werden.
  • Die 2 zeigt ein Blockdiagramm eines beispielhaften Systems 200 mit einem Klassifikator für eine gegnerische Umgebung, in dem die Schaltung für maschinelles Lernen 130 und der gegen gegnerische Verfälschung resistente Klassifikator 138 gemäß zumindest einer Ausführungsform der vorliegenden Offenbarung implementiert sein können. Obwohl im Kontext eines Personalcomputers 202 beschrieben, können die verschiedenen in der 2 dargestellten Komponenten und Funktionsblöcke ganz oder teilweise auf unterschiedlichsten Plattformen und unter Verwendung von Komponenten wie sie in Servern, Workstations, Laptop-Computervorrichtungen, tragbaren Computervorrichtungen, Wearable-Computervorrichtungen, tragbaren Computervorrichtungen, Tablet-Computervorrichtungen, Handheld-Computervorrichtungen und ähnlichen Vorrichtungen die Ein- oder Mehrkernprozessoren aufweisen oder mikroprozessorgestützt sind, implementiert werden.
  • Die konfigurierbare Schaltung 204 kann eine beliebige Anzahl und/oder Kombination von elektronischen Bauelementen und/oder Halbleitervorrichtungen umfassen. Die konfigurierbare Schaltung 204 kann teilweise oder vollständig festverdrahtet sein. Die konfigurierbare Schaltung 204 kann eine beliebige Anzahl und/oder Kombination von Logikverarbeitungseinheiten umfassen, die in der Lage sind, maschinenlesbare Befehlssätze zu lesen und/oder auszuführen, wie beispielsweise eine oder mehrere Zentraleinheiten (CPUs), Mikroprozessoren, digitale Signalprozessoren (DSPs), Grafikprozessoren bzw. Grafikprozessoreinheiten (GPUs), anwendungsspezifische integrierte Schaltungen (ASICs), feldprogrammierbare Gate-Arrays (FPGAs), etc. Sofern nicht anders beschrieben, sind die verschiedenen in der 2 dargestellten Blöcke hinsichtlich Aufbau und Funktion herkömmlicher Art. Folglich müssen derartige Blöcke hierin nicht näher beschrieben werden, da sie für den Fachmann auf dem Gebiet ohne Weiteres verständlich sind.
  • Die allgemeine Architektur des in 2 dargestellten veranschaulichenden Systems umfasst eine Northbridge 210, die kommunikationsfähig mit einer Southbridge 220 gekoppelt ist. Die Northbridge 210 kann kommunikationsfähig mit der konfigurierbaren Schaltung, einem oder mehreren nichtflüchtigen Speichern und einer oder mehreren Videoausgabevorrichtungen, Verarbeitungseinheiten und/oder Steuerungen gekoppelt sein. Die Southbridge 220 kann kommunikationsfähig mit nichtflüchtigem Speicher, einer oder mehreren seriellen und/oder parallelen Eingabe- bzw. Ausgabebusstrukturen und einer beliebigen Anzahl von Eingabe- bzw. Ausgabevorrichtungen gekoppelt sein.
  • Die eine oder die mehreren konfigurierbaren Schaltungen 204 können eine beliebige Anzahl und/oder Kombination von Systemen und/oder Vorrichtungen umfassen, die in der Lage sind, eine Schaltung oder mehrere Schaltungen zu bilden, die einen oder mehrere maschinenlesbare Befehlssätze ausführen können. In Ausführungsformen können die eine oder die mehreren konfigurierbaren Schaltungen 204 eine oder mehrere der folgenden Elemente umfassen, ohne allerdings darauf beschränkt zu sein: festverdrahtete elektrische Bauelemente und/oder Halbleiterbauelemente; programmierbare Gate-Arrays (PGA); Reduced Instruction Set Computer (RISC); digitale Signalprozessoren; Ein- oder Mehrkernprozessoren; Ein- oder Mehrkern-Mikroprozessoren; anwendungsspezifische integrierte Schaltungen (ASIC); Systems-on-a-Chip (SoC); digitale Signalprozessoren (DSP); Grafikverarbeitungseinheiten (GPU); oder jede beliebige Kombination aus diesen. Die eine oder die mehreren konfigurierbaren Schaltungen 204 können Prozessoren oder Mikroprozessoren umfassen, die multithread-fähig sind.
  • In einigen Umsetzungen können die eine oder die mehreren konfigurierbaren Schaltungen 204 einen oder mehrere maschinenlesbare Befehlssätze ausführen, die bewirken, dass alle oder ein Teil der einen oder mehreren konfigurierbaren Schaltungen 204 die Merkmalsextraktionsschaltung 110, die Probenzuordnungsschaltung 120 und die Schaltung für maschinelles Lernen 130 bereitstellen. Die eine oder die mehreren konfigurierbaren Schaltungen 204 können über einen oder mehrere Busse mit der Northbridge (und mit anderen Systemkomponenten) kommunizieren.
  • Der Systemspeicher kann kommunikationsfähig mit der Northbridge 210 gekoppelt sein. Ein solcher Systemspeicher kann eine beliebige Anzahl und/oder Kombination von beliebigen aktuellen und/oder zukünftig entwickelten Arbeitsspeicher- und/oder Speichereinrichtungen umfassen. Der gesamte Systemspeicher oder ein Teil desselben kann in Form von Wechselspeichern oder von Speichervorrichtungen bereitgestellt sein, die von dem System 200 getrennt oder anderweitig entkoppelt sein können. In einigen Umsetzungen kann der Systemspeicher einen Direktzugriffsspeicher (RAM) 230 umfassen. Der RAM 230 kann elektrostatische, elektromagnetische, optische, molekulare und/oder Quantenspeicher in beliebiger Anzahl und/oder Kombination umfassen. Im Betrieb des Systems 200 können Informationen in dem RAM 230 gespeichert oder anderweitig zurückbehalten werden. Solche Informationen können eine oder mehrere Anwendungen 232, ein Betriebssystem 234 und/oder Programmdaten 236 umfassen, sind jedoch nicht darauf beschränkt. Der Systemspeicher kann über die Northbridge 210 Informationen und/oder Daten mit der konfigurierbaren Schaltung 204 austauschen.
  • In einigen Umsetzungen kann bzw. können die eine bzw. die mehreren Anwendungen 232 eine oder mehrere Merkmalsextraktionsanwendungen umfassen, die zum Identifizieren und/oder Extrahieren eines oder mehrerer Merkmale 106 aus jeder der im Ausgangsdatensatz 102 enthaltenen Proben 104 geeignet sind. Die eine oder die mehreren Merkmalsextraktionsanwendungen können von der konfigurierbaren Schaltung 204 und/oder der Merkmalsextraktionsschaltung 112 ausgeführt werden. In einigen Umsetzungen kann bzw. können die eine oder die mehreren Anwendungen 232 eine oder mehrere Probenzuordnungsanwendungen umfassen, die für das Einteilen der in dem Ausgangsdatensatz 102 enthaltenen Proben 102 in den einen oder die mehreren Trainingsdatensätzen 122, den einen oder die mehreren Testdatensätzen 124 und/oder den einem oder die mehreren Kreuzvalidierungsdatensätzen 126 geeignet sind. Die eine oder die mehrere Probenzuordnungsanwendungen können von der konfigurierbaren Schaltung 204 und/oder der Probenzuordnungsschaltung 120 ausgeführt werden. In einigen Umsetzungen können die eine oder die mehreren Anwendungen 232 eine oder mehrere Minimax-Problemlösungs-Anwendungen umfassen. Die eine oder die mehreren Minimax-Problemlösungs-Anwendungen können von der konfigurierbaren Schaltung 204, der Schaltung für maschinelles Lernen 130 und/oder der Minimax-Lösungsschaltung 136 ausgeführt werden.
  • Das Betriebssystem 234 kann jedes aktuelle oder zukünftig entwickelte Betriebssystem umfassen. Beispiele für solche Betriebssysteme 234 können Windows® (Microsoft Corp., Redmond, WA); OSx (Apple Inc., Cupertino, CA); iOS (Apple Inc., Cupertino, CA); Android® (Google, Inc., Mountain View, CA) und ähnliche umfassen, ohne allerdings auf diese beschränkt zu sein. Das Betriebssystem 234 kann ein oder mehrere Open-Source-Betriebssysteme umfassen, einschließlich, aber nicht beschränkt auf Linux, GNU und ähnliche.
  • Die Daten 236 können beliebige Informationen und/oder Daten umfassen, die von der Merkmal-Hash-Schaltung 110, der Probenzuordnungsschaltung 120 und/oder der Schaltung für maschinelles Lernen 130 verwendet, erzeugt oder anderweitig verbraucht werden. Die Daten 236 können den Ausgangsdatensatz 102, den einen oder die mehreren Trainingsdatensätze 122, den einen oder die mehreren Testdatensätze 124 und/oder den einen oder die mehreren Kreuzvalidierungsdatensätze 126 umfassen.
  • Ein oder mehrere Videosteuerschaltungen 240 können über ein oder mehrere leitende Elemente, wie beispielsweise einen oder mehrere Busse 215, kommunikationsfähig mit der Northbridge 210 gekoppelt sein. In einigen Umsetzungen können die eine oder die mehreren Videosteuerschaltungen 240 kommunikationsfähig mit einem Steckplatz (z.B. einem AGP-Steckplatz oder dergleichen) gekoppelt sein, der wiederum über den einen oder die mehreren Busse 215 mit der Northbridge kommunikationsfähig gekoppelt ist. Die eine oder die mehreren Videosteuerschaltungen 240 können eine oder mehrere eigenständige Vorrichtungen umfassen, beispielsweise eine oder mehrere Grafikverarbeitungseinheiten (GPU). Die eine oder die mehreren Videosteuerschaltungen 240 können eine oder mehrere eingebettete Vorrichtungen umfassen, wie beispielsweise eine oder mehrere auf einem System-on-Chip (SOC) angeordnete Grafikverarbeitungsschaltungen. Die eine oder die mehreren Videosteuerschaltungen 240 können über die Northbridge 210 Daten von der konfigurierbaren Schaltung 204 empfangen.
  • Eine oder mehrere Videoausgabevorrichtungen 242 können mit der einen oder den mehreren Videosteuerschaltungen kommunikationsfähig gekoppelt sein. Solche Videoausgabevorrichtungen 242 können mit der einen oder den mehreren Videosteuerschaltungen 240 drahtlos kommunikationsfähig gekoppelt sein oder an die eine oder die mehreren Videosteuerschaltungen 242 angebunden (d.h. verdrahtet) sein. Die eine oder die mehreren Videoausgabevorrichtungen 242 können, ohne darauf beschränkt zu sein, Folgendes umfassen: eine oder mehrere Flüssigkristallanzeigen (LCD); eine oder mehrere Leuchtdiodenanzeigen (LED), eine oder mehrere Polymer-Leuchtdiodenanzeigen (PLED); eine oder mehrere organische Leuchtdiodenanzeigen (OLED); eine oder mehrere Kathodenstrahlröhrenanzeigen (CRT); oder jede beliebige Kombination aus diesen.
  • Die Northbridge 210 und die Southbridge 220 können über ein oder mehrere leitende Elemente, wie beispielsweise einen oder mehrere Busse 212 (z.B. ein Verbindungskanal oder eine ähnliche Struktur), miteinander verbunden sein.
  • Ein oder mehrere Read-Only Memories können über ein oder mehrere leitende Elemente, wie beispielsweise einen oder mehrere Busse 222, mit der Southbridge 220 kommunikationsfähig gekoppelt sein. In einigen Umsetzungen kann ein Basic Input/Output System (BIOS) 252 vollständig oder teilweise in dem ROM 250 gespeichert sein. Das BIOS 252 kann dem System 200 grundlegende Funktionen bereitstellen und beim Hochfahren des Systems 200 ausgeführt werden.
  • Ein Universal-Serial-Bus-(USB-)Controller 260 kann über ein oder mehrere leitende Elemente, wie beispielsweise einen oder mehrere Busse 224, mit der Southbridge kommunikationsfähig gekoppelt sein. Der USB-Controller 260 bietet ein Gateway für den Anschluss einer Vielzahl von USB-kompatiblen E/A-Vorrichtungen 262. Beispiele für Eingabegeräte können Tastaturen, Mäuse, Trackbälle, Touchpads, Touchscreens und ähnliches sein, ohne jedoch auf diese beschränkt zu sein. Ausgabevorrichtungen können beispielsweise Drucker, Lautsprecher, dreidimensionale Drucker, Audioausgabevorrichtungen, Videoausgabevorrichtungen, haptische Ausgabevorrichtungen oder Kombinationen aus diesen sein.
  • Eine Anzahl von Kommunikationsschnittstellen kann über ein oder mehrere leitende Elemente, wie beispielsweise einen oder mehrere Busse 226, mit der Southbridge 220 kommunikationsfähig gekoppelt sein. Die Kommunikations- und/oder Peripherieschnittstellen können unter anderem eine oder mehrere PCI-Schnittstellen (Peripheral Component Interconnect) 270; eine oder mehrere PCI-Express-Schnittstellen 272; eine oder mehrere IEEE 1384 (Firewire)-Schnittstellen 274; eine oder mehrere THUNDERBOLT®-Schnittstellen 276; eine oder mehrere SCSI-Schnittstellen (Small Computer System Interface) 278 oder Kombinationen derselben umfassen, sind jedoch nicht auf diese beschränkt.
  • Eine Anzahl von Eingabe-/Ausgabe(E/A)-Vorrichtungen 280 kann über ein oder mehrere leitende Elemente, wie beispielsweise einen oder mehrere Busse 223, mit der Southbridge 220 kommunikationsfähig gekoppelt sein. Die E/A-Vorrichtungen können eine beliebige Anzahl und/oder Kombination von manuellen oder autonomen E/A-Vorrichtungen umfassen. So kann beispielsweise wenigstens eine der E/A-Vorrichtungen mit einer oder mehreren externen Vorrichtungen, die den Ausgangsdatensatz 102 vollständig oder teilweise bereitstellen, kommunikationsfähig gekoppelt sein. Solche externen Vorrichtungen können beispielsweise einen Server oder ein anderes kommunikativ gekoppeltes System umfassen, das Proben 104 sammelt, zurückbehält oder anderweitig speichert.
  • Die E/A-Vorrichtungen 280 können eine oder mehrere Texteingabe- oder Texteintrags-Vorrichtungen 282 (z.B. Tastatur); eine oder mehrere Zeigevorrichtungen 284 (z.B. Maus, Trackball); eine oder mehrere Audioeingabe- und/oder AudioausgabeVorrichtungen 286 (z.B. Mikrofon und/oder Lautsprecher); eine oder mehrere taktile Ausgabevorrichtungen 288; eine oder mehrere Touchscreen-Vorrichtungen 290; eine oder mehrere Netzwerkschnittstellen 292; oder Kombinationen derselben umfassen. Die eine oder die mehreren Netzwerkschnittstellen 292 können eine oder mehrere drahtlose Netzwerkschnittstellen (z.B. IEEE 802.11, NFC, BLUETOOTH®, Zigbee), eine oder mehrere drahtgebundene Schnittstellen (z.B. IEEE 802.3, Ethernet) oder Kombinationen derselben umfassen.
  • Eine Anzahl von Speichervorrichtungen 294 kann über ein oder mehrere leitende Elemente, wie beispielsweise einen oder mehrere Busse 225, mit der Southbridge 220 kommunikationsfähig gekoppelt sein. Die eine oder die mehreren Speichervorrichtungen 294 können über eine beliebige aktuelle oder zukünftig entwickelte Schnittstellentechnologie mit der Southbridge 220 kommunikationsfähig gekoppelt sein. So können die Speichervorrichtungen 294 beispielsweise über eine oder mehrere IDE-Schnittstellen (Integrated Drive Electronics) oder eine oder mehrere erweiterte IDE-Schnittstellen 296 kommunikationsfähig gekoppelt sein. In einigen Umsetzungen kann die Anzahl von Speichervorrichtungen ein Array von Speichervorrichtungen umfassen, ohne jedoch darauf beschränkt zu sein. Ein solches Beispiel für ein Speichervorrichtungs-Array umfasst - ist aber nicht beschränkt auf - ein Speichervorrichtungs-Array 298 aus einem redundanten Array kostengünstiger Festplatten („redundant array of inexpensive disks“ (RAID)).
  • Die 3 stellt ein High-Level-Logik-Ablaufdiagramm eines beispielhaften Verfahrens 300 zum Trainieren eines Klassifikators unter Verwendung von maschinellem Lernen in einer potentiell gegnerischen Umgebung gemäß wenigstens einer Ausführungsform der vorliegenden Offenbarung bereit. Wie oben erläutert, stellt das maschinelle Lernen einen wertvollen Mechanismus dar, um Systeme darauf zu trainieren, eingehenden Code bzw. eingehende Daten und/oder Informationen als SICHER oder BÖSARTIG zu identifizieren und zu klassifizieren. Systeme für maschinelles Lernen beruhen auf genauen und vertrauenswürdigen Trainingsdatensätzen, um eingehenden Code, Daten und/oder Informationen bestimmungsgemäß als SICHER zu identifizieren, und um außerdem eingehenden Code, Daten und/oder Informationen nicht als BÖSARTIG fehlzuidentifizieren. Es ist möglich, die zum Trainieren des Klassifikators verwendeten Trainingsdatenproben so zu „salten“ oder anderweitig zu verfälschen, dass der Klassifikator Online- oder Echtzeitproben mit bösartigem Code als SICHER fehlidentifiziert. Das Identifizieren kompromittierbarer Merkmale, die in den Ausgangstrainingsdaten 102 enthalten sind, und das Minimieren des Potenzials für eine Fehlklassifikation solcher Proben als SICHER verbessert somit die Genauigkeit, Effizienz und Sicherheit des Klassifikators. Das Verfahren 300 beginnt bei 302.
  • Bei 304 identifiziert die Merkmalsextraktionsschaltung 112 Merkmale 106, die den in dem Ausgangsdatensatz 102 enthaltenen Proben logisch zugeordnet sind. In einigen Umsetzungen kann der Ausgangsdatensatz 102 vollständig oder teilweise von einem oder mehreren kommunikationsfähig gekoppelten Systemen oder Vorrichtungen bereitgestellt werden. Jedes aktuelle oder zukünftig entwickelte Merkmalsextraktionsverfahren kann von der Merkmalsextraktionsschaltung 112 verwendet oder anderweitig ausgeführt werden, um die Merkmale 106, die den in dem Ausgangsdatensatz 102 enthaltenen Proben 104 logisch zugeordnet sind, zu identifizieren.
  • Bei 306 werden potentiell kompromittierbare Merkmale 108 identifiziert, die wenigstens einem Teil der in dem Ausgangsdatensatz 102 enthaltenen Proben 104 logisch zugeordnet sind. Unter potentiell kompromittierbaren Merkmalen sind solche Merkmale 106 zu verstehen, die - in einer die Systemsicherheit kompromittierenden Weise - als ein hohes Veränderungs- und/oder Verfälschungsrisiko identifiziert werden. Solche Merkmale 106 können beispielsweise Merkmale darstellen, bei denen schwer zu erkennende oder kleine Änderungen die spätere Klassifikation von Echtzeitproben, welche heimlich eingeführte Malware oder andere Software, Trojaner, Viren oder Kombinationen aus diesen enthalten, durch die trainierte gegen gegnerische Verfälschung resistente Klassifiziererschaltung 138 als SICHER und nicht als BÖSARTIG erleichtern können.
  • In einigen Umsetzungen kann die Merkmalsextraktionsschaltung 112 wenigstens einen Teil der potentiell kompromittierbaren Merkmale 108 autonom identifizieren. In einigen Umsetzungen kann wenigstens ein Teil der potentiell kompromittierbaren Merkmale 108 manuell identifiziert werden. In einigen Umsetzungen kann die Probenzuordnungsschaltung 120 wenigstens einen Teil der potentiell kompromittierbaren Merkmale 108 autonom identifizieren, bevor sie die Proben 104 in den einen oder die mehreren Trainingsdatensätze 122, den einen oder die mehreren Testdatensätze 124 und/oder den einen oder die mehreren Kreuzvalidierungsdatensätze 126 einteilt.
  • Bei 308 wird die Klassifikator-Verlustfunktion definiert. Die Klassifikator-Verlustfunktion ist eine rechnerisch mögliche Funktion, die den Preis darstellt, der für die Ungenauigkeit von Vorhersagen bei Klassifizierungsproblemen gezahlt wird (z.B. der Bayes-Fehler oder die Wahrscheinlichkeit einer Fehlklassifikation). Zumindest in einigen Umsetzungen kann die Klassifikator-Verlustfunktion durch den folgenden Ausdruck definiert werden: l ( x i , y i , w )
    Figure DE112017003335T5_0007
    wobei: w = Gewichtsvektor des Klassifikators, w ∈ Rd xi = Merkmalsvektor für die Proben i = 1...n, wobei x i R d , i = 1,2, n
    Figure DE112017003335T5_0008
    yi = Markierung für die Proben i = 1...n (z.B. SICHER/BÖSARTIG) Im Allgemeinen ist die Verlustfunktion durch die Art des Klassifikators vorgegeben, der zur Durchführung der Klassifizierungsoperation an den Proben 104 verwendet wird.
  • Bei 310 wird durch die Minimax-Lösungsschaltung 136 der Minimax für die Klassifikator-Verlustfunktion bestimmt. Die Minimax-Lösungsschaltung 136 kann den Minimax, der logisch mit der gegen gegnerische Verfälschung resistenten Klassifikatorschaltung 138 verbunden ist, autonom lösen, indem sie eine oder mehrere Analysetechniken anwendet, um das Worst-Case-Verlust-Szenario für die jeweilige gegen gegnerische Verfälschung resistente Klassifikatorschaltung 138 zu bewerten, wenn die maximale Anzahl potentiell kompromittierbarer Merkmale 108 tatsächlich kompromittiert wurde. In einigen Umsetzungen kann dieser Worst-Case-Verlust-Wert mit einem oder mehreren definierten Schwellenwerten verglichen werden, um festzustellen, ob eine geeignete gegen gegnerische Verfälschung resistente Klassifikatorschaltung 138 ausgewählt wurde. Bei 312 ist das Verfahren 300 abgeschlossen.
  • Ergänzend wurden Operationen für die Ausführungsformen anhand der obigen Figuren und der zugehörigen Beispiele näher beschrieben. Einige der Figuren können einen logischen Ablauf umfassen. Diese hier vorgestellten Figuren können zwar einen bestimmten logischen Ablauf umfassen, es versteht sich jedoch, dass der logische Ablauf lediglich ein Beispiel dafür bereitstellt, wie die hierin beschriebene allgemeine Funktionalität umgesetzt werden kann. Weiterhin muss der angegebene logische Ablauf, sofern nicht anders angegeben, nicht unbedingt in der dargelegten Reihenfolge ausgeführt werden. Darüber hinaus kann der gegebene logische Ablauf durch ein Hardwareelement, ein Softwareelement, das von einem Prozessor ausgeführt wird, oder eine beliebige Kombination aus diesen implementiert werden. Die Ausführungsformen sind nicht auf diesen Kontext beschränkt.
  • Verschiedene Merkmale, Aspekte und Ausführungsformen wurden hierin beschrieben. Wie von Fachleuten verstanden wird, können die Merkmale, Aspekte und Ausführungsformen miteinander kombiniert, sowie variiert und modifiziert werden. Die vorliegende Offenbarung sollte daher als solche Kombinationen, Varianten und Abwandlungen umfassend betrachtet werden. Daher sollten der Umfang und der Geltungsbereich der vorliegenden Erfindung nicht durch irgendeine der oben beschriebenen exemplarischen Ausführungsformen eingeschränkt, sondern nur gemäß den nachfolgenden Ansprüchen und deren Äquivalente definiert werden.
  • Die hierin verwendeten Begriffe und Ausdrücke dienen der Beschreibung und nicht der Einschränkung, und bei der Verwendung solcher Begriffe und Ausdrücke besteht keine Absicht, beliebige Äquivalente der gezeigten und beschriebenen Merkmale (oder Teile derselben) auszuschließen, und es wird anerkannt, dass im Rahmen der Ansprüche verschiedene Abwandlungen möglich sind. Dementsprechend sollen die Ansprüche alle diese Äquivalente abdecken. Verschiedene Merkmale, Aspekte und Ausführungsformen wurden hierin beschrieben. Wie von Fachleuten verstanden wird, können die Merkmale, Aspekte und Ausführungsformen miteinander kombiniert, sowie variiert und modifiziert werden. Die vorliegende Offenbarung sollte daher als solche Kombinationen, Varianten und Abwandlungen umfassend betrachtet werden.
  • Wie hierin beschrieben, können verschiedene Ausführungsformen unter Verwendung von Hardwareelementen, Softwareelementen oder einer beliebigen Kombination aus diesen umgesetzt werden. Beispiele für Hardwareelemente können Folgendes umfassen: Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z.B. Transistoren, Widerstände, Kondensatoren, Induktoren, Spulen, Übertragungsleitungen, Langsamwellen-Übertragungsleitungen, Transformatoren etc.), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), drahtlose Empfänger, Sender, Sender-Empfänger, Antennenarrays zur Strahlformung und zur drahtlosen Breitbandkommunikation verwendete elektronische Strahlsteuerung oder Radarsensoren für autonomes Fahren oder als Gestensensoren, die eine Tastaturvorrichtung für taktile Interneterfahrung ersetzen, Screening-Sensoren für Sicherheitsanwendungen, medizinische Sensoren (Krebsscreening), programmierbare Logikvorrichtungen (PLD), digitale Signalprozessoren (DSP), feldprogrammierbare Gate-Arrays (FPGA), Logikgatter, Register, Halbleitervorrichtungen, Chips, Mikrochips, Chipsätze etc..
  • In dieser gesamten Beschreibung bedeutet die Bezugnahme auf „eine einzige Ausführungsform“ oder „eine Ausführungsform“, dass ein bestimmtes Merkmal, eine Struktur oder eine kennzeichnende Eigenschaft, das bzw. die in Verbindung mit der Ausführungsform beschrieben wird, in wenigstens einer Ausführungsform der vorliegenden Erfindung enthalten ist. Das Vorkommen der Formulierungen „in einer einzigen Ausführungsform“ oder „in einer Ausführungsform“ an verschiedenen Stellen dieser Beschreibung bezieht sich somit nicht notwendigerweise immer auf dieselbe Ausführungsform. Darüber hinaus können die jeweiligen Merkmale, Strukturen oder Eigenschaften in jeder geeigneten Weise in einer oder mehreren Ausführungsformen kombiniert werden.
  • Die folgenden Beispiele betreffen weitere Ausführungsformen. Die folgenden Beispiele für die vorliegende Offenbarung können Gegenstände, wie Vorrichtungen, Systeme, Verfahren und Mittel zur Bereitstellung eines Systems für maschinelles Lernen, das für den Einsatz in gegnerischen Umgebungen, in denen Trainingsdaten kompromittiert werden können, geeignet ist, umfassen.
  • Gemäß dem Beispiel 1, wird ein System für gegnerisches maschinelles Lernen bereitgestellt. Das System für gegnerisches maschinelles Lernen kann Folgendes umfassen: eine Merkmalsextraktionsschaltung, um eine Anzahl von Merkmalen zu identifizieren, die jeder Probe zugeordnet sind, die in einem Ausgangsdatensatz enthalten ist, der eine Vielzahl von Proben enthält; eine Probenzuordnungsschaltung, um wenigstens einen Teil der in dem Ausgangsdatensatz enthaltenen Proben wenigstens einem Trainingsdatensatz zuzuordnen; eine Schaltung für maschinelles Lernen, die kommunikationsfähig mit der Probenzuordnungsschaltung gekoppelt ist, wobei die Schaltung für maschinelles Lernen: wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Ausgangsdatensatz enthaltenen Probe identifiziert; eine Klassifikator-Verlustfunktion [l(xi, yi, w)] definiert, die Folgendes enthält: einen Merkmalsvektor (xi) für jede Probe, die in dem Ausgangsdatensatz enthalten ist; eine Markierung (yi) für jede in dem Ausgangsdatensatz enthaltene Probe; und einen dem Klassifikator zugeordneten Gewichtsvektor (w); und den Minimax der Klassifikator-Verlustfunktion (minwmaxi l(xi, yi, w)) bestimmt.
  • Das Beispiel 2 kann Elemente des Beispiels 1 umfassen, wobei die Probenzuordnungsschaltung ferner eine Schaltung umfasst, um wenigstens einen Teil der in dem Ausgangsdatensatz enthaltenen Proben wenigstens einem von: einem Trainingsdatensatz, einem Testdatensatz oder einem Kreuzvalidierungsdatensatz zuzuordnen.
  • Das Beispiel 3 kann Elemente des Beispiels 1 umfassen, wobei die Schaltung für maschinelles Lernen wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben autonom identifizieren kann.
  • Das Beispiel 4 kann Elemente des Beispiels 1 umfassen, wobei die Schaltung für maschinelles Lernen wenigstens einen Eingang empfangen kann, um wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der wenigstens in dem Trainingsdatensatz enthaltenen Proben manuell zu identifizieren.
  • Das Beispiel 5 kann Elemente des Beispiels 1 umfassen, wobei die Schaltung für maschinelles Lernen eine Verlustfunktion definieren kann, die einen ersten logischen Wert für die einer Probe zugeordnete Markierung enthält, wenn die jeweilige Probe eine nicht-bösartige Probe darstellt, und eine Verlustfunktion definieren kann, die einen zweiten logischen Wert für die einer Probe zugeordnete Markierung enthält, wenn die jeweilige Probe ein bösartiges Element darstellt.
  • Das Beispiel 6 kann Elemente des Beispiels 1 umfassen, wobei die Schaltung für maschinelles Lernen außerdem wenigstens einen aus einer festen Anzahl von kompromittierbaren Merkmalen bestehenden Satz für wenigstens einen Teil der wenigstens in dem Trainingsdatensatz enthaltenen Proben identifizieren kann.
  • Das Beispiel 7 kann Elemente des Beispiels 1 umfassen, wobei die Schaltung für maschinelles Lernen außerdem wenigstens eine Vielzahl von Sätzen von kompromittierbaren Merkmalen für wenigstens einen Teil der wenigstens in dem Trainingsdatensatz enthaltenen Proben identifizieren kann, wobei jeder der Vielzahl von Sätzen eine unterschiedliche Anzahl von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben enthält.
  • Gemäß Beispiel 8 wird ein Klassifikator-Trainingsverfahren bereitgestellt. Das Verfahren kann Folgendes umfassen: das Zuordnen wenigstens eines Teils der in einem Ausgangsdatensatz enthaltenen Vielzahl von Proben zu wenigstens einem Trainingsdatensatz; das Identifizieren einer Anzahl von Merkmalen, die jeder in einem Trainingsdatensatz enthaltenen Probe zugeordnet sind; das Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben; das Definieren einer Klassifikator-Verlustfünktion [l(xi, yi, w)], die Folgendes enthält: einen Merkmalsvektor (xi) für jedes in dem Trainingsdatensatz enthaltene Element; eine Markierung (yi) für jedes in dem Trainingsdatensatz enthaltene Element; und einen dem Klassifikator zugeordneten Gewichtsvektor (w); und das Bestimmen des Minimax der Klassifikator-Verlustfünktion (minwmaxi l(xi, yi, w)).
  • Das Beispiel 9 umfasst Elemente des Beispiels 8, wobei das Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben Folgendes umfasst: das autonome Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente.
  • Das Beispiel 10 kann Elemente des Beispiels 8 umfassen, wobei das Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben das manuelle Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben umfassen kann.
  • Das Beispiel 11 kann Elemente des Beispiels 8 umfassen, wobei das Definieren einer Klassifikator-Verlustfünktion [l(xi, yi, w)], die eine Markierung (yi) für jede in dem Trainingsdatensatz enthaltene Probe enthält, Folgendes umfassen kann: das Definieren einer Verlustfunktion, die einen ersten logischen Wert für die einer Probe zugeordnete Markierung enthält, wenn die jeweilige Probe eine nicht-bösartige Probe darstellt; und das Definieren einer Verlustfunktion, die einen zweiten logischen Wert für die einer Probe zugeordnete Markierung enthält, wenn die jeweilige Probe ein bösartiges Element darstellt.
  • Das Beispiel 12 kann Elemente des Beispiels 8 umfassen, wobei das Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben das Identifizieren eines Satzes bestehend aus einer festen Anzahl von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben umfassen kann.
  • Das Beispiel 13 kann Elemente des Beispiels 8 umfassen, wobei das Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente das Identifizieren einer Vielzahl von Sätzen von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben umfassen kann, wobei jeder der Vielzahl von Sätzen eine unterschiedliche Anzahl von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben enthält.
  • Gemäß Beispiel 14, wird eine Speichervorrichtung bereitgestellt, die maschinenlesbare Anweisungen enthält, die bei Ausführung eine konfigurierbare Schaltung physisch in eine Trainingsschaltung für gegnerisches maschinelles Lernen verwandelt, wobei die Trainingsschaltung für gegnerisches maschinelles Lernen:
    eine Anzahl von Merkmalen identifiziert, die jeder Probe zugeordnet sind, die in einem Ausgangsdatensatz enthalten ist, der eine Vielzahl von Proben enthält; wenigstens einen Teil der in dem Ausgangsdatensatz enthaltenen Proben wenigstens einem Trainingsdatensatz zuordnet; wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben identifiziert; eine Klassifikator-Verlustfunktion [l(xi, yi, w)] definiert, die Folgendes enthält: einen Merkmalsvektor (xi) für jede in dem Trainingsdatensatz enthaltene Probe; eine Markierung (yi) für jede in dem Trainingsdatensatz enthaltene Probe; und einen dem Klassifikator zugeordneten Gewichtsvektor (w); und den Minimax der Klassifikator-Verlustfunktion (minwmaxi l(xi, yi, w)) bestimmt.
  • Das Beispiel 15 kann Elemente des Beispiels 14 umfassen, wobei die maschinenlesbaren Anweisungen, die bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben identifiziert, bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen: wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben autonom identifiziert.
  • Das Beispiel 16 kann Elemente des Beispiels 14 umfassen, wobei die maschinenlesbaren Anweisungen, die bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben identifiziert, bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen: eine Eingabe erhält, die Daten enthält, welche wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben manuell identifizieren.
  • Das Beispiel 17 kann Elemente des Beispiels 14 umfassen, wobei die maschinenlesbaren Anweisungen, die bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen eine Klassifikator-Verlustfünktion [l(xi, yi, w)] definiert, die eine Markierung (yi) für jede in dem Trainingsdatensatz enthaltene Probe enthält, ferner bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen: eine Verlustfunktion definiert, die einen ersten logischen Wert für die einer Probe zugeordnete Markierung enthält, wenn die jeweilige Probe eine nicht-bösartige Probe darstellt; und eine Verlustfunktion definiert, die einen zweiten logischen Wert für die einer Probe zugeordnete Markierung enthält, wenn die jeweilige Probe ein bösartiges Element darstellt.
  • Das Beispiel 18 kann Elemente des Beispiels 14 umfassen, wobei die maschinenlesbaren Anweisungen, die bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben identifiziert, außerdem bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen einen Satz der aus einer festen Anzahl von kompromittierbaren Merkmalen besteht, für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben identifiziert.
  • Das Beispiel 19 kann Elemente des Beispiels 15 umfassen, wobei die maschinenlesbaren Anweisungen, die bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben identifiziert, außerdem bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen eine Vielzahl von Sätzen von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben identifiziert, wobei jeder der Vielzahl von Sätzen eine unterschiedliche Anzahl von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben enthält.
  • Gemäß dem Beispiel 20 wird ein System zum Trainieren von Klassifikatoren für eine gegnerische Umgebung bereitgestellt. Das System zum Trainieren von Klassifikatoren für eine gegnerische Umgebung kann Folgendes umfassen: ein Mittel zum Identifizieren einer Anzahl von Merkmalen, die jeder Probe zugeordnet sind, die in einem Ausgangsdatensatz enthalten ist, der eine Vielzahl von Proben enthält; ein Mittel zum Zuordnen wenigstens eines Teils der in dem Ausgangsdatensatz enthaltenen Proben zu wenigstens einem Trainingsdatensatz; ein Mittel zum Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben; ein Mittel zum Definieren einer Klassifikator-Verlustfunktion [l(xi, yi, w)], die Folgendes enthält: einen Merkmalsvektor (xi) für jede in dem Trainingsdatensatz enthaltene Probe; eine Markierung (yi) für jede in dem Trainingsdatensatz enthaltene Probe; und einen dem Klassifikator zugeordneten Gewichtsvektor (w); und ein Mittel zum Bestimmen des Minimax der Klassifikator-Verlustfünktion (minwmaxi l(xi, yi, w)).
  • Das Beispiel 21 kann Elemente des Beispiels 20 umfassen, wobei das Mittel zum Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben Folgendes umfasst: ein Mittel zum autonomen Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben.
  • Das Beispiel 22 kann Elemente des Beispiels 20 umfassen, wobei das Mittel zum Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben Folgendes umfasst: ein Mittel zum manuellen Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben.
  • Das Beispiel 23 kann Elemente des Beispiels 20 umfassen, wobei das Mittel zum Definieren einer Klassifikator-Verlustfunktion [l(xi, yi w)], die eine Markierung (yi) für jede in dem Trainingsdatensatz enthaltene Probe enthält, ein Mittel zum Definieren einer Verlustfunktion umfasst, die einen ersten logischen Wert für die einer Probe zugeordnete Markierung enthält, wenn die jeweilige Probe eine nicht-bösartige Probe darstellt; und ein Mittel zum Definieren einer Verlustfunktion, die einen zweiten logischen Wert für die einer Probe zugeordnete Markierung enthält, wenn die jeweilige Probe ein bösartiges Element darstellt.
  • Das Beispiel 24 kann Elemente des Beispiels 20 umfassen, wobei das Mittel zum Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben ein Mittel zum Identifizieren eines aus einer festen Anzahl von kompromittierbaren Merkmalen bestehenden Satzes für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben umfasst.
  • Das Beispiel 25 kann Elemente des Beispiels 20 umfassen, wobei das Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben ein Mittel zum Identifizieren einer Vielzahl von Sätzen von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben umfasst, wobei jeder der Vielzahl von Sätzen eine unterschiedliche Anzahl von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Proben enthält.
  • Gemäß dem Beispiel 26, wird ein System zum Trainieren eines Klassifikators für eine gegnerische Umgebung bereitgestellt, wobei das System dazu eingerichtet ist, das Verfahren eines der Beispiele 8 bis 13 durchzuführen.
  • Gemäß dem Beispiel 27 wird ein Chipsatz bereitgestellt, der dazu eingerichtet ist, das Verfahren eines der Beispiele 8 bis 13 durchzuführen.
  • Gemäß dem Beispiel 28 wird wenigstens ein maschinenlesbares Medium bereitgestellt, das eine Vielzahl von Anweisungen umfasst, die in Reaktion auf ihre Ausführung auf einer Computervorrichtung bewirken, dass die Computervorrichtung das Verfahren gemäß einem der Beispiele 8 bis 13 ausführt.
  • Gemäß dem Beispiel 29 wird eine Vorrichtung bereitgestellt, die zum Trainieren eines Klassifikators für eine gegnerische Umgebung eingerichtet ist, wobei die Vorrichtung dazu eingerichtet ist, das Verfahren eines der Beispiele 8 bis 13 auszuführen.
  • Die hierin verwendeten Begriffe und Ausdrücke dienen der Beschreibung und nicht der Einschränkung, und bei der Verwendung solcher Begriffe und Ausdrücke besteht keine Absicht, beliebige Äquivalente der gezeigten und beschriebenen Merkmale (oder Teile derselben) auszuschließen, und es wird anerkannt, dass im Rahmen der Ansprüche verschiedene Abwandlungen möglich sind. Dementsprechend sollen die Ansprüche alle diese Äquivalente abdecken.

Claims (25)

  1. System für gegnerisches maschinelles Lernen, umfassend: eine Merkmalsextraktionsschaltung zum Identifizieren einer Anzahl von Merkmalen, die jedem Element zugeordnet sind, das in einem Rohdatensatz enthalten ist, der eine Vielzahl von Elementen enthält; eine Elementzuordnungsschaltung, um wenigstens einen Teil der in dem Rohdatensatz enthaltenen Elemente wenigstens einem Trainingsdatensatz zuzuordnen; eine Schaltung für maschinelles Lernen, die kommunikationsfähig mit der Elementzuordnungsschaltung gekoppelt ist, wobei die Schaltung für maschinelles Lernen: wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente identifiziert; eine Klassifikator-Verlustfunktion [l(xi, yi, w)] definiert, die Folgendes enthält: einen Merkmalsvektor (xi) für jedes Element, das in dem Trainingsdatensatz enthalten ist; eine Markierung (yi) für jedes in dem Trainingsdatensatz enthaltene Element; und einen dem Klassifikator zugeordneten Gewichtsvektor (w); und den Minimax der Klassifikator-Verlustfünktion (minwmaxi l(xi, yi, w)) bestimmt.
  2. System nach Anspruch 1, wobei die Elementzuordnungsschaltung ferner eine Schaltung umfasst, um wenigstens einen Teil der in dem Rohdatensatz enthaltenen Elemente wenigstens einem von: einem Trainingsdatensatz, einem Testdatensatz oder einem Kreuzvalidierungsdatensatz zuzuordnen.
  3. System nach Anspruch 1, wobei die Schaltung für maschinelles Lernen autonom wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente identifiziert.
  4. System nach Anspruch 1, wobei die Schaltung für maschinelles Lernen wenigstens einen Eingang empfängt, um manuell wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente zu identifizieren.
  5. System nach Anspruch 1, wobei die Schaltung für maschinelles Lernen: eine Verlustfunktion definiert, die einen ersten logischen Wert für die einem Element zugeordnete Markierung enthält, wenn das jeweilige Element ein nicht-bösartiges Element darstellt; und eine Verlustfunktion definiert, die einen zweiten logischen Wert für die einem Element zugeordnete Markierung enthält, wenn das jeweilige Element ein bösartiges Element darstellt.
  6. System nach Anspruch 1, wobei die Schaltung für maschinelles Lernen ferner: einen aus einer festen Anzahl von kompromittierbaren Merkmalen bestehenden Satz für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente identifiziert.
  7. System nach Anspruch 1, wobei die Schaltung für maschinelles Lernen ferner: eine Vielzahl von Sätzen von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente identifiziert, wobei jeder der Vielzahl von Sätzen eine unterschiedliche Anzahl von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente enthält.
  8. Klassifikator-Trainingsverfahren, umfassend: das Identifizieren einer Anzahl von Merkmalen, die jedem Element zugeordnet sind, das in einem Trainingsdatensatz enthalten ist, der eine Vielzahl von Elementen enthält; das Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente; das Definieren einer Klassifikator-Verlustfunktion [l(xi, yi, w)], die Folgendes enthält: einen Merkmalsvektor (xi) für jedes Element, das in dem Trainingsdatensatz enthalten ist; eine Markierung (yi) für jedes in dem Trainingsdatensatz enthaltene Element; und einen dem Klassifikator zugeordneten Gewichtsvektor (w); und das Bestimmen des Minimax der Klassifikator-Verlustfunktion (minwmaxi,l(xi, yi, w)).
  9. Verfahren nach Anspruch 8, wobei das Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente Folgendes umfasst: das autonome Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente.
  10. Verfahren nach Anspruch 8, wobei das Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente Folgendes umfasst: das manuelle Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente.
  11. Verfahren nach Anspruch 8, wobei das Definieren einer Klassifikator-Verlustfunktion [l(xi, yi, w)], die eine Markierung (yi) für jedes Element enthält, das in dem Trainingsdatensatz enthalten ist, Folgendes umfasst: das Definieren einer Verlustfunktion, die einen ersten logischen Wert für die einem Element zugeordnete Markierung enthält, wenn das jeweilige Element ein nicht-bösartiges Element darstellt; und das Definieren einer Verlustfunktion, die einen zweiten logischen Wert für die einem Element zugeordnete Markierung enthält, wenn das jeweilige Element ein bösartiges Element darstellt.
  12. Verfahren nach Anspruch 8, wobei das Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente Folgendes umfasst: das Identifizieren eines aus einer festen Anzahl von kompromittierbaren Merkmalen bestehenden Satzes für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente.
  13. Verfahren nach Anspruch 8, wobei das Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente Folgendes umfasst: das Identifizieren einer Vielzahl von Sätzen von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente, wobei jeder der Vielzahl von Sätzen eine unterschiedliche Anzahl von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente enthält.
  14. Speichervorrichtung, die maschinenlesbare Anweisungen enthält, die bei Ausführung eine konfigurierbare Schaltung physisch in eine Trainingsschaltung für gegnerisches maschinelles Lernen umwandelt, wobei die Trainingsschaltung für gegnerisches maschinelles Lernen: eine Anzahl von Merkmalen identifiziert, die jedem Element zugeordnet sind, das in einem Trainingsdatensatz enthalten ist, der eine Vielzahl von Elementen enthält; wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente identifiziert; eine Klassifikator-Verlustfunktion [l(xi, yi, w)] definiert, die Folgendes enthält: einen Merkmalsvektor (xi) für jedes in dem Trainingsdatensatz enthaltene Element; eine Markierung (yi) für jedes in dem Trainingsdatensatz enthaltene Element; und einen dem Klassifikator zugeordneten Gewichtsvektor (w); und den Minimax der Klassifikator-Verlustfünktion (minwmaxi l(xi, yi, w)) bestimmt.
  15. Speichervorrichtung nach Anspruch 14, wobei die maschinenlesbaren Anweisungen, die bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente identifiziert, bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen: wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente autonom identifiziert.
  16. Speichervorrichtung nach Anspruch 14, wobei die maschinenlesbaren Anweisungen, die bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente identifiziert, bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen: eine Eingabe erhält, die Daten enthält, welche manuell wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente identifizieren.
  17. Speichervorrichtung nach Anspruch 14, wobei die maschinenlesbaren Anweisungen, die bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen eine Klassifikator-Verlustfunktion [l(xi, yi, w)] definiert, die eine Markierung (yi) für jedes in dem Trainingsdatensatz enthaltene Element enthält, ferner bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen: eine Verlustfunktion definiert, die einen ersten logischen Wert für die einem Element zugeordnete Markierung enthält, wenn das jeweilige Element ein nicht-bösartiges Element darstellt; und eine Verlustfunktion definiert, die einen zweiten logischen Wert für die einem Element zugeordnete Markierung enthält, wenn das jeweilige Element ein bösartiges Element darstellt.
  18. Speichervorrichtung nach Anspruch 14, wobei die maschinenlesbaren Anweisungen, die bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente identifiziert, ferner bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen: einen aus einer festen Anzahl von kompromittierbaren Merkmalen bestehenden Satz für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente identifiziert.
  19. Speichervorrichtung nach Anspruch 14, wobei die maschinenlesbaren Anweisungen, die bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen wenigstens einen Satz von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente identifiziert, ferner bewirken, dass die Trainingsschaltung für gegnerisches maschinelles Lernen: eine Vielzahl von Sätzen von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente identifiziert, wobei jeder der Vielzahl von Sätzen eine unterschiedliche Anzahl von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente enthält.
  20. System zum Trainieren eines Klassifikators, Folgendes umfassend: ein Mittel zum Identifizieren einer Anzahl von Merkmalen, die jedem Element zugeordnet sind, das in einem Trainingsdatensatz enthalten ist, der eine Vielzahl von Elementen enthält; ein Mittel zum Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente; ein Mittel zum Definieren einer Klassifikator-Verlustfunktion [l(xi, yi, w)], die Folgendes enthält: einen Merkmalsvektor (xi) für jedes in dem Trainingsdatensatz enthaltene Element; eine Markierung (yi) für jedes in dem Trainingsdatensatz enthaltene Element; und einen dem Klassifikator zugeordneten Gewichtsvektor (w); und ein Mittel zum Bestimmen des Minimax der Klassifikator-Verlustfünktion (minwmaxi l(xi, yi, w)).
  21. System nach Anspruch 20, wobei das Mittel zum Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente Folgendes umfasst: ein Mittel zum autonomen Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente.
  22. System nach Anspruch 20, wobei das Mittel zum Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente Folgendes umfasst: ein Mittel zum manuellen Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente.
  23. System nach Anspruch 20, wobei das Mittel zum Definieren einer Klassifikator-Verlustfunktion [l(xi, yi, w)], die eine Markierung (yi) für jedes in dem Trainingsdatensatz enthaltene Element enthält, Folgendes umfasst: ein Mittel zum Definieren einer Verlustfunktion, die einen ersten logischen Wert für die einem Element zugeordnete Markierung enthält, wenn das jeweilige Element ein nicht-bösartiges Element darstellt; und ein Mittel zum Definieren einer Verlustfunktion, die einen zweiten logischen Wert für die einem Element zugeordnete Markierung enthält, wenn das jeweilige Element ein bösartiges Element darstellt.
  24. System nach Anspruch 20, wobei das Mittel zum Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente Folgendes umfasst: ein Mittel zum Identifizieren eines aus einer festen Anzahl von kompromittierbaren Merkmalen bestehenden Satzes für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente.
  25. System nach Anspruch 20, wobei das Identifizieren wenigstens eines Satzes von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente Folgendes umfasst: ein Mittel zum Identifizieren einer Vielzahl von Sätzen von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente, wobei jeder der Vielzahl von Sätzen eine unterschiedliche Anzahl von kompromittierbaren Merkmalen für wenigstens einen Teil der in dem Trainingsdatensatz enthaltenen Elemente enthält.
DE112017003335.7T 2016-07-01 2017-06-02 Maschinelles lernen in gegnerischen umgebungen Pending DE112017003335T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/201,224 US20180005136A1 (en) 2016-07-01 2016-07-01 Machine learning in adversarial environments
US15/201,224 2016-07-01
PCT/US2017/035777 WO2018005001A1 (en) 2016-07-01 2017-06-02 Machine learning in adversarial environments

Publications (1)

Publication Number Publication Date
DE112017003335T5 true DE112017003335T5 (de) 2019-03-14

Family

ID=60787807

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017003335.7T Pending DE112017003335T5 (de) 2016-07-01 2017-06-02 Maschinelles lernen in gegnerischen umgebungen

Country Status (4)

Country Link
US (1) US20180005136A1 (de)
CN (1) CN109416763B (de)
DE (1) DE112017003335T5 (de)
WO (1) WO2018005001A1 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107292326A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种模型的训练方法和装置
US11195120B2 (en) * 2018-02-09 2021-12-07 Cisco Technology, Inc. Detecting dataset poisoning attacks independent of a learning algorithm
CN108710892B (zh) * 2018-04-04 2020-09-01 浙江工业大学 面向多种对抗图片攻击的协同免疫防御方法
US11348239B2 (en) 2018-05-14 2022-05-31 Tempus Labs, Inc. Predicting total nucleic acid yield and dissection boundaries for histology slides
US10957041B2 (en) 2018-05-14 2021-03-23 Tempus Labs, Inc. Determining biomarkers from histopathology slide images
EP3794551A4 (de) * 2018-05-14 2022-02-09 Tempus Labs, Inc. Rahmenwerk für generalisierbares und interpretierbares tiefenlernen zur vorhersage von msi aus histopathologischen präparatbildern
US11348240B2 (en) 2018-05-14 2022-05-31 Tempus Labs, Inc. Predicting total nucleic acid yield and dissection boundaries for histology slides
US11348661B2 (en) 2018-05-14 2022-05-31 Tempus Labs, Inc. Predicting total nucleic acid yield and dissection boundaries for histology slides
US10657377B2 (en) 2018-06-12 2020-05-19 At&T Intellectual Property I, L.P. Model-driven learning for video analytics
US11615342B2 (en) * 2018-08-16 2023-03-28 Huawei Technologies Co., Ltd. Systems and methods for generating amplifier gain models using active learning
US10732726B2 (en) * 2018-09-21 2020-08-04 International Business Machines Corporation Gesture recognition using 3D MM-wave radar
JP7029385B2 (ja) * 2018-12-19 2022-03-03 Kddi株式会社 学習装置、学習方法及び学習プログラム
WO2020142566A1 (en) 2018-12-31 2020-07-09 Tempus Labs, Inc. Artificial intelligence segmentation of tissue images
US11836256B2 (en) 2019-01-24 2023-12-05 International Business Machines Corporation Testing adversarial robustness of systems with limited access
US11227215B2 (en) 2019-03-08 2022-01-18 International Business Machines Corporation Quantifying vulnerabilities of deep learning computing systems to adversarial perturbations
US11966851B2 (en) 2019-04-02 2024-04-23 International Business Machines Corporation Construction of a machine learning model
CN110008680B (zh) * 2019-04-03 2020-11-13 华南师范大学 基于对抗样本的验证码生成系统及方法
US11334671B2 (en) 2019-10-14 2022-05-17 International Business Machines Corporation Adding adversarial robustness to trained machine learning models
CN111007399B (zh) * 2019-11-15 2022-02-18 浙江大学 基于改进生成对抗网络的锂电池荷电状态预测方法
US11651220B2 (en) 2019-12-20 2023-05-16 Robert Bosch Gmbh Asymmetrical robustness for classification in adversarial environments
CN113269228B (zh) * 2021-04-20 2022-06-10 重庆邮电大学 一种图网络分类模型的训练方法、装置、系统及电子设备
CN113297964B (zh) * 2021-05-25 2022-11-15 周口师范学院 基于深度迁移学习的视频目标识别模型及方法
CN113297572B (zh) * 2021-06-03 2022-05-17 浙江工业大学 基于神经元激活模式的深度学习样本级对抗攻击防御方法及其装置
CN113537383B (zh) * 2021-07-29 2023-04-07 周口师范学院 基于深度迁移强化学习无线网络异常流量检测方法
US11599794B1 (en) 2021-10-20 2023-03-07 Moffett International Co., Limited System and method for training sample generator with few-shot learning

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7986827B2 (en) * 2006-02-07 2011-07-26 Siemens Medical Solutions Usa, Inc. System and method for multiple instance learning for computer aided detection
US7899625B2 (en) * 2006-07-27 2011-03-01 International Business Machines Corporation Method and system for robust classification strategy for cancer detection from mass spectrometry data
US8015132B2 (en) * 2008-05-16 2011-09-06 Samsung Electronics Co., Ltd. System and method for object detection and classification with multiple threshold adaptive boosting
CN102165454B (zh) * 2008-09-29 2015-08-05 皇家飞利浦电子股份有限公司 用于提高计算机辅助诊断对图像处理不确定性的鲁棒性的方法
IL195081A0 (en) * 2008-11-03 2011-08-01 Deutche Telekom Ag Acquisition of malicious code using active learning
US8626676B2 (en) * 2010-03-18 2014-01-07 Microsoft Corporation Regularized dual averaging method for stochastic and online learning
US20160127402A1 (en) * 2014-11-04 2016-05-05 Patternex, Inc. Method and apparatus for identifying and detecting threats to an enterprise or e-commerce system
US9288220B2 (en) * 2013-11-07 2016-03-15 Cyberpoint International Llc Methods and systems for malware detection
CN103984953B (zh) * 2014-04-23 2017-06-06 浙江工商大学 基于多特征融合与Boosting决策森林的街景图像的语义分割方法

Also Published As

Publication number Publication date
CN109416763B (zh) 2024-04-12
US20180005136A1 (en) 2018-01-04
WO2018005001A1 (en) 2018-01-04
CN109416763A (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
DE112017003335T5 (de) Maschinelles lernen in gegnerischen umgebungen
DE102018129692A1 (de) Tiefgehendes Lernen anhand von Ausführungsverlaufsdaten zur Erkennung von Exploits
DE112019001121B4 (de) Auf einem computer implementiertes verfahren zum identifizieren von malware und system hierfür
DE102018115440A1 (de) Techniken zum Trainieren tiefer neuronaler Netzwerke
US10956476B2 (en) Entropic classification of objects
US8650136B2 (en) Text classification with confidence grading
DE102016011905A1 (de) Bestimmen der Qualität einer Zusammenfassung eines Multimediainhalts
CN105183813B (zh) 基于互信息的用于文档分类的并行特征选择方法
DE102018115670A1 (de) Technologien für die Ausführung von nicht vertrauenswürdigem Code mit Prozessor-Sandbox-Unterstützung
DE202017105654U1 (de) Testen von Anwendungen mit einem definierten Eingabeformat
Trivizakis et al. A neural pathomics framework for classifying colorectal cancer histopathology images based on wavelet multi-scale texture analysis
DE112012003110T5 (de) Verfahren, Programmprodukt und System zur Datenidentifizierung
CN116438533A (zh) 用于软件调用栈的安全策略
DE102012209006A1 (de) Testen von Web-Anwendungen auf Sicherheitslücken beim Heraufladen von Dateien
US20170293625A1 (en) Intent based clustering
DE112017008151T5 (de) Schaltungen geringer tiefe als quantenklassifikatoren
CN111984792A (zh) 网站分类方法、装置、计算机设备及存储介质
DE112016006047T5 (de) Skalierbare techniken zur datenübertragung zwischen virtuellen maschinen
DE112020006402T5 (de) Maschinelle lernmodelle basierend auf veränderter daten sowie systeme und verfahren zum trainieren und deren verwendung
CN104462229A (zh) 一种事件分类方法及装置
DE102023201190A1 (de) Erkennung eines bösartigen domänenerzeugungsalgorithmus (dga) im speicher einer datenverarbeitungseinheit unter verwendung von maschinenlernenden erkennungsmodellen
DE112021001639T5 (de) Schutz von computeranlagen vor bösartigen angriffen
DE112021000689T5 (de) Attestierung von neuronalen abläufen
CN108763961A (zh) 一种基于大数据的隐私数据分级方法和装置
CN112199569A (zh) 一种违禁网址识别方法、系统、计算机设备及存储介质

Legal Events

Date Code Title Description
R012 Request for examination validly filed