DE102019214541A1 - Rechenvorrichtung und Verfahren zum Erkennen einer Bedrohung in einer virtuellen Einheit - Google Patents

Rechenvorrichtung und Verfahren zum Erkennen einer Bedrohung in einer virtuellen Einheit Download PDF

Info

Publication number
DE102019214541A1
DE102019214541A1 DE102019214541.8A DE102019214541A DE102019214541A1 DE 102019214541 A1 DE102019214541 A1 DE 102019214541A1 DE 102019214541 A DE102019214541 A DE 102019214541A DE 102019214541 A1 DE102019214541 A1 DE 102019214541A1
Authority
DE
Germany
Prior art keywords
unit
virtual
memory
computing device
virtualization
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.)
Withdrawn
Application number
DE102019214541.8A
Other languages
English (en)
Inventor
Volker Fusenig
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE102019214541.8A priority Critical patent/DE102019214541A1/de
Publication of DE102019214541A1 publication Critical patent/DE102019214541A1/de
Withdrawn 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

Landscapes

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

Abstract

Rechenvorrichtung zum Erkennen einer Bedrohung, enthaltend:- mindestens eine Virtuelle Einheit (20, 30), die eine zugewiesene Speichereinheit (22, 32) aufweist und durch Betreiben einer Virtualisierungseinheit (13) ausgebildet ist,- mindestens eine Bedrohungserkennungseinheit (14), die als Teil der Virtualisierungseinheit (13) oder in einem für die Virtualisierungseinheit (13) verwendeten Bereich eines Betriebssystems (12) ausgebildet ist und derart konfiguriert ist, die der virtuellen Einheit (20, 30) zugewiesene Speichereinheit (22, 32) auf Schadcode zu untersuchen, und- mindestens eine Überwachungseinheit (15), die derart ausgebildet ist, eine Warnfunktion auszuführen, wenn ein Schadcode erkannt wird.

Description

  • Die Erfindung betrifft eine Rechenvorrichtung und ein Verfahren zum Erkennen einer Bedrohung in einer virtuellen Einheit, die eine zugewiesene Speichereinheit aufweist und durch Betreiben einer Virtualisierungseinheit ausgebildet ist.
  • Angriffe gegen IT-Systeme, wie beispielsweise Server oder sonstige Rechenvorrichtungen, sind allgegenwärtig. Aus diesem Grund gibt es eine Vielzahl von Möglichkeiten, wie solche Angriffe erkannt beziehungsweise abgewehrt werden können. Dabei werden zum Beispiel lokal auf der Rechenvorrichtung installierte Software-Agenten eingesetzt, die anhand bestimmter Charakteristika Schadsoftware oder sonstige Modifikationen in einem IT-System erkennen können. Ein Software-Agent ist ein Computerprogramm, das abhängig von verschiedenen Zuständen einen bestimmten Verarbeitungsvorgang ausführt, ohne dass von außen ein weiteres Startsignal gegeben wird, oder während des Vorgangs ein äußerer Steuerungseingriff erfolgt.
  • In vielen Fällen werden IT-Systeme in einem Virtualisierungsmodus betrieben. Als Virtualisierung bezeichnet man eine Nachbildung eines Hardware- oder Softwareobjekts durch ein ähnliches Objekt vom selben Typ mit Hilfe einer Abstraktionsschicht. Dadurch können mehrere virtuelle Betriebsumgebungen auf einem Computer erzeugt und parallel betrieben werden. Bei einer Container-Virtualisierung können mehrere Instanzen eines Betriebssystems isoliert voneinander auf einem Hostsystem betrieben werden. Diese Instanzen werden als Container bezeichnet. Bei einer Virtualisierung durch einen Hypervisor können eine oder mehrere Virtuelle Maschinen erzeugt werden, die eine Software-technische Kapselung eines sogenannten Clientsystems innerhalb eines lauffähigen Hostsystem bezeichnet. Die abstrahierende Schicht zwischen dem realen Rechner, auf dem die Virtuelle Maschine ausgeführt wird, und der virtuellen Maschine wird Hypervisor oder auch virtueller MaschinenMonitor genannt.
  • In Virtuellen Maschinen oder Containern werden Software-Agenten zur Erkennung von Angriffen aus Performance-Gründe in der Regel nicht eingesetzt. Häufig wird eine Angriffserkennung auf Netzwerkebene durchgeführt, indem zum Beispiel der Netzverkehr auf bekannte Angriffsschritte überwacht wird. Dadurch können jedoch einzelne infizierte Virtuelle Maschinen oder Container nur schwer lokalisiert und erkannt werden.
  • Es ist somit die Aufgabe der vorliegenden Erfindung, eine Ressourcen-effiziente und Manipulations-sichere Angriffserkennung in eine Computer-virtualisierten Umgebung zu schaffen.
  • Die Aufgabe wird durch die in den unabhängigen Ansprüchen beschriebenen Maßnahmen gelöst. In den Unteransprüchen sind vorteilhafte Weiterbildungen der Erfindung dargestellt.
  • Gemäß einem ersten Aspekt betrifft die Erfindung eine Rechenvorrichtung zum Erkennen einer Bedrohung enthaltend mindestens eine Virtuelle Einheit, die eine zugewiesene Speichereinheit aufweist und durch Betreiben einer Virtualisierungseinheit ausgebildet ist, mindestens eine Bedrohungserkennungseinheit, die als Teil der Virtualisierungseinheit oder in einem für die Virtualisierungseinheit verwendeten Bereich eines Betriebssystems ausgebildet ist und derart konfiguriert ist, die der virtuellen Einheit zugewiesene Speichereinheit auf Schadcode zu untersuchen, und mindestens eine Überwachungseinheit, die derart ausgebildet ist, eine Warnfunktion auszuführen, wenn ein Schadcode erkannt wird.
  • Dies hat den Vorteil, dass die Bedrohungserkennungseinheit und die der virtuellen Einheit zugewiesene Speichereinheit getrennt voneinander in der Rechenvorrichtung ausgebildet sind. So ist die Speichereinheit einer virtuellen Einheit durch die Virtualisierungseinheit zugewiesen. Eine Anwendung, die in dieser virtuellen Einheit ausgeführt wird, kann ausschließlich auf diese zugewiesene Speichereinheit zugreifen. Die Bedrohungserkennungseinheit ist dagegen als Teil der Virtualisierungseinheit ausgebildet und somit getrennt von den virtuellen Einheiten angeordnet. Die Bedrohungserkennungseinheit ist somit lokal und auch logisch von der virtuellen Einheit separiert und kann nicht durch Schadcode in der virtuellen Einheit verändert werden. Somit ist eine Manipulation der Bedrohungserkennungseinheit durch die Virtuelle Einheit kaum möglich. Die Bedrohungserkennung arbeitet somit unabhängig von der virtuellen Einheit und der darin enthaltenen, eventuell manipulierten Software. Andererseits kann die Bedrohungserkennungseinheit durch ihre zentrale Lage auf eine Vielzahl von virtuellen Einheiten und deren zugewiesenen Speichereinheiten zugreifen und diese analysieren. Die Bedrohungserkennungseinheit ist somit Ressourcen effizient insbesondere gegenüber beispielsweise einem entsprechenden Software-Agenten, der innerhalb jeder einzelnen virtuellen Einheit angeordnet ist.
  • In einer vorteilhaften Ausführungsform ist die Virtuelle Einheit eine Virtuelle Maschine, die durch einen Hypervisor oder einen virtuellen Maschinenmonitor als Virtualisierungseinheit gesteuert wird. Virtuelle Maschinen werden insbesondere im geteilt verwendeten Serverumfeld, auch als Cloud bezeichnet, häufig verwendet. Somit können viele dieser Server in der erfindungsgemäßen Weise betrieben werden und somit Bedrohungen und Schadsoftware erkannt werden.
  • In einer alternativen Ausführungsform ist die Virtuelle Einheit ein virtueller Container, der durch eine Containerhosteinheit als Virtualisierungseinheit gesteuert wird. Eine Betriebssystem-Virtualisierung, mit der virtuelle Container erzeugt werden, wird zunehmend eingesetzt, da diese Art der Virtualisierung gegenüber einer virtuellen Maschine weniger Ressourcen benötigt und somit die Rechenvorrichtung als solches effizienter nutzt.
  • In einer vorteilhaften Ausführungsform hat die Bedrohungserkennungseinheit nur lesend Zugriff auf die Speichereinheit der virtuellen Einheit. Dies hat den Vorteil, dass die Speichereinheit der Virtuellen Einheit nicht durch die Bedrohungserkennungseinheit selbst modifiziert oder manipuliert werden kann.
  • In einer vorteilhaften Ausführungsform ist die Bedrohungserkennungseinheit derart ausgebildet, lediglich Teile der Speichereinheit auszulesen und auszuwerten. Dies erfordert lediglich geringe zusätzliche Speicherkapazität für die Bedrohungserkennungseinheit und kann bei gezielter Auswahl und Voranalyse der Speichereinheit die erforderliche Zeit zur Bedrohungserkennung optimiert.
  • In einer vorteilhaften Ausführungsform ist die Bedrohungserkennungseinheit derart ausgebildet, die Speichereinheit nach Anzeichen einer Manipulation des Speicherinhalts zu untersuchen. Dies hat den Vorteil, dass gezielt bekannte oder spezifische Anzeichen einer Manipulation ermittelt werden. Dies ermöglicht eine zeitoptimierte oder auch gezielte Suche nach einem bestimmten Angriffstyp.
  • In einer vorteilhaften Ausführungsform ist ein Anzeichen einer Manipulation eine Sequenz von aufeinanderfolgenden Nulloperationen. Häufig werde solche Nulloperationen durch einen Angreifer in einen vorhandenen Programmcode eingefügt, um sicherzustellen, dass bei der Ausführung des Softwarecodes ein angefügter Schadcode auch sicher durchgeführt wird.
  • In einer vorteilhaften Ausführungsform sind Manipulationsmuster in die Bedrohungserkennungseinheit ladbar und die Bedrohungserkennungseinheit untersucht die Speichereinheit nach Signaturen der geladenen Manipulationsmuster. Somit können aktuelle Manipulationsmuster in die Bedrohungserkennungseinheit beispielsweise in regelmäßigen zeitlichen Abständen oder sobald neue Manipulationsmuster vorhanden sind, beispielsweise bei einem Sicherheitsserver angefordert und geladen werden. Somit kann die Bedrohungserkennungseinheit auch solche aktuellen Manipulationsmustern erkennen.
  • In einer vorteilhaften Ausführungsform vergleicht die Bedrohungserkennungseinheit ein Abbild der Speichereinheit mit mindestens einem bekannten, nicht kompromittierten Speicherabbild einer gleichartigen virtuellen Einheit. Dies ermöglicht es in einfacher Weise und auch ohne vorliegende Manipulationsmuster Schadcode in der Speichereinheit aufzufinden.
  • In einer vorteilhaften Ausführungsform führt die Überwachungseinheit bei Erkennen einer Bedrohung mindestens eine Aktion aus, wobei eine Aktion ein Beenden der virtuellen Einheit ist, deren Speichereinheit als kompromittiert erkannt wurde. Eine Aktion ist ein Speichern des als kompromittiert erkannten Speicherabbilds in eine Auswertungsdatei, oder ein Starten einer virtuellen Einheit, die eine gleiche, nicht-kompromittierte Anwendung ausführt wie die beendete Virtuelle Einheit. Eine Aktion ist auch ein Ausgeben eines Hinweissignals oder ein Erstellen eines Log-Eintrags und Abspeichern in einer Logdatei. Somit wird eine erkannte Bedrohung umfassend dokumentiert und kann weiter analysiert oder zur Erkennung neuer Manipulationsmuster verwendet werden.
  • Gemäß einem zweiten Aspekt betrifft die Erfindung ein Verfahren zum Erkennen einer Bedrohung in einer Rechenvorrichtung enthaltend die Schritte:
    • Bereitstellen mindestens einer virtuellen Einheit, die durch Betreiben einer Virtualisierungseinheit auf der Rechenvorrichtung ausgebildet ist und eine zugewiesene Speichereinheit aufweist, Untersuchen der der virtuellen Einheit zugewiesenen Speichereinheit auf Schadcode durch eine Bedrohungserkennungseinheit, die als Teil der Virtualisierungseinheit oder in einem Bereich eines Betriebssystems der Rechenvorrichtung ausgebildet ist, und Ausführen einer Warnfunktion durch eine Überwachungseinheit, wenn ein Schadcode erkannt wurde.
  • Durch das Verfahren kann eine Manipulation einer Anwendung, die auf einem virtuellen Container oder in einer virtuellen Maschine ausgeführt wird, effizient und ohne Einflussnahme durch eine manipulierte Software in dem Container beziehungsweise der virtuellen Maschine untersucht und aufgespürt werden.
  • In einer vorteilhaften Ausführungsform wird nur lesend auf die zugewiesene Speichereinheit zugegriffen und insbesondere lediglich ein Teil oder die gesamte Speichereinheit ausgelesen und untersucht. So kann variabel und angepasst auf die Rechenkapazität und Speicherkapazität einer Rechenvorrichtung das Verfahren angepasst werden.
  • In einer vorteilhaften Ausführungsform wird die Speichereinheit nach Anzeichen einer Manipulation des Speicherinhalts untersucht, wobei ein Anzeichen einer Manipulation eine Sequenz von aufeinanderfolgenden Nulloperationen ist, die Speichereinheit nach Signaturen von bekannten Manipulationsmustern untersucht wird, ein Abbild der Speichereinheit mit mindestens einem bekannten, nicht kompromittierten Speicherabbild einer gleichartigen virtuellen Einheit verglichen wird.
  • In einer vorteilhaften Ausführungsform wird bei Erkennen einer Bedrohung mindestens eine Aktion ausgeführt, wobei eine Aktion ein Beenden des Ausführens der virtuellen Einheit ist, deren Speichereinheit als kompromittiert erkannt wurde, ein Speichern des als kompromittiert erkannten Speicherabbilds in eine Auswertedatei ist, ein Starten einer neuen virtuellen Einheit, die eine gleiche, nicht kompromittierte Funktion ausführt wie die beendete Virtuelle Einheit ist, ein Ausgeben eines Hinweissignals ist oder ein Erstellen eines Logeintrags und Abspeichern des Logeintrags in die Logdatei ist.
  • Gemäß einem dritten Aspekt umfasst die Erfindung ein Computerprogrammprodukt, umfassend ein Computer-lesbares Medium, das direkt in einen Speicher eines digitalen Computers ladbar ist, umfassend Programmcodeteile, die dazu geeignet sind, die Schritte des vorgenannten Verfahrens durchzuführen.
  • Sofern es in der nachfolgenden Beschreibung nicht anders angegeben ist, beziehen sich Begriffe wie „Durchführen“, „Untersuchen“, „Bereitstellen“, „Ausführen“ und dergleichen, vorzugsweise auf Handlungen und/oder Prozesse und/oder Verarbeitungsschritte, die Daten verändern und/oder erzeugen und/oder die Daten in andere Daten überführen, wobei die Daten insbesondere als physikalische Größen dargestellt werden oder vorliegen können, beispielsweise als elektrische Impulse.
  • Insbesondere soll der Ausdruck „Rechnervorrichtung“ und „Computer“ möglichst weit ausgelegt werden, um insbesondere alle elektronischen Geräte mit Datenverarbeitungseigenschaften abzudecken. Computer und Rechenvorrichtungen können somit beispielsweise Personal Computer, Server sein, die Rechnergestützt Daten verarbeiten können, Prozessoren und andere elektronische Geräte zur Datenverarbeitung sein.
  • Unter einer „Speichereinheit“ kann im Zusammenhang mit der Erfindung beispielsweise ein Speicher in Form von Arbeitsspeicher (englisch: Random Access Memory, RAM) oder eine Festplatte verstanden werden.
  • Unter einer „Einheit“ kann im Zusammenhang mit der Erfindung beispielsweise ein Prozessor und/oder eine Speichereinheit zum Speichern von Programmbefehlen verstanden werden. Beispielsweise ist der Prozessor speziell dazu eingerichtet, Programmbefehle derart auszuführen, damit der Prozessor Funktionen ausführt, das erfindungsgemäße Verfahren oder einen Schritt des erfindungsgemäßen Verfahrens zu implementieren.
  • Die jeweilige „Einheit“, zum Beispiel Virtualisierungseinheit oder Virtuelle Einheit oder Bedrohungserkennungseinheit kann Hardware-technisch und/oder auch Software-technisch implementiert sein. Bei einer Hardware-technischen Implementierung kann die jeweilige Einheit als Vorrichtung oder als Teil einer Vorrichtung, zum Beispiel als Computer oder als Mikroprozessor ausgebildet sein. Bei einer Software-technischen Implementierung kann die jeweilige Einheit als Computerprogrammprodukt, als eine Funktion, als eine Routine, als Teil eines Programmcodes oder als ausführbares Objekt ausgebildet sein.
  • Ein Computerprogrammprodukt kann beispielsweise als Speichermedium, wie zum Beispiel eine Speicherkarte, USB-Stick, DVD, oder auch in Form einer herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden.
  • Ausführungsbeispiele der erfindungsgemäßen Rechenvorrichtung und des erfindungsgemäßen Verfahrens sind in den Zeichnungen beispielhaft dargestellt und werden anhand der nachfolgenden Beschreibung näher erläutert. Es zeigen:
    • 1 ein erstes Ausführungsbeispiel der erfindungsgemä-ßen Rechenvorrichtung in Blockdarstellung;
    • 2 ein zweites Ausführungsbeispiel der erfindungsgemäß Rechenvorrichtung in Blockdarstellung; und
    • 3 ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens als Ablaufdiagramm.
  • Einander entsprechende Teile sind in allen Figuren mit den gleichen Bezugszeichen versehen.
  • 1 zeigt eine Rechenvorrichtung 10 mit Hardware-Ressourcen 11 sowie einer Virtualisierungseinheit 13, die beispielsweise als eine Containerhosteinheit oder als Hypervisor ausgebildet ist. Die Virtualisierungseinheit 13 erlaubt den simultanen Betrieb mehrerer virtueller Einheiten 20, 30, häufig auch als Gastsysteme bezeichnet, auf einem Hostsystem, auch als Wirtsystem bezeichnet, hier der Rechenvorrichtung 10.
  • Die Virtualisierungseinheit 13 kann als Containerhosteinheit ausgebildet sein, die eine Containervirtualisierung bereitstellt. Eine solche Containerhosteinheit bildet ein Host-Betriebssystem und stellt jeder virtuellen Einheiten 20, 30, hier also jedem Container, isoliert voneinander jeweils eine Instanz eines Gast-Betriebssystem 12.1, 12.2 bereit und verwaltet die Ressourcenzuteilung für die einzelnen virtuellen Einheiten 20, 30.
  • Die Virtualisierungseinheit 13 kann auch in Form eines Hypervisors, insbesondere als Typ-2-Hypervisor, ausgebildet sein. Ein solcher Typ-2-Hypervisor bildet ein Host-Betriebssystem und verwaltet die Ressourcenzuteilung für die einzelnen virtuellen Einheiten 20, 30. Sie verteilt die Hardware-Ressourcen 11 derart, dass für jedes einzelne Gastbetriebssystem 12.1, 12.2 einer virtuellen Einheit 20, 30 alle benötigten Ressourcen bei Bedarf verfügbar sind, so, als ob nur ein Betriebssystem vorhanden wäre.
  • Ist die Virtualisierungseinheit 13 eine Containerhosteinheit oder ein Typ-2-Hypervisor, so ist sie als Teil des Betriebssystems 12 der Rechenvorrichtung 10 ausgebildet. Üblicherweise ist die Virtualisierungseinheit 13 Software-technisch implementiert.
  • In 2 ist eine Virtualisierungseinheit 113 dargestellt, die direkt auf Hardware-Ressourcen 111 der Rechenvorrichtung 100 ausgebildet ist und keine vorherige Betriebssystem-Installation benötigt. Eine solche Virtualisierungseinheit 113 ist beispielsweise ein Typ-1-Hypervisor. Das setzt allerdings voraus, dass die Hardware 111 der Rechenvorrichtung 100 vom Typ-1-Hypervisor durch entsprechende Treiber unterstützt wird. Der Typ-1-Hypervisor generiert für jede Virtuelle Einheit 120, 130 ein Gast-Betriebssystem 112.1, 112.2.
  • Auf der Virtualisierungseinheit 113 ist auch hier eine Bedrohungserkennungseinheit 114 ausgebildet, die in gleicher Weise wie die Bedrohungserkennungseinheit 14 der Rechenvorrichtung 10 aus 1 ausgebildet ist.
  • Die nachfolgenden Ausführungen gelten in gleicher Weise für die in 1 dargestellte Rechenvorrichtung 10, die eine Virtualisierungseinheit 13 in Form einer Containerhosteinheit oder einen Typ-2-Hypervisor aufweist, als auch für die in 2 dargestellte Rechenvorrichtung 100, die eine Virtualisierungseinheit 113 in Form eines Typ-2-Hypervisor aufweist.
  • Die Virtuelle Einheit 20, 30, 120, 130 nutzt gemeinsam einige Ressourcen der Virtualisierungseinheit, beispielsweise Software-Bibliotheken. Die virtuellen Einheiten 20, 30, 120, 130 sind jedoch auch eigene Bereiche, insbesondere eine Speichereinheit 22, 32 zugewiesen, die physikalisch im Bereich der Hardware-Ressourcen 11, 111 angeordnet sind, gestrichelte in der Hardware 11, 111 eingezeichnet, logisch aber der virtuellen Einheit 20, 30, 120, 130 zur Nutzung zugewiesen sind. Anwendungen 21, 22 laufen gekapselt innerhalb der virtuellen Einheit 20, 30, 120, 130 ab und werden in der zugewiesenen Speichereinheit 22, 32 gespeichert. Ein Angriff auf eine Anwendung 21, 31 führt daher zunächst zu einer Kompromittierung der virtuellen Einheit 20, 30, 120, 130.
  • Zur Erkennung von Bedrohungen beispielsweise durch einen solchen Angriff wird nun eine Bedrohungserkennung 14, 114 in der Virtualisierungseinheit 13, 113 angeordnet, die auf den Speicherbereich 22, 33 der Virtuellen Einheiten 20, 30, 120, 130 lesend zugreift. Dabei kann entweder die komplette Speichereinheit 22, 32 oder nur Teile davon ausgelesen und ausgewertet werden.
  • Durch die Implementierung der Bedrohungserkennungseinheit 14, 114 auf der Virtualisierungseinheit 13, 113, die als Teil des Host-Betriebssystems 12 der Rechenvorrichtung 10 beziehungsweise direkt auf der Hardware 111 der Vorrichtung 100 ausgebildet ist, ist der Zugriff durch Schadsoftware, die innerhalb einer virtuellen Einheit 20, 30, 120, 130 ist, erschwert oder gar unmöglich gemacht. Die der virtuellen Einheit 20, 30, 120, 130 zugewiesene Speichereinheit 22, 32 ist zur Verdeutlichung der Trennung zwischen der Virtualisierungseinheit 13, 113 und der Speichereinheit 20, 30, 120, 130 als abgeschlossene Speichereinheit innerhalb der Ressourcen 11, 111 dargestellt. Somit kann die Bedrohungserkennungseinheit 14, 114 nur schwerlich manipuliert durch eine Anwendungssoftware innerhalb der virtuellen Einheit 20, 30, 120, 130 manipulierte werden. Des Weiteren kann die Bedrohungserkennungseinheit 14, 114 auf die Speichereinheiten von einer Vielzahl von virtuellen Einheiten eine manipulierte Anwendungssoftware innerhalb der virtuellen Einheit 20, 30, 120, 130 zugreifen und diese untersuchen. Dies ist somit Ressourcen-effizient im Vergleich zu einem mehrmaligen Ausführen derselben Bedrohungserkennungseinheit einer virtuellen Einheit 20, 30.
  • Die Bedrohungserkennungseinheit 14, 114 in der Virtualisierungseinheit 13, 113 kann auf die Speichereinheit 22, 32 ohne das Wissen der virtuellen Einheit eine manipulierte Anwendungssoftware innerhalb der virtuellen Einheit 20, 30, 120, 130 zugreifen. Ein Angreifer, der sich schon Zugriff auf eine Virtuelle Einheit eine manipulierte Anwendungssoftware innerhalb der virtuellen Einheit 20, 30, 120, 130 verschafft hat, kann also nicht erkennen, dass eine Bedrohungserkennungseinheit eine Überprüfung durchgeführt und abwehrende Maßnahmen gegen die Überprüfung ergreifen. Dazu müsste sich ein Angreifer erst Zugriff auf die Virtualisierungseinheit 13, 113 verschaffen. Insgesamt werden Angriffe, bei auf ein möglichst schnelles Abschalten der Angriffserkennung ausgerichtet sind, deutlich erschwert.
  • Ist ein Schadcode durch die Bedrohungserkennungseinheit 14, 114 auf der virtuellen Einheit 20, 30 erkannt worden, wird dies der Überwachungseinheit 15, 115 mitgeteilt, die eine Warnfunktion ausführt. Die Überwachungseinheit 15, 115 kann mit einer externen Überwachungsvorrichtung verbunden sein, die eine Warnmeldung an einen Benutzer oder Wartungspersonal der Rechenvorrichtung 10, 100 ausgibt.
  • Die Bedrohungserkennungseinheit 14, 114 untersucht die Speichereinheit 22, 32 beispielsweise auf Sequenzen von aufeinander folgenden Nulloperationen. Diese werden häufig in vorhandenen Programmcodes vor dem eigentlichen Schadcode eingefügt, um so eine sichere Durchführung des Schadcode zu ermöglichen.
  • Die Bedrohungserkennungseinheit 14, 114 kann des Weiteren auf aktuelle Manipulationsmuster zugreifen und diese in einen der Bedrohungserkennungseinheit 14, 114 zugewiesenen eigenen Speicherbereich laden und eine einzelne oder alle virtuellen Einheiten 20, 30, 120, 130 nach Signaturen der geladenen Manipulationsmuster untersuchen. Als weitere Bedrohungserkennungsmaßnahme kann die Bedrohungserkennungseinheit 14, 114 ein Abbild der Speichereinheit 22, 32 mit mindestens einem bekannten, nicht kompromittierten Speicherabbild einer gleichartigen Virtuellen Einheit vergleichen. Ein nicht kompromittiertes Speicherabbild einer gleichartigen virtuellen Einheit kann beispielsweise von einem externen Speichermodul geladen werden oder durch vorhergehende Analyse der Speichereinheit 22 beispielsweise der virtuellen Einheit 20, 120 ermittelt werden. Ist die der virtuellen Einheit 20, 120 zugeordnete Speichereinheit 22 als nicht kompromittiert beurteilt worden, kann deren Speicherinhalt als solches nicht kompromittiertes Speicherabbild verwendet werden. Beispielsweise wird dieses nicht kompromittierte Speicherabbild in einem der Bedrohungserkennungseinheit 14, 114 zugewiesenen Speicherbereich geladen.
  • Wird eine Manipulation der Speichereinheit 32 erkannt, die der virtuellen Einheit 30 130 zugewiesen ist, wird beispielsweise die virtuellen Einheit 30, 130, deren Speichereinheit 32 als kompromittiert erkannt wurde, beendet. Des Weiteren kann das als kompromittiert erkannte Speicherabbild in eine Auswertedatei gespeichert werden. Diese Auswertungsdatei kann entweder innerhalb der Rechenvorrichtung 10, 100, beispielsweise in der Überwachungseinheit 15, ausgebildet sein oder über eine externe Schnittstelle eine externe Überwachungsvorrichtung übermittelt werden.
  • Des Weiteren kann bei Erkennen einer Bedrohung eine neue Virtuelle Einheit gestartet werden, die eine gleiche, nicht kompromittierte Anwendung ausführt. Dies kann entweder als Ersatz für eine beendete Virtuelle Einheit oder allgemein beim Erkennen einer virtuellen Einheit mit kompromittiertem Speicherinhalt ausgeführt werden.
  • Zusätzlich kann ein Logeintrag erstellt und in einer Logdatei abgespeichert werden. Eine solche Logdatei kann innerhalb der Rechenvorrichtung 10, 100 vorliegen, beispielsweise als Teil der Überwachungseinheit 15, 115 oder an eine externe Überwachungsvorrichtung übermittelt werden.
  • In 3 wird nun das erfindungsgemäße Verfahren beschrieben. In einem ersten Verfahrensschritt S1 wird eine Virtuelle Einheit, beispielsweise eine Virtuelle Maschine oder ein virtueller Container bereitgestellt. Die Virtuelle Einheit selbst wird durch das Betreiben einer Virtualisierungseinheit auf der Rechenvorrichtung ausgebildet.
  • In einem zweiten Verfahrensschritt S2 wird der der virtuellen Einheit 20, 30, 120, 130 zugewiesene Speicher, beispielsweise die Speichereinheit 22, 32, auf Schadcode durch eine Bedrohungserkennungseinheit 14, 114 untersucht, die als Teil der Virtualisierungseinheit 13, 113 oder in einem für die Virtualisierungseinheit 20, 30, 120, 130 verwendeten Bereich eines Betriebssystems 12 die Rechenvorrichtung 10 ausgebildet ist. Wird ein Schadcode erkannt, wird in einem dritten Verfahrensschritt S3 eine Warnfunktion durch eine Überwachungseinheit 15, 115 ausgeführt.
  • Dazu wird die der virtuellen Einheit 20, 30, 120, 130 zugewiesene Speichereinheit 22, 32 ausgelesen und Anzeichen für Angriffe gesucht. Beispiele für solche Anzeigen sind zum Beispiel eine Reihe von Nulloperationsbefehlen. Ein Angreifer, der einen Speicherüberlauf erwirkt hat, führt in der Regel eine Reihe von Nulloperationen in der Speichereinheit 22, 32 ein und fügt im Anschluss seinen Schadcode hinzu. Mehrere aufeinanderfolgende Nulloperationsbefehle deuten also auf einen Angriff hin.
  • Diese Analyse kann sehr effizient ausgeführt werden, weil nur eine begrenzte Anzahl von Speicherzellen der Speichereinheit 22, 32 ausgelesen werden müssen, beispielsweise nur jede hundertste Speicherzelle. Bei Auffinden eines Nulloperationsbefehls werden die angrenzenden Speicherzellen ausgewertet. Eine Manipulation kann auch durch den Vergleich von Speicherabbildern von virtuellen Einheiten 20, 30, 120, 130 mit bekannten nicht-kompromittierten Speicherabbildern sein. Speicherbereiche, in denen sich Code befindet, sollten in der Regel bei nicht-kompromittierten Systemen nicht verändert sein. Änderungen in diesem Bereich können auf einen Angriff hindeuten, zum Beispiel weil ein Angreifer legitimen Code durch Schadcode ausgetauscht hat. Bei dieser Variante kann zur Analyse auch nur auf einen Teilbereich der kompletten Speichereinheit 22, 32 zugegriffen werden, beispielsweise auf jede zehnte Speicherzelle und damit die Analyse beschleunigt werden.
  • In dem vorgeschlagenen Verfahren werden keine zusätzlichen Softwareagenten auf einer virtuellen Einheit selbst benötigt, sondern es wird nur eine Instanz des Verfahrens auf der Virtualisierungseinheit 13, 113, beispielsweise einem Container-Host oder einem Hypervisor ausgeführt. Im Vergleich zu einem Ausführen eines solchen Software-Agenten auf jedem Container wird durch die Bedrohungserkennungseinheit 14, 114, die zentral auf der Virtualisierungseinheit ausgebildet ist, eine effiziente Analyse in Bezug auf Rechenkapazität erlangt. Zum anderen kann eine Bedrohungserkennungseinheit als Teil der Virtualisierungseinheit auf Speicherbereiche der einzelnen virtuellen Einheiten ohne deren Wissen zugreifen. Ein Angreifer, der sich schon Zugriff auf eine Virtuelle Einheit verschafft hat, bemerkt nicht, dass ein Bedrohungserkennungsverfahren im Einsatz ist und kann dagegen nur schwer abwehrende Maßnahmen ergreifen. Somit ist ein Angriff auf die Bedrohungserkennungseinheit 14, 114 und ein Abschalten oder eine Manipulation der Bedrohungserkennungseinheit 14, 114 beziehungsweise des entsprechenden Verfahrens zum Erkennen einer Bedrohung deutlich erschwert.
  • Alle beschriebenen und/oder gezeichneten Merkmale können im Rahmen der Erfindung vorteilhaft miteinander kombiniert werden. Die Erfindung ist nicht auf die beschriebenen Ausführungsbeispiele beschränkt.

Claims (15)

  1. Rechenvorrichtung zum Erkennen einer Bedrohung, enthaltend: - mindestens eine Virtuelle Einheit (20, 30, 120, 130), die eine zugewiesene Speichereinheit (22, 32) aufweist und durch Betreiben einer Virtualisierungseinheit (13, 113) ausgebildet ist, - mindestens eine Bedrohungserkennungseinheit (14, 114), die als Teil der Virtualisierungseinheit (13, 113) oder in einem für die Virtualisierungseinheit (13, 113) verwendeten Bereich eines Betriebssystems (12, 112) ausgebildet ist und derart konfiguriert ist, die der virtuellen Einheit (20, 30, 120, 130) zugewiesene Speichereinheit (22, 32) auf Schadcode zu untersuchen, und - mindestens eine Überwachungseinheit (15,115), die derart ausgebildet ist, eine Warnfunktion auszuführen, wenn ein Schadcode erkannt wird.
  2. Rechenvorrichtung nach Anspruch 1, wobei die Virtuelle Einheit (20, 30, 120, 130) eine Virtuelle Maschine ist, die durch einen Hypervisor oder einen Virtuellen Maschinenmonitor als Virtualisierungseinheit (13, 113) gesteuert wird.
  3. Rechenvorrichtung nach Anspruch 1, wobei die Virtuelle Einheit (20, 30) ein virtueller Container ist, der durch eine Containerhosteinheit als Virtualisierungseinheit (13, 113) gesteuert wird.
  4. Rechenvorrichtung nach einem der vorangehenden Ansprüche, wobei die Bedrohungserkennungseinheit (14, 114) nur lesenden Zugriff auf die Speichereinheit (22, 32) der Virtuellen Einheit (20, 30, 120, 130) hat.
  5. Rechenvorrichtung nach einem der vorangehenden Ansprüche, wobei die Bedrohungserkennungseinheit (14, 114) derart ausgebildet ist, lediglich Teile der Speichereinheit (22, 32) auszulesen und auszuwerten.
  6. Rechenvorrichtung nach einem der vorangehenden Ansprüche, wobei die Bedrohungserkennungseinheit (14, 114) derart ausgebildet ist, die Speichereinheit (22, 32) nach Anzeichen einer Manipulation des Speicherinhaltes zu untersuchen.
  7. Rechenvorrichtung nach Anspruch 6, wobei ein Anzeichen einer Manipulation eine Sequenz von aufeinander folgenden Nulloperationen ist.
  8. Rechenvorrichtung nach Anspruch 6 oder 7, wobei mindestens ein Manipulationsmuster in die Bedrohungserkennungseinheit (14, 114) ladbar sind und die Bedrohungserkennungseinheit (14, 114) die Speichereinheit (22, 32) nach Signaturen von geladenen Manipulationsmustern untersucht.
  9. Rechenvorrichtung nach einem der Ansprüche 6 bis 8, wobei die Bedrohungserkennungseinheit (14, 114) ein Abbild der Speichereinheit (22, 32) mit mindestens einem bekannten, nicht kompromittierten Speicherabbild einer gleichartigen Virtuellen Einheit (20, 30, 120, 130) vergleicht.
  10. Rechenvorrichtung nach einem der vorhergehenden Ansprüche, wobei die Überwachungseinheit (15, 115) bei Erkennen einer Bedrohung mindestens eine der folgenden Aktionen ausführt, - Beenden der Virtuellen Einheit (20, 30, 120, 130), deren Speichereinheit (22, 32) als kompromittiert erkannt wurde, - Speichern des als kompromittiert erkannten Speicherabbilds in einer Auswertungsdatei, - Starten einer neuen Virtuellen Einheit (20, 30, 120, 130), die eine gleiche, nicht-kompromittierte Anwendung ausführt, - Ausgeben eines Hinweissignals, - Erstellen eines Log-Eintrags und Abspeichern in einer LogDatei.
  11. Verfahren zum Erkennen einer Bedrohung in einer Rechenvorrichtung, enthaltend die Schritte: - Bereitstellen (S1) mindestens einer Virtuellen Einheit (20, 30, 120, 130), die eine zugewiesene Speichereinheit (22, 32) aufweist und durch Betreiben einer Virtualisierungseinheit (13, 113) auf der Rechenvorrichtung (10, 100) ausgebildet ist, - Untersuchen (S2) der der Virtuelle Einheit (20, 30, 120, 130) zugewiesenen Speichereinheit (22, 32) auf Schadcode durch eine Bedrohungserkennungseinheit (14, 114), die als Teil der Virtualisierungseinheit (13, 113) oder in einem für die Virtualisierungseinheit (13, 113) verwendeten Bereich eines Betriebssystems (12, 112) der Rechenvorrichtung (10, 100) ausgebildet ist, und - Ausführen (S3) einer Warnfunktion durch eine Überwachungseinheit (15, 115), wenn ein Schadcode erkannt wurde.
  12. Verfahren nach Anspruch 11, wobei nur lesend auf die zugewiesenen Speichereinheit (22, 32) zugegriffen wird, und insbesondere lediglich einen Teil oder die gesamte Speichereinheit (22, 32) ausgelesen und untersucht wird.
  13. Verfahren nach einem der Ansprüche 11 oder 12, wobei die Speichereinheit (22, 32) nach Anzeichen einer Manipulation des Speicherinhaltes untersucht wird, wobei - ein Anzeichen einer Manipulation eine Sequenz von aufeinander folgenden Nulloperationen ist, - die Speichereinheit (22, 32) nach Signaturen von bekannten Manipulationsmustern untersucht wird, - ein Abbild der Speichereinheit (22, 32) mit mindestens einem bekannten, nicht kompromittierten Speicherabbild einer gleichartigen Virtuelle Einheit (20, 30, 120, 130) verglichen wird.
  14. Verfahren nach einem der Ansprüche 11 oder 13, wobei bei Erkennen einer Bedrohung mindestens eine der nachfolgenden Aktionen ausgeführt wird: - Beenden der Virtuellen Einheit (20, 30, 120, 130), deren Speichereinheit (22, 32) als kompromittiert erkannt wurde, - Speichern des als kompromittiert erkannten Speicherabbilds in einer Auswertungsdatei, - Starten einer neuen Virtuellen Einheit, die eine gleiche, nicht-kompromittierte Funktion ausführt wie die beendete Virtuelle Einheit (20, 30, 120, 130), - Ausgeben eines Hinweissignals, - Erstellen und Abspeichern eines Log-Eintrags in einer LogDatei.
  15. Computerprogrammprodukt, umfassend ein Computerlesbares Medium, das direkt in einen Speicher eines digitalen Computers ladbar ist, umfassend Programmcodeteile, die dazu geeignet sind, die Schritte des Verfahrens nach einem der Ansprüche 11 bis 14 durchzuführen.
DE102019214541.8A 2019-09-24 2019-09-24 Rechenvorrichtung und Verfahren zum Erkennen einer Bedrohung in einer virtuellen Einheit Withdrawn DE102019214541A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019214541.8A DE102019214541A1 (de) 2019-09-24 2019-09-24 Rechenvorrichtung und Verfahren zum Erkennen einer Bedrohung in einer virtuellen Einheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019214541.8A DE102019214541A1 (de) 2019-09-24 2019-09-24 Rechenvorrichtung und Verfahren zum Erkennen einer Bedrohung in einer virtuellen Einheit

Publications (1)

Publication Number Publication Date
DE102019214541A1 true DE102019214541A1 (de) 2021-03-25

Family

ID=74846379

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019214541.8A Withdrawn DE102019214541A1 (de) 2019-09-24 2019-09-24 Rechenvorrichtung und Verfahren zum Erkennen einer Bedrohung in einer virtuellen Einheit

Country Status (1)

Country Link
DE (1) DE102019214541A1 (de)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170019420A1 (en) * 2014-03-11 2017-01-19 Siemens Aktiengesellschaft Device and method for detecting manipulation of a program code
US9961098B2 (en) * 2015-06-26 2018-05-01 Vmware, Inc. Container data offline and online scan in a cloud environment
US9977898B1 (en) * 2016-10-31 2018-05-22 International Business Machines Corporation Identification and recovery of vulnerable containers
US20180173555A1 (en) * 2016-12-19 2018-06-21 Bitdefender IPR Management Ltd. Event Filtering for Virtual Machine Security Applications
US20190158523A1 (en) * 2008-09-12 2019-05-23 George Mason Research Foundation, Inc. Methods and apparatus for application isolation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190158523A1 (en) * 2008-09-12 2019-05-23 George Mason Research Foundation, Inc. Methods and apparatus for application isolation
US20170019420A1 (en) * 2014-03-11 2017-01-19 Siemens Aktiengesellschaft Device and method for detecting manipulation of a program code
US9961098B2 (en) * 2015-06-26 2018-05-01 Vmware, Inc. Container data offline and online scan in a cloud environment
US9977898B1 (en) * 2016-10-31 2018-05-22 International Business Machines Corporation Identification and recovery of vulnerable containers
US20180173555A1 (en) * 2016-12-19 2018-06-21 Bitdefender IPR Management Ltd. Event Filtering for Virtual Machine Security Applications

Similar Documents

Publication Publication Date Title
DE112019001121B4 (de) Auf einem computer implementiertes verfahren zum identifizieren von malware und system hierfür
DE10392320B4 (de) Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems
DE112017003335T5 (de) Maschinelles lernen in gegnerischen umgebungen
EP3430558B1 (de) Erkennen einer abweichung eines sicherheitszustandes einer recheneinrichtung von einem sollsicherheitszustand
DE202014011092U1 (de) Sicherheitsarchitektur für virtuelle Maschinen
DE112013002012B4 (de) Verfahren eines Erkennens von Schadsoftware in einem Betriebssystemkern
DE112019000594T5 (de) Injizieren von Abfangcode in einen Ausführungspfad eines ein Programm ausführenden Prozesses, um einen Abfangadressbereich zu erzeugen, um möglichen schädlichen Programmcode zu erkennen
DE102017106016A1 (de) System und Verfahren zur Erkennung von Befehlssequenzen von Interesse
DE102023201190A1 (de) Erkennung eines bösartigen domänenerzeugungsalgorithmus (dga) im speicher einer datenverarbeitungseinheit unter verwendung von maschinenlernenden erkennungsmodellen
DE112020005949T5 (de) Informationsverarbeitungsvorrichtung, Anomalieerfassungsverfahren und Computerprogramm
DE112022003368T5 (de) Verschlüsselungsüberwachungsregister und -system
EP3095065B1 (de) Vorrichtung und verfahren zum detektieren einer manipulation an einem programmcode
DE112021000455T5 (de) Deep packet analyse
DE602004002241T2 (de) Schutz eines auf ausführungwartenden Programms in einem Speicher für einen Mikroprozessor
DE102019214541A1 (de) Rechenvorrichtung und Verfahren zum Erkennen einer Bedrohung in einer virtuellen Einheit
DE102022204716A1 (de) Rechnersystem zur bereitstellung einer mehrzahl von funktionen für eine vorrichtung, insbesondere für ein fahrzeug, mittels separation einer mehrzahl von zonen
EP4028878B1 (de) Verfahren zum sicheren starten einer gerätesoftware, insbesondere eines betriebssystems, eines elektronischen gerätes
DE112015003759B4 (de) Bearbeiten mehrerer Zähler auf der Grundlage einer einzigen Zugangsprüfung
DE102016221804A1 (de) Ungültigmachen von Einträgen in einem Adressumsetzpufferspeicher durch ein Gast-Betriebssystem
DE112020004607T5 (de) Sicherheitsüberprüfung eines universal serial bus gerätes
DE202013103358U1 (de) Selektive Einschätzung der Schädlichkeit von im Adressraum eines vertrauenswürdigen Prozesses ausgeführtem Software-Code
DE102019106912A1 (de) Gefährdungserfassungssystem
DE60202887T2 (de) Generisches verfahren zum erkennen von in datenketten verborgenen attackenprogrammen
WO2023061733A1 (de) Automatische analyse einer ausnutzbarkeit von schwachstellen eines software-images
DE102023201189A1 (de) Erkennen von bösartigen url (uniform resource locator) in arbeitsspeicher einer datenverarbeitungseinheit mit hilfe von machine-learning-erkennungsmodellen

Legal Events

Date Code Title Description
R163 Identified publications notified
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee