sicherheit und ki: was lernen neuronale netze? - ecsm 2019...schwachstellen in pdf-leseprogrammen...
TRANSCRIPT
Sicherheit und KI: Was lernen neuronale Netze?ECSM 2019
Alexander Warnecke, 30. Oktober 2019
Institut fürSystemsicherheit
Das Institut für Systemsicherheit
Eines von 10 Informatik Instituten der Carl-Friedrich-Gauß FakultätGründung durch Prof. Dr. Konrad Rieck (2016)Aktuell drei PostDocs, vier PromotionsstudentenForschung zur Sicherheit von Computer-Systemen
Erkennung von AngriffenFinden von Schwachstellen in CodeAnalyse von Schadcode
Intelligente Methoden durch Benutzung von maschinellem LernenAngriffe auf diese Systeme („Adversarial Attacks“)Erklärbarkeit für tieferes Verständnis
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 2
Institut fürSystemsicherheit
Teil I
Maschinelles Lernen
Maschinelles Lernen
Wie können computer „etwas lernen“?Automatische Mustererkennung in DatenGeneralisierung von Abhängigkeiten (keine Repetition!)Anwendung auf neue Datenpunkte möglichBeispiel: Automatische Ziffernerkennung (MNIST Datensatz)
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 4
Institut fürSystemsicherheit
Lernmodelle
Eingabedaten X („data“)Objekte zum Lernen repräsentiert als Vektoren in X = RN
Ausgabedaten Y („labels“)Eigenschaften der Objekte, die vorhergesagt werden soll, z.B. Y = {−1, 1}
LernaufgabeObjekte mit Eigenschaften (x1, y1), . . . , (xd, yd) ∈ X× YParametrisierte Vorhersagefunktion fθ : X→ YFinde Parameter θ sodass fθ möglichst gute Vorhersagen für x1, . . . , xdmachtTeste fθ auf ungesehenen Daten x̃1, . . . , x̃k
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 5
Institut fürSystemsicherheit
Beispiel: Äpfel vs. Birnen
Automatische Klassifizierung vonÄpfeln und BirnenEingabedaten X sind zweidimensional
Höhe und Farbe der FruchtAusgabedaten Y = {−1, 1}
Typ der FruchtEinfacher Ansatz: LineareFunktion
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 6
Institut fürSystemsicherheit
Beispiel: Äpfel vs. Birnen
fθ = x1w1 + x2w2 + bθ = (w1,w2, b)Finde „bestes“ θ mitVerlustfunktion L : Y× Y→ R
Vergleich von Vorhersage mittatsächlicher EigenschaftBeispiel: Quadratischer Verlust
Lθ(yk, fθ(xk)) =(yk − fθ(xk)
)2
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 7
Institut fürSystemsicherheit
Beispiel: Äpfel vs. Birnen
Risiko wendet Verlustfunktion aufDatensatz an
R(fθ) =1d
d
∑i=1
L(yi, fθ(xi))
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 8
Institut fürSystemsicherheit
Beispiel: Äpfel vs. Birnen
Risiko wendet Verlustfunktion aufDatensatz an
R(fθ) =1d
d
∑i=1
L(yi, fθ(xi))
Der optimale Parameter θminimiert das Risiko
θ∗ = argminθ
R(fθ)
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 9
Institut fürSystemsicherheit
Teil II
Neuronale Netze
Exkurs: Wie funktioniert unser Gehirn?
Komplexes Geflecht aus ca. 1011 NeuronenVerbunden durch ca. 1014 SynapsenKommunikation durch elektrischeSignaleWenn Eingangssignale einen Schwellwertüberschreiten „feuert“ das NeuronHäufiges Feuern verstärkt Synapsen(synaptische Plastizität) - man „lernt“!
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 11
Institut fürSystemsicherheit
Das Perzeptron
Mitte der 50er Jahre entwickelt von Frank RosenbaumInspiriert durch die Wirskungsweise des Gehirns
o(x) =
{0 if ∑i wixi − b ≤ 01 if ∑i wixi − b > 0
Image source: http://statworx.com
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 12
Institut fürSystemsicherheit
Das Perzeptron
Einfaches überwachtes Lernverfahren zur binären Klassifikation∑i wixi − b = 0 definiert (Hyper)EbeneIteratives Verfahren zur Anpassung von w erlaubt Trennung vonlinear-separierbaren Daten
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 13
Institut fürSystemsicherheit
Aufbau von neuronalen Netzen
Multi-Layer-Perzeptron erlaubtnicht-lineare Trennung von DatenMehrere Schichten (layer)bestehend aus Einheiten (units)Jede Einheit führt nicht-lineareTransformation durch
okj = σ(
∑ixiwij + bj
)Unterschiedliche Wahl für σmöglich, z.B.
σ(x) =1
1 + exp(−x)30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 14
Institut fürSystemsicherheit
Training von neuronalen Netzen
Viele Schichten führen zu komplexen Ausgabefunktionen
fn(x) = σ(
∑ixiwij + bj
)
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 15
Institut fürSystemsicherheit
Training von neuronalen Netzen
Viele Schichten führen zu komplexen Ausgabefunktionen
fn(x) = σ(
∑kw(2)kl σ
(∑ixiw
(1)ij + bj
)+ bl
)
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 16
Institut fürSystemsicherheit
Training von neuronalen Netzen
Viele Schichten führen zu komplexen Ausgabefunktionen
fn(x) = σ(
. . . σ(
∑kw(2)kl σ
(∑ixiw
(1)ij + bj
)+ bl
). . .)
Hochgradig nicht-linear mit mehreren ExtrempunktenRisikominimierung mit geschlossenem Ausdruck kaum möglichAusweg: Suche nach Optimum mit Gradientenabstieg
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 17
Institut fürSystemsicherheit
Gradientenabstieg
Der Gradient einer Funktion zeigtin Richtung des steilsten AnstiegsDer negative Gradient zeigt inRichtung des steilsten AbstiegsAnpassung der Parameter inRichtung des negativenGradienten
θ(t+1) = θ(t) − λ∂R(θ, x)
∂θ
Image source: https://yihui.name/
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 18
Institut fürSystemsicherheit
Gradientenabstieg
Gradient lässt sich durchbackpropagation effektivberechnenViele Probleme können auftreten
Lokale MinimaVerschwindender GradientSpringender GradientLange Suche nach Minimum
Varianten von Gradientenabstiegeigenes Forschungsfeld
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 19
Institut fürSystemsicherheit
Typen von neuronalen Netzen
Spezielle Architekturen für besondere EingabedatenMulti-Layer-Perceptrons für unabhängige EingabedatenFaltende neuronale Netze für lokale Abhängigkeiten (z.B. Bilder)Rekurrente neuronale Netze für sequentielle Daten (z.B. Text)
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 20
Institut fürSystemsicherheit
Teil III
Erklärendes Lernen
Erklärendes Lernen
Neuronale Netze inBildverarbeitung häufigstate-of-the-artMerkmale beimLernprozess automatischextrahiertWelche Merkmale wurdengelernt?Warum wurdenEingabedaten als Klasse yklassifiziert?
Image source: http://neuralnetworksanddeeplearning.com
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 22
Institut fürSystemsicherheit
Layerwise Relevance Propagation - LRP
Berechnung des outputs vorwärtsRückwärts-Ausführung der Berechnungen für ErklärungKonservierungseigenschaft: Keine Informationen gehen verlorenJeder Eingabewert erhält Relevanz für Klassifizierung
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 23
Institut fürSystemsicherheit
Layerwise Relevance Propagation - LRP1
Berechnung des outputs vorwärtsRückwärts-Ausführung der Berechnungen für ErklärungKonservierungseigenschaft: Keine Informationen gehen verlorenJeder Eingabewert erhält Relevanz für Klassifizierung
Rj = ∑j
aiwij
∑i aiwijRk
1www.heatmapping.org
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 24
Institut fürSystemsicherheit
Was lernen wir im MNIST Datensatz?
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 25
Institut fürSystemsicherheit
Anwendungsbeispiele
Vielzahl von Methodenzur Erklärbarkeit existierenAufspüren von Artefaktenim Datensatz möglich2
Vertrauen für Benutzerkann aufgebaut werdenHoher manueller Aufwandzur InspizierungMerkmale können sichüber die Zeit ändern
2Lapuschkin et al., 2019
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 26
Institut fürSystemsicherheit
Teil IV
Erklärbares Lernen in der IT-Sicherheit
Maschinelles Lernen in der IT-Sicherheit
Erkennung von SchadsoftwareHoher manueller Aufwand (Signaturen extrahieren)Täglich neuartige SchadsoftwareObfuskierung zur Umgehung von AV-Scannern
Erkennung von AngriffenGroße potenzielle Gefahren (Kraftwerke, Infrastruktur)Täglich mehrere AngriffeFilterung von neuartigen Angriffen
In vielen Fällen stehen große Datenmengen zur Verfügung, diemaschinelles Lernen ermöglichenKritische Entscheidungen dieser Systeme müssen sinnvoll erklärtwerden können
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 28
Institut fürSystemsicherheit
Schadsoftware in PDF Dokumenten
pdf Dateien beliebtes Einfallstor für SchadsoftwareAnhang in e-mails mit nicht vertrauenwürdigem AbsenderHyperlinks zu unseriösen InternetseitenSchwachstellen in pdf-LeseprogrammenAusführung von javascript Programmen möglich
Automatische Erkennung von schädlichen Dokumenten durch MLP3
Datensatz von 10.000 pdf DokumentenExtraktion von 135 statischen Merkmalen (Anzahl Schriftarten, AnzahlSeiten, Anzahl Javascript Marker, ...)Binäre Kodierung: x = (0, 1, 0, . . . , 1, 0, 0)
MLP mit zwei Schichten erreicht Genauigkeit von 99, 4% beiFalsch-Positiv-Rate von 1, 5%3Guo et al., 2019
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 29
Institut fürSystemsicherheit
Schadsoftware in PDF Dokumenten - Erklärung
Umwandlung numerischer Merkmale inbinäre problematisch für InterpretationErklärungen für schädliche Dokumentedominiert von javascript Merkmalen88 % der schädlichen Dokumente abernur 6 % der gutartigen Dokumentebenutzen javascript (capture bias)Einfache Umgeheng der Detektion wennkein javascript benutzt wird
Id Integrated Gradients
0 count_javascript1 count_js2 count_trailer3 count_endobj4 box_other_only5 pos_page_avg6 createdate_tz7 count_stream8 ...
36 pos_eof_max37 count_endstream38 pos_eof_avg39 moddate_version_ratio40 count_xref41 count_eof42 pos_eof_min43 len_stream_max
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 30
Institut fürSystemsicherheit
Schadsoftware in Android Applikationen
Android beliebtestes Betriebssystem für SmartphonesAttraktiv für Angreifer151.359 neue Banking-Trojaner (2018, Kaspersky Lab)Problematische Erlaubnisse vom Benutzer (unachtsam) gewährt
Automatische Erkennung von schädlicher Malware durch MLP4
Datensatz von ca. 125.000 Android AnwendungenExtraktion von 486.000 statischen Merkmalen ( Angefragte Erlaubnisse,API-calls, URLs, IP-Adressen, ...)Binäre Kodierung: x = (0, 1, 0, . . . , 1, 0, 0)
MLP mit zwei Schichten erreicht Genauigkeit von 98, 1% beiFalsch-Positiv-Rate von 1, 0%
4Grosse et al., 2018
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 31
Institut fürSystemsicherheit
Schadsoftware in Android Applikationen - Erklärung
Wichtige Merkmale fürSchadsoftware stimmen mitverdächtigem Verhaltenüberein
Erklärungen für gutartigesVerhalten unintuitiv(touchscreen, hardware,internet permission)
Korrelationen zwischenMerkmalen schwer zuerkennen
Id Integrated Gradients
0 android.permission.SEND_SMS1 activity::.FirstActivity2 call::sendSMS3 permission.READ_PHONE_STATE4 hardware.telephony5 intent.action.DATA_SMS_RECEIVED6 services.SMSSenderService7 sms.BinarySMSReceiver8 ...18 real.permission.READ_PHONE_STATE19 call::getSystemService20 real.permission.INTERNET21 intent.category.LAUNCHER22 hardware.touchscreen
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 32
Institut fürSystemsicherheit
Schwachstellen in Source-Code
Schwachstellen in Source-Code großes Problem der IT-SicherheitAusführung von eigenem CodeÜbernahme von fremden Rechnern
Hoher manueller Aufwand zum Aufspüren notwendig (bug bounties)Automatische Erkennung von Schwachstellen in Code mit RNN 5
Datensatz von 50.000 Code SnippetsAufwändiges Pre-Processing und Einbettung der Tokens
RNN erreicht Genauigkeit von 90.8% bei Falsch-Positiv-Rate von 5, 7%
5Li et al., 2018
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 33
Institut fürSystemsicherheit
Schwachstellen in Code - Erklärung
Keine Hilfe durch die Erklärungen50 token pro Snippet problematisch„Wichtige“ Semikolons und Klammern geben Hinweis auf „overfitting“des NetzwerksUmwandlung von Zahlen in generische Token macht Problemeunentscheidbar
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 34
Institut fürSystemsicherheit
Schadsoftware in Android Applikationen
Android Applikationen können durch Sequenzen von Byte-Codesdargestellt werden
Merkmale nicht interpretierbar für MenschenKein Einfluss („bias“) durch Menschen bei der Auswahl der Merkmale
Automatische Detektion von Malware in Byte-Sequenzen mit CNN6
CNN betrachtet Blöcke von 8 Instruktionen zusammenKann Programme verschiedener Länge prozessieren
CNN erreicht Genauigkeit von 94.9% bei Falsch-Positiv-Rate von 2, 7%
6McLaughlin et al., 2017
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 35
Institut fürSystemsicherheit
Schadsoftware in Android Applikationen - Erklärung
Wenige (< 1 %) token sind wirklich relevantMacht Auswertung für Experten einfach
Analyse von drei Familien zeigt, dassmarkierte Regionen direkt mit bösartigemVerhalten zusammenhängen
Tabelle zeigt Teil der onReceiveMethodeder GoldDream Familie
Malware fängt eigehende SMS undAnrufe ab und sendet Daten zu Server
Identischer Sequenz in allen Applikationender Familie markiert→ Generalisierung
Id LRP
0 invoke-direct1 return-void2 invoke-direct3 return-void4 invoke-direct5 return-void6 invoke-direct7 return-void8 invoke-direct9 return-void10 invoke-super11 new-instance12 invoke-direct13 const-string14 invoke-virtual15 invoke-virtual16 return-void
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 36
Institut fürSystemsicherheit
Teil V
Fazit und Ausblick
Fazit
Neuronale Netze erzielen in IT-Sicherheitsaufgaben gute ErgebnisseHohe Genauigkeit und geringe Falsch-Positiv-Rate genügen alsBewertung nichtErklärungen zeigen ...
Dass neuronale Netze Probleme generalisieren können und sinnvolleMerkmale extrahierenDass neuronale Netze häufig nur Artefakte aus dem Datensatz lernen
Erklärungen sollten Bestandteil von Benutzung neuronaler Netzewerden
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 38
Institut fürSystemsicherheit
Ausblick: Sind Erklärungsverfahren alle gleich?
Vielzahl von Verfahren zurErklärbarkeit existierenVergleich von Erklärungen E, F mitk wichtigsten Merkmalen TE, TF
IS(E, F) =|TE ∩ TF |
k
Erklärungen sind unterschiedlichWie können unterschiedlicheErklärungen verglichen werden?7
7Warnecke et al., 2019
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 39
Institut fürSystemsicherheit
Fragen?
30. Oktober 2019 Alexander Warnecke Sicherheit und KI: Was lernen neuronale Netze? Seite 40
Institut fürSystemsicherheit