Suchen

Deep Learning und KI in der Threat Protection Mit (künstlicher) Intelligenz gegen Cyberkriminelle

Autor / Redakteur: Stratos Komotoglou / Peter Schmitz

Machine Learning (ML) spielt eine wichtige Rolle bei der Analyse und Korrelation massiver Datenmengen. In der Abwehr von Cyberangriffen eingesetzt hilft ML, die zunehmenden Bedrohungen auf Geräten, in E-Mails und Dokumenten sowie in Anwendungen und Identitäten zu erkennen. Algorithmen und ML-Modelle sind in der Lage, ein vollständiges Bild von Angriffen sowie Handlungsanweisungen für das Abwehren und Bekämpfen von Attacken zu liefern.

Firmen zum Thema

Moderne Malware ist so trickreich und intelligent, dass Security-Software sie oft nur noch mit Hilfe von Machine Learning (ML) entdecken kann.
Moderne Malware ist so trickreich und intelligent, dass Security-Software sie oft nur noch mit Hilfe von Machine Learning (ML) entdecken kann.
(Bild: gemeinfrei / Pixabay )

An Endpunkten, also an den Schnittstellen von Netzwerken nach außen, erkennt unsere Sicherheitsplattform Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP Malware und bösartige Aktivitäten anhand verschiedener Arten von Signalen, die sich über das Verhalten dieser Endpunkte und der gesamten Netzwerke erstrecken. Diese Signale werden in der Cloud über heuristische Methoden und Modelle des maschinellen Lernens aggregiert und verarbeitet. In vielen Fällen reicht die Erkennung eines bestimmten Verhaltenstyps über ein einziges heuristisches oder maschinelles Lernmodell aus, um zum Beispiel die böswillige Modifikation der Windows- Registry oder eines PowerShell-Befehls zu erkennen und einen Alarm auszulösen.

Um komplexere Bedrohungen und bösartige Verhaltensweisen zu erkennen, sind aber umfangreichere Sichtweisen nötig. Solche „Big Pictures“ werden möglich durch die Aggregation von Signalen, die zu unterschiedlichen Zeiten auftreten. So ist zum Beispiel das singuläre Ereignis einer Dateierstellung allein kein Indikator für böswillige Aktivitäten. Wird dieses Ereignis aber durch Beobachtungen an anderen Stellen ergänzt und kommen weitere Signale hinzu, könnte das singulär eigentlich harmlose Ereignis sehr wohl ein signifikanter Indikator für böswillige Aktivitäten sein.

Um eine Ebene für diese Art von Abstraktionen zu schaffen, haben unsere Wissenschaftler*innen neue Signaltypen entwickelt. Diese sind in der Lage, einzelne Signale zu aggregieren und verhaltensbasierte Analysen durchzuführen, um komplexes, bösartiges Verhalten zu erkennen.

Bondat-Wurm durch Machine Learning enttarnt

In diesem Beitrag beschreiben wir eine Anwendung des Deep Learnings, die auf Algorithmen für maschinelles Lernen baut und unterschiedliche Verhaltensanalysen zu einem einzigen Entscheidungsmodell verdichtet. Seit seiner Veröffentlichung hat das Modell bereits zur Enttarnung zahlreicher komplexer Angriffe und Malware-Kampagnen beigetragen. So hat der Algorithmus zum Beispiel eine neue Variante des seit 2013 bekannten Bondat-Wurms enttarnt, der versucht, Computer in Zombies für ein Botnet zu verwandeln, also in von außen ferngesteuerte Computer. Bondat nutzt das Netzwerk von Zombie-Rechnern dafür, andere Websites zu hacken oder das rechenintensive Mining von Kryptowährungen durchzuführen.

Die neue Version des Wurms verbreitet sich über USB-Geräte und erreicht, wenn sie einen Rechner erfolgreich infiziert hat, eine sogenannte Fileless Persistence: Der Schädling arbeitet solange im Arbeitsspeicher eines Geräts, bis er durch einen Neustart deaktiviert wird, und hinterlässt keine Spuren in Form von Dateien auf dem befallenen Computer.

Leistungsstarkes, hochpräzises Klassifikationsmodell für umfangreiche Daten

Das Erkennen böswilliger Aktivitäten in großen Datenmengen erfordert von Microsoft Defender ATP den Einsatz intelligenter Automatisierungsmethoden und künstlicher Intelligenz (KI). Über maschinelles Lernen geschulte Classifier, also Funktionen, die Ereignisse erkennen und einer bestimmten Kategorie zuordnen, können große Mengen historischer Daten verarbeitet werden. Dieses erlernte Wissen wendet Microsoft Defender ATP dann automatisch an, um neue Datenpunkte verlässlich als gut oder böse zu bewerten.

ML-basierte Modelle können zum Beispiel Aktivitäten in der Registry verfolgen, über die das Betriebssystem alle Geräte und Anwendungen konfiguriert. Die Modelle erzeugen auf Basis ihrer Analysen einen Wert, der angibt, mit welcher Wahrscheinlichkeit das Schreiben in die Registry mit bösartigen Aktivitäten in Verbindung gebracht werden kann. Mehrere dieser Analysen können in einem virtuellen Process Tree verknüpft werden. Alle Signale, die mit einem Process Tree verbunden sind, werden aggregiert und dazu verwendet, Angriffe im Gesamtbild besser erkennen zu können.

Doch auch unter Verwendung von virtuellen Process Trees und den verschiedenen Signalen, die mit diesen Bäumen verbunden sind, gibt es immer noch große Datenmengen und „verrauschte“ Signale, die zu durchsuchen sind. Da jedes Signal im Kontext eines Prozessbaums auftritt, ist es notwendig, diese Signale in der chronologischen Reihenfolge der Ausführung innerhalb des Prozessbaums zu verschmelzen. Auf diese Weise geordnete Daten erfordern ein leistungsfähiges Modell zur Klassifizierung von bösartigen bzw. gutartigen Bäumen.

Die Microsoft-Lösung innerhalb des Microsoft Defender ATP umfasst mehrere Deep Learning-Bausteine, darunter künstliche neuronale Netze wie Convolutional Neural Networks (CNN) und Long Short-Term Memory Recurrent Neural Networks (LSTM-RNN). Ein neuronales Netzwerk kann Verhaltenssignale aufnehmen, die chronologisch im Prozessbaum auftreten, und jedes dieser Signale als eine Abfolge von Ereignissen behandeln. Diese Sequenzen können vom neuronalen Netz mit hoher Präzision und Erkennungsrate klassifiziert werden.

Auf Verhalten und auf maschinellem Lernen basierende Signale

Ein verhaltensbasierte Signal kann beispielsweise dazu dienen, einen Eintrag in folgendem Registry-Key zu erstellen:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\Run

Fügt jemand diesem Schlüssel einen Ordner oder eine ausführbare Datei hinzu, werden beide nach dem Start eines Geräts automatisch ausgeführt. Dies erzeugt eine Persistenz auf dem Rechner, also einen länger anhaltenden Zustand, und kann daher als Indicator of Compromise (IoC) angesehen werden, also als einen Indikator für einen unberechtigten Zugriff. Im Allgemeinen reicht ein IoC für eine sichere Angriffserkennung nicht aus, weil auch dafür legitimierte Anwendungen diesen Mechanismus nutzen.

Ein weiteres Beispiel für verhaltensbasierte Signale ist die Service Start Activity. Eine Anwendung, die einen Service per Befehlszeile und über legitimierte Windows-Prozesse wie net.exe startet, wird nicht per se als verdächtige Aktivität klassifiziert. Startet jedoch ein Service, der zuvor im selben Prozessbaum erstellt wurde, um Persistenz zu erhalten, liegt wahrscheinlich ein IoC vor.

Signale an unterschiedlichen Punkten eines möglichen Angriffsvektors werden auch von auf maschinellem Lernen basierenden Modelle erzeugt. Ein Modell, das mit historischen Daten trainiert wurde, um zwischen gut- und bösartigen Befehlszeilen zu unterscheiden, wird beispielsweise eine Bewertung für jede verarbeitete Befehlszeile erzeugen.

Betrachten wir die folgende Befehlszeile:

cmd /c taskkill /f /im someprocess.exe

Diese Zeile sorgt dafür, dass die ausführbare Datei cmd.exe die Anwendung taskkill.exe aufruft, um einen Prozess mit einem bestimmten Namen („someprocess.exe“) zu beenden. Der Befehl selbst ist nicht bösartig. Dennoch kann das ML-Modell im Namen des zu beendenden Prozesses mögliche verdächtige Muster erkennen und einen Wahrscheinlichkeitswert über die Maliziösität, also die Bösartigkeit, zurückmelden, der mit anderen Signalen im Prozessbaum aggregiert wird. Das Ergebnis ist eine Abfolge von Ereignissen während einer bestimmten Zeitspanne für jeden virtuellen Prozessbaum.

Der nächste Schritt ist die Verwendung eines maschinellen Lernmodells, um diese Ereignisfolge zu klassifizieren.

Datenmodellierung

Die in den Prozessbäumen hinterlegten Ereignisabläufe lassen sich auf verschiedene Weise aufbereiten, um sie anschließend in ML-Modelle einzuspeisen. Der erste und einfachste Weg besteht darin, ein Lexikon aller möglichen Ereignisse zu erstellen und jedem Ereignis darin eine eindeutige Kennung (Index) zuzuweisen. Auf diese Weise entsteht ein Vektor, der die Abfolge von Ereignissen repräsentiert. Jeder Eintrag in diesen Vektor (Slot) steht für die Anzahl der Vorkommnisse eines bestimmten Ereignistyps. Wenn beispielsweise die möglichen Ereignisse in einem System X, Y und Z heißen, wird eine Ereignisfolge X,Z,X,X durch den Vektor [3, 0, 1] dargestellt: Die Folge enthält drei Ereignisse X, kein Ereignis Y und ein einzelnes Ereignis Z.

Dieses Darstellungsschema, im englischen Sprachraum als Bag-of-words (https://en.wikipedia.org/wiki/Bag-of-words_model) bezeichnet, eignet sich für traditionelle Modelle des maschinellen Lernens und wird seit langem dort genutzt. Allerdings gehen bei dieser Form der Vektorisierung jegliche Informationen über die Reihenfolge der Ereignisse in der Sequenz verloren.

Das zweite Darstellungsschema ist daher chronologisch. Abbildung 1 zeigt einen typischen Prozessbaum: Process A löst zum Zeitpunkt t1 das Signal X aus, Process B zum Zeitpunkt t2 das Signal Z und so weiter. So vektorisiert, wird die gesamte Sequenz X, Z, X, X (oder [1, 3, 1, 1], wobei die Ereignisse durch ihre Indices ersetzt werden,) an ein ML-Modell übergeben.

Beispielprozessbaum.
Beispielprozessbaum.
(Bild: Microsoft)

Bei der Erkennung von Bedrohungen ist die Reihenfolge verschiedener Ereignisse eine wichtige Information für die verlässliche Identifikation böswilliger Aktivitäten. Daher ist es sinnvoll, ein Darstellungsschema zu verwenden, das die Reihenfolge der Ereignisse bewahrt, sowie ML-Modelle, die auf diese Weise sortierte Daten verarbeiten können. Genau diese Fähigkeit findet sich in den im nächsten Abschnitt beschriebenen ML-Modellen.

CNN-BiLSTM

Deep Learning hat sich bei sequenziellen Aufgaben in der Verarbeitung natürlicher Sprache (Natural Language Processing, NLP) sowie bei Stimmungsanalysen und Spracherkennung als sehr leistungsfähig erwiesen. Microsoft Defender ATP verwendet Deep Learning daher auch zur Erkennung verschiedener Angriffstechniken, darunter auch die einer maliziösen PowerShell. Für die Klassifizierung von Signalabfolgen verwenden wir ein Deep Neural Network, das zwei Arten von Bausteinen (Schichten) kombiniert: Convolutional Neural Networks (CNN) und Bidirectional Long Short-Term Memory Recurrent Neural Networks (BiLSTM-RNN).

CNNs werden bei vielen Analysen von Bildern, Audiodateien und natürlicher Sprache verwendet. Eine Schlüsseleigenschaft von CNNs ist die Fähigkeit, die Komplettansicht eines Inputs in High-Level-Features zu komprimieren. Bei der Verwendung von CNNs in der Bildklassifizierung repräsentieren diese High-Level-Features Teile von oder vollständige Objekte(n), die vom Netzwerk erkannt werden.

In unserem Fallbeispiel wollen wir lange Signalfolgen innerhalb des Prozessbaums modellieren, um High-Level-Features und lokalisierte Merkmale für die nächste Schicht des Netzwerks zu erzeugen. Diese Merkmale könnten Signalsequenzen repräsentieren, die zusammen in den Daten erscheinen. Das können Signale über die Erstellung, Ausführung oder Speicherung einer Datei sein oder über einen Eintrag in der Registry mit dem Ziel, die Datei beim nächsten Start des Rechners auszuführen. Die von den CNN-Schichten erstellten Merkmale sind aufgrund ihrer Klassifizierung und Komprimierung für die nachfolgende LSTM-Schicht leichter zu verdauen.

Die LSTM-Schichten genießen in Fachkreisen einen guten Ruf wegen der Ergebnisse, die sie bei Satzklassifizierung, Übersetzungen, Spracherkennung, Stimmungsanalysen und anderen Modellierungsaufgaben liefern. Bidirektionale LSTMs kombinieren zwei LSTM-Schichten, die die Sequenz in fortlaufender wie auch in rückwärtslaufender Richtung verarbeiten.

Die Kombination der beiden Arten von neuronalen Netzen CNN und RNN hat sich als sehr effizient erwiesen – auch, weil so lange Sequenzen von Hunderten von Ereignissen und Signalen schnell klassifiziert werden können. Am Ende der Klassifizierung steht ein Modell, das aus mehreren Schichten besteht: aus einer Einbettungsschicht, aus zwei CNNs und aus einem einzigen BiLSTM. Der Input für dieses Modell besteht aus einer Sequenz aus Hunderten ganzer Zahlen, die als Vektor die ursprünglichen Signale repräsentieren, die während eines konkreten Zeitraums mit einem einzigen Prozessbaum verbunden waren. Abbildung 2 zeigt die Architektur dieses Modells.

CNN-BiLSTM-Modell.
CNN-BiLSTM-Modell.
(Bild: Microsoft)

Da die Anzahl der möglichen Signale in einem System sehr hoch sein kann, werden Eingangssequenzen durch eine Einbettungsschicht geleitet. Diese komprimiert hochdimensionale Eingaben in niedrigdimensionale Vektoren, die vom Netzwerk verarbeitet werden können. Hochdimensionale Daten sind Informationen, die aufgrund ihrer zahlreichen Variablen nicht in zwei- oder dreidimensionalen Ansichten dargestellt und analysiert werden können. Außerdem erhalten ähnliche Signale im niedrigdimensionalen Raum einen ähnlichen Vektor, was ebenfalls bei der endgültigen Klassifizierung hilft.

Die ersten Schichten eines neuronalen Netzwerks erzeugen immer höherwertige Merkmale, während die letzte Schicht die Klassifizierung der Sequenz durchführt. Das Ergebnis der letzten Schicht ist stets eine Bewertung zwischen 0 und 1. Sie gibt die Wahrscheinlichkeit an, zu der eine Sequenz von Signalen bösartig ist. Die Bewertung wird in Kombination mit anderen Modellen verwendet, um vorherzusagen, ob damit auch der komplette Prozessbaum bösartig ist.

Bedrohungen aus der realen Welt begegnen

Microsoft Defender ATP nutzt das CNN-BiLSTM-Modell, um Bedrohungen aus der realen Welt zu erkennen und im Falle eines tatsächlichen Angriffs Alarm zu schlagen. Wie schon erwähnt, hat dieses Modell bereits eine neue Variante des Bondat-Wurms entdeckt, der sich in mehreren Unternehmen über USB-Geräte verbreitete.

Angriffskette der Bondat-Malware.
Angriffskette der Bondat-Malware.
(Bild: Microsoft)

Das Schadprogramm hält sich hartnäckig in Organisationen, solange einzelne Nutzer*innen weiter infizierte USB-Geräte einsetzen. Wir haben die Malware in einer Organisation auf Hunderten von Rechnern gefunden. Und obwohl wir den Angriff schon während des Infektionszeitraums entdeckten, verbreitete er sich so lange weiter, bis alle befallenen USB-Laufwerke aus dem Verkehr gezogen wurden.

Bondat legt bei seinen Angriffen ein JavaScript Payload, ein Code-Snippet, auf den befallenen Geräten ab, das er mit wscript.exe direkt im Speicher ausführt. Die Snippets verwenden einen zufällig generierten Dateinamen, um ihrer Entdeckung zu entgehen. Ein Antimalware Scan Interface deckt jedoch das bösartige Verhalten des Skripts auf.

Um sich über USB-Geräte zu verbreiten, nutzt die Malware die Windows Management Instrumentation. Damit kann sie aus dem Netzwerk auf fast alle Einstellungen eines Windows-Computers zugreifen. Über WMI kann der Wurm die Festplatten des Rechners mit dem folgenden Aufruf abfragen:

SELECT * FROM Win32_DiskDrive

Wenn die Malware eine Übereinstimmung für /usb findet (siehe Abbildung 5), kopiert sie den JavaScript-Code auf das USB-Gerät und erstellt in seinem Root-Verzeichnis eine Batch-Datei mit dem Ausführungsbefehl für das JavaScript. Um die Nutzer*innen der USB-Geräte über Social Engineering dazu zu verleiten, die Malware auf dem Wechseldatenträger auszuführen, erstellt das Skript eine .lnk-Datei auf dem USB-Gerät, die auf die Batch-Datei verweist.

Infektionstechnik des Bondat-Wurms.
Infektionstechnik des Bondat-Wurms.
(Bild: Microsoft)

Eine der Aufgaben des Bondat-Wurms ist das Beenden von Prozessen einer Antiviren-Software oder von Debugging-Tools. Zudem öffnet die Schadsoftware nach dem Beenden eines Prozesses ein Fenster, das wie eine Windows-Fehlermeldung aussieht. Die Nutzer*innen sollen glauben, dass der Prozess abgestürzt ist (siehe Abbildung 6). Der Manipulationsschutz von Microsoft Defender ATP verhindert allerdings genau das.

Ablenkungsmanöver von Bondat.
Ablenkungsmanöver von Bondat.
(Bild: Microsoft)

Die Malware kommuniziert über die Implementierung eines Web-Clients (MSXML) mit einem entfernt arbeitenden Command-and-Control-Server (C2 oder C&C), der quasi die Steuereinheit eines verzweigten Botnets bildet. Jede Anfrage wird mit RC4 unter Verwendung eines zufällig generierten Schlüssels verschlüsselt, der innerhalb der „PHPSESSID“ gesendet wird. Damit sollen Angreifer*innen in der Lage sein, einen Code innerhalb des POST-Bodys zu entschlüsseln.

Jede Anfrage sendet Informationen über die befallene Maschine und ihren Zustand nach der Ausgabe des zuvor ausgeführten Befehls. Die Antwort wird auf der Festplatte gespeichert und dann so weiterverarbeitet („geparst“), dass Befehle innerhalb eines HTML-Kommentars extrahiert werden. Die ersten fünf Zeichen des Code-Snippets werden als Schlüssel zum Dechiffrieren der Daten verwendet, die Befehle werden mit der Methode eval() ausgeführt. Die Abbildungen 7 und 8 zeigen die C2-Kommunikation und die beschriebene Methode.

Sobald der Befehl geparst und von der JavaScript-Engine ausgewertet ist, kann jeder beliebige Code auf einer betroffenen Maschine ausgeführt werden. Das kann das Nachladen weiterer Codes sein, das Entwenden sensibler Informationen oder der Export gestohlener Daten (Exfiltration). Bei der aktuellen Version des Bondat-Wurms führt die Malware Coin-Mining oder koordinierte Distributed-Denial-of-Service (DDoS)-Angriffe durch.

C2-Kommunikation.
C2-Kommunikation.
(Bild: Microsoft)

Eval()-Methode (Parsing-Befehle vom html-Kommentar).
Eval()-Methode (Parsing-Befehle vom html-Kommentar).
(Bild: Microsoft)

Die Aktivitäten der Bondat-Schadsoftware lösten in der gesamten Angriffskette mehrere Signale aus. Das Deep Learning-Modell hat diese Signale sowie die Reihenfolge untersucht, in der sie auftraten. Dabei stellte der Algorithmus fest, dass der Prozessbaum bösartig war, und löste eine Warnung aus:

  • 1. Persistenz: Die Schadsoftware kopiert sich in den Autostart-Ordner und legt eine .lnk-Datei ab, die auf die beim Systemstart geöffnete Kopie von Bondat verweist.
  • 2. Umbenennen eines bekannten Programms: Die Malware benennt wscript.exe mit einem zufällig generierten Dateinamen um.
  • 3. Ablegen einer Datei mit einem unverfänglichen Dateinamen: Die Malware gibt sich als legitimes Systemtool aus, indem sie eine Datei mit einem ähnlichen Namen wie ein bekanntes Tool ablegt.
  • 4. Verdächtige Befehlszeile: Bondat versucht, sich selbst vom vorherigen Speicherort zu löschen. Dafür verwendet der Wurm eine Befehlszeile, die von dem Prozess wscript.exe ausgeführt wird.
  • 5. Verdächtige Skriptinhalte: Der Wurm verschleiert den Code des JavaScripts, um die Absichten der Angreifer*innen zu verbergen.
  • 6. Verdächtige Netzwerkkommunikation: Die Malware verbindet sich mit der Domäne legitville[.]com.

Microsoft Defender ATP: Intelligente, plattformübergreifende Sicherheit

Die Modellierung eines Prozessbaums, der verschiedene Signale aus unterschiedlichen Zeiten aggregiert, ist eine komplexe Aufgabe. Sie erfordert leistungsfähige Modelle, die sich lange Sequenzen merken, diese dennoch gut genug verallgemeinern können, um qualitativ hochwertige Entdeckungen zu liefern. Das Deep-CNN-BiLSTM-Modell, das wir in diesem Beitrag besprochen haben, ist eine solche leistungsfähige Technologie, die Microsoft Defender ATP bei dieser Aufgabe unterstützt. Heute trägt diese Deep Learning-Lösung dazu bei, dass Microsoft Defender ATP in der Lage ist, im Prinzip bekannte, sich aber evolutionär verändernde Bedrohungen wie Bondat zu erkennen und unschädlich zu machen.

Microsoft Defender ATP löst auf Basis der mit Deep Learning gewonnenen Erkenntnisse Warnmeldungen aus und ermöglicht es Sicherheitsteams in Unternehmen, auf Angriffe mit anderen Funktionen von Microsoft Defender ATP zu reagieren. Dazu zählen das Bedrohungs- und Schwachstellenmanagement, die Reduktion der Angriffsfläche, Schutzmaßnahmen der nächsten Generation, automatisierte Untersuchungen und Reaktionen sowie den Managed-Threat-Hunting-Service Microsoft Threat Experts. Insbesondere informieren die Warnmeldungen auch über die Möglichkeiten von verhaltensbasierten Blockaden und Eindämmungen, die eine weitere Schutzebene hinzufügen.

Die Auswirkungen tiefgreifender, lernbasierter Schutzmaßnahmen auf Endpunkte kommen auch der noch umfassenderen Microsoft Threat Protection zugute, die Signale von Endpunkten mit Daten aus E-Mails und Dokumenten, Identitäten und Anwendungen kombiniert, um eine domänenübergreifende Sichtbarkeit zu gewährleisten. MTP setzt auf die Leistungsfähigkeit der Sicherheitsprodukte, die Teil von Microsoft 365 sind. Damit bietet MTP eine beispiellos koordinierte Verteidigung, die Angriffe auf Unternehmen erkennt, blockiert, behebt – oder im Idealfall ganz verhindert. Durch maschinelles Lernen und KI-Technologien wie das von uns in diesem Beitrag besprochene Deep Learning-Modell analysiert MTP automatisch auch domänenübergreifende Daten, um ein vollständiges Bild jedes Angriffs zu erhalten. Dadurch entfällt die Notwendigkeit, ein Security Operation Center (SOC) zur manuellen Erstellung und Verfolgung der End-to-End-Angriffskette einzusetzen. Stattdessen können sich die SOCs auf kritische Aufgaben wie die Ausweitung der Untersuchungen und die Reaktion auf die Bedrohungen konzentrieren.

Über den Autor: Stratos Komotoglou verantwortet als Senior Subsidiary Product Marketing Manager Microsoft Cybersecurity bei Microsoft Deutschland das gesamte Portfolio von Sicherheitslösungen, u.a. mit Enterprise Mobility + Security, Microsoft Threat Protection, Identity & Access Management, Information Protection und Azure Cloud Security. Er blickt auf langjährige Erfahrung im Bereich Enterprise Mobility und Modern Workplace zurück und war zuletzt bei MobileIron für das EMEA-Marketing verantwortlich.

(ID:46992492)