< Return to Video

Peter Laackmann, Marcus Janke: Hardware-Trojaner in Security-Chips

  • 0:00 - 0:10
    Vorspannmusik
  • 0:10 - 0:14
    Herald: Heute geht es um
    „Hardware-Trojaner in Security-Chips“.
  • 0:14 - 0:19
    Also nicht um Software-
    Trojaner, die die Polizei einsetzen will.
  • 0:19 - 0:23
    Die beiden Herren neben
    mir, Peter und Marcus,
  • 0:23 - 0:27
    forschen seit mehreren Jahren
    zu Smartcards und arbeiten
  • 0:27 - 0:33
    komischerweise beide für Infineon,
    sind aber beide privat hier, und…
  • 0:33 - 0:35
    heißt sie herzlich willkommen!
  • 0:35 - 0:44
    Applaus
  • 0:44 - 0:46
    Peter: Ja vielen Dank und herzlich
    willkommen zu unserem Vortrag über
  • 0:46 - 0:51
    „Hardware-Trojaner and Security-Chips“.
    Wie versprochen reisen wir gleich auf die
  • 0:51 - 0:57
    dunklere Seite der Chip-Technologien, aber
    bevor wir das machen, ganz kurz zu unserer
  • 0:57 - 1:00
    Person: was machen wir, wo kommen wir
    her? Und, ja, vielen Dank noch mal für die
  • 1:00 - 1:06
    Einführung; In der Tat sind wir seit 1989
    aktiv im Bereich der Chipkarten-Forschung;
  • 1:06 - 1:10
    und das Ganze fing an in Brunsbüttel,
    eine kleine Schleusenstadt, ungefähr
  • 1:10 - 1:16
    80 km nordwestlich von hier, mit der
    Forschung an der deutschen Telefonkarte.
  • 1:16 - 1:20
    Die war damals ganz neu und wir wollten
    natürlich unbedingt wissen: Was verbirgt
  • 1:20 - 1:24
    sich hinter diesen kleinen Goldkontakten
    in der Chipkarte, wie funktioniert der
  • 1:24 - 1:29
    Chip und vor allem wie werden da die
    Gebühren drauf gespeichert? Ungefähr
  • 1:29 - 1:34
    1991, also zwei Jahre später haben wir
    auch das erste Mal für den CCC-Kongress
  • 1:34 - 1:38
    einen Vortrag gehalten. Es war damals
    noch im Eidelstädter Bürgerhaus – also
  • 1:38 - 1:42
    viel, viel kleiner als das hier – hat aber
    auch schon Riesenspaß gemacht, dabei
  • 1:42 - 1:48
    zu sein und auch das Wissen mit anderen zu
    teilen. Ja, neben dem Studium – das war
  • 1:48 - 1:52
    bei Marcus in Hamburg und bei mir in Kiel
    – haben wir uns weiter mit dem Thema
  • 1:52 - 1:57
    auseinandergesetzt und auch so die
    eine oder andere Sicherheitsschwäche
  • 1:57 - 2:00
    aufgedeckt und das Ganze auch etwas
    erweitert im Bereiche ‚Datensicherheit und
  • 2:00 - 2:06
    Datenschutz‘. Und wie schon angekündigt
    arbeiten wir momentan auch professionell
  • 2:06 - 2:13
    in dem Bereich, unter anderem für einen
    Halbleiterhersteller, bei dem wir eine
  • 2:13 - 2:16
    kleine Expertengruppe dann
    damals aufgebaut haben.
  • 2:16 - 2:20
    Aber interessant für uns ist: die private
    Forschung läuft weiter und wir schauen
  • 2:20 - 2:24
    uns zum Beispiel momentan an, was
    es so auf dem Surplus-Markt gibt an
  • 2:24 - 2:29
    Equipment, mit dem man dann fröhlich
    forschen kann und schlagkräftiges
  • 2:29 - 2:35
    Equipment zusammenstellen kann. Deshalb,
    kommen wir auch gleich zum eigentlichen
  • 2:35 - 2:39
    Thema: Die Hardware-Trojaner.
    Software-Trojaner, kam in der Einführung
  • 2:39 - 2:46
    schon ganz gut rüber, sind schon lange
    bekannt, deshalb wollen wir hier ein
  • 2:46 - 2:50
    bisschen mehr über die Hardware-Trojaner
    berichten. Die werden ziemlich
  • 2:50 - 2:55
    vernachlässigt – in der Literatur
    und auch in der Öffentlichkeit.
  • 2:55 - 2:58
    Hardware-Trojaner genauso wie
    Software-Trojaner dienen zwei Zwecken und
  • 2:58 - 3:03
    zwar einerseits der Exfiltration und
    andererseits der Infiltration.
  • 3:03 - 3:07
    Exfiltration – da denkt sofort jeder
    dran. Zum Beispiel, wenn man einen
  • 3:07 - 3:10
    Software-Trojaner hat, der möchte
    Kreditkartendaten irgendwo aus einem
  • 3:10 - 3:14
    System herausschleusen/herausholen,
    oder auch die berühmten Staats- und
  • 3:14 - 3:18
    Bundestrojaner die aus einem geschützten
    System dann private Daten zum Beispiel
  • 3:18 - 3:23
    heraus-exfiltrieren sollen. Das können
    aber auch anderen Dinge sein, die mit
  • 3:23 - 3:26
    dieser Exfiltration verbunden sind, zum
    Beispiel können das kryptografische
  • 3:26 - 3:30
    Schlüssel sein. Wenn ein System
    z.B. Nachrichten bereits
  • 3:30 - 3:33
    verschlüsselt hat – man hat jetzt diese
    verschlüsselten Nachrichten zum Beispiel
  • 3:33 - 3:39
    abgefangen – dann möchte man eventuell
    heran an diesen Schlüssel, der das Ganze
  • 3:39 - 3:43
    verschlüsselt hat, um im Nachhinein diese
    Daten wieder entschlüsseln zu können.
  • 3:43 - 3:48
    Oder: noch perfider sind die Startwerte
    für Pseudo-Zufallszahlen-Generatoren.
  • 3:48 - 3:54
    Heute ist es häufig so, dass
    Zufallszahlen nicht NUR durch reinen,
  • 3:54 - 3:58
    echten, physikalischen Zufall erzeugt
    werden, sondern dass man Startwerte nimmt,
  • 3:58 - 4:01
    die wirft man in
    Pseudo-Zufallszahlen-Generatoren hinein
  • 4:01 - 4:05
    und wenn man die dann kennt – und auch
    den Startwert – dann weiß man, was
  • 4:05 - 4:09
    diese Pseudo-Zufallszahlen-Generatoren als
    nächstes ausspucken werden. Wenn man also
  • 4:09 - 4:14
    den Startwert kennt, weiß man, was als
    nächstes kommt. Und schließlich kann es
  • 4:14 - 4:19
    Code sein, also Software, Firmware, zum
    Beispiel im Bereich der Industriespionage,
  • 4:19 - 4:24
    wenn man Code herausholen möchte aus
    einem System, Code Dump tun möchte. Was
  • 4:24 - 4:29
    immer so ein bisschen vernachlässigt wird
    ist die Infiltration – was ja eigentlich
  • 4:29 - 4:33
    ein Trojaner macht, der infiltriert ja ein
    System. Am ehesten kennt man das noch im
  • 4:33 - 4:38
    Bereich der Software – also Malware in
    ein System einzubringen; dafür benutzt
  • 4:38 - 4:43
    man trojanische Pferde in Software, aber
    das können genauso auch andere Daten
  • 4:43 - 4:49
    sein, oder Parameter, z.B. falsche
    Parameter für Industriesteuerungen, da
  • 4:49 - 4:52
    gibt es ja auch so einige Beispiele
    dafür. Oder das können zum Beispiel
  • 4:52 - 4:57
    bekannte Werte für Verschlüsselungen
    sein, wenn ein Verschlüsselungssystem
  • 4:57 - 5:00
    intern eine Verschlüsselung benutzt, die
    der Angreifer dann hinterher brechen kann,
  • 5:00 - 5:05
    dann ist das für ihn natürlich auch
    interessant. Und schließlich – das
  • 5:05 - 5:08
    sollte man auch nicht vergessen, deshalb
    kommen wir nachher auch noch zu den
  • 5:08 - 5:12
    ethischen Themen und den moralischen
    Aspekten: das „Kompromat“, also
  • 5:12 - 5:18
    kompromittierendes Material, denn mit
    Hilfe eines Trojaners oder einer Backdoor
  • 5:18 - 5:22
    kann man natürlich auch belastendes
    Material in ein System hineinbringen und
  • 5:22 - 5:25
    das kann Leute, die das System benutzen
    oder damit zum Beispiel eine Grenze
  • 5:25 - 5:30
    überqueren möchten und ähnliches, dann
    durchaus in richtige Schwierigkeiten
  • 5:30 - 5:37
    bringen. Dann gibt’s neben den Trojanern
    auch die Begriffe Bugdoor und Backdoor und
  • 5:37 - 5:41
    oft wird das miteinander vermischt;
    dementsprechend haben wir hier mal
  • 5:41 - 5:45
    aufgezeichnet: was ist das eigentlich und
    wie hängt das ganze zusammen? Man kann
  • 5:45 - 5:51
    sich das eigentlich ganz einfach merken
    anhand des historischen Vorbildes: Das
  • 5:51 - 5:56
    trojanische Pferd ist eigentlich ja ein
    Vehikel, das eine Nutzlast trägt – wird
  • 5:56 - 6:01
    aufgemacht, kommen die Soldaten rein, das
    trojanische Pferd wird von der Stadt, also
  • 6:01 - 6:06
    vom System durch die User, hereingeholt
    – heute würde man sagen: „Oh toll,
  • 6:06 - 6:11
    eine gratis App! Muss ich haben!“.
    Wird also in das System integriert,
  • 6:11 - 6:17
    „Gratispferd“ sozusagen. Und… in der
    Stadt angekommen, schaltet die Nutzlast in
  • 6:17 - 6:21
    dem Pferd, also die Soldaten, zunächst
    einmal die Sicherheitsfeatures aus (die
  • 6:21 - 6:25
    Wachen) und öffnen dann die Tür für den
    Rest der Armee. Und das ist genau die
  • 6:25 - 6:31
    Backdoor. Das heißt der Trojaner, oder
    das trojanische Pferd, bewegt und steuert
  • 6:31 - 6:35
    im Prinzip die Backdoor. Das wär also die
    richtige Bezeichnung, aber wie gesagt:
  • 6:35 - 6:39
    wird oft vermischt, wollen wir auch jetzt
    nicht so streng sein. Dann gibt’s noch
  • 6:39 - 6:44
    eine ganz interessante Wortschöpfung –
    die „Bugdoor“, aus „Bug“ und
  • 6:44 - 6:47
    „Backdoor“. Und das ist im Prinzip
    einfach schlechte Programmierung oder
  • 6:47 - 6:53
    schlampige Programmierung. Z.B.
    können das Hintertüren sein in einer
  • 6:53 - 6:57
    entsprechenden Software, die einem
    Entwickler mal erlaubt haben, z.B.
  • 6:57 - 7:01
    Änderungen vorzunehmen, die dann
    hinterher aber nicht ausgebaut wurden. Und
  • 7:01 - 7:06
    davon gibt es in der Tat eine ganze Menge.
    Jetzt ist natürlich die Frage: wo können
  • 7:06 - 7:13
    sich solche Trojaner oder Backdoors
    eigentlich verstecken? Wo kommen sie her?
  • 7:13 - 7:17
    Das wichtige hierbei ist, dass die
    Trojaner immer im System selber wirken,
  • 7:17 - 7:22
    also das System ist der Wirkungsort der
    Trojaner – egal wo sie jetzt herkommen.
  • 7:22 - 7:26
    Sie können auch ihre Plätze tauschen –
    auch ganz interessant. Und das System
  • 7:26 - 7:31
    besteht immer – jedenfalls die Systeme
    über die wir hier so sprechen – besteht
  • 7:31 - 7:36
    immer aus Software und Hardware. In der
    Software ist die Programmierung eines
  • 7:36 - 7:41
    Trojaners eigentlich relativ einfach;
    jeder, der sich einigermaßen auskennt mit
  • 7:41 - 7:45
    Programmierung, wird in der Lage sein,
    wenn er lange genug dran arbeitet, einen
  • 7:45 - 7:51
    Trojaner zu schreiben. Das heißt, das
    Hindernis, so etwas einzubauen ist relativ
  • 7:51 - 7:56
    einfach oder relativ niedrig. Aber
    es gibt auch einen Nachteil dieser
  • 7:56 - 8:00
    Software-Trojaner natürlich, denn die
    sind auch relativ leicht zu entdecken. Das
  • 8:00 - 8:03
    heißt, jeder, der an die Software
    herankommt, der die also disassemblieren
  • 8:03 - 8:08
    kann und verstehen kann, der wird auch
    sehen, dass da etwas nicht stimmt. Und
  • 8:08 - 8:12
    wenn er das erstmal gefunden hat, dass da
    irgendetwas faul ist, dann kann er auch
  • 8:12 - 8:18
    einigermaßen leicht einen Beweis führen,
    was dieser Trojaner eigentlich tut. Da
  • 8:18 - 8:22
    gibt’s ja auch schon bestimmte Arbeiten
    dazu, die wirklich dann nachgewiesen
  • 8:22 - 8:25
    haben, wie solche Trojaner funktionieren
    und wann sie aktiv werden und was sie
  • 8:25 - 8:29
    alles können. Anders ist das bei
    den Hardware-Trojanern: bei den
  • 8:29 - 8:31
    Hardware-Trojanern wird nicht die Software
    geändert, sondern es wird die Hardware
  • 8:31 - 8:37
    selber geändert und zwar in dem Sinne,
    dass ein Chip zum Beispiel verändert
  • 8:37 - 8:41
    wird, dass die Funktionalität
    tatsächlich in der Hardware anders ist.
  • 8:41 - 8:45
    Und da kann man sich vorstellen, dass der
    Aufwand – das werden wir gleich noch
  • 8:45 - 8:49
    sehen, wie hoch der Aufwand tatsächlich
    ist – dass der Aufwand recht hoch ist,
  • 8:49 - 8:52
    dass das Ganze teuer ist, dass es
    vielleicht auch nicht so einfach zu
  • 8:52 - 8:57
    verbergen ist gegenüber anderen Leuten,
    zum Beispiel in der Entwicklung solcher
  • 8:57 - 9:01
    Geräte. Aber auf der anderen Seite
    ist es so, dass der Angreifer, oder
  • 9:01 - 9:05
    beziehungsweise derjenige der so etwas
    macht, auch Vorteile hat. Z.B. ist die
  • 9:05 - 9:09
    Identifizierung relativ schwer. Will man
    einen Hardware-Trojaner wirklich finden
  • 9:09 - 9:13
    und will man den identifizieren, muss
    man üblicherweise so einen Chip
  • 9:13 - 9:17
    reverse-engineeren – sich den wirklich ganz
    genau anschauen. Und selbst wenn man
  • 9:17 - 9:22
    das gemacht hat, ist immer noch die Frage:
    eine bestimmte Hardwarefunktionalität,
  • 9:22 - 9:27
    die man dann gefunden hat – Was tut sie
    wirklich? Ist sie wirklich noch aktiv?
  • 9:27 - 9:30
    Oder ist es vielleicht eine schlafende
    Funktionalität, die nie verwendet wird?
  • 9:30 - 9:37
    Wie dem auch sei – der Beweis ist
    aufwändig. Um jetzt herauszufinden, wie
  • 9:37 - 9:43
    aufwändig tatsächlich der Einbau eines
    Hardware-Trojaners ist, ist es natürlich
  • 9:43 - 9:46
    zunächst mal interessant, sich
    anzuschauen: Wie baut man so einen Chip?
  • 9:46 - 9:49
    Und wenn man das weiß und wenn man diese
    Prozesse kennt, dann kann man sich auch
  • 9:49 - 9:54
    ansehen: Wo könnte man an diesen Stellen
    einen Trojaner einsetzen? Und hier einfach
  • 9:54 - 10:00
    mal ganz kurz gezeigt: Wie baut man einen
    Chip? Wie wird so etwas hergestellt? Links
  • 10:00 - 10:03
    fängt das Ganze an, mit der
    Hardware-Beschreibungssprache, das ist
  • 10:03 - 10:08
    hier in diesem Fall VHDL zum Beispiel.
    VHDL ist so etwas wie eine
  • 10:08 - 10:12
    Programmiersprache für Software, bloß
    dass man ‚Hardware direkt schreibt‘.
  • 10:12 - 10:16
    Und dieser Code enthält im Prinzip
    dann die Funktionalität – was soll die
  • 10:16 - 10:21
    Hardware tun: Logische Funktionen, ganze
    CPUen kann man da drin schreiben. Jeder
  • 10:21 - 10:25
    der schon mal mit ‘nem FPGA vielleicht
    was gemacht hat, der kennt das gut. Wenn
  • 10:25 - 10:29
    diese VHDL-Sprache, wenn der Code fertig
    ist, dann wirft man den, genau wie
  • 10:29 - 10:33
    Software-Code in einen Compiler und aus
    diesem Compiler kommt zunächst mal ein
  • 10:33 - 10:38
    Schaltplan heraus. Da sind die einzelnen
    Funktionalitäten miteinander verbunden,
  • 10:38 - 10:42
    im Prinzip so, wie bei normalen
    Schaltplänen auch. Und aus diesem
  • 10:42 - 10:45
    Schaltplan kann man dann – das ist das
    zweite Bild – ein Layout erstellen. Das
  • 10:45 - 10:50
    Layout zeigt, wo auf dem Chip die
    verschiedenen Funktionselemente liegen und
  • 10:50 - 10:54
    wie die miteinander verbunden sind. Kann
    man sich so ungefähr vorstellen wie eine
  • 10:54 - 10:57
    Platine – da sind auch die verschiedenen
    Bauelemente drauf und es gibt
  • 10:57 - 11:01
    Metallverbindungsleitungen dazwischen;
    hier ist das genauso: die verschiedenen
  • 11:01 - 11:03
    Farben sind auch
    Metallverbindungsleitungen bloß auf
  • 11:03 - 11:07
    verschiedenen Ebenen. Wenn man daraus
    jetzt tatsächlich einen Chip machen
  • 11:07 - 11:13
    möchte, dann muss man das Ganze auf ein
    optisches System übertragen. Das ist hier
  • 11:13 - 11:18
    aufgezeigt anhand eines sogenannten
    „Maskensatzes“. Das sind also
  • 11:18 - 11:24
    Quarzglasscheiben; ich habe hier mal so
    einen Rohling mitgebracht. Auf diesen
  • 11:24 - 11:28
    Quarzglasscheiben wird Chrom abgeschieden
    – eine ganz dünne Schicht – und
  • 11:28 - 11:35
    mikrostrukturiert. Und das benutzt man
    dann als optische Maske, um einzelne
  • 11:35 - 11:39
    Schichten auf einen Rohsilizium-Wafer
    nacheinander aufzubringen. Davon braucht
  • 11:39 - 11:43
    man so einige Dutzend von diesen Masken.
    Und wenn man die dann nacheinander
  • 11:43 - 11:47
    prozessiert hat, dann hat man schließlich
    den Wafer – ich denke mal das kennt
  • 11:47 - 11:50
    jeder – brauchen wir gar nicht viel
    drüber zu erzählen. Auf so ‘nem Wafer
  • 11:50 - 11:54
    sind dann die ganzen Chips angeordnet und
    den muss man nur noch auseinander sägen
  • 11:54 - 11:58
    oder auseinander lasern um dann
    die einzelnen Chips zu bekommen.
  • 11:58 - 12:02
    Marcus: Nun ist da natürlich die Frage:
    Wo ist jetzt hier eigentlich der Trojaner?
  • 12:02 - 12:06
    Das heißt, wir sehen: hier gibt’s viel,
    viel mehr Fertigungsschritte als zum
  • 12:06 - 12:09
    Beispiel wenn man eine Software
    implementiert. Infolge dessen gibt es
  • 12:09 - 12:12
    natürlich auch viel, viel mehr
    Möglichkeiten, wo man einen Trojaner
  • 12:12 - 12:16
    implementieren kann. Und in der Tat ist
    es so, dass es in jeder der einzelnen
  • 12:16 - 12:20
    Fertigungsstufen ein Trojaner prinzipiell
    eingebracht werden kann, das heißt sowohl
  • 12:20 - 12:26
    im VHDL als auch im Layout oder im
    Maskensatz. Gehen wir schrittweise vor:
  • 12:26 - 12:31
    Was kann man im VHDL machen? Nun, Peter
    hatte ja schon gesagt: im VHDL ist die
  • 12:31 - 12:37
    Funktionalität genau beschrieben. Was hindert
    mich daran, ein paar Zeilen Code mehr
  • 12:37 - 12:40
    reinzuschreiben und eine zusätzliche
    Funktionalität, nämlich die
  • 12:40 - 12:46
    Trojanerfunktionalität, hier zu
    integrieren? Das heißt, ein Trojaner kann
  • 12:46 - 12:52
    durch die direkte Implementierung eines
    VHDL-Codes in ein großes Projekt direkt
  • 12:52 - 12:55
    mit implementiert werden und wird dann
    natürlich in den folgenden Schritten auch
  • 12:55 - 13:01
    ins Layout, in den Maskensatz und damit in
    das fertige Produkt mit übernommen. Man
  • 13:01 - 13:05
    merkt schon: die Implementierung ist an
    der Stelle relativ einfach. Allerdings
  • 13:05 - 13:09
    auch wenn dieser Code genau gereviewt
    wird und man genauer überprüft „Was
  • 13:09 - 13:13
    steht eigentlich da drin? Was sind die
    einzelnen Funktionalitäten, die im VHDL
  • 13:13 - 13:16
    beschrieben sind?“, ist auch die
    Entdeckwahrscheinlichkeit normalerweise
  • 13:16 - 13:21
    recht einfach. Hinzu kommt dann noch, dass
    dieser VHDL-Code natürlich noch durch
  • 13:21 - 13:25
    viele Schritte prozessiert wird, das
    heißt viele Leute schauen da noch mal
  • 13:25 - 13:32
    drauf und die Entdeckwahrscheinlichkeit
    steigt damit. Selbst wenn der VHDL-Code
  • 13:32 - 13:37
    ohne Trojaner geschrieben worden ist,
    könnte im Schritt des Layoutes noch ein
  • 13:37 - 13:42
    Trojaner eingebracht werden. Wir sehen
    hier auf dem Beispiel ja die verschiedenen
  • 13:42 - 13:46
    elektrischen Verbindungen, wie Peter schon
    gesagt hat, in den verschiedenen Farben.
  • 13:46 - 13:50
    Und mit einem speziellen Layout-Programm,
    vergleichbar praktisch mit einem
  • 13:50 - 13:53
    Bildbearbeitungsprogramm, kann man
    natürlich auch diese Verbindungen
  • 13:53 - 13:58
    verändern, kann neue Elemente einfügen,
    kann die elektrischen Verbindungen so
  • 13:58 - 14:01
    verändern, dass eine zusätzliche
    Funktionalität – die
  • 14:01 - 14:06
    Trojaner-Funktionalität – implementiert
    wird. Schon allein da dran merkt man
  • 14:06 - 14:08
    allerdings, dass der Aufwand
    natürlich deutlich höher wird. Eine
  • 14:08 - 14:12
    Vielzahl von Elementen und eine Vielzahl
    von Leitungen müssen verändert werden
  • 14:12 - 14:16
    und das heißt, dies ist nichts mehr, was
    man schnell nebenbei in einen Code
  • 14:16 - 14:22
    reinschreibt, sondern tatsächlich viele
    Stunden Arbeit. Dafür: Wer schaut sich
  • 14:22 - 14:27
    das Layout schon genau an? Das heißt also
    auch, die Entdeckung ist an dieser Stelle
  • 14:27 - 14:31
    normalerweise zumindest mal schwerer
    als beim VHDL. Man müsste wirklich jede
  • 14:31 - 14:35
    einzelne Leitung dann wieder verfolgen,
    wo geht sie hin, ist das die gewünschte
  • 14:35 - 14:41
    Funktionalität. Naja, und so, wie man aus
    dem Layout den Maskensatz macht, kann man
  • 14:41 - 14:45
    natürlich auch im Maskensatz selber auch
    einen Trojaner einbringen. Das heißt
  • 14:45 - 14:50
    also: die Strukturen, die auf der Maske
    vorgezeichnet sind und dann später in dem
  • 14:50 - 14:54
    Chip realisiert werden sollen, kann man
    natürlich auch auf der Maske verändern.
  • 14:54 - 14:59
    Jetzt kann man schwererdings einfach die
    Belichtungsmaske hernehmen und da mit
  • 14:59 - 15:03
    ‘nem Skalpell oder sowas kratzen
    – das ist einfach viel, viel zu grob.
  • 15:03 - 15:07
    Stattdessen muss man dann natürlich
    tatsächlich einen neuen Maskensatz oder
  • 15:07 - 15:11
    zumindest neue Masken, die man geändert
    hat, erzeugen und dafür braucht man
  • 15:11 - 15:15
    natürlich schon hochpräzises
    Spezialequipment. Infolgedessen ist die
  • 15:15 - 15:19
    Implementierung nochmal komplizierter
    als beim Layout; man muss nicht nur die
  • 15:19 - 15:22
    Leitungen und die Elemente verändern,
    sondern auch noch die Gerätschaften
  • 15:22 - 15:26
    dafür haben. Die Entdeckung auf
    der anderen Seite ist dafür dann
  • 15:26 - 15:32
    normalerweise natürlich nochmal eine
    ganze Stufe schwerer, denn: Wie soll man
  • 15:32 - 15:37
    genau so eine Maske verifizieren, dass
    sie keine veränderten Funktionalitäten
  • 15:37 - 15:40
    enthält? Man müsste dann wieder einen
    Vergleich zum Layout (machen) – und
  • 15:40 - 15:44
    hoffen, dass das sich das Layout nicht
    verändert hat in der Zwischenzeit durch
  • 15:44 - 15:48
    jemanden, der den Trojaner einbringen
    möchte… Also man merkt: die Entdeckung
  • 15:48 - 15:53
    wird hier schon sehr kompliziert. Das
    waren jetzt Möglichkeiten, wie man
  • 15:53 - 15:58
    Trojaner – so wie man es sich jetzt
    direkt denkt – einfach implementieren
  • 15:58 - 16:02
    kann. Aber: ihr seht auch hier haben wir
    schon angegeben, dass die Entdeckung
  • 16:02 - 16:08
    normalerweise einfach, mittelschwer oder
    schwer ist. Warum „normalerweise“?
  • 16:08 - 16:13
    Denn es gibt – wir nennen es
    „Snakeoil-Features“, die stark
  • 16:13 - 16:17
    begünstigen können, dass man Trojaner
    einbringen kann und auf der anderen Seite
  • 16:17 - 16:22
    sogar sehr stark erschweren können,
    dass man Trojaner detektieren kann.
  • 16:22 - 16:28
    Snakeoil-Features, klar, das Schlangenöl,
    das angepriesen wird wie ein
  • 16:28 - 16:33
    Wunderheilmittel, tolle Wirkung haben
    soll, aber vielleicht auch tatsächlich
  • 16:33 - 16:36
    die Wirkung nicht ganz so entfaltet – oder
    sogar noch viel schlimmer: sogar noch
  • 16:36 - 16:41
    eine Nebenwirkung, eine gefährliche
    Nebenwirkung ausprägen kann. Und genau
  • 16:41 - 16:45
    das kann hier auch passieren: etwas, was
    man vielleicht mit dem guten Gefühl
  • 16:45 - 16:51
    eingebaut hat in den VHDL-Code, um eine
    Funktionalität, um ein Security-Feature
  • 16:51 - 16:55
    zu realisieren, dass sich dann natürlich
    im Layout, im Maskensatz und letztlich im
  • 16:55 - 17:02
    Produkt auch wiederfindet. Aber:
    vielleicht ermöglichen solche Features
  • 17:02 - 17:07
    auch ‘ne ganz leichte Modifikation in
    dem Herstellungsprozess. Schauen wir uns
  • 17:07 - 17:12
    an, wie das zum Beispiel am Anfang der
    Prozesskette ausschauen kann. Stellen wir
  • 17:12 - 17:18
    uns vor, dass der VHDL-Code nicht einfach
    geschrieben ist, sondern komplexer ist –
  • 17:18 - 17:26
    ein VHDL-Code, direkt ansehen kann:
    Was steckt da eigentlich drin? In diesem
  • 17:26 - 17:30
    komplexen Quellcode ist es natürlich
    auch viel, viel leichter, andere
  • 17:30 - 17:34
    Funktionalitäten mit reinzubringen, die
    man zunächst einmal vielleicht gar nicht
  • 17:34 - 17:38
    vermutet. Die Detektion, dadurch dass er
    ja komplexer ist, ist automatisch auch
  • 17:38 - 17:41
    schwerer. Man muss diese ganzen komplexen
    Funktionen dann natürlich genau
  • 17:41 - 17:46
    nachvollziehen; was passiert da
    eigentlich? Ist das nur Theorie?
  • 17:46 - 17:51
    Naja, wir kennen ja aus der Software-Welt die
    sogenannte „White-Box-Kryptografie“.
  • 17:51 - 17:57
    Die White-Box-Kryptografie nutzt ja gerade
    möglichst komplexe Software-Codes, um da
  • 17:57 - 18:02
    drin kryptografische Schlüssel zu
    verstecken. Das heißt: um einen
  • 18:02 - 18:06
    kryptografischen Schlüssel in einer
    Software möglichst gut gegen Ausspähen
  • 18:06 - 18:12
    zu verstecken, wird halt das Thema
    White-Box-Kryptografie angepriesen. Die
  • 18:12 - 18:16
    Codes hier drin sind so komplex, dass
    man sie an sich kaum noch wirklich
  • 18:16 - 18:21
    durchschauen kann. Übertragen wir das auf
    die Hardware: Was bedeutet, wenn man statt
  • 18:21 - 18:25
    dem VHDL-Code, der hier abgebildet ist,
    plötzlich eine viel komplexere Struktur
  • 18:25 - 18:30
    einbaut, wie wir hier symbolhaft in dem
    roten Kasten abgebildet haben. Diese
  • 18:30 - 18:33
    komplexen Funktionen genau zu
    durchleuchten – was steckt da eigentlich
  • 18:33 - 18:37
    alles hinter? – ist natürlich ungleich
    schwerer, und somit kann man relativ
  • 18:37 - 18:43
    einfach dann auch schwer erkennbare
    Trojaner einschleusen. Selbst, wenn es
  • 18:43 - 18:48
    nicht am vorderen Teil der
    Herstellungskette eingeschleust wird,
  • 18:48 - 18:58
    können (…) Snakeoil-Features
    begünstigen, das man zu einem späteren
  • 18:58 - 19:01
    Prozessschritt entsprechend noch
    Veränderungen vornimmt. Stellen wir uns
  • 19:01 - 19:07
    vor, ein Snakeoil-Feature ist im VHDL-Code
    integriert worden mit dem guten Gefühl
  • 19:07 - 19:11
    „Ja, das ist jetzt das Wundermittel. Das
    hilft uns. Das macht den Chip jetzt so
  • 19:11 - 19:18
    viel sicherer.“ Aber erlaubt vielleicht
    bei dem Maskensatz mit einer einfachen
  • 19:18 - 19:23
    zusätzlichen Maske eine Manipulation
    vorzunehmen und damit tatsächlich die
  • 19:23 - 19:27
    Chips in einer Art und Weise zu
    verändern, dass man sie leicht
  • 19:27 - 19:33
    kontrollieren kann. Wie könnte sowas
    aussehen? Ein praktisches Beispiel dafür
  • 19:33 - 19:38
    sind die sogenannten „physical
    unclonable functions“, die eine hohe
  • 19:38 - 19:43
    Gefahr bergen, dass sie manipuliert werden
    können. Bei den physical unclonable
  • 19:43 - 19:48
    functions wird ja bei den S-RAM physical
    unclonable functions der interne
  • 19:48 - 19:53
    Arbeitsspeicher verwendet, der
    beim Einschalten die Zellen eher…
  • 19:53 - 19:58
    einige Zellen eher nach 0 kippen lassen,
    andere Zellen eher die Vorzugsrichtung
  • 19:58 - 20:02
    nach 1 haben. Das ist bausteinindividuell
    und hängt von ganz kleinen
  • 20:02 - 20:07
    Herstellungstoleranzen ab. Damit hat man
    also einen bausteinindividuellen Wert, der
  • 20:07 - 20:11
    hier erzeugt wird; insbesondere, wenn bei
    jedem Einschalten wieder das gleiche
  • 20:11 - 20:15
    Muster entsteht, kann man hieraus
    natürlich versuchen, zum Beispiel
  • 20:15 - 20:21
    kryptografische Schlüssel abzuleiten,
    eben die Funktionalität einer „physical
  • 20:21 - 20:26
    unclonable function“. Dieses
    Einschaltverhalten ist aber natürlich
  • 20:26 - 20:30
    insbesondere durch eine einfache
    zusätzliche Maske im Herstellungsprozess
  • 20:30 - 20:36
    leicht manipulierbar: Ich kann einfach
    die RAM-Zellen durch eine Maske in eine
  • 20:36 - 20:41
    Vorzugslage bringen, dass eben gewisse
    Zellen, die ich kenne als Einbringer
  • 20:41 - 20:47
    dieser Maske, eher nach 0 kippen, oder
    andere eher nach 1 kippen. Was passiert
  • 20:47 - 20:52
    ist, dass ich die Veränderung in diesem
    Chip kennen würde, jemand anderes, der
  • 20:52 - 20:56
    den Chip aber beobachtet, zunächst
    einmal nicht weiß: Ist das jetzt ein
  • 20:56 - 21:01
    bausteinindividueller zufälliger Wert,
    oder ist das ein Wert, der verändert
  • 21:01 - 21:06
    worden ist? Und genau das zeigt ja schon,
    wie kompliziert es ist, solche Trojaner
  • 21:06 - 21:12
    dann zu identifizieren. Eine ähnliche
    Methode ist auch denkbar bei den
  • 21:12 - 21:17
    sogenannten „Camouflage Chip Designs“
    – hier handelt es sich nicht um eine
  • 21:17 - 21:22
    einfache Speicherzelle, sondern um ein
    universelles Logik-Element. Dieses
  • 21:22 - 21:26
    Logik-Element wird zunächst einmal im
    Schaltplan platziert und kann zu einem
  • 21:26 - 21:31
    späteren Zeitpunkt im Herstellungsprozess
    festgelegt werden, ob es jetzt zum
  • 21:31 - 21:34
    Beispiel eine UND- oder eine
    ODER-Verknüpfung oder eine andere
  • 21:34 - 21:39
    logische Verknüpfung darstellen soll.
    Genauso, wie die Programmierung in diesem
  • 21:39 - 21:44
    letzten Schritt durch die Maske erfolgt,
    kann ich natürlich auch, wenn ich einen
  • 21:44 - 21:48
    Trojaner einbringen möchte, hier eine
    spezielle Maske einschmuggeln und damit
  • 21:48 - 21:53
    dann entsprechend die Funktionalität
    so verändern, wie sie für mich als
  • 21:53 - 21:59
    Hardware-Trojaner-Anwender dann von
    Vorteil wäre. Also man sieht schon, dass
  • 21:59 - 22:04
    neben den normalen Arten, wie man einen
    Trojaner in einen Chip einbringen kann
  • 22:04 - 22:08
    auch viele Möglichkeiten bestehen,
    die zum Beispiel über solche
  • 22:08 - 22:12
    Snakeoil-Features dann deutlich
    begünstigt werden und die sehr schwer
  • 22:12 - 22:17
    teilweise zu detektieren sind. Und
    selbst wenn man sagt: „Moment, der
  • 22:17 - 22:21
    Hardware-Trojaner muss ja irgendwann mit
    der Außenwelt kommunizieren. Kann man das
  • 22:21 - 22:25
    dann nicht einfach detektieren?“, so
    sehen wir, dass es auch sehr, sehr viele
  • 22:25 - 22:30
    verschiedenartige Backdoors gibt, die als
    Mittel zur versteckten Kommunikation
  • 22:30 - 22:35
    genutzt werden können. Das kann sowohl
    über Protokolle erfolgen, das kann über
  • 22:35 - 22:40
    Seitenkanal-Informationen erfolgen – die
    aber im Gegensatz zu Seitenkanal-Angriffen
  • 22:40 - 22:46
    hier gezielt Informationen ausgeben –
    das kann über Chip-Manipulation, das
  • 22:46 - 22:49
    heißt also tatsächlich über
    physikalisches Beeinflussen des Chips oder
  • 22:49 - 22:55
    sogar über Fehlerinduktion erfolgen.
    Und diese Vielfältigkeit, die man hier hat
  • 22:55 - 22:59
    für diese Backdoors finden wir sehr
    spannend und deshalb möchten wir auch auf
  • 22:59 - 23:04
    einige dieser Fälle jetzt genauer drauf
    eingehen. Hier haben wir für uns aber
  • 23:04 - 23:08
    insbesondere eine Auswahl getroffen, wie
    man auch unten an den Beispielquellen
  • 23:08 - 23:12
    sieht, die auch publiziert sind; denn wir
    möchten jetzt natürlich nicht noch
  • 23:12 - 23:16
    Dienste auf irgendwelche neuen,
    interessanten Ideen bringen, sondern wir
  • 23:16 - 23:20
    möchten eher aufklären und zeigen, was
    für Möglichkeiten gibt es überhaupt,
  • 23:20 - 23:25
    wie Protokolle missbraucht werden können
    um Daten zu übertragen. Und das
  • 23:25 - 23:30
    bekannteste natürlich, was man
    auch von Software-Trojanern kennt,
  • 23:30 - 23:33
    ist natürlich, dass undokumentierte
    Befehle oder Befehlssequenzen akzeptiert
  • 23:33 - 23:38
    werden, oder auch ein Generalschlüssel
    integriert wird, mithilfe dessen man dann
  • 23:38 - 23:44
    unbemerkten Zugang auf die internen Daten
    oder auf den Code haben kann. Eine andere
  • 23:44 - 23:49
    Methode, ebenfalls aus der Welt der
    Software-Trojaner relativ gut bekannt,
  • 23:49 - 23:54
    sind geschwächte Krypto-Algorithmen.
    Derjenige, der den Trojaner einbringt, der
  • 23:54 - 23:58
    kennt halt: welche Funktionalität hat er
    hier als Backdoor gewählt und wie kann er
  • 23:58 - 24:03
    den kryptografischen Algorithmus relativ
    leicht angreifen. Das heißt, er kann dann
  • 24:03 - 24:08
    die kryptografischen Geheimnisse
    extrahieren und damit dann an die internen
  • 24:08 - 24:13
    Daten rankommen. Ein Szenario, was aber
    auf den Protokollen bisher noch nicht so
  • 24:13 - 24:18
    groß diskutiert worden ist, ist das Thema
    „Watermarking“. Klar, Watermarking
  • 24:18 - 24:23
    kennen wir zum Beispiel aus dem Bereich,
    wo Videos, Bilder oder Audiofiles
  • 24:23 - 24:29
    übertragen werden, als Kennung „Wo
    kommt diese Datei eigentlich her?“. Aber
  • 24:29 - 24:35
    was passiert eigentlich, wenn ein Chip
    eine größere Menge Daten ausgeben muss
  • 24:35 - 24:39
    und hier einfach ein Watermarking
    sozusagen steganografisch
  • 24:39 - 24:44
    Zusatzinformationen in dem Output
    versteckt? Wer nicht das Verfahren kennt,
  • 24:44 - 24:48
    wie man diese Daten daraus extrahiert,
    wird sich sehr schwertun, festzustellen:
  • 24:48 - 24:52
    Ist das eigentlich jetzt die normale
    Datei, die normale Information, die
  • 24:52 - 24:57
    rauskommt, oder sind da vielleicht ein
    paar einzelne Bits eben verändert über
  • 24:57 - 25:02
    die dann Informationen aus dem Chip
    herausextrahiert werden? Und genau dieses
  • 25:02 - 25:08
    Wissen ist besonders auch, was bei
    Seitenkanal-Backdoors schwer ist, diese zu
  • 25:08 - 25:12
    detektieren. Beobachte ich das
    Stromprofil, oder zum Beispiel die
  • 25:12 - 25:18
    elektromagnetische Abstrahlung, so kann
    ich relativ einfach detektieren: Ja, das
  • 25:18 - 25:23
    schaut alles zufällig aus. Oder: Das
    schaut alles irgendwie aus, als ob es
  • 25:23 - 25:28
    einfach der Funktionalität geschuldet
    ist. Aber jemand der speziell diese
  • 25:28 - 25:32
    Backdoor eingebracht hat, weiß
    vielleicht, dass er genau zu gewissen
  • 25:32 - 25:37
    Zeitpunkten den Stromverlauf oder die
    elektromagnetische Abstrahlung sich
  • 25:37 - 25:42
    anschauen muss, und kriegt damit dann die
    einzelnen Informationen übertragen über
  • 25:42 - 25:47
    eben zum Beispiel die Amplitude, wieviel
    Strom verbraucht worden ist, oder wieviel
  • 25:47 - 25:51
    abgestrahlt worden ist. Also ein
    Verfahren, was auch relativ schwer zu
  • 25:51 - 25:55
    detektieren ist, um zu sehen: ist da jetzt
    eigentlich eine zusätzliche
  • 25:55 - 26:01
    Informationsausgabe oder nicht? Noch
    komplizierter wird es beim Thema
  • 26:01 - 26:06
    Lichtabstrahlung. Viele kennen sicherlich,
    dass wenn ein Transistor mehrere Male
  • 26:06 - 26:12
    schaltet – typischerweise so 1000 bis
    10.000 Mal – entsteht als Nebenprodukt
  • 26:12 - 26:18
    auch ein Photon, ein infrarotes
    Lichtteilchen. Und dieses kann man
  • 26:18 - 26:22
    natürlich messen oder zum Beispiel mit
    speziellen Kameras aufnehmen. Damit kann
  • 26:22 - 26:26
    man sehen, wo ist zum Bespiel Aktivität
    im Chip, wo sind viele Transistoren, die
  • 26:26 - 26:31
    schalten. Aber, wenn man eine
    entsprechende Backdoor einbaut, könnte
  • 26:31 - 26:35
    man natürlich auch ein Element auch so
    gezielt manipulieren, dass es besonders
  • 26:35 - 26:39
    häufig Informationen oder häufig
    Photonen ausstrahlt, oder noch viel
  • 26:39 - 26:43
    interessanter: man weiß einfach, an
    welcher Stelle ist dieser Transistor, den
  • 26:43 - 26:49
    ich beobachten muss, und damit „morst“
    sozusagen, wie mit einer Taschenlampe
  • 26:49 - 26:55
    dieser Transistor dann die Informationen
    halt entsprechend raus. Genauso messen
  • 26:55 - 27:01
    kann man auch das Potenzial natürlich auf
    Signalleitungen; sicherlich habt ihr bei
  • 27:01 - 27:05
    unserem Vortrag „25 Jahre
    Chipkarten-Angriffe“ auch gesehen, wie
  • 27:05 - 27:10
    man mittels Elektronen-Rastermikroskop
    die Potenziale auf elektrischen Leitungen
  • 27:10 - 27:15
    messen kann. Wenn ich jetzt den gesamten
    Chip beobachte, dann sehe ich natürlich
  • 27:15 - 27:20
    eine Vielzahl von Potenzialen auf den
    einzelnen Leitungen. Aber: Jemand der
  • 27:20 - 27:25
    gezielt diese Backdoor nutzt, hat sich
    vielleicht eine Leitung in eine obere
  • 27:25 - 27:30
    Metalllage gelegt, von der er weiß, hier
    laufen alle kritischen Daten rüber. Jetzt
  • 27:30 - 27:35
    kann er diese einfach mit dem
    Elektronenstrahl ausmessen und damit dann
  • 27:35 - 27:39
    die Informationsübertragung aus dem
    Chip heraus in das System – in das
  • 27:39 - 27:44
    Analysesytem – vornehmen. Ja, und wie
    vielfältig das Ganze ist, sieht man sogar
  • 27:44 - 27:49
    (daran), dass selbst die Temperatur
    genutzt werden kann. Auch hier gibt es
  • 27:49 - 27:54
    gerade jüngste Quellen, die zeigen, dass
    auf einem Multi-Core-System auf dem einen
  • 27:54 - 28:00
    Prozessor viel gerechnet wird und das die
    Bearbeitung auf dem anderen Core in diesem
  • 28:00 - 28:04
    System beeinflusst. Ja, viel mehr noch:
    es gibt sogar eine entsprechende
  • 28:04 - 28:10
    Veröffentlichung, wo einfach zwei PCs
    nebeneinander stehen; auf dem einen PC
  • 28:10 - 28:14
    wird gerechnet und auf dem anderen PC
    wird aufgrund der intern integrierten
  • 28:14 - 28:19
    Temperatursensoren dann die Erwärmung
    beobachtet und somit praktisch kontaktlos
  • 28:19 - 28:23
    von einem System zum anderen die
    Information übertragen. Natürlich: das
  • 28:23 - 28:27
    ist sehr, sehr langsam, weil so
    Temperatur ändert sich natürlich nicht
  • 28:27 - 28:31
    so schnell, da spricht man nur von wenigen
    Bits pro Stunde, die übertragen werden
  • 28:31 - 28:35
    können, aber immerhin – auch solche
    Seitenkanäle können dafür genutzt
  • 28:35 - 28:45
    werden. Sehr viel bekannter sind wiederum
    Manipulations-Backdoors; wer kennt es
  • 28:45 - 28:49
    nicht, dass auf einem Chip, wenn man sich
    den mal genauer anschaut, vielleicht nicht
  • 28:49 - 28:53
    nur die angeschlossenen Kontaktfelder
    sind, sondern vielleicht auch zusätzliche
  • 28:53 - 28:57
    Kontaktfelder, wo im Datenblatt
    ganz lapidar „n/c“ – not connected
  • 28:57 - 29:03
    dransteht, oder „RFU“ – for future
    use. Wer weiß, was dahinter wirklich
  • 29:03 - 29:08
    steckt, ob die wirklich nicht
    angeschlossen sind, oder ob da nicht eine
  • 29:08 - 29:12
    zusätzliche Funktionalität ist – sei
    es eine Debug-Schnittstelle oder andere
  • 29:12 - 29:18
    Funktionalitäten, über die man dann mit
    dem Chip entsprechend kommunizieren kann?
  • 29:18 - 29:22
    Und genauso, wie man das auf den
    Kontaktfeldern beobachten kann, ist
  • 29:22 - 29:28
    natürlich auch denkbar, dass man (…)
    bei der Implementierung eines Trojaners
  • 29:28 - 29:33
    eine vorbestimmte Signalleitung auf dem
    Chip implementiert und wird diese zum
  • 29:33 - 29:37
    Beispiel mittels eines Laserstrahls
    durchgeschnitten – ein normaler
  • 29:37 - 29:41
    Lasercutter, der auch auf dem
    Gebrauchtmarkt recht preiswert zu haben
  • 29:41 - 29:46
    ist – dann kann man entsprechend die
    Zusatzfunktionalität in diesem Chip
  • 29:46 - 29:50
    vielleicht freischalten und dann
    plötzlich erst nach dieser Manipulation,
  • 29:50 - 29:57
    nach diese physikalischen Manipulation mit
    dem Chip kommunizieren. Und selbst
  • 29:57 - 30:01
    Speicherzellen wie zum Beispiel das RAM,
    hatten wir eben ja schon gesehen bei
  • 30:01 - 30:05
    physical unclonable functions, bei
    den sogenannten „unklonierbaren
  • 30:05 - 30:10
    Funktionen“, kann man mittels zum
    Beispiel Ionenimplantation auch verändern
  • 30:10 - 30:16
    und damit andere Daten vorgeben oder die
    Funktion der Schaltung verändern. Last
  • 30:16 - 30:21
    but not least: der Bereich der
    Fehlerinduktion kann auch noch genutzt
  • 30:21 - 30:28
    werden, um (…) durch die Backdoor zu
    kommunizieren und dem Trojaner
  • 30:28 - 30:33
    entsprechend Informationen mitzuteilen.
    Zum Beispiel könnte man spezielle
  • 30:33 - 30:38
    Elemente mit einem Laserstrahl anleuchten
    – und klar, der Chip ist aus Silizium,
  • 30:38 - 30:42
    das ist am Ende nichts anderes als auch
    eine Solarzelle vielleicht auf dem Dach
  • 30:42 - 30:47
    – das heißt, der Laserstrahl induziert
    dann eine kleine Photospannung oder einen
  • 30:47 - 30:51
    Photostrom und kann dadurch dann
    natürlich eine Schaltfunktionalität
  • 30:51 - 30:56
    auslösen, die man von außen so gar nicht
    direkt steuern kann, wenn man nicht genau
  • 30:56 - 31:01
    weiß, wo man mit dem Laser draufblitzen
    muss. Was bekannter ist, ist auch, das
  • 31:01 - 31:07
    häufig Speicher mit Schutzmechanismen
    ausgestattet werden. Wer kennt es nicht:
  • 31:07 - 31:11
    nachdem man ein Programm in einem
    Mikrocontroller heruntergeladen hat, dann
  • 31:11 - 31:15
    wird ein Schreibschutz-Bit gesetzt und
    anschließend soll es nicht mehr möglich
  • 31:15 - 31:21
    sein, die Daten auszulesen. Wenn man aber
    als Designer vielleicht genau weiß: diese
  • 31:21 - 31:25
    Transistorzelle entscheidet jetzt
    darüber, ob man einen Zugriff hat, oder
  • 31:25 - 31:30
    nicht, weiß man vielleicht auch wo man
    genau mit dem ultravioletten Licht
  • 31:30 - 31:34
    draufleuchten muss, um diesen
    Schreibschutz halt zu deaktivieren und
  • 31:34 - 31:38
    dann doch wieder einen Zugriff auf den
    Speicher zu bekommen. Jetzt gibt es das
  • 31:38 - 31:43
    teilweise, dass das tatsächlich als
    Bugdoor, wie Peter ja auch schon erklärt
  • 31:43 - 31:47
    hat, einfach als schlechtes Design
    implementiert ist. Aber es könnte
  • 31:47 - 31:51
    natürlich auch vorsätzlich implementiert
    sein, als Backdoor, dass der Designer
  • 31:51 - 31:55
    genau weiß wenn ich die Daten hier raus
    haben möchte, dann lösche ich diese eine
  • 31:55 - 32:02
    Speicherzelle, z.B. mittels UV-Strahlung
    und habe dann den Zugriff. Eine sehr
  • 32:02 - 32:08
    spannende, aber auch kniffligere Sache ist
    das Thema der Zufallszahlen-Generatoren.
  • 32:08 - 32:13
    Die Zufallszahlen-Generatoren werden
    ja viel genutzt um kryptographische
  • 32:13 - 32:19
    Funktionen abzusichern. Der Zufall, eben
    eine nicht vorhersagbare Funktion
  • 32:19 - 32:26
    innerhalb dieses Chips, auszunutzen um
    z.B. Daten zu randomisieren, oder aber
  • 32:26 - 32:32
    Abläufe zufällig zu gestalten. Das Ganze
    wir aber natürlich ad-absurdum geführt,
  • 32:32 - 32:36
    wenn man diese Zufallszahlen von außen
    beeinflussen kann. Oder aber sogar deren
  • 32:36 - 32:42
    Werte vorgeben kann. Und genau auch das
    ist mit Fehlerinduktion denkbar, dass man
  • 32:42 - 32:47
    z.B. von außen ein elektromagnetisches
    Feld, also im Prinzip eine Radiofrequenz
  • 32:47 - 32:53
    vorgibt, und damit die internen
    Zufallszahlen in einer Weise beeinflusst,
  • 32:53 - 32:58
    dass man direkt Daten einprägen kann,
    oder aber zumindest aufsynchronisieren
  • 32:58 - 33:03
    kann, dass man nicht mehr unvorhersagbare,
    sondern vorhersagbare Zufallszahlen
  • 33:03 - 33:10
    generiert. Eine Geschichte, nur wer genau
    diese Frequenz kennt, wie er es einkoppeln
  • 33:10 - 33:15
    kann, kann diese Backdoor dann nutzen
    um z.B. die Zufallsprozesse innerhalb des
  • 33:15 - 33:21
    Chips außer Gefecht zu setzen. Naja und
    wenn wir über Sicherheitschips sprechen,
  • 33:21 - 33:26
    dann wissen wir ja auch, dass sehr häufig
    z.B. Sensoren eingebaut werden. Sensoren
  • 33:26 - 33:31
    um Angriffe zu vermeiden, seien es z.B.
    Spannungssensoren, Sensoren gegen
  • 33:31 - 33:41
    Lichtbestrahlung, Temperatursensoren usw.
    Wer sagt denn, dass diese Sensoren
  • 33:41 - 33:47
    tatsächlich den gesamten Raum abdecken,
    oder ob vielleicht nicht absichtlich eine
  • 33:47 - 33:51
    Schutzlücke eingebaut worden ist, das
    heißt derjenige, der diesen Sensor
  • 33:51 - 33:56
    implementiert hat, weiß vielleicht dass
    genau bei diesem genauen Parametersatz ist
  • 33:56 - 34:01
    der Sensor „blind“ sozusagen, und er
    kann diesen Parametersatz nutzen, um
  • 34:01 - 34:05
    gezielt eine Fehlerinduktion in dem
    Programmablauf oder in den verrechneten
  • 34:05 - 34:10
    Daten einzuführen. Und damit dann
    entsprechend, auch wieder mit dem Trojaner
  • 34:10 - 34:16
    zu kommunizieren. Also man sieht schon,
    es gibt rund um das Thema Backdoors sehr,
  • 34:16 - 34:20
    sehr viele verschiedene Möglichkeiten
    in der Hardware – weitaus mehr
  • 34:20 - 34:25
    Möglichkeiten als bei Software-Trojanern
    – wie man mit ihm kommunizieren kann und
  • 34:25 - 34:31
    wie man hier auch tatsächlich
    Informationen austauschen kann. Eine
  • 34:31 - 34:37
    besondere, große Bedrohung geht von
    den Analyseschnittstellen aus. Denn die
  • 34:37 - 34:41
    Analyseschnittstellen sind ja meistens
    ein Feature was sogar mit einer guten
  • 34:41 - 34:47
    Intention eingebaut worden ist. Z.B. bei
    den Festplatten, wie man hier im oberen
  • 34:47 - 34:52
    Bild sieht, wo ein Debug-Port eingebaut
    worden ist, um, wenn die Festplatte nicht
  • 34:52 - 34:56
    richtig funktioniert, festzustellen, was
    ist da jetzt wirklich kaputt, kann man
  • 34:56 - 35:01
    vielleicht eine neue Firmware einspielen,
    kann man vielleicht noch Daten retten. Auf
  • 35:01 - 35:04
    der anderen Seite kann genau dieser
    Debug-Port natürlich auch dafür
  • 35:04 - 35:10
    missbraucht werden, um auf Daten direkt
    zuzugreifen oder aber um Trojaner in die
  • 35:10 - 35:15
    Firmware der Festplatte einzuspielen.
    Ja, und noch größer ist natürlich der
  • 35:15 - 35:20
    Bereich der sogenannten JTAG-Ports, die
    Analyse-Schnittstelle, die sich in vielen
  • 35:20 - 35:25
    Geräten wiederfindet und teilweise sehr
    mangelhaft abgesichert ist. Denn hier
  • 35:25 - 35:29
    haben wir ein Beispiel von einem
    WLAN-Router, wo man über den JTAG-Port
  • 35:29 - 35:36
    auch neue Firmware, z.B. mit Trojanern,
    in die WLAN-Router einbringen kann.
  • 35:36 - 35:38
    Denken wir das jetzt noch einmal weiter:
  • 35:38 - 35:41
    was passiert, wenn jetzt eigentlich
    ein Sicherheits-Chip mit solch einem
  • 35:41 - 35:46
    Analyse-Port ausgestattet ist? Nun, da
    kann man natürlich sagen, wenn dieser
  • 35:46 - 35:50
    Chip mal ausfällt, kann ich versuchen,
    darüber dann tatsächlich nochmal
  • 35:50 - 35:54
    den zu reparieren, oder zumindestens
    an die Daten wieder ranzukommen, sie
  • 35:54 - 35:58
    zu restaurieren. Ja, aber, genau das
    ist ja das was man nicht möchte. Ein
  • 35:58 - 36:03
    Sicherheits-Chip soll doch bitte die
    Daten auch wirklich geheim in sich halten
  • 36:03 - 36:06
    und nicht dann über einen Analyse-Port
    vielleicht doch wieder zugänglich
  • 36:06 - 36:12
    machen. Und deshalb sind insbesondere auf
    Sicherheits-Chips natürlich Analyse-Ports
  • 36:12 - 36:18
    alles andere als eine gute Wahl. Und
    wie manches Mal aus einem guten
  • 36:18 - 36:23
    Feature tatsächlich dann auch eine
    missbräuchliche Nutzung entstehen kann,
  • 36:23 - 36:27
    haben wir einfach mal dargestellt an
    dem Beispiel eines Türspions. Wir sehen
  • 36:27 - 36:32
    hier den Türspion. Und im zweiten Bild
    einfach mal was passiert eigentlich,
  • 36:32 - 36:35
    wenn ich durch den Türspion nach
    draußen schaue: naja, ich habe die
  • 36:35 - 36:39
    gute Möglichkeit, zu sehen: wer steht
    da eigentlich vor der Tür? Ist das
  • 36:39 - 36:43
    eine zumindestens dem Anschein nach
    vertrauenswürdige Person? Sollte
  • 36:43 - 36:48
    ich jetzt besser die Tür öffnen oder
    lieber besser geschlossen lassen? Genauso
  • 36:48 - 36:51
    wie diese gute Funktionalität in dem
    Türspion drin ist, kann sie aber auch
  • 36:51 - 36:55
    missbräuchlich genutzt werden. Wenn
    ich z.B. wie im 4. Bild zu sehen, eine
  • 36:55 - 36:59
    Umkehr-Optik von draußen aufsetze,
    dann sehe ich nicht mehr nur den
  • 36:59 - 37:04
    kleinen Lichtpunkt hinter der Tür,
    wo das ganze Bild zusammengezerrt ist;
  • 37:04 - 37:08
    sondern aufgrund dieser Umkehr-Optik
    kann ich plötzlich feststellen, was ist
  • 37:08 - 37:12
    eigentlich in der Wohnung? Es erlaubt
    mir den Blick nach innen und damit:
  • 37:12 - 37:15
    wer ist eigentlich in der Wohnung,
    oder ist da überhaupt jemand? Wie ist
  • 37:15 - 37:20
    sie ausgestattet? Und so weiter. Das
    ist unseres Erachtens nach ein schönes
  • 37:20 - 37:25
    Beispiel, wie tatsächlich auch ein gut
    gemeintes Feature eventuell dann eben
  • 37:25 - 37:29
    als Backdoor missbraucht wird.
  • 37:29 - 37:34
    Peter: Ja, in den 90er Jahren – Ende
    der 90er Jahre, würde ich sagen
  • 37:34 - 37:38
    – war ziemlich klar, dass nach
    Software-Trojanern als nächstes
  • 37:38 - 37:40
    Hardware-Trojaner auf dem Plan
    stehen. Dass das also eine echte
  • 37:40 - 37:44
    Bedrohung ist. Und dementsprechend
    haben wir uns zu der Zeit auch schon
  • 37:44 - 37:48
    mal überlegt, was kann man eigentlich
    machen, prophylaktisch, um sowas zu
  • 37:48 - 37:53
    verhindern, um das Risiko zu minimieren;
    und überhaupt Technik so zu bauen, dass
  • 37:53 - 37:59
    sie Trojaner- und Backdoor-resistent
    ist. In dem Rahmen, wie das möglich ist.
  • 37:59 - 38:03
    Und um uns dieser Sache zu nähern,
    haben wir uns zunächst mal überlegt,
  • 38:03 - 38:06
    was können das eigentlich für Motive
    sein? Also was bringt eigentlich die
  • 38:06 - 38:10
    Leute dazu, Trojaner und Backdoors
    einzubauen? Ob das jetzt willentlich
  • 38:10 - 38:15
    ist oder unwillentlich. Das zeigen wir
    hier in diesen 4 Kategorien. Es fängt
  • 38:15 - 38:20
    an mit dem „Bösen Willen“, hier auf
    dem ersten Foto mal zu sehen. Beim
  • 38:20 - 38:24
    Bösen Willen ist es im Prinzip ganz
    klar, daran denkt jeder zunächst mal
  • 38:24 - 38:29
    als erstes. Es könnten Sabotagegründe
    sein, z.B. Erpressung könnte eine Rolle
  • 38:29 - 38:34
    spielen. Ein bestimmtes System ist schon
    im Feld und ein Hersteller, z.B. dieses
  • 38:34 - 38:38
    Systems wird erpresst, dass man mit einem
    bestimmten Kommando einer Backdoor dieses
  • 38:38 - 38:41
    System komplett lahmlegen könnte. Zum
    Beispiel. Aber es können auch politische
  • 38:41 - 38:46
    Motive da eine Rolle spielen. Auch
    alles bekannt; also der Diktator unserer
  • 38:46 - 38:51
    Wahl sozusagen möchte seinen Bürgern
    etwas näher auf den Zahn fühlen und
  • 38:51 - 38:55
    die Kommunikation überwachen, baut
    dementsprechend Backdoors ein. Oder,
  • 38:55 - 38:59
    bringt Trojaner ins Spiel. Auf der
    anderen Seite des Spektrums, ganz
  • 38:59 - 39:03
    interessant, der Gute Wille. Auch das
    geschieht dann aus Vorsatz. Und Markus
  • 39:03 - 39:07
    hatte da ja schon einige Beispiele
    mal gezeigt: das können Dinge sein,
  • 39:07 - 39:12
    wie z.B. Service-Schnittstellen, das
    können Debugging-Sachen sein. Im
  • 39:12 - 39:16
    Prinzip, letztlich sogar, Kundendienst,
    dass jemand also wirklich fragt,
  • 39:16 - 39:20
    er möchte bei so einem Chip die
    Möglichkeit haben, im Nachhinein was
  • 39:20 - 39:23
    zu reparieren oder die Daten wieder
    rauszuholen. Passt natürlich nicht zu
  • 39:23 - 39:27
    Sicherheits-Chips. Und dann schließlich,
    auch da gibt’s politische Motive. Da ist
  • 39:27 - 39:31
    es dann nicht der fiese Diktator unserer
    Wahl, sondern der freundliche Monarch
  • 39:31 - 39:34
    unserer Wahl, der aber das Gleiche will,
    seinen Bürgern auf den Zahn fühlen
  • 39:34 - 39:40
    und alles mitlesen können. Wir haben
    auch noch zwei andere Kategorien hier
  • 39:40 - 39:45
    aufgezeigt. Die sind nicht aktiver
    Natur. Also nicht vorsätzlicher Natur,
  • 39:45 - 39:49
    sondern eher passiver Natur. Und zwar
    haben wir die erstmal als Ignoranz
  • 39:49 - 39:53
    und Dummheit bezeichnet, und das auch
    voneinander getrennt. Warum haben
  • 39:53 - 39:58
    wir das voneinander getrennt? Bei der
    Ignoranz ist es so, dass die Auswirkungen
  • 39:58 - 40:02
    zumindest teilweise bekannt sind. D.h.
    jemand weiß eigentlich, das was er da
  • 40:02 - 40:06
    gerade macht, in einer bestimmten
    Entwicklung oder Konzeptionierungsphase,
  • 40:06 - 40:11
    dass das eigentlich falsch ist. Es
    könnten z.B. Gründe dahinterstehen, wie
  • 40:11 - 40:14
    Zeitdruck. Eine Analyse-Schnittstelle
    z.B. soll für ein fertiges Produkt noch
  • 40:14 - 40:18
    ausgebaut werden. Eigentlich muss man
    das machen, um den Chip dann sicher zu
  • 40:18 - 40:22
    bekommen. Es wird aber aus Zeitdruck
    nicht gemacht. Dazu kann z.B. auch noch
  • 40:22 - 40:25
    Verdrängung kommen, dass man dann sich
    sagt „Ja, es ist ja nicht so schlimm, das
  • 40:25 - 40:30
    wird schon keiner finden“. Oder eben auch,
    dass Hierarchien eine wesentliche Rolle
  • 40:30 - 40:34
    spielen; dass jemandem gesagt wird „Mach’
    das mal so, bau’ das mal so ein!“ und das
  • 40:34 - 40:38
    nicht hinterfragt wird, warum das
    eigentlich notwendig ist, wofür man das
  • 40:38 - 40:41
    eigentlich braucht, und ob man das
    hinterher wieder ausbauen soll. Oder
  • 40:41 - 40:45
    drinlassen soll. Ja, und dann
    schließlich, das Thema ‚Dummheit‘ haben
  • 40:45 - 40:50
    wir hier auch explizit mal so genannt,
    so plakativ. Einerseits Bildungsmangel,
  • 40:50 - 40:55
    Überforderung kann eine Rolle spielen.
    Auch etwas plakativ hier mal dargestellt,
  • 40:55 - 40:59
    das Thema ‚Fachidiotie‘ wirklich zu
    nennen. Das ist wirklich die Plage des
  • 40:59 - 41:05
    21. Jahrhunderts. Denn die Systeme die man
    heute baut, die sind sehr, sehr komplex
  • 41:05 - 41:10
    und da sind teilweise Hunderte von
    Entwicklern, Hunderte von Leuten dabei
  • 41:10 - 41:15
    sowas zu machen. Wie das Einzelne
    ineinander spielt, also welches Zahnrad in
  • 41:15 - 41:19
    welches andere Zahnrad greift, und welche
    Zahnräder in Kombination zusammen ein
  • 41:19 - 41:24
    Schlangenöl ergeben oder auch nicht,
    das ist oft nicht bekannt. Und auch da
  • 41:24 - 41:29
    hatte Marcus ja schon so einige Beispiele
    mal gezeigt, wie eine eigentlich gut
  • 41:29 - 41:34
    gemeinte Sache dann schließlich zu einer
    Backdoor führt oder zu einem hohen Risiko
  • 41:34 - 41:40
    des Backdoor-Auftretens. Und natürlich
    für uns interessant gewesen: was kann man
  • 41:40 - 41:48
    dagegen tun? Und auch hier haben wir uns
    3 Kategorien ausgedacht: die Aufklärung
  • 41:48 - 41:51
    Technologie – also technologische Gegen-
    maßnahmen, und die Verpflichtung – kann
  • 41:51 - 41:58
    von extern oder auch selbst passieren. Und
    hier an diesem grünen und grauen Streifen
  • 41:58 - 42:03
    haben wir mal versucht aufzuzeigen, wie
    wirksam das Ganze ist. Und das erste, was
  • 42:03 - 42:09
    wir da aufgezählt haben, die Aufklärung,
    ist natürlich ganz klar gegen Dummheit,
  • 42:09 - 42:14
    gegen Nichtwissen nützt am besten
    Aufklärung. Gegen bösen Willen auf der
  • 42:14 - 42:18
    anderen Seite nützt Aufklärung wenig.
    Vielleicht sogar im Gegenteil, wenn man
  • 42:18 - 42:22
    jemandem sagt: „Das wäre also wirklich
    der Tod des Unternehmens, wenn da so eine
  • 42:22 - 42:26
    Backdoor eingebaut wäre, die so und so
    aussieht“, dann kann das natürlich sein,
  • 42:26 - 42:30
    dass der Saboteur genau das dann
    einbringt. Klar. Aber wie gesagt, die
  • 42:30 - 42:35
    Aufklärung sehen wir als ganz, ganz
    wichtig an. Bei der Technologie... bei den
  • 42:35 - 42:39
    technologischen Gegenmaßnahmen, da ist es
    so, dass einerseits man sagen muss, ist
  • 42:39 - 42:43
    vom Motiv des Angreifers eigentlich
    unabhängig. Technologische
  • 42:43 - 42:50
    Gegenmaßnahmen erschweren den Einbau von
    Backdoors und Trojanern generell. Trotzdem
  • 42:50 - 42:54
    haben wir das Ganze etwas eingekerbt, auf
    der rechten und auf der linken Seite. Und
  • 42:54 - 42:58
    das hat auch seinen Grund: weil diese
    beiden Bereiche mit Vorsatz verbunden
  • 42:58 - 43:04
    sind. Und das könnte heißen, dass jemand
    z.B. der so etwas vorhat sich schlaumacht:
  • 43:04 - 43:07
    was sind denn da für technologische
    Gegenmaßnahmen eingebaut; und dann
  • 43:07 - 43:12
    versucht, vielleicht auch mit anderen
    Leuten zusammen, um diese technologischen
  • 43:12 - 43:16
    Gegenmaßnahmen herumzukommen und
    die außer Kraft zu setzen. Und dann
  • 43:16 - 43:21
    schließlich gibt es noch die dritte
    Kategorie: die Verpflichtung, kann
  • 43:21 - 43:24
    Selbstverpflichtung sein oder auch externe
    Verpflichtung, da kommen wir gleich noch
  • 43:24 - 43:28
    drauf zu sprechen, auf diese 3 Bereiche.
    Und auch da ist es so, dass das sehr, sehr
  • 43:28 - 43:33
    unterschiedlich wirksam ist. Beim Bösen
    Willen natürlich am wenigsten, aber bei
  • 43:33 - 43:39
    den anderen Motiven schon etwas mehr.
    Aber wie versprochen etwas mehr über diese
  • 43:39 - 43:45
    Möglichkeiten, was kann also jeder tun,
    der in einem dieser Bereiche Entwicklung,
  • 43:45 - 43:49
    Konzeption oder auch Test arbeitet, um
    Backdoors zu verhindern oder die zu
  • 43:49 - 43:54
    erkennen. Und einerseits hier nochmal
    die Punkte der Aufklärung. Das kann
  • 43:54 - 43:58
    technische Aufklärung sein, das steht
    natürlich im Vordergrund. Security by
  • 43:58 - 44:03
    Obscurity darf nicht das Ziel sein.
    Kerckhoffs sollte man schon berücksichtigen,
  • 44:03 - 44:07
    wenn man irgendetwas baut.
    Debug-Schnittstellen passen nicht zu
  • 44:07 - 44:11
    Sicherheits-Chips – auch ganz wichtig.
    Obwohl es immer wieder nachgefragt wird,
  • 44:11 - 44:16
    kann man nicht für eigene Entwicklungen,
    für eigene Fehleranalyse z.B so etwas
  • 44:16 - 44:21
    einbauen. Gehört da nicht rein. Muss
    leider draußen bleiben. Und nicht zu
  • 44:21 - 44:25
    vergessen unser Aspekt auch hier,
    Entwickler denken sehr oft nicht wie
  • 44:25 - 44:30
    Hacker. D.h. sie sind eher konstruktiv,
    manchmal konstruktivistisch unterwegs, und
  • 44:30 - 44:35
    das bedeutet, dass man oft seinen eigenen
    Resultaten oder dem was man da
  • 44:35 - 44:40
    zusammengebaut hat, dann sehr hoch
    vertraut. Und einen Angriff z.B. oder
  • 44:40 - 44:44
    einen Sicherheits-Penetrationstest dann
    eher so als Angriff auf die eigene Person
  • 44:44 - 44:49
    sieht. Und jeder der im
    IT-Sicherheits-Business tätig ist, der
  • 44:49 - 44:53
    kennt das auch, dass man da erstmal so
    eine konstruktive Atmosphäre schaffen
  • 44:53 - 44:58
    muss. Indem man zusammen das Produkt dann
    besser macht. Politische Aspekte sind
  • 44:58 - 45:04
    natürlich auch ein wichtiges Thema. Hier
    der Frankenstein-Effekt, sozusagen, zu
  • 45:04 - 45:08
    nennen. Wenn man so einen Trojaner
    tatsächlich irgendwo in der Praxis hat,
  • 45:08 - 45:11
    dann ist der unkontrollierbar. D.h. man
    weiß nicht, was damit passiert, wer den
  • 45:11 - 45:15
    benutzt, schließlich. Er kann sich
    natürlich auch gegen seinen eigenen
  • 45:15 - 45:19
    Urheber richten. Und gleichzeitig ist
    es auch so, braucht man bloß ins
  • 45:19 - 45:22
    Geschicht-Buch reinzuschauen, dass die
    politischen Situationen sich auch ändern
  • 45:22 - 45:27
    können. Das ist hier vielleicht nicht
    unbedingt so stark der Fall, im eigenen
  • 45:27 - 45:31
    Land. Aber wenn ein Hersteller z.B. in
    verschiedene Länder exportiert, 100..150
  • 45:31 - 45:35
    Länder, dann ist die Wahrscheinlichkeit
    doch relativ hoch, dass eins davon in den
  • 45:35 - 45:39
    nächsten Monaten oder Jahren dann mal
    umkippen könnte. Und dementsprechend
  • 45:39 - 45:43
    wäre auch darauf natürlich zu achten.
    Das Ganze verbunden auch mit den ethischen
  • 45:43 - 45:47
    Aspekten. Für uns auch wichtig, denn
    Backdoors können Personen in tödliche
  • 45:47 - 45:52
    Gefahr bringen. Das ist also kein Spiel.
    Und kein Spielzeug, sondern, wenn, gerade
  • 45:52 - 45:56
    wenn man z.B. an das Thema Kompromat
    denkt, und jemanden mit
  • 45:56 - 45:59
    Top-Secret-Material, was ihm da
    ‚aufgeschleust‘ wurde, sozusagen
  • 45:59 - 46:02
    ‚angeschleust‘ wurde, an einer Grenze
    festgehalten wird, dann ist das schon
  • 46:02 - 46:07
    durchaus unangenehm. Wir sagen da immer:
    „The road to hell is paved with good
  • 46:07 - 46:13
    intentions“, gilt eigentlich für alles
    da, was da steht. Oder auf Deutsch, frei
  • 46:13 - 46:19
    nach diesem Motto „Gut gemeint ist
    nicht gut gemacht“. Ja, es gibt einige
  • 46:19 - 46:22
    technologische Gegenmaßnahmen gegen
    Trojaner und Backdoors, also rein
  • 46:22 - 46:26
    prophylaktisch, was auch sehr, sehr
    wirksam ist. Dazu gehört zunächst mal:
  • 46:26 - 46:31
    keine backdoor-fördernden Technologien
    einzusetzen. Die gehören raus, und
  • 46:31 - 46:34
    wenn man merkt, dass eine Technologie
    backdoor-fördernd ist, oder sowas
  • 46:34 - 46:39
    begünstigt, dann sollte man die in
    Sicherheits-Chips nicht verwenden.
  • 46:39 - 46:42
    Darüber hinaus gibt es ein paar
    Möglichkeiten, dass man das Design so
  • 46:42 - 46:46
    anlegt, dass Änderungen auffallen. D.h.
    jemand anderes, der auch an dem Design
  • 46:46 - 46:50
    arbeitet, eher merkt, dass etwas nicht
    stimmt, oder dass im Test oder in der
  • 46:50 - 46:55
    Evaluierung dann auffällt, dass etwas
    nicht stimmt, weil die Änderungen, die
  • 46:55 - 46:58
    durchzuführen sind, größer sind als
    das was man bei schlangenöl-haltiger
  • 46:58 - 47:03
    Technologie machen muss. Der Rest ist
    im Prinzip ähnlich wie beim Thema der
  • 47:03 - 47:10
    technologischen Aufklärung. Aber wir
    haben hier auch gleichzeitig noch 2 andere
  • 47:10 - 47:16
    Möglichkeiten aufgeführt. Das sind die
    Selbsttest von Chips. Und die Erkennung
  • 47:16 - 47:19
    nachdem ein Chip fertig ist. Aber da muss
    man ein bisschen vorsichtig sein. Bei den
  • 47:19 - 47:24
    Selbsttest ist es noch so, dass die
    einigermaßen wirksam sind. Das bedeutet,
  • 47:24 - 47:27
    dass ein Chip bevor er eine wirklich
    kritische Operation macht, also z.B. eine
  • 47:27 - 47:31
    Nachricht verschlüsseln, dass er vorher
    eine Testoperation durchführt und schaut
  • 47:31 - 47:35
    ob alles okay ist. Ob die Schlüssel nicht
    manipuliert sind, die Zufallszahlen in
  • 47:35 - 47:39
    Ordnung sind usw. Da gibt’s also ’ne ganze
    Menge dieser Selbsttest, und wenn die alle
  • 47:39 - 47:46
    vernünftig durchgelaufen sind, dann macht
    ein Chip die eigentliche Operation. Aber
  • 47:46 - 47:50
    kann natürlich sein, dass ein Insider
    sich Gedanken macht und überlegt, was
  • 47:50 - 47:53
    könnte da alles eingebaut sein das
    mir das Leben schwer macht. Und
  • 47:53 - 47:57
    dementsprechend auch diese Tests
    manipuliert. Bedeutet aber, dass man da
  • 47:57 - 48:01
    mehr Einfluss braucht, mehr Aufwand,
    und vielleicht sogar Mitwisser. Das ist
  • 48:01 - 48:08
    natürlich dann auch ein Problem. Bei der
    Erkennung sind wir etwas skeptischer, also
  • 48:08 - 48:11
    es gibt einige Resultate, einige
    Arbeitsgruppen, auch die sich mit dem
  • 48:11 - 48:15
    Thema Erkennung auseinandersetzen und
    sagen man könnte doch bei einem fertigen
  • 48:15 - 48:18
    Chip, wenn der sozusagen fertig
    prozessiert ist, schauen ob da ’ne
  • 48:18 - 48:23
    Backdoor drin ist, anhand z.B. der
    Stromaufnahmekurven, die dieser Chip dann
  • 48:23 - 48:27
    liefert. Da muss man aber sehr vorsichtig
    sein, denn üblicherweise würde so eine
  • 48:27 - 48:31
    Backdoor ja so angelegt werden, dass sie
    nicht ständig aktiv ist. Und außerdem
  • 48:31 - 48:34
    ist es so bei Sicherheits-Chips, bei
    Sicherheits-Software und auch bei
  • 48:34 - 48:37
    Sicherheits-Hardware, dass der
    Stromverbrauch sowieso immer relativ
  • 48:37 - 48:43
    zufällig gewählt wird. Einfach auch
    um Seitenkanal-Angriffe abzuhalten.
  • 48:43 - 48:49
    Dementsprechend ist so eine Entdeckung von
    Manipulation am fertigen Chip sehr, sehr
  • 48:49 - 48:53
    schwierig. Es gibt aber noch eine dritte
    Möglichkeit, gegen Trojaner vorzugehen,
  • 48:53 - 48:58
    auch präventiv. Und das ist die
    Verpflichtung. Gibt 2 Möglichkeiten, also
  • 48:58 - 49:03
    einerseits eine auferlegte Verpflichtung.
    Und was man heute auch durchaus mal sieht,
  • 49:03 - 49:07
    ist, dass Leute die Sicherheits-Chips
    einsetzen, die die also kaufen oder sich
  • 49:07 - 49:12
    umsehen, wo gibt’s die, dass die sehr,
    sehr genau schauen, wer stellt die her,
  • 49:12 - 49:16
    was haben die für eine Historie
    z.B. die Hersteller, wie sind die
  • 49:16 - 49:20
    Besitzverhältnisse, wo ist der
    Hauptsitz z.B. der Firma, welche
  • 49:20 - 49:25
    Einflussmöglichkeiten gibt es von
    anderen, von Dritten, auf diese Firmen.
  • 49:25 - 49:31
    Also das kommt immer mehr, man merkt
    es eigentlich sehr schön. Ja, Gesetze und
  • 49:31 - 49:37
    Richtlinien – zunächst mal zu nennen die
    Datenschutzgesetze, natürlich. Ganz nett,
  • 49:37 - 49:41
    die Frage natürlich: wer setzt die durch?
    Und wer überprüft die Einhaltung dieser
  • 49:41 - 49:46
    Gesetze die es schon gibt eigentlich? Und
    da ist natürlich ein Realitätsabgleich
  • 49:46 - 49:51
    nötig. Z.B. die Frage: Wo gelten die?
    Also, zu Lande, im Weltraum und
  • 49:51 - 49:55
    ähnliches? Ist ja immer die Frage wie wir
    wissen. Und dann gibt’s schließlich noch
  • 49:55 - 50:00
    die Selbstverpflichtung, die eigentlich
    gar nicht so schlecht ist. In diesem Fall
  • 50:00 - 50:05
    ist es so, dass der Hersteller selber
    sich selbst verpflichten würde, keine
  • 50:05 - 50:09
    Backdoors und keine Trojaner einzusetzen.
    Jetzt natürlich die Frage: "Wieviel bringt
  • 50:09 - 50:15
    das, wenn er sich nur selber verpflichtet?
    Was da passiert ist im Prinzip, dass ein
  • 50:15 - 50:19
    künstliches ökonomisches Risiko erzeugt
    wird. Das heißt, wenn der Hersteller z.B.
  • 50:19 - 50:23
    überführt wird, dass er also trotz
    dieser Selbstverpflichtung trotzdem so
  • 50:23 - 50:27
    eine Backdoor eingesetzt hat, oder
    die verwendet, dann hat das für ihn
  • 50:27 - 50:32
    natürlich negative Konsequenzen. Und
    dieses ökonomische Risiko was dann
  • 50:32 - 50:35
    entsteht, das führt dazu, dass
    beim Hersteller selbst und in
  • 50:35 - 50:40
    Entwicklungsprozessen mehr darauf geachtet
    wird, solche Backdoors nicht einzubauen.
  • 50:40 - 50:44
    Bzw. auch nicht unbeabsichtigt einzubauen.
    D.h. die Tests... könnte man erwarten,
  • 50:44 - 50:49
    dass die Tests z.B. besser werden, dass
    die Evaluierungsmöglichkeiten besser
  • 50:49 - 50:52
    werden, und dass natürlich auch die
    Beeinflussungsmöglichkeiten schlechter
  • 50:52 - 50:58
    werden. Dass die Aufklärung besser wird.
    Also im Prinzip alles prima. Die Frage
  • 50:58 - 51:02
    natürlich: Warum soll sich ein Hersteller
    so einem ökonomischen Risiko aussetzen,
  • 51:02 - 51:06
    wenn es nicht belohnt wird? Aber auch da
    ändert sich momentan so ein wenig die
  • 51:06 - 51:12
    Lage. Man sieht schon, dass Hersteller
    die da vorpreschen, dass die schon eine
  • 51:12 - 51:16
    Vorbildfunktion dann für andere auch
    darstellen können. Man kann das Ganze mit
  • 51:16 - 51:22
    anderen ethischen Werten koppeln. Aber
    natürlich, schließlich die Frage: Lohnt
  • 51:22 - 51:25
    es sich für einen Hersteller, wer macht
    das bisher? Wir hoffen, dass das besser
  • 51:25 - 51:32
    wird. Und dass da mehr Unternehmen sich
    diesen Sachen dann widmen. So kommen wir
  • 51:32 - 51:35
    auch schon zum Ende unseres Vortrages.
    Wir haben einige Literatur noch
  • 51:35 - 51:41
    zusammengestellt für euch. Wen es
    interessiert, also hier z.B. von 1972
  • 51:41 - 51:47
    die erste Literaturstelle, die erste
    Fundstelle, wo wirklich von Computer-
  • 51:47 - 51:51
    Trojanern wirklich gesprochen wird und wo
    so die Konzepte aufgestellt werden. Bis
  • 51:51 - 51:56
    hin zur letzten Fundstelle, gerade jetzt
    von Dezember, eigentlich eine ganz
  • 51:56 - 52:01
    interessante Arbeit. Kann sich jeder
    gerne mal durchlesen, wenn er Zeit hat.
  • 52:01 - 52:05
    Ja, damit wie gesagt, möchten wir dann
    auch schließen. Wir wünschen euch viel
  • 52:05 - 52:08
    Spaß bei der eigenen Forschung. Wenn
    es Fragen gibt, sind wir noch ein paar
  • 52:08 - 52:12
    Minuten hier. Und ansonsten können wir
    auch darauf verweisen, wir wären morgen
  • 52:12 - 52:16
    in unserem Assembly. Und wer Lust hat kann
    gern vorbeikommen, mit uns diskutieren.
  • 52:16 - 52:20
    Vielleicht gibt es ja auch noch
    interessante Ideen, die wir dann
  • 52:20 - 52:23
    zusammen besprechen können.
    Also vielen Dank schon mal!
  • 52:23 - 52:33
    Applaus
  • 52:33 - 52:37
    Herald: Vielen Dank! Also, ihr habt
    gehört, ihr habt jetzt ein paar Minuten
  • 52:37 - 52:42
    Zeit, Fragen zu stellen. Wenn es Fragen
    gibt, stellt euch bitte an die Mikrofone.
  • 52:42 - 52:48
    Die anderen die jetzt schon den Saal
    verlassen, tun dies bitte möglichst leise!
  • 52:48 - 52:52
    Gibt’s irgendwelche Fragen?
  • 52:52 - 52:57
    Peter: Ah, da ist einer!
  • 52:57 - 53:02
    Herald: Ah, dort hinten erkenne ich
    jemanden an Mikrofon 3. Bitte!
  • 53:02 - 53:06
    Frage: Und zwar stellt sich mir die Frage,
    dass man ja Software gut eigentlich
  • 53:06 - 53:10
    damit absichern kann, indem man beweist,
    dass sie der Spezifikation genügt.
  • 53:10 - 53:13
    Gibt es da Ansätze für Hardware
    in den verschiedenen Leveln,
  • 53:13 - 53:18
    also für VHDL, für die
    Implementierung usw.?
  • 53:18 - 53:22
    Marcus: Es gibt in der Tat, natürlich,
    den Versuch, zu analysieren,
  • 53:22 - 53:27
    ist da eine unbemerkte Funktionalität
    eingebaut worden? Da gibt es auch
  • 53:27 - 53:31
    entsprechende Ansätze. Allerdings muss
    man ganz fairerweise sagen, dass natürlich
  • 53:31 - 53:36
    diese Ansätze es sehr schwer haben,
    eine Vollständigkeit nachzuweisen.
  • 53:36 - 53:40
    Und wir haben es gerade gesehen, z.B. im
    Herstellungsprozess stelle ich mir vor,
  • 53:40 - 53:45
    ganz zum Schluss, in der Veränderung des
    Maskensatzes, so ist dieses nur noch
  • 53:45 - 53:50
    am fertigen Produkt oder an der Maske
    selber nachweisbar. Infolgedessen
  • 53:50 - 53:54
    ist an sich hier der Rückschluss – ist
    das die ursprüngliche Funktionalität
  • 53:54 - 53:59
    oder nicht? – kaum noch feststellbar. Also
    ja, es gibt Ansätze, aber nein, sie sind
  • 53:59 - 54:03
    bei weitem noch nicht voll umfassend.
    Frage: Danke!
  • 54:03 - 54:08
    Herald: Schhhhhhh!
    Mikro 4, bitte!
  • 54:08 - 54:14
    Frage: Hallo hallo! Ich hätte die Frage:
    wie sieht ganz operativ der Aufwand aus
  • 54:14 - 54:17
    für einen – ich nenn’s mal
    Maulwurfentwickler – der jetzt eine
  • 54:17 - 54:23
    zusätzliche Maske reinbringen will. Wenn
    ich mir vorstelle, dass die Lagen, die
  • 54:23 - 54:29
    Oxide etc. die man da mittlerweile plant,
    so dünn sind, dass wenn ich ’ne
  • 54:29 - 54:34
    Zusatzstruktur in bestehende Layer
    dazwischenschiebe, dass ich dann Shunts
  • 54:34 - 54:39
    produziere etc. und wenn ich was nebenan
    lege, also abseits des normalen
  • 54:39 - 54:43
    footprints, dann passts beim Dicing nicht
    mehr, dann fällt das auf, dass da einfach
  • 54:43 - 54:46
    zusätzliche Pfade liegen,
    wo eigentlich nix hingehört.
  • 54:46 - 54:51
    Peter: hustet Entschuldigung. Ja, also,
    als Antwort, vielleicht: das Schöne ist,
  • 54:51 - 54:55
    bei der Vermeidung der Trojaner, dass je
    weiter man in Bereich der Masken geht,
  • 54:55 - 55:00
    dass es umso aufwändiger wird. Hatten wir
    vorhin auch ansatzweise so dargestellt.
  • 55:00 - 55:04
    Also wenn man gleich in den VHDL-Code das
    einbringt, so eine Schad„soft“ware, so
  • 55:04 - 55:08
    einen Trojaner, ist es relativ einfach.
    Nachher wird’s immer schwerer. Und
  • 55:08 - 55:15
    das Interessante ist da, dass man wirklich
    Technologien vermeiden muss, wo es einfach
  • 55:15 - 55:20
    wird, sozusagen diese Manipulation
    durchzuführen. Z.B. denken wir mal an
  • 55:20 - 55:25
    diese RAM-Zellen. Da ist es so, der
    RAM-Zelle ist es eigentlich mehr oder
  • 55:25 - 55:31
    weniger egal, ob der eine Treiber dieser
    RAM-Zelle etwas stärker ist oder etwas
  • 55:31 - 55:36
    weniger stark. Die funktionieren
    normalerweise. D.h. wenn man jetzt z.B.
  • 55:36 - 55:39
    diese physical unclonable functions
    anwendet und aus diesen RAM-Zellen etwas
  • 55:39 - 55:44
    ableitet, z.B. einen Schlüssel, dann wird
    das nicht auffallen, wenn jemand das
  • 55:44 - 55:48
    manipuliert hat. Wenn es allerdings eine
    Funktionalität ist, auf die der Chip
  • 55:48 - 55:52
    wirklich angewiesen ist, und die auf gar
    keinen Fall schieflaufen darf, dann ist
  • 55:52 - 55:56
    das viel schwerer. Und dementsprechend
    ist es so, dass zunächst mal wichtig ist,
  • 55:56 - 56:02
    alles rauszuwerfen, was sozusagen diesen
    Backdoors Vorschub leistet. Und, ja, da
  • 56:02 - 56:07
    hattest du völlig recht, also es ist in
    der Tat schwierig, aber wenn die falschen
  • 56:07 - 56:11
    Technologien verbaut sind, dann wird es
    ziemlich einfach. Und das ist genau das
  • 56:11 - 56:14
    Problem dabei.
  • 56:14 - 56:15
    Herald: So, die Zeit ist leider knapp.
  • 56:15 - 56:19
    Deshalb die letzte Frage
    aus dem Internet, bitte.
  • 56:19 - 56:23
    Signal Angel: Die Frage ist: Wurden schon
    mal wirklich absichtlich eingebrachte
  • 56:23 - 56:27
    Trojaner gefunden? Also nicht im Sinne von
    Debug-Stelle ausnutzen oder JTAG
  • 56:27 - 56:31
    ausnutzen? Und wurde das
    auch explizit verwendet?
  • 56:31 - 56:35
    Marcus: Es gibt in der Tat einige
    Beispiele, wo insbesondere auch
  • 56:35 - 56:40
    Zufallszahlengeneratoren, die in Hardware
    ausgelegt worden sind, verändert worden
  • 56:40 - 56:44
    sind und damit praktisch die Zufallszahlen
    nicht mehr wirklich komplett zufällig
  • 56:44 - 56:49
    waren sondern beeinflusst waren. Also –
    ja, es gibt auch praktische Beispiele, wo
  • 56:49 - 56:52
    Hardware-Trojaner eingesetzt worden sind.
  • 56:52 - 56:55
    Signal Angel: Gibt’s dazu
    auch einen Namen?
  • 56:55 - 56:59
    Herald: grinst dämlich
    – Eigentlich keine Dialoge!
  • 56:59 - 57:05
    Deshalb, vielen Dank, ihr
    könnt nochmal applaudieren!
  • 57:05 - 57:12
    Applaus
  • 57:12 - 57:18
    Abspannmusik
  • 57:18 - 57:23
    Untertitel erstellt von c3subtitles.de
    im Jahr 2016. Unterstütze uns!
Title:
Peter Laackmann, Marcus Janke: Hardware-Trojaner in Security-Chips
Description:

more » « less
Video Language:
German
Duration:
57:24

German subtitles

Revisions