DE102021129862A1 - Verfahren und Einrichtung zum Identifizieren von Hardwareperformanzzählereignissen zum Detektieren und Klassifizieren von Malware oder Arbeitslast unter Verwendung künstlicher Intelligenz - Google Patents

Verfahren und Einrichtung zum Identifizieren von Hardwareperformanzzählereignissen zum Detektieren und Klassifizieren von Malware oder Arbeitslast unter Verwendung künstlicher Intelligenz Download PDF

Info

Publication number
DE102021129862A1
DE102021129862A1 DE102021129862.8A DE102021129862A DE102021129862A1 DE 102021129862 A1 DE102021129862 A1 DE 102021129862A1 DE 102021129862 A DE102021129862 A DE 102021129862A DE 102021129862 A1 DE102021129862 A1 DE 102021129862A1
Authority
DE
Germany
Prior art keywords
hpc
event
events
combinations
malware
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
DE102021129862.8A
Other languages
English (en)
Inventor
Deepak Kumar Mishra
Prajesh Ambili Rajendran
Taj un nisha N
Rahuldeva Ghosh
Paul Carlson
Zheng Zhang
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 DE102021129862A1 publication Critical patent/DE102021129862A1/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/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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Ein Verfahren umfasst Erzeugen eines ersten Satzes von Hardwareperformanzzähler(HPC)-Ereignissen, die basierend auf einer Fähigkeit eines einzelnen HPC-Ereignisses, ein Profil für eine Malware-Klasse zu erstellen, eingestuft werden, Erzeugen eines zweiten Satzes von HPC-Ereigniskombinationen, der basierend auf einer Fähigkeit eines Satzes von mindestens zwei gemeinsamen HPC-Ereignissen, ein Profil für eine Malware-Klasse zu erstellen, eingestuft wird, Erzeugen eines dritten Satzes von erweiterten HPC-Ereigniskombinationen, Erstellen eines Profils für ein oder mehrere Malware-Ereignisse und eine oder mehrere gutartige Anwendungen, um einen Detektionsgenauigkeitsparameter für jedes Malware-Ereignis zu erhalten, Anwenden eines Maschinenlernmodells, um den dritten Satz von HPC-Ereigniskombinationen basierend auf der Malware-Detektionsgenauigkeit einzustufen, und Anwenden eines genetischen Algorithmus auf den dritten Satz von HPC-Ereigniskombinationen, um einen Teilsatz des dritten Satzes von erweiterten Kombinationen von HPC-Ereignissen zu identifizieren, die zur Malware-Detektion und -Klassifizierung verwendet werden sollen.

Description

  • HINTERGRUND
  • Malware-Detektion ist ein konstantes Katz-und-Maus-Spiel, bei dem Malware-Autoren neue und anspruchsvollere Wege entwickeln, ihren Code in einer Binärdatei, einem Dateisystem und Speicher vor Sicherheitssoftware zu verbergen oder zu verschleiern. Bare-Metal-Hardware, insbesondere die CPU, ist jedoch eine Stelle, an der das Verbergen stoppt und CPU-Telemetrie das Ausführungsmuster von bösartigem Code auf der niedrigsten Ebene offenbaren kann. Es gibt hunderte oder tausende von Ereignissen, wie etwa z. B. Hardwareperformanzzähler(HPC)-Ereignisse, die auf modernen Prozessoren verfügbar sind und von denen nur ein kleiner Teilsatz ,n‘ (n kann 4 bis 8 sein) zu einem Zeitpunkt für eine gleichzeitige Überwachung konfiguriert werden kann. Das Identifizieren des besten Satzes von Hardwaretelemetrieereignissen, um eine Malware-Klasse zu detektieren, ist ein komplexes Problem, da Malware vielfältiges Verhalten zeigen kann. Somit hat das Überwachen mehrerer Ereignisse zusammen die beste Chance, für sie ein Profil zu erstellen. Beispielsweise erfordert das Anwenden von Brute-Force, um die beste Vierereigniskombination aus 500 Ereignissen zu finden, das Testen von 500Cn=4 (über 2,5 Milliarden) Kombinationen und ist in einem akzeptablen Zeitrahmen praktisch nicht durchführbar. Dementsprechend untersuchen Sicherheitsforscher die Malware- und Ereignisdokumente und korrelieren diese, um relevante Ereignisse unter Verwendung von Versuch und Irrtum (Trial and Error) zu finden. Dieser Prozess erfordert menschliche Ressourcen und viel Zeit und liefert möglicherweise immer noch nicht den optimalen Ereignissatz. Das Erfordernis besteht darin, den optimalen ,n‘ Ereignissatz zu finden, um ein Profil für eine gegebene Malware-Klasse zu erstellen.
  • Vorherige Ansätze zum Auswählen der besten ,n‘ HPC-Ereigniskombination, um ein Profil für eine Malware/Arbeitslast zu erstellen, erforderten eine menschliche Analyse und signifikanten Versuch und Irrtum, um relevante HPC-Ereignisse zu identifizieren. Signifikante Datenwissenschaftsbestrebungen müssen auf den ausgewählten Ereignissatz angewendet werden, um ein optimales Maschinenlernmodell zu erzeugen, um Malware/Arbeitslast zu detektieren, und sind in der Logik statisch. Malware kann die Detektion durch Wechseln des Einsatzes umgehen.
  • Figurenliste
  • Die hierin beschriebenen Konzepte sind in den beigefügten Figuren beispielhaft und nicht einschränkend veranschaulicht. Aus Gründen der Einfachheit und Klarheit der Veranschaulichung sind Elemente, die in den Figuren veranschaulicht sind, nicht notwendigerweise maßstabsgetreu gezeichnet. Wo dies als geeignet angesehen wurde, wurden Bezugszeichen zwischen den Figuren wiederholt, um entsprechende oder analoge Elemente anzugeben.
    • 1-3 sind Flussdiagramme hoher Ebene, die Operationen in einem Verfahren zum Identifizieren von Hardwareperformanzzählerereignissen zum Detektieren und Klassifizieren von Malware unter Verwendung künstlicher Intelligenz veranschaulichen, gemäß einer Ausführungsform.
    • 4-6 sind detailliertere Flussdiagramme, die Operationen in einem Verfahren zum Identifizieren von Hardwareperformanzzählerereignissen zum Detektieren und Klassifizieren von Malware unter Verwendung künstlicher Intelligenz veranschaulichen, gemäß einer Ausführungsform.
    • 7-8 sind Graphen, die Hardwareperformanzzählerfrequenzen im Laufe der Zeit veranschaulichen, gemäß einer Ausführungsform.
    • 9 ist ein dreidimensionaler Graph, der gutartige und bösartige Verteilungen einer Dreiereigniskombination von Hardwareperformanzzählerereignissen veranschaulicht, gemäß einer Ausführungsform.
    • 10 ist ein Graph, der eine Detektionsgenauigkeit als eine Funktion der Anzahl von Generationen eines genetischen Algorithmus veranschaulicht, gemäß einer Ausführungsform.
    • 11 ist ein Diagramm, das einen Prozess 1100 veranschaulicht, in dem Crossover- und Mutationsoperatoren auf Ereigniskombinationen angewendet werden.
    • 12 ist ein Blockdiagramm, das eine Rechenarchitektur veranschaulicht, die dazu ausgebildet sein kann, ein Verfahren zur sicheren PUF-basierten Authentifizierung unter Verwendung einer feindlichen Herausforderungsauswahl bereitzustellen, gemäß einer Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG DER ZEICHNUNGEN
  • Obwohl die Konzepte der vorliegenden Offenbarung für verschiedene Modifikationen und alternative Formen anfällig sind, wurden spezifische Ausführungsformen davon beispielhaft in den Zeichnungen gezeigt und werden hierin ausführlich beschrieben. Es versteht sich jedoch, dass keine Absicht besteht, die Konzepte der vorliegenden Offenbarung auf die offenbarten speziellen Formen zu beschränken, sondern es besteht im Gegenteil die Absicht, alle Modifikationen, Äquivalente und Alternativen, die der vorliegenden Offenbarung und den angehängten Ansprüchen entsprechen, abzudecken.
  • Bezugnahmen in der Spezifikation auf „eine Ausführungsform“, „eine veranschaulichende Ausführungsform“ usw. geben an, dass die beschriebene Implementierung ein spezielles Merkmal, eine spezielle Struktur oder Charakteristik aufweisen kann, wobei allerdings jede Ausführungsform dieses spezielle Merkmal, diese spezielle Struktur oder Charakteristik enthalten kann oder nicht notwendigerweise enthalten kann. Darüber hinaus beziehen sich derartige Formulierungen nicht notwendigerweise auf dieselbe Ausführungsform. Ferner, wenn ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Charakteristik in Verbindung mit einer Ausführungsform beschrieben ist, wird außerdem unterstellt, dass es im Kenntnisbereich einer Fachperson liegt, ein derartiges Merkmal, eine derartige Struktur oder eine derartige Charakteristik in Verbindung mit anderen Ausführungsformen zu bewirken, ob es nun explizit beschrieben ist oder nicht. Zusätzlich versteht sich, dass Einträge in einer Liste der Form „mindestens eines von A, B und C“ Folgendes bedeuten können: (A); (B); (C); (A und B); (A und C); (B und C); oder (A, B und C). Gleichermaßen können Elemente, die in Form von „mindestens eines von A, B oder C“ aufgelistet sind, (A); (B); (C); (A und B); (A und C); (B und C); oder (A, B und C) bedeuten.
  • Die offenbarten Ausführungsformen können in manchen Fällen in Hardware, Firmware, Software oder einer beliebigen Kombination davon implementiert sein. Die offenbarten Ausführungsformen können ebenfalls als Anweisungen implementiert sein, die von einem flüchtigen oder nichtflüchtigen maschinenlesbaren (z. B. computerlesbaren) Speicherungsmedium geführt oder in diesem gespeichert werden und die von einem oder mehreren Prozessoren ausgelesen und ausgeführt werden können. Ein maschinenlesbares Speicherungsmedium kann als eine beliebige Speicherungsvorrichtung, ein Mechanismus oder als eine andere physische Struktur zum Speichern oder Übertragen von Informationen in einer durch eine Maschine lesbaren Form (z. B. einem flüchtigen oder nichtflüchtigen Speicher, einer Medien-Disc oder einer anderen Medienvorrichtung) umgesetzt sein.
  • In den Zeichnungen sind einige Struktur- oder Verfahrensmerkmale möglicherweise in speziellen Anordnungen und/oder Abfolgen gezeigt. Es sollte jedoch anerkannt werden, dass derartige spezifische Anordnungen und/oder Abfolgen möglicherweise nicht erforderlich sind. Vielmehr können, in manchen Ausführungsformen, derartige Merkmale in einer anderen Weise und/oder in einer anderen Reihenfolge, als in den veranschaulichenden Figuren gezeigt, angeordnet sein. Zusätzlich bedeutet das Einschließen eines Struktur- oder Verfahrensmerkmals in einer speziellen Figur nicht, dass ein derartiges Merkmal in allen Ausführungsformen erforderlich ist, und in einigen Ausführungsformen ist es möglicherweise nicht enthalten oder mit anderen Merkmalen kombiniert.
  • Wie oben beschrieben, erforderten vorherige Ansätze zum Auswählen der besten ,n‘ HPC-Ereigniskombination, um ein Profil für eine Malware/Arbeitslast zu erstellen, eine menschliche Analyse und signifikanten Versuch und Irrtum, um relevante HPC-Ereignisse zu identifizieren. Signifikante Datenwissenschaftsbestrebungen müssen auf den ausgewählten Ereignissatz angewendet werden, um ein optimales Maschinenlernmodell zu erzeugen, um Malware/Arbeitslast zu detektieren, und sind in der Logik statisch. Malware kann die Detektion durch Wechseln des Einsatzes umgehen.
  • Um diese und andere Probleme anzusprechen, werden hierin Techniken beschrieben, um den Prozess zum Identifizieren der besten ,n‘ HPC-Ereignisse (n kann 4 bis 8 auf den meisten Prozessoren sein) zu automatisieren, um ein Profil für eine Klasse von Malware aus einem gesamten Satz von ,N‘ HPC-Ereignissen, die auf einer beliebigen gegebenen Plattform unterstützt werden (N kann hunderte bis tausende sein), zu erstellen.
  • 1-3 sind Flussdiagramme hoher Ebene, die Operationen in einem Verfahren zum Identifizieren von Hardwareperformanzzählerereignissen zum Detektieren und Klassifizieren von Malware unter Verwendung künstlicher Intelligenz veranschaulichen, gemäß einer Ausführungsform. Zuerst unter Bezugnahme auf 1 umfasst in manchen Beispielen ein dreiteiliger Prozess 100 zum Identifizieren eines besten Satzes von Ereignissen zum Erstellen eines Profils für eine Klasse von Malware einen einzelnen Ereignisauswahlprozess 110, einen gemeinsamen Ereignisauswahlprozess 120 und einen tiefen Ereignisauswahlprozess 130.
  • Unter Bezugnahme auf 2 empfängt der einzelne Ereignisauswahlprozess 110 in manchen Beispielen 200 Eingaben 112 einschließlich Hunderter oder sogar Tausender von relevanten Hardwareperformanzzähler(HPC)-Ereignissen. Der Prozess 110 führt eine Merkmalsanalyse 114 durch, einschließlich Beurteilen von Ereignisraten für Malware gegenüber Benchmark-Arbeitslasten, und/oder eine Informationsgewinnanalyse. Der Prozess 110 implementiert eine Einstufungstechnik 116 z. B. nach Informationsgewinn basierend auf einer Fähigkeit eines einzelnen HPC-Ereignisses, ein Profil für eine Malware-Klasse zu erstellen. Der Prozess 110 erzeugt dann einen reduzierten Ereignissatz 118, indem z. B. die am höchsten eingestuften zwanzig Prozent (20 %) der einzelnen Ereignisse ausgewählt werden.
  • In manchen Beispielen empfängt der gemeinsame Ereignisauswahlprozess 120 Eingaben 122 einschließlich des reduzierten Ereignissatzes 118, der durch den Prozess 110 erzeugt wird. Der gemeinsame Ereignisauswahlprozess 120 führt eine Maschinenlern(ML)-Analyse 124 durch, um vielversprechende Kombinationen von Ereignissen basierend auf einer Fähigkeit eines Satzes von mindestens zwei gemeinsamen HPC-Ereignissen, ein Profil für eine Malware-Klasse zu erstellen, zu identifizieren. Der gemeinsame Ereignisauswahlprozess 120 implementiert dann eine Einstufungstechnik 126 zum Einstufen von Ereigniskombinationen nach Random-Forest-Classifier(RFC)-Detektionsgenauigkeit oder gemeinsamem Informationsgewinn. Der Prozess 120 erzeugt dann einen reduzierten Ereignissatz 128, indem z. B. die am höchsten eingestuften zwanzig Prozent (20 %) der Ereigniskombinationen ausgewählt werden.
  • In manchen Beispielen empfängt der tiefe Ereignisauswahlprozess 130 Eingaben 132 einschließlich des reduzierten Ereignissatzes 128, der durch den Prozess 120 erzeugt wird. Die Eingaben können auf Performanz gefiltert werden und können verwendet werden, um Echtzeit-Arbeitslasten zu simulieren. Der tiefe Ereignisauswahlprozess 130 führt eine Maschinenlern(ML)-Analyse 134 durch, die einen genetischen Algorithmus (GA) zum Ableiten der besten Ereigniskombinationen und eine RFC-Maschinenlern-Pipeline beinhalten kann. Der tiefe Ereignisauswahlprozess 130 implementiert dann eine Einstufungstechnik 136, um Ereigniskombinationen nach RFC-Detektionsgenauigkeit und Falsch-Positiv/Falsch-Negativ(FP/FN)-Raten einzustufen. Der Prozess 120 erzeugt dann einen besten Ereignissatz 138 und ein Maschinenlern(ML)-Modell.
  • Unter Bezugnahme auf 3 startet der einzelne Ereignisauswahlprozess 300 in manchen Beispielen mit Eingaben 305 einschließlich Hunderter oder sogar Tausender von relevanten Hardwareperformanzzähler(HPC)-Ereignissen und einer oder mehreren Malware-Proben. Bei Block 310 wird ein einzelner Ereignisauswahlprozess durchgeführt, um eine Ereignisliste zu erhalten, die nach Informationsgewinnbewertung geordnet ist. Block 320 stellt den gemeinsamen Ereignisauswahl- und tiefen Ereignisauswahlprozess dar, der eine gemeinsame Ereignisliste ergibt, die nach Detektionsfähigkeit geordnet ist. Der Prozess startet mit zwei Ereignissen in einer Kombination und kann durch Wiederholung 330 der Phase weiter erweitert werden. Bei Block 340 wird ein Maschinenlern(ML)-Modell für die höchste Kombination abgestimmt.
  • 4-6 sind detailliertere Flussdiagramme, die Operationen in einem Verfahren zum Identifizieren von Hardwareperformanzzählerereignissen zum Detektieren und Klassifizieren von Malware unter Verwendung künstlicher Intelligenz veranschaulichen, gemäß einer Ausführungsform. 4 veranschaulicht Operationen in dem einzelnen Ereignisauswahlprozess 400. Unter Bezugnahme auf 4 empfängt der einzelne Ereignisauswahlprozess 400 in manchen Beispielen Eingaben einschließlich eines oder mehrerer HPC-Ereignisse und Malware-Proben. Der Prozess 400 initiiert dann eine Schleife 410, gemäß der für jedes in Operation 405 empfangene HPC-Ereignis ein Datensammlungsprozess 412 mit Exploit- (d. h. Malware-) und gutartigen Prozessen implementiert wird und bei Operation 414 eine Informationsgewinnanalyse durchgeführt wird, um eine einzelne Zählerbewertung für das HPC-Ereignis zu erzeugen. Bei Operation 418 erzeugt der Prozess eine geordnete einzelne Liste, die nach der bei Operation 414 erzeugten Bewertung eingestuft wird.
  • 5 veranschaulicht Operationen in dem gemeinsamen/tiefen Ereignisauswahlprozess 500. Unter Bezugnahme auf 5 empfängt der gemeinsame/tiefe Auswahlprozess 500 bei Operation 505 Eingaben einschließlich der am höchsten eingestuften (z. B. höchsten 20 %) der Ereignisse, die in dem in 4 dargestellten einzelnen Ereignisauswahlprozess 400 eingestuft werden. Bei Operation 510 umrahmt der Prozess 500 einen Anfangssatz von Ereigniskombinationen aus dem in Operation 505 empfangenen Satz von Ereignissen. Bei Operation 520 initiiert der Prozess 500 eine Schleife für jede Kombination. In der Schleife wird bei Operation 522 ein Datensammlungsprozess 522 mit Exploit- (d. h. Malware-) und gutartigen Prozessen implementiert, bei Operation 524 wird die Detektionsbewertung unter Verwendung eines Maschinenlernklassifizierers gemessen und/oder eine Informationsgewinnanalyse wird durchgeführt, um einen gemeinsamen Informationsgewinnparameter für die Kombination zu erzeugen, und bei Operation 526 wird eine Datenbank mit einer Detektionsbewertung für eine gegebene Kombination aktualisiert. Die Operationen in der Schleife 520 können für eine gewünschte Anzahl von Kombinationen oder alle Kombinationen von Ereignissen wiederholt werden.
  • In manchen Beispielen wendet der Prozess 500 einen genetischen Algorithmus an, um Ereigniskombinationen zu erhalten und die verschiedenen Ereigniskombinationen zu durchlaufen, um Kombinationen mit einer gewünschten Detektionsgenauigkeit zu erhalten. Bei Operation 530 wird bestimmt, ob der genetische Algorithmus konvergiert. Falls bei Operation 530 der genetische Algorithmus nicht konvergiert, dann geht die Steuerung zu Operation 540 über und die höchsten Kandidaten werden aus der Datenbank ausgewählt, bei Operation 542 werden ein Crossover-Operator und/oder ein Mutationsoperator auf den genetischen Algorithmus angewendet, um bei Operation 544 Kombinationen zu erzeugen, die besser sein könnten. Die Steuerung geht dann zurück zum oberen Ende der Schleife 520, die mit den neuen Kombinationen initiiert wird, die in Operation 544 erzeugt werden.
  • Falls dagegen bei Operation 530 der genetische Algorithmus konvergiert, geht die Steuerung zu Operation 550 über und die höchsten Kandidaten werden aus der Datenbank basierend auf der in Operation 526 bestimmten Detektionsbewertung ausgewählt. Bei Operation 552 wird der Prozess bei Bedarf mit erweiterten Ereigniskombinationen wiederholt. Bei Operation 560 wird die Maschinensprache auf die durch den Prozess 500 erzeugte höchste Kombination abgestimmt.
  • 6 veranschaulicht Datenstrukturen und Operationen in dem gemeinsamen/tiefen Ereignisauswahlprozess 600. Unter Bezugnahme auf 6 empfangen HPC-Ereignisse 610 Eingaben einschließlich der am höchsten eingestuften (z. B. höchsten 20 %) der Ereignisse, die in dem in 4 dargestellten einzelnen Ereignisauswahlprozess 400 eingestuft werden. Der Prozess 600 erstellt ein Profil für eine Malware unter Verwendung jedes HPC-Ereignisses und stuft die Ereignisse basierend auf ihrer jeweiligen Fähigkeit, eine Malware-Klasse von gutartigen Anwendungen zu detektieren, ein, um einen Satz von eingestuften Ereignissen 620 zu erzeugen, die nach einem Informationsgewinnparameter geordnet sind. Der Prozess 600 wählt am höchsten eingestufte Ereignisse aus dem Satz von eingestuften Ereignissen 620 aus und erzeugt einen Satz von Kombinationen von mindestens zwei Ereignissen 620, erstellt dann ein Profil für die Malware und gutartige Anwendungen unter Verwendung der Ereigniskombinationen aus dem Satz von Ereigniskombinationen 640, erzeugt ein Maschinenlernmodell für jede Kombination und stuft die Kombinationen basierend auf der Detektionsgenauigkeit ein, um einen eingestuften Satz von Kombinationen 630 zu erzeugen.
  • Als Nächstes tritt der Prozess 600 in eine Schleife ein, in der er zuerst einen genetischen Algorithmus anwendet, um einen Satz von Ereigniskombinationen 650 für die nächste Generation der Analyse zu erhalten. Der Prozess 600 erstellt dann ein Profil für die Malware unter Verwendung der Ereigniskombinationen und erhält eine Detektionsgenauigkeit, um einen Satz von Ereigniskombinationen 660 zu konstruieren, die nach Detektionsgenauigkeit eingestuft sind. Der Prozess 600 kombiniert dann Ereignisse von allen Generationen und stuft sie basierend auf ihrer Eignung (d. h. Genauigkeit der Bewertung) ein, um einen eingestuften Satz von Ereigniskombinationen von allen Generationen 670 zu konstruieren. Falls der genetische Algorithmus nicht konvergiert, wendet der Prozess 600 einen genetischen Algorithmus an, um einen Satz von Ereigniskombinationen 650 für die nächste Generation zu erhalten. Dieser Zyklus kann wiederholt werden, bis der genetische Algorithmus konvergiert, wobei zu diesem Zeitpunkt der Prozess einen Satz der besten Ereigniskombinationen 680 basierend auf der Genauigkeit der Kombinationen auswählt.
  • 7-8 sind Graphen, die Hardwareperformanzzählerfrequenzen im Laufe der Zeit veranschaulichen, gemäß einer Ausführungsform. Unter Bezugnahme auf 7 veranschaulicht ein Histogramm 700, wie ein HPC-Ereignis (EREIGNIS 1) in der Lage ist, ein Profil für eine Crypto-Mining-Malware von gutartigen Anwendungen zu erstellen. Unter Bezugnahme auf Figur zeigt ein Histogramm 800 eine klare Trennung zwischen einem HPC-Ereignis (EREIGNIS2) und gutartigen Anwendungen. Das Profil mit EREIGNIS2-Ereignis zeigt, dass es eine größere Überlappung zwischen Zählerwerten von Malware und gutartigen Anwendungen gibt, sodass der Informationsgewinn für dieses Ereignis geringer sein wird.
  • Bei manchen Beispielen wird, sobald Hardwareereignisse gemäß ihren Informationsgewinnwerten eingestuft werden, ein Teilsatz von am höchsten eingestuften Ereignissen für die gemeinsame Informationsgewinnanalyse ausgewählt, die den Informationsgewinn mehrerer Ereignisse messen. Dies kann durch Gleichung (1) wie folgt angegeben werden:
    • GL. 1: IG (Y,X1,X2,...,Xn)=H(Y)-H(Y|X1,X2, ..., Xn)
    • XI, X2, ..Xn: n HPC-Ereignisse
    • IG (Y, X1, X2, ..., Xn): Informationsgewinn zum Klassifizieren von Malware gegenüber gutartig unter Verwendung von X1,X2, ...Xn
    • H(Y): Entropie von Daten für Malware gegenüber gutartig
    • H(Y|X1,X2, .. Xn): Entropie von Daten für Malware gegenüber gutartig mit Informationen von X1,X2, ..Xn
  • Wobei X1,X2,..., Xn einen Satz von n HPC-Ereignissen repräsentiert. In einigen Beispielen wird der folgende Suchalgorithmus verwendet, um iterativ die Zählerkombinationen zu finden, die den höchsten Informationsgewinn liefern. Erstens wird ein Satz von Kandidaten-Zweiereigniskombinationen der höchsten Phase-1-Ereignisse erzeugt. Zweitens werden Datensätze gutartiger und bösartiger Klassen für jede Kandidatenkombination gesammelt. Drittens werden die gemeinsamen Informationsgewinne für jede Kombination gemessen. Viertens werden die Ereigniskombinationen basierend auf gemeinsamen Informationsgewinnen eingestuft.
  • 9 veranschaulicht beispielhafte gutartige und bösartige Verteilungen einer Dreiereigniskombination. Wie in 9 veranschaulicht, werden die gutartigen und bösartigen Datenpunkte 900 in dem Raum höherer Dimension stärker separiert als in jeder einzelnen Dimension.
  • In manchen Beispielen kann der tiefe Ereignisauswahlprozess unter Verwendung eines genetischen Algorithmus (GA) implementiert werden. Sobald zum Beispiel HPC-Ereignisse nach ihrem jeweiligen Informationsgewinn eingestuft werden, wie oben beschrieben, wird ein Teilsatz von am höchsten eingestuften Ereignissen für den nächsten Schritt des Erzeugens einer erweiterten Kombination von Ereignissen ausgewählt. Jede Ereigniskombination ist dazu ausgelegt, ein Profil für Malware zusammen mit relevanten gutartigen Anwendungen zu erstellen. Die erzeugten Daten werden in einer ML-Pipeline verarbeitet und ein ML-Modell zur Unterscheidung einer Malware von gutartigen Anwendungen wird erzeugt und die Detektionsgenauigkeit wird gemessen. Die Kombinationen werden unter Verwendung der Detektionsgenauigkeit ihres entsprechenden ML-Modells eingestuft. Ein genetischer Algorithmus (GA) wird verwendet, um den nächsten Satz von Kombinationen zu erzeugen, um intelligent eine optimale Ereigniskombination zu finden.
  • In einigen Beispielen werden mehrere Generationen eines genetischen Algorithmus verwendet. Ein GA kann verwendet werden, um die nächste Generation von möglicherweise guten Ereigniskombinationen unter Verwendung von am höchsten eingestuften Ereignissen aus dem bestehenden Ergebnis zu erzeugen. Die Detektionsgenauigkeit der Ereigniskombination wird durch Durchlaufen einer vollen ML-Pipeline (z. B. Datensammlung, Datenverarbeitung, ML-Modellerzeugung und Inferenz) gemessen. Nach mehreren Generationen von GA kann, sobald eine Kombination mit gewünschter Detektionsgenauigkeit gefunden wurde, die Ausführung des GA gestoppt werden und die beste Kombination zusammen mit dem ML-Modell wird als Ausgabe der Infrastruktur gegeben. 10 veranschaulicht, wie die durchschnittliche Detektionsgenauigkeit der höchsten Ereigniskombinationen 1000 durch mehrere Generationen von GA konvergiert.
  • In einigen Beispielen verwendet der GA Crossover- und Mutationsoperatoren zur Erzeugung neuer, möglicherweise besserer Kombinationen. Crossover ist ein Mechanismus, bei dem mehr als eine Kombination mit höchster Detektionsgenauigkeit ausgewählt wird, um einen oder mehrere Nachkommen zu erzeugen. Die Nachkommen haben genetisches Material beider Ereigniskombinationen (Eltern). Mutation ist ein genetischer Operator, der verwendet wird, um genetische Diversität von einer Generation der Population zur nächsten aufrechtzuerhalten, sodass eine globale optimale Lösung anstelle der lokalen optimalen Lösung erreicht wird. 11 ist ein Diagramm, das einen Prozess 1100 veranschaulicht, in dem Crossover- und Mutationsoperatoren auf Ereigniskombinationen angewendet werden.
  • In einigen Beispielen wird ein ML-Modell basierend auf den gesammelten Daten für die Ereigniskombination erstellt. Die für jede Ereigniskombination erzeugten Daten werden zum Beispiel für Malware und gutartige Anwendungen gelabelt und ein ML-Modell wird erzeugt. Ein neuer Satz nicht gesehener Daten wird zur Inferenz des ML-Modells verwendet. Die Detektionsgenauigkeit eines Modells für eine Malware-Klasse wird verwendet, um die Ereigniskombinationen einzustufen. Beispiele für einen ML-Klassifizierer zum Finden einer Detektionsgenauigkeit von Ereigniskombinationen beinhalten unter anderem einen Random-Forest-Klassifizierer und/oder einen XGBoost-Klassifizierer.
  • Beispielhafte Rechenarchitektur
  • 12 ist ein Blockdiagramm, das eine Rechenarchitektur veranschaulicht, die dazu ausgebildet sein kann, einen sicheren Adressübersetzungsdienst unter Verwendung einer Berechtigungstabelle (z. B. HPT 135 oder HPT 260) und basierend auf einem Kontext einer anfordernden Vorrichtung zu implementieren, gemäß manchen Beispielen. Die Ausführungsformen können eine Rechenarchitektur beinhalten, die eines oder mehrere von Folgendem unterstützt: (i) Verifizieren von Zugriffsberechtigungen für eine übersetzte Anforderung, bevor ermöglicht wird, dass eine Speicheroperation fortfährt; (ii) Vorabrufen von Seitenberechtigungseinträgen einer HPT als Reaktion auf eine Übersetzungsanforderung; und (iii) Ermöglichen eines dynamischen Erstellens der HPT-Seitenberechtigungen durch Systemsoftware, wie oben beschrieben.
  • In verschiedenen Ausführungsformen kann die Rechenarchitektur 1200 eine elektronische Vorrichtung umfassen oder als Teil dieser implementiert sein. In manchen Ausführungsformen kann die Rechenarchitektur 1200 zum Beispiel ein Computersystem repräsentieren, das eine oder mehrere Komponenten der oben beschriebenen Betriebsumgebungen implementiert. In einigen Ausführungsformen kann die Rechenarchitektur 1200 einen oder mehrere Abschnitte oder Komponenten zur Unterstützung eines sicheren Adressübersetzungsdienstes, der eine oder mehrere hierin beschriebene Techniken implementiert, repräsentieren.
  • Wie in dieser Anmeldung verwendet, sollen die Begriffe „System“ und „Komponente“ sowie „Modul“ auf eine computerbezogene Entität, entweder Hardware, eine Kombination von Hardware und Software, Software oder Software in Ausführung verweisen, wofür Beispiele von der beispielhaften Rechenarchitektur 1200 bereitgestellt werden. Eine Komponente kann zum Beispiel, ohne darauf beschränkt zu sein, Folgendes sein: ein Prozess, der auf einem Prozessor ausgeführt wird, ein Prozessor, ein Festplattenlaufwerk oder Solid-State-Laufwerk (SSD), mehrere Speicherungslaufwerke (mit optischem und/oder magnetischem Speicherungsmedium), ein Objekt, eine ausführbare Datei, ein Ausführungs-Thread, ein Programm und/oder ein Computer. Zur Veranschaulichung kann sowohl eine Anwendung, die auf einem Server ausgeführt wird, als auch der Server eine Komponente sein. Eine oder mehrere Komponenten können sich innerhalb eines Prozesses und/oder Ausführungs-Threads befinden, und eine Komponente kann sich auf einem Computer befinden und/oder zwischen zwei oder mehr Computern verteilt sein. Des Weiteren können Komponenten kommunikativ miteinander durch diverse Typen von Kommunikationsmedien zum Koordinieren von Operationen gekoppelt sein. Die Koordination kann den unidirektionalen oder bidirektionalen Austausch von Informationen beinhalten. Die Komponenten können zum Beispiel Informationen in der Form von Signalen kommunizieren, die über Kommunikationsmedien kommuniziert werden. Die Informationen können als Signale, die diversen Signalleitungen zugeordnet sind, implementiert werden. Bei solchen Zuordnungen ist jede Nachricht ein Signal. Weitere Ausführungsformen können jedoch alternativ Datennachrichten einsetzen. Solche Datennachrichten können über diverse Verbindungen gesendet werden. Beispielhafte Verbindungen beinhalten parallele Schnittstellen, serielle Schnittstellen und Busschnittstellen.
  • Die Rechenarchitektur 1200 beinhaltet diverse übliche Rechenelemente, wie einen oder mehreren Prozessoren, Mehrkernprozessoren, Coprozessoren, Speichereinheiten, Chipsätze, Steuerungen, Peripheriegeräte, Schnittstellen, Oszillatoren, Timing-Vorrichtungen, Videokarten, Audiokarten, Multimedia-Eingabe/Ausgabe(E/A)-Komponenten, Leistungsversorgungen usw. Die Ausführungsformen sind jedoch nicht auf Implementierung durch die Rechenarchitektur 1200 beschränkt.
  • Wie in 12 gezeigt, beinhaltet die Rechenarchitektur 1200 einen oder mehrere Prozessoren 1202 und einen oder mehrere Grafikprozessoren 1208 und kann ein Einzelprozessor-Desktopsystem, ein Mehrprozessor-Workstation-System oder ein Serversystem, das eine große Anzahl von Prozessoren 1202 oder Prozessorkernen 1207 aufweist, sein. In einer Ausführungsform ist das System 1200 eine Verarbeitungsplattform, die in einer integrierten System-on-Chip(SoC oder SOC)-Schaltung zur Verwendung in mobilen, handgehaltenen oder eingebetteten Vorrichtungen integriert ist.
  • Eine Ausführungsform des Systems 1200 kann eine serverbasierte Gaming-Plattform, eine Spielekonsole, einschließlich einer Spiele- und Medienkonsole, eine mobile Gaming-Konsole, eine handgehaltene Spielekonsole oder eine Online-Spielekonsole beinhalten oder darin integriert sein. In manchen Ausführungsformen ist das System 1200 ein Mobiltelefon, ein Smartphone, eine Tablet-Rechenvorrichtung oder eine mobile Internetvorrichtung. Das Datenverarbeitungssystem 1200 kann auch eine tragbare Vorrichtung, wie etwa eine tragbare Smartwatch-Vorrichtung, eine Smart-Brillenvorrichtung, eine Augmented-Reality-Vorrichtung oder eine Virtual-Reality-Vorrichtung beinhalten, mit dieser gekoppelt sein oder in dieser integriert sein. In manchen Ausführungsformen ist das Datenverarbeitungssystem 1200 ein Fernseher oder eine Set-Top-Box-Vorrichtung, der bzw. die einen oder mehrere Prozessoren 1202 und eine grafische Schnittstelle, die durch einen oder mehrere Grafikprozessoren 1208 erzeugt wird, aufweist.
  • In einigen Ausführungsformen beinhalten der eine oder die mehreren Prozessoren 1202 jeweils einen oder mehrere Prozessorkerne 1207 zum Verarbeiten von Anweisungen, die bei ihrer Ausführung Operationen für System- und Benutzersoftware durchführen. In manchen Ausführungsformen ist jeder des einen oder der mehreren Prozessorkerne 1207 dazu ausgelegt, einen speziellen Anweisungssatz 1214 zu verarbeiten. In einigen Ausführungsformen kann der Anweisungssatz 1209 Berechnungen mit komplexem Anweisungssatz (CISC), Berechnung mit reduziertem Anweisungssatz (RISC) oder Berechnungen über ein sehr langes Befehlswort (VLIW) unterstützen. Mehrere Prozessorkerne 1207 können jeweils einen unterschiedlichen Anweisungssatz 1209 verarbeiten, der Anweisungen enthalten kann, um die Emulation anderer Anweisungssätze zu unterstützen. Der Prozessorkern 1207 kann auch andere Verarbeitungsvorrichtungen enthalten, wie etwa einen Digitalsignalprozessor (DSP).
  • In manchen Ausführungsformen beinhaltet der Prozessor 1202 einen Cachespeicher 1204. In Abhängigkeit von der Architektur kann der Prozessor 1202 einen einzigen internen Cache oder mehrere Ebenen von internem Cache aufweisen. In manchen Ausführungsformen wird der Cachespeicher durch verschiedene Komponenten des Prozessors 1202 gemeinsam genutzt. In einigen Ausführungsformen verwendet der Prozessor 1202 auch einen externen Cache (z. B. einen Level-3(L3)-Cache oder einen Cache der letzten Ebene (LLC)) (nicht gezeigt), der durch Prozessorkerne 1207 unter Verwendung bekannter Cachekohärenztechniken gemeinsam genutzt wird. Eine Registerdatei 1206 ist zusätzlich in dem Prozessor 1202 enthalten, die verschiedene Arten von Registern zum Speichern verschiedener Arten von Daten (z. B. Ganzzahlregister, Gleitkommaregister, Statusregister und ein Anweisungszeigerregister) beinhalten kann. Manche Register können Allzweckregister sein, während andere Register für die Gestaltung des Prozessors 1202 spezifisch sein können.
  • In einigen Ausführungsformen sind der eine oder die mehreren Prozessoren 1202 mit einem oder mehreren Schnittstellenbussen 1210 zum Übertragen von Kommunikationssignalen, wie etwa Adress-, Daten- oder Steuersignalen, zwischen dem Prozessor 1202 und anderen Komponenten in dem System gekoppelt. Der Schnittstellenbus 1210 kann in einer Ausführungsform ein Prozessorbus sein, wie etwa eine Version des DMI-Busses (DMI: Direct Media Interface). Prozessorbusse sind jedoch nicht auf den DMI-Bus beschränkt und können einen oder mehrere Peripheral Component Interconnect Busse (z. B. PCI, PCI-Express), Speicherbusse oder andere Arten von Schnittstellenbussen umfassen. In einer Ausführungsform beinhalten der eine oder die mehreren Prozessoren 1202 eine integrierte Speichersteuerung 1216 und einen Plattformsteuerungshub 1230. Die Speichersteuerung 1216 ermöglicht eine Kommunikation zwischen einer Speichervorrichtung und anderen Komponenten des Systems 1200, während der Plattformsteuerungshub (PCH: Plattform Controller Hub) 1230 Verbindungen zu E/A-Vorrichtungen über einen lokalen E/A-Bus bereitstellt.
  • Die Speichervorrichtung 1220 kann eine dynamische Direktzugriffsspeicher(DRAM)-Vorrichtung, eine statische Direktzugriffsspeicher(SRAM)-Vorrichtung, eine Flash-Speichervorrichtung, eine Phasenwechsel-Speichervorrichtung oder eine andere Speichervorrichtung sein, die eine geeignete Performanz zum Dienen als ein Prozessspeicher aufweist. In einer Ausführungsform kann die Speichervorrichtung 1220 als Systemspeicher für das System 1200 arbeiten, um Daten 1222 und Anweisungen 1221 zu speichern, die verwendet werden, wenn der eine oder die mehreren Prozessoren 1202 eine Anwendung oder einen Prozess ausführen. Der Speichersteuerungshub 1216 ist auch mit einem optionalen externen Grafikprozessor 1212 gekoppelt, der mit dem einen oder den mehreren Grafikprozessoren 1208 in den Prozessoren 1202 kommunizieren kann, um Grafik- und Medienoperationen durchzuführen. In einigen Ausführungsformen kann eine Anzeigevorrichtung 1211 mit dem einen oder den mehreren Prozessoren 1202 verbunden sein. Die Anzeigevorrichtung 1211 kann eine interne Anzeigevorrichtung, wie in einer mobilen elektronischen Vorrichtung oder einer Laptopvorrichtung, und/oder eine externe Anzeigevorrichtung sein, die über eine Anzeigeschnittstelle (z. B. DisplayPort usw.) angeschlossen ist. In einer Ausführungsform kann die Anzeigevorrichtung 1211 eine am Kopf angebrachte Anzeige (HMD: Head Mounted Display) sein, wie etwa eine stereoskopische Anzeigevorrichtung zur Verwendung bei Virtual-Reality(VR)-Anwendungen oder Augmented-Reality(AR)-Anwendungen.
  • In einigen Ausführungsformen ermöglicht der Plattformsteuerungshub 1230, dass Peripheriegeräte über einen Hochgeschwindigkeits-E/A-Bus mit der Speichervorrichtung 1220 und dem Prozessor 1202 verbunden sind. Die E/A-Peripheriegeräte schließen unter anderem eine Audiosteuerung 1246, eine Netzwerksteuerung 1234, eine Firmware-Schnittstelle 1228, einen drahtlosen Sendeempfänger 1226, Berührungssensoren 1225, eine Datenspeicherungsvorrichtung 1224 (z. B. Festplattenlaufwerk, Flash-Speicher usw.) ein. Die Datenspeicherungsvorrichtung 1224 kann über eine Speicherungsschnittstelle (z. B. SATA) oder über einen Peripheriebus, wie etwa einen Peripheral-Component-Interconnect-Bus (z. B. PCI, PCI Express), verbunden sein. Die Berührungssensoren 1225 können Touchscreen-Sensoren, Drucksensoren oder Fingerabdrucksensoren einschließen. Der drahtlose Sendeempfänger 1226 kann ein WiFi-Sendeempfänger, ein Bluetooth-Sendeempfänger oder ein Mobilnetz-Sendeempfänger sein, wie etwa ein 3G-, 4G-, Long-Term-Evolution(LTE)- oder 5G-Sendeempfänger. Die Firmware-Schnittstelle 1228 ermöglicht die Kommunikation mit System-Firmware und kann beispielsweise eine vereinheitlichte erweiterbare Firmware-Schnittstelle (UEFI: Unified Extensible Firmware Interface) sein. Die Netzwerksteuerung 1234 kann eine Netzwerkverbindung zu einem drahtgebundenen Netzwerk ermöglichen. In einigen Ausführungsformen ist eine Hochleistungsnetzwerksteuerung (nicht gezeigt) mit dem Schnittstellenbus 1210 gekoppelt. Die Audiosteuerung 1246 ist in einer Ausführungsform eine Mehrkanal-High-Definition-Audiosteuerung. In einer Ausführungsform weist das System 1200 eine optionale Legacy-E/A-Steuerung 1240 zum Koppeln von Legacy(z. B. Personal System 2 (PS/2))-Vorrichtungen mit dem System auf. Der Plattformsteuerungshub 1230 kann auch mit einem oder mehreren USB(Universal Serial Bus)-Steuerungen 1242 verbunden sein, welche Eingabevorrichtungen, wie etwa Kombinationen aus Tastatur und Maus 1243, eine Kamera 1244 oder andere USB-Eingabevorrichtungen, verbinden.
  • Die folgenden Klauseln und/oder Beispiele betreffen weitere Ausführungsformen oder Beispiele. Einzelheiten in den Beispielen können überall in einer oder mehreren Ausführungsformen verwendet werden. Die verschiedenen Merkmale der verschiedenen Ausführungsformen oder Beispiele können verschiedenartig mit einigen enthaltenen Merkmalen kombiniert werden und andere ausgeschlossen werden, um für eine Vielzahl von verschiedenen Anwendungen geeignet zu sein. Beispiele können Gegenstände wie etwa Verfahren, Mittel zum Durchführen von Handlungen des Verfahrens, mindestens ein maschinenlesbares Medium einschließlich Anweisungen, die, wenn sie durch eine Maschine durchgeführt werden, die Maschine veranlassen, Handlungen des Verfahrens durchzuführen, oder eine Einrichtung oder ein System zum Ermöglichen einer hybriden Kommunikation gemäß hierin beschriebenen Ausführungsformen und Beispielen beinhalten.
  • Beispiel 1 ist ein Verfahren, das Folgendes umfasst: Erzeugen eines ersten Satzes von Hardwareperformanzzähler(HPC)-Ereignissen, die basierend auf einer Fähigkeit eines einzelnen HPC-Ereignisses, ein Profil für eine Malware-Klasse zu erstellen, eingestuft werden; Erzeugen, aus einem Teilsatz des ersten Satzes von HPC-Ereignissen, eines zweiten Satzes von HPC-Ereigniskombinationen, der basierend auf einer Fähigkeit eines Satzes von mindestens zwei gemeinsamen HPC-Ereignissen, ein Profil für eine Malware-Klasse zu erstellen, eingestuft wird; Erzeugen, aus einem Teilsatz des zweiten Satzes von HPC-Ereigniskombinationen, eines dritten Satzes von erweiterten HPC-Ereigniskombinationen; Erstellen eines Profils für ein oder mehrere Malware-Ereignisse und eine oder mehrere gutartige Anwendungen, um einen Detektionsgenauigkeitsparameter für jedes Malware-Ereignis in dem einen oder den mehreren Malware-Ereignissen zu erhalten; Anwenden eines Maschinenlern(ML)-Modells unter Verwendung des dritten Satzes von HPC-Ereigniskombinationen, um den dritten Satz von HPC-Ereigniskombinationen basierend auf der Malware-Detektionsgenauigkeit einzustufen; und Anwenden eines genetischen Algorithmus auf den dritten Satz von HPC-Ereigniskombinationen, um einen Teilsatz des dritten Satzes von erweiterten Kombinationen von HPC-Ereignissen zu identifizieren, die zur Malware-Detektion und -Klassifizierung verwendet werden sollen.
  • Beispiel 2 beinhaltet den Gegenstand des Beispiels 1, ferner umfassend Anwenden einer Informationsgewinnanalyse, um die Fähigkeit eines einzelnen HPC-Ereignisses zu bestimmen, ein Profil für eine Malware-Klasse zu erstellen.
  • Beispiel 3 beinhaltet den Gegenstand der Beispiele 1-2, ferner umfassend Erzeugen eines Kandidatensatzes von Zweiereignis-HPC-Ereigniskombinationen aus dem Teilsatz des ersten Satzes von HPC-Ereignissen; Sammeln von Datensätzen gutartiger Klassen und bösartiger Klassen für den Kandidatensatz von Zweiereignis-HPC-Ereigniskombinationen; Anwenden einer Informationsgewinnanalyse, um einen gemeinsamen Informationsgewinn des Kandidatensatzes von Zweiereignis-HPC-Ereigniskombinationen zu messen; und Einstufen des Kandidatensatzes von Zweiereignis-HPC-Ereigniskombinationen basierend auf dem gemeinsamen Informationsgewinn.
  • Beispiel 4 beinhaltet den Gegenstand der Beispiele 1-3, ferner umfassend Anwenden eines Maschinenlern(ML)-Modells unter Verwendung des zweiten Satzes von HPC-Ereigniskombinationen, um den zweiten Satz von HPC-Ereigniskombinationen basierend auf der Malware-Detektionsgenauigkeit einzustufen.
  • Beispiel 5 beinhaltet den Gegenstand der Beispiele 1-4, ferner umfassend Anwenden eines genetischen Algorithmus auf den zweiten Satz von HPC-Ereigniskombinationen, um einen Kandidatensatz von Zweiereignis-HPC-Ereigniskombinationen aus dem Teilsatz des ersten Satzes von HPC-Ereignissen zu erzeugen.
  • Beispiel 6 beinhaltet den Gegenstand der Beispiele 1-5, wobei der genetische Algorithmus einen oder mehrere Crossover-Operatoren und einen oder mehrere Mutationsoperatoren anwendet, um einen Kandidatensatz von Zweiereignis-HPC-Ereigniskombinationen aus dem Teilsatz des ersten Satzes von HPC-Ereignissen zu erzeugen.
  • Beispiel 7 beinhaltet den Gegenstand der Beispiele 1-6, ferner umfassend Auswählen, aus dem Teilsatz des dritten Satzes erweiterter Kombinationen von HPC-Ereignissen, einer einzigen Kombination von HPC-Ereignissen, die zur Malware-Detektion und -Klassifizierung zu verwenden ist.
  • Beispiel 8 ist eine Einrichtung, die umfasst: einen Prozessor; und einen computerlesbaren Speicher, der Anweisungen umfasst, die bei Ausführung durch den Prozessor den Prozessor zu Folgendem veranlassen: Erzeugen eines ersten Satzes von Hardwareperformanzzähler(HPC)-Ereignissen, die basierend auf einer Fähigkeit eines einzelnen HPC-Ereignisses, ein Profil für eine Malware-Klasse zu erstellen, eingestuft werden; Erzeugen, aus einem Teilsatz des ersten Satzes von HPC-Ereignissen, eines zweiten Satzes von HPC-Ereigniskombinationen, der basierend auf einer Fähigkeit eines Satzes von mindestens zwei gemeinsamen HPC-Ereignissen, ein Profil für eine Malware-Klasse zu erstellen, eingestuft wird;
  • Erzeugen, aus einem Teilsatz des zweiten Satzes von HPC-Ereigniskombinationen, eines dritten Satzes von erweiterten HPC-Ereigniskombinationen; Erstellen eines Profils für ein oder mehrere Malware-Ereignisse und eine oder mehrere gutartige Anwendungen, um einen Detektionsgenauigkeitsparameter für jedes Malware-Ereignis in dem einen oder den mehreren Malware-Ereignissen zu erhalten; Anwenden eines Maschinenlern(ML)-Modells unter Verwendung des dritten Satzes von HPC-Ereigniskombinationen, um den dritten Satz von HPC-Ereigniskombinationen basierend auf der Malware-Detektionsgenauigkeit einzustufen; und Anwenden eines genetischen Algorithmus auf den dritten Satz von HPC-Ereigniskombinationen, um einen Teilsatz des dritten Satzes von erweiterten Kombinationen von HPC-Ereignissen zu identifizieren, die zur Malware-Detektion und -Klassifizierung verwendet werden sollen.
  • Beispiel 9 beinhaltet den Gegenstand des Beispiels 8, ferner umfassend Anweisungen, die bei Ausführung durch den Prozessor den Prozessor veranlassen zum Anwenden einer Informationsgewinnanalyse, um die Fähigkeit eines einzelnen HPC-Ereignisses zu bestimmen, ein Profil für eine Malware-Klasse zu erstellen.
  • Beispiel 10 beinhaltet den Gegenstand der Beispiele 8-9, wobei der computerlesbare Speicher Anweisungen umfasst, die bei Ausführung durch den Prozessor den Prozessor veranlassen zum iterativen Erzeugen eines Kandidatensatzes von Zweiereignis-HPC-Ereigniskombinationen aus dem Teilsatz des ersten Satzes von HPC-Ereignissen; Sammeln von Datensätzen gutartiger Klassen und bösartiger Klassen für den Kandidatensatz von Zweiereignis-HPC-Ereigniskombinationen; Anwenden einer Informationsgewinnanalyse, um einen gemeinsamen Informationsgewinn des Kandidatensatzes von Zweiereignis-HPC-Ereigniskombinationen zu messen; und Einstufen des Kandidatensatzes von Zweiereignis-HPC-Ereigniskombinationen basierend auf dem gemeinsamen Informationsgewinn.
  • Beispiel 11 beinhaltet den Gegenstand der Beispiele 8-10, wobei der computerlesbare Speicher Anweisungen umfasst, die bei Ausführung durch den Prozessor den Prozessor veranlassen zum Anwenden eines Maschinenlern(ML)-Modells unter Verwendung des zweiten Satzes von HPC-Ereigniskombinationen, um den zweiten Satz von HPC-Ereigniskombinationen basierend auf der Malware-Detektionsgenauigkeit einzustufen.
  • Beispiel 12 beinhaltet den Gegenstand der Beispiele 8-11, ferner umfassend Anweisungen, die bei Ausführung durch den Prozessor den Prozessor veranlassen zum Anwenden eines genetischen Algorithmus auf den zweiten Satz von HPC-Ereigniskombinationen, um einen Kandidatensatz von Zweiereignis-HPC-Ereigniskombinationen aus dem Teilsatz des ersten Satzes von HPC-Ereignissen zu erzeugen.
  • Beispiel 13 beinhaltet den Gegenstand der Beispiele 8-12, wobei der genetische Algorithmus einen oder mehrere Crossover-Operatoren und einen oder mehrere Mutationsoperatoren anwendet, um einen Kandidatensatz von Zweiereignis-HPC-Ereigniskombinationen aus dem Teilsatz des ersten Satzes von HPC-Ereignissen zu erzeugen.
  • Beispiel 14 beinhaltet den Gegenstand der Beispiele 8-13, wobei der computerlesbare Speicher Anweisungen umfasst, die bei Ausführung durch den Prozessor den Prozessor veranlassen zum Auswählen, aus dem Teilsatz des dritten Satzes erweiterter Kombinationen von HPC-Ereignissen, einer einzigen Kombination von HPC-Ereignissen, die zur Malware-Detektion und -Klassifizierung zu verwenden ist.
  • Beispiel 15 ist ein oder mehrere computerlesbare Speicherungsmedien, die darauf gespeicherte Anweisungen umfassen, die als Reaktion auf ihre Ausführung eine Rechenvorrichtung zu Folgendem veranlassen: Erzeugen eines ersten Satzes von Hardwareperformanzzähler(HPC)-Ereignissen, die basierend auf einer Fähigkeit eines einzelnen HPC-Ereignisses, ein Profil für eine Malware-Klasse zu erstellen, eingestuft werden; Erzeugen, aus einem Teilsatz des ersten Satzes von HPC-Ereignissen, eines zweiten Satzes von HPC-Ereigniskombinationen, der basierend auf einer Fähigkeit eines Satzes von mindestens zwei gemeinsamen HPC-Ereignissen, ein Profil für eine Malware-Klasse zu erstellen, eingestuft wird;
  • Erzeugen, aus einem Teilsatz des zweiten Satzes von HPC-Ereigniskombinationen, eines dritten Satzes von erweiterten HPC-Ereigniskombinationen; Erstellen eines Profils für ein oder mehrere Malware-Ereignisse und eine oder mehrere gutartige Anwendungen, um einen Detektionsgenauigkeitsparameter für jedes Malware-Ereignis in dem einen oder den mehreren Malware-Ereignissen zu erhalten; Anwenden eines Maschinenlern(ML)-Modells unter Verwendung des dritten Satzes von HPC-Ereigniskombinationen, um den dritten Satz von HPC-Ereigniskombinationen basierend auf der Malware-Detektionsgenauigkeit einzustufen; und Anwenden eines genetischen Algorithmus auf den dritten Satz von HPC-Ereigniskombinationen, um einen Teilsatz des dritten Satzes von erweiterten Kombinationen von HPC-Ereignissen zu identifizieren, die zur Malware-Detektion und -Klassifizierung verwendet werden sollen.
  • Beispiel 16 beinhaltet den Gegenstand der Beispiele 13-15, ferner umfassend darauf gespeicherte Anweisungen, die als Reaktion auf ihre Ausführung die Rechenvorrichtung veranlassen zum Anwenden einer Informationsgewinnanalyse, um die Fähigkeit eines einzelnen HPC-Ereignisses zu bestimmen, ein Profil für eine Malware-Klasse zu erstellen.
  • Beispiel 17 beinhaltet den Gegenstand der Beispiele 15-16, ferner umfassend darauf gespeicherte Anweisungen, die als Reaktion auf ihre Ausführung die Rechenvorrichtung veranlassen zum iterativen Erzeugen eines Kandidatensatzes von Zweiereignis-HPC-Ereigniskombinationen aus dem Teilsatz des ersten Satzes von HPC-Ereignissen; Sammeln von Datensätzen gutartiger Klassen und bösartiger Klassen für den Kandidatensatz von Zweiereignis-HPC-Ereigniskombinationen; Anwenden einer Informationsgewinnanalyse, um einen gemeinsamen Informationsgewinn des Kandidatensatzes von Zweiereignis-HPC-Ereigniskombinationen zu messen; und Einstufen des Kandidatensatzes von Zweiereignis-HPC-Ereigniskombinationen basierend auf dem gemeinsamen Informationsgewinn.
  • Beispiel 18 beinhaltet den Gegenstand der Beispiele 15-17, ferner umfassend darauf gespeicherte Anweisungen, die als Reaktion auf ihre Ausführung die Rechenvorrichtung veranlassen zum Anwenden eines Maschinenlern(ML)-Modells unter Verwendung des zweiten Satzes von HPC-Ereigniskombinationen, um den zweiten Satz von HPC-Ereigniskombinationen basierend auf der Malware-Detektionsgenauigkeit einzustufen.
  • Beispiel 19 beinhaltet den Gegenstand der Beispiele 15-18, ferner umfassend darauf gespeicherte Anweisungen, die als Reaktion auf ihre Ausführung die Rechenvorrichtung veranlassen, ferner darauf gespeicherte Anweisungen zu umfassen, die als Reaktion auf ihre Ausführung die Rechenvorrichtung veranlassen zum Anwenden eines genetischen Algorithmus auf den zweiten Satz von HPC-Ereigniskombinationen, um einen Kandidatensatz von Zweiereignis-HPC-Ereigniskombinationen aus dem Teilsatz des ersten Satzes von HPC-Ereignissen zu erzeugen.
  • Beispiel 20 beinhaltet den Gegenstand der Beispiele 15-19, wobei der genetische Algorithmus einen oder mehrere Crossover-Operatoren und einen oder mehrere Mutationsoperatoren anwendet, um einen Kandidatensatz von Zweiereignis-HPC-Ereigniskombinationen aus dem Teilsatz des ersten Satzes von HPC-Ereignissen zu erzeugen.
  • Beispiel 21 beinhaltet den Gegenstand der Beispiele 15-20, ferner umfassend darauf gespeicherte Anweisungen, die als Reaktion auf ihre Ausführung die Rechenvorrichtung veranlassen zum Auswählen, aus dem Teilsatz des dritten Satzes erweiterter Kombinationen von HPC-Ereignissen, einer einzigen Kombination von HPC-Ereignissen, die zur Malware-Detektion und -Klassifizierung zu verwenden ist.
  • In der obigen Beschreibung werden zum Zweck der Erläuterung zahlreiche spezifische Einzelheiten dargelegt, um ein umfassendes Verständnis der beschriebenen Ausführungsformen bereitzustellen. Für den Fachmann ist jedoch offensichtlich, dass Ausführungsformen ohne manche dieser speziellen Details umgesetzt werden können. Bei anderen Fällen sind gut bekannte Strukturen und Vorrichtungen in Blockdiagrammform gezeigt. Es kann eine Zwischenstruktur zwischen veranschaulichten Komponenten geben. Die hierin beschriebenen oder veranschaulichten Komponenten können zusätzliche Eingänge oder Ausgänge aufweisen, die nicht veranschaulicht oder beschrieben sind.
  • Verschiedene Ausführungsformen können verschiedene Prozesse beinhalten. Diese Prozesse können durch Hardwarekomponenten durchgeführt werden oder können in Computerprogramm- oder maschinenausführbaren Anweisungen umgesetzt sein, die verwendet werden können, um zu bewirken, dass ein Allzweck- oder Spezialprozessor oder Logikschaltungen, die mit den Anweisungen programmiert sind, die Prozesse durchführen. Alternativ dazu können die Prozesse durch eine Kombination von Hardware und Software durchgeführt werden.
  • Teile verschiedener Ausführungsformen können als ein Computerprogrammprodukt bereitgestellt sein, das ein computerlesbares Medium mit darauf gespeicherten Computerprogrammanweisungen beinhalten kann, die verwendet werden können, um einen Computer (oder andere elektronische Vorrichtungen) zur Ausführung durch einen oder mehrere Prozessoren zu programmieren, um einen Prozess gemäß bestimmten Ausführungsformen durchzuführen. Zu dem computerlesbaren Medium können unter anderem magnetische Platten, optische Platten, Nurlesespeicher (ROM), Direktzugriffsspeicher (RAM), EPROM (Erasable Programmable Read Only Memory: löschbarer programmierbarer Nurlesespeicher), EEPROM (Electrically Erasable Programmable Read Only Memory: elektrisch löschbarer programmierbarer Nurlesespeicher), magnetische oder optische Karten, Flash-Speicher oder eine andere Art von computerlesbarem Medium, das zum Speichern von elektronischen Anweisungen geeignet ist, zählen. Darüber hinaus können Ausführungsformen auch als ein Computerprogrammprodukt heruntergeladen werden, wobei das Programm von einem entfernten Computer zu einem anfordernden Computer übertragen werden kann.
  • Viele der Verfahren werden in ihrer grundlegendsten Form beschrieben, aber Prozesse können zu jedem der Verfahren hinzugefügt oder daraus gelöscht werden, und Informationen können zu jeder der beschriebenen Nachrichten hinzugefügt oder daraus entfernt werden, ohne vom grundlegenden Schutzumfang der vorliegenden Ausführungsformen abzuweichen. Für Fachleute versteht sich, dass viele weitere Modifikationen und Anpassungen vorgenommen werden können. Die speziellen Ausführungsformen werden nicht bereitgestellt, um das Konzept zu beschränken, sondern um es zu veranschaulichen. Der Schutzumfang der Ausführungsformen soll nicht durch die oben bereitgestellten speziellen Beispiele bestimmt werden, sondern nur durch die unten aufgeführten Ansprüche.
  • Wenn gesagt wird, dass ein Element „A“ an oder mit Element „B“ gekoppelt ist, kann Element A direkt oder indirekt über beispielsweise Element C an Element B gekoppelt sein. Wenn in der Beschreibung oder den Ansprüchen angegeben ist, dass eine Komponente, ein Merkmal, eine Struktur, ein Prozess oder eine Charakteristik A eine Komponente, ein Merkmal, eine Struktur, einen Prozess oder eine Charakteristik B „verursacht“, bedeutet dies, dass „A“ zumindest eine Teilursache von „B“ ist, es aber auch mindestens eine andere Komponente, Merkmal, Struktur, Prozess oder Charakteristik geben kann, die dazu beiträgt, „B“ zu verursachen. Wenn die Beschreibung angibt, dass eine Komponente, ein Merkmal, eine Struktur oder eine Charakteristik enthalten sein „kann“ oder „könnte“, muss die spezielle Komponente, das spezielle Merkmal, die spezielle Struktur oder die spezielle Charakteristik nicht notwendigerweise enthalten sein. Wenn sich die Spezifikation oder der Anspruch auf „ein“ Element bezieht, bedeutet dies nicht, dass nur eines der Elemente vorhanden ist.
  • Eine Ausführungsform ist eine Implementierung oder ein Beispiel. In der Spezifikation bedeutet ein Bezug auf „eine Ausführungsform“, „manche Ausführungsformen“ oder „andere Ausführungsformen“, dass ein spezielles Merkmal, eine spezielle Struktur oder eine spezielle Charakteristik, das bzw. die in Verbindung mit den Ausführungsformen beschrieben wird, in zumindest einigen Ausführungsformen, aber nicht zwangsweise allen Ausführungsformen enthalten ist. Die verschiedenen Vorkommnisse von „einer Ausführungsform“ oder „manchen Ausführungsformen“ beziehen sich nicht immer notwendigerweise auf dieselben Ausführungsformen. Es versteht sich, dass in der vorstehenden Beschreibung beispielhafter Ausführungsformen verschiedene Merkmale mitunter in einer einzigen Ausführungsform, Figur oder Beschreibung davon zusammengefasst sind, um die Offenbarung zu straffen und zum Verständnis eines oder mehrerer der verschiedenen neuartigen Aspekte beizutragen. Diese Art der Offenbarung darf jedoch nicht als eine Absicht wiedergebend ausgelegt werden, dass die beanspruchten Ausführungsformen mehr Merkmale als ausdrücklich in jedem Anspruch erwähnt erfordern. Vielmehr liegen, wie in den folgenden Ansprüchen wiedergegeben, neuartige Aspekte in weniger als allen Merkmalen einer einzelnen offenbarten Ausführungsform. Somit werden die Ansprüche hiermit ausdrücklich in diese Beschreibung aufgenommen, wobei jeder Anspruch für sich allein als separate Ausführungsform steht.

Claims (14)

  1. Verfahren, das Folgendes umfasst: Erzeugen eines ersten Satzes von Hardwareperformanzzähler(HPC)-Ereignissen, die basierend auf einer Fähigkeit eines einzelnen HPC-Ereignisses, ein Profil für eine Malware-Klasse zu erstellen, eingestuft werden; Erzeugen, aus einem Teilsatz des ersten Satzes von HPC-Ereignissen, eines zweiten Satzes von HPC-Ereigniskombinationen, der basierend auf einer Fähigkeit eines Satzes von mindestens zwei gemeinsamen HPC-Ereignissen, ein Profil für eine Malware-Klasse zu erstellen, eingestuft wird; Erzeugen, aus einem Teilsatz des zweiten Satzes von HPC-Ereigniskombinationen, eines dritten Satzes von erweiterten HPC-Ereigniskombinationen; Erstellen eines Profils für ein oder mehrere Malware-Ereignisse und eine oder mehrere gutartige Anwendungen, um einen Detektionsgenauigkeitsparameter für jedes Malware-Ereignis in dem einen oder den mehreren Malware-Ereignissen zu erhalten; Anwenden eines Maschinenlern(ML)-Modells unter Verwendung des dritten Satzes von HPC-Ereigniskombinationen, um den dritten Satz von HPC-Ereigniskombinationen basierend auf der Malware-Detektionsgenauigkeit einzustufen; und Anwenden eines genetischen Algorithmus auf den dritten Satz von HPC-Ereigniskombinationen, um einen Teilsatz des dritten Satzes von erweiterten Kombinationen von HPC-Ereignissen zu identifizieren, die zur Malware-Detektion und -Klassifizierung verwendet werden sollen.
  2. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Anwenden einer Informationsgewinnanalyse, um die Fähigkeit eines einzelnen HPC-Ereignisses zu bestimmen, ein Profil für eine Malware-Klasse zu erstellen.
  3. Verfahren nach einem der Ansprüche 1-2, das ferner iterativ Folgendes umfasst: Erzeugen eines Kandidatensatzes von Zweiereignis-HPC-Ereigniskombinationen aus dem Teilsatz des ersten Satzes von HPC-Ereignissen; Sammeln von Datensätzen gutartiger Klassen und bösartiger Klassen für den Kandidatensatz von Zweiereignis-HPC-Ereigniskombinationen; Anwenden einer Informationsgewinnanalyse, um einen gemeinsamen Informationsgewinn des Kandidatensatzes von Zweiereignis-HPC-Ereigniskombinationen zu messen; und Einstufen des Kandidatensatzes von Zweiereignis-HPC-Ereigniskombinationen basierend auf dem gemeinsamen Informationsgewinn.
  4. Verfahren nach einem der Ansprüche 1-3, das ferner Folgendes umfasst: Anwenden eines Maschinenlern(ML)-Modells unter Verwendung des zweiten Satzes von HPC-Ereigniskombinationen, um den zweiten Satz von HPC-Ereigniskombinationen basierend auf der Malware-Detektionsgenauigkeit einzustufen.
  5. Verfahren nach einem der Ansprüche 1-4, das ferner Folgendes umfasst: Anwenden eines genetischen Algorithmus auf den zweiten Satz von HPC-Ereigniskombinationen, um einen Kandidatensatz von Zweiereignis-HPC-Ereigniskombinationen aus dem Teilsatz des ersten Satzes von HPC-Ereignissen zu erzeugen.
  6. Verfahren nach einem der Ansprüche 1-5, wobei der genetische Algorithmus einen oder mehrere Crossover-Operatoren und einen oder mehrere Mutationsoperatoren anwendet, um einen Kandidatensatz von Zweiereignis-HPC-Ereigniskombinationen aus dem Teilsatz des ersten Satzes von HPC-Ereignissen zu erzeugen.
  7. Verfahren nach einem der Ansprüche 1-5, das ferner Folgendes umfasst: Auswählen, aus dem Teilsatz des dritten Satzes erweiterter Kombinationen von HPC-Ereignissen, einer einzigen Kombination von HPC-Ereignissen, die zur Malware-Detektion und -Klassifizierung zu verwenden ist.
  8. Einrichtung, die Folgendes umfasst: einen Prozessor; und einen computerlesbaren Speicher, der Anweisungen umfasst, die bei Ausführung durch den Prozessor den Prozessor zu Folgendem veranlassen: Erzeugen eines ersten Satzes von Hardwareperformanzzähler(HPC)-Ereignissen, die basierend auf einer Fähigkeit eines einzelnen HPC-Ereignisses, ein Profil für eine Malware-Klasse zu erstellen, eingestuft werden; Erzeugen, aus einem Teilsatz des ersten Satzes von HPC-Ereignissen, eines zweiten Satzes von HPC-Ereigniskombinationen, der basierend auf einer Fähigkeit eines Satzes von mindestens zwei gemeinsamen HPC-Ereignissen, ein Profil für eine Malware-Klasse zu erstellen, eingestuft wird; Erzeugen, aus einem Teilsatz des zweiten Satzes von HPC-Ereigniskombinationen, eines dritten Satzes von erweiterten HPC-Ereigniskombinationen; Erstellen eines Profils für ein oder mehrere Malware-Ereignisse und eine oder mehrere gutartige Anwendungen, um einen Detektionsgenauigkeitsparameter für jedes Malware-Ereignis in dem einen oder den mehreren Malware-Ereignissen zu erhalten; Anwenden eines Maschinenlern(ML)-Modells unter Verwendung des dritten Satzes von HPC-Ereigniskombinationen, um den dritten Satz von HPC-Ereigniskombinationen basierend auf der Malware-Detektionsgenauigkeit einzustufen; und Anwenden eines genetischen Algorithmus auf den dritten Satz von HPC-Ereigniskombinationen, um einen Teilsatz des dritten Satzes von erweiterten Kombinationen von HPC-Ereignissen zu identifizieren, die zur Malware-Detektion und -Klassifizierung verwendet werden sollen.
  9. Einrichtung nach Anspruch 8, wobei der computerlesbare Speicher Anweisungen umfasst, die bei Ausführung durch den Prozessor den Prozessor zu Folgendem veranlassen: Anwenden einer Informationsgewinnanalyse, um die Fähigkeit eines einzelnen HPC-Ereignisses zu bestimmen, ein Profil für eine Malware-Klasse zu erstellen.
  10. Einrichtung nach einem der Ansprüche 8-9, wobei der computerlesbare Speicher Anweisungen umfasst, die bei Ausführung durch den Prozessor den Prozessor iterativ zu Folgendem veranlassen: Erzeugen eines Kandidatensatzes von Zweiereignis-HPC-Ereigniskombinationen aus dem Teilsatz des ersten Satzes von HPC-Ereignissen; Sammeln von Datensätzen gutartiger Klassen und bösartiger Klassen für den Kandidatensatz von Zweiereignis-HPC-Ereigniskombinationen; Anwenden einer Informationsgewinnanalyse, um einen gemeinsamen Informationsgewinn des Kandidatensatzes von Zweiereignis-HPC-Ereigniskombinationen zu messen; und Einstufen des Kandidatensatzes von Zweiereignis-HPC-Ereigniskombinationen basierend auf dem gemeinsamen Informationsgewinn.
  11. Einrichtung nach einem der Ansprüche 8-10, wobei der computerlesbare Speicher Anweisungen umfasst, die bei Ausführung durch den Prozessor den Prozessor zu Folgendem veranlassen: Anwenden eines Maschinenlern(ML)-Modells unter Verwendung des zweiten Satzes von HPC-Ereigniskombinationen, um den zweiten Satz von HPC-Ereigniskombinationen basierend auf der Malware-Detektionsgenauigkeit einzustufen.
  12. Einrichtung nach einem der Ansprüche 8-11, wobei der computerlesbare Speicher Anweisungen umfasst, die bei Ausführung durch den Prozessor den Prozessor zu Folgendem veranlassen: Anwenden eines genetischen Algorithmus auf den zweiten Satz von HPC-Ereigniskombinationen, um einen Kandidatensatz von Zweiereignis-HPC-Ereigniskombinationen aus dem Teilsatz des ersten Satzes von HPC-Ereignissen zu erzeugen.
  13. Einrichtung nach einem der Ansprüche 8-12, wobei der genetische Algorithmus einen oder mehrere Crossover-Operatoren und einen oder mehrere Mutationsoperatoren anwendet, um einen Kandidatensatz von Zweiereignis-HPC-Ereigniskombinationen aus dem Teilsatz des ersten Satzes von HPC-Ereignissen zu erzeugen.
  14. Einrichtung nach einem der Ansprüche 8-13, wobei der computerlesbare Speicher Anweisungen umfasst, die bei Ausführung durch den Prozessor den Prozessor veranlassen zum Auswählen, aus dem Teilsatz des dritten Satzes erweiterter Kombinationen von HPC-Ereignissen, einer einzigen Kombination von HPC-Ereignissen, die zur Malware-Detektion und -Klassifizierung zu verwenden ist.
DE102021129862.8A 2020-12-23 2021-11-16 Verfahren und Einrichtung zum Identifizieren von Hardwareperformanzzählereignissen zum Detektieren und Klassifizieren von Malware oder Arbeitslast unter Verwendung künstlicher Intelligenz Pending DE102021129862A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/132,248 2020-12-23
US17/132,248 US11790087B2 (en) 2020-12-23 2020-12-23 Method and apparatus to identify hardware performance counter events for detecting and classifying malware or workload using artificial intelligence

Publications (1)

Publication Number Publication Date
DE102021129862A1 true DE102021129862A1 (de) 2022-06-23

Family

ID=75382889

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021129862.8A Pending DE102021129862A1 (de) 2020-12-23 2021-11-16 Verfahren und Einrichtung zum Identifizieren von Hardwareperformanzzählereignissen zum Detektieren und Klassifizieren von Malware oder Arbeitslast unter Verwendung künstlicher Intelligenz

Country Status (3)

Country Link
US (1) US11790087B2 (de)
CN (1) CN114662094A (de)
DE (1) DE102021129862A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11790087B2 (en) 2020-12-23 2023-10-17 Intel Corporation Method and apparatus to identify hardware performance counter events for detecting and classifying malware or workload using artificial intelligence

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007038245A2 (en) * 2005-09-23 2007-04-05 Widevine Technologies, Inc. Method for evolving detectors to detect malign behavior in an artificial immune system
CN105229612B (zh) * 2013-03-18 2018-06-26 纽约市哥伦比亚大学理事会 使用基于硬件的微体系结构数据的异常程序执行的检测
US9996694B2 (en) * 2013-03-18 2018-06-12 The Trustees Of Columbia University In The City Of New York Unsupervised detection of anomalous processes using hardware features
US10185824B2 (en) * 2014-05-23 2019-01-22 The George Washington University System and method for uncovering covert timing channels
US11829475B2 (en) * 2020-10-20 2023-11-28 University Of Florida Research Foundation, Inc. Hardware-assisted malware detection using explainable machine learning
US11790087B2 (en) 2020-12-23 2023-10-17 Intel Corporation Method and apparatus to identify hardware performance counter events for detecting and classifying malware or workload using artificial intelligence

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11790087B2 (en) 2020-12-23 2023-10-17 Intel Corporation Method and apparatus to identify hardware performance counter events for detecting and classifying malware or workload using artificial intelligence

Also Published As

Publication number Publication date
US11790087B2 (en) 2023-10-17
US20210110038A1 (en) 2021-04-15
CN114662094A (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
Wang et al. Rafiki: Machine learning as an analytics service system
DE102019106669A1 (de) Verfahren und anordnungen zum verwalten von speicher in kaskadierten neuronalen netzen
JP6402265B2 (ja) 意思決定モデルを構築する方法、コンピュータデバイス及び記憶デバイス
Zhang et al. GPU-accelerated GLRLM algorithm for feature extraction of MRI
DE102018129692A1 (de) Tiefgehendes Lernen anhand von Ausführungsverlaufsdaten zur Erkennung von Exploits
DE102013209868A1 (de) Abfragen und Integrieren strukturierter und unstrukturierter Daten
DE102018132781A1 (de) Heterogenes Rechensystem, welches konfiguriert ist, um eine Cachekohärenz adaptiv zu steuern
DE102012214007A1 (de) Auswahl eines Protokolls einer kollektiven Operation in einem Paralellrechner
DE202017107393U1 (de) Vorhersagen eines Suchmaschinen-Einordnungssignalwerts
KR20190062848A (ko) 점진적 학습 모델을 이용한 빅데이터 마이닝 시스템 및 그 방법
DE112018004660T5 (de) Verwenden von kommentaren zum bereitstellen von optimierungen
DE112021005422T5 (de) Auf lernen beruhende arbeitslast-ressourcenoptimierung für datenbank-managementsysteme
DE112021003262T5 (de) Erkennen von quelldatensätzen, die zu einem transferlernverfahren für eine zieldomäne passen
DE202014010885U1 (de) Beschleunigung basierend auf zwischengespeicherte Flüsse
DE112020002684T5 (de) Ein Mehrfachverfahrenssystem für optimale Vorhersagemodellauswahl
DE112020005789T5 (de) Hierarchische partitionierung von operatoren
DE102021133816A1 (de) Attestierung von operationen durch toolketten
DE112020003825T5 (de) Entsprechung zwischen externen Operationen und Containern sowie Mutationsereignissen
DE102018003483A1 (de) Optimierte bildmerkmalsextraktion
DE112010004808T5 (de) Gleichzeitige Ausführung einer Anforderungsverarbeitung und von Analysen von Anforderungen
DE102021129862A1 (de) Verfahren und Einrichtung zum Identifizieren von Hardwareperformanzzählereignissen zum Detektieren und Klassifizieren von Malware oder Arbeitslast unter Verwendung künstlicher Intelligenz
DE102019103279A1 (de) Techniken zur informationsgraphenkomprimierung
DE112021003274T5 (de) Ressourcenzuordnung zum optimieren von hyperparametern bei umfangreichen deep-learning-arbeitslasten
DE112022000878T5 (de) Datensatzmultiplexer für datenverarbeitungssystem
DE102016204594A1 (de) Abgleichen von datenquellen ohne tags mit datenanalyseanwendungen ohne tags