 Okay, los. Jetzt möchte ich euch vorstellen, unsere zwei Vorsträgenden und einen sehr interessanten Talk. Angriffe auf Hardware und Chips angreifen auf sehr billigartem Weise. Und ihr wisst ja, die Sachen gehen immer kleiner, die Chips werden immer kleiner und auch weniger teurer. Und hier geht es jetzt darum, Chipsackens ohne sie kaputt zu machen, auseinander zu nehmen. Und das war halt eher schwierig. Und diese Leute hier auf der Bühne haben es eben noch billiger gemacht, so dass es nur 130 Euro oder so kostet. Bitte, eine Runde Applaus für unsere Vortragenden. Hallo. Vielen Dank, dass ihr gekommen seid. Sehr vielen Dank. Unser Talk ist über Hardware Hacking, aber nicht diese Art von Hardware Hacking, sondern auch nicht das. Glaubt ihr? Es ist mehr wie das hier. Hacking von Chips, Mikrocontroller und Microprozessor, sehr klein. Sie sind und sie haben Schlüssel in dieser Hardware und wir wollen diese Geheimnisse, diese Keys extrahieren, die Secret Keys oder die Passwörter und wie man daran kommt oder sie beeinflussen kann, aber ohne sie kaputt zu machen. Wer sind wir? Das ist mein Freund Raphael. Er ist super cool. Ich bin Raminow. Ich bin natürlich auch super cool und wir arbeiten in einer Firma, die sich da wird beschäftigt, sich mit der Sicherheit von Chips beschäftigt. Aber wir machen das mit sehr teurer Werkzeugen. Natürlich sind wir auch cool. Wir haben sehr teure Werkzeuge. Wir haben Laser. Wir machen Sachen kaputt. Natürlich ist das sehr teuer. Das ist nicht etwas, was man sich leisten kann. Dieser Vortrag geht nicht darum, wie wir das in unserer Firma kaputt machen oder ja, wir sind total super. Sondern darum, wie man das billige und zuhause macht. Das ist natürlich noch besser. Das ist jetzt eine der Sachen, wie kann man das umsetzen? Wenn Sie das versuchen, möchten, sind diese Werkzeuge normalerweise. Da braucht man mehr als 5.000 Euro. Da regelt viel mehr oder man kann es billiger machen. Dann kann man vielleicht auch mit 1.000 arbeiten. Dann kann man vielleicht alte Sachen nebenhand gebrauchte Materialien kaufen, weil man ist in India noch um die 1.000 Euro. Ich möchte euch zeigen, wie man das mit noch weniger macht. Ungefähr den Preis für 5 Biers oder 5 Mateflaschen. Die Idee ist, wie man Hardware sehr billig hacken kann. Das ist nicht super. Der Talk wurde für eine Stunde eingebracht, aber wir müssen es in 30 Minuten herunterbrechen und darum werden wir nicht über sehr technische Details reden. Wenn Sie daran interessiert sind, dann können Sie später zu dem spanischen Embassy und dann können Sie uns da die Informationen kriegen. Zuerst in das Klammer. Was wir machen, ist, wir haben nur mit Altmell und Assign gemacht und wir machen viele Vorträge darüber, wie man das billiger macht, wenn man die Chips billig macht. Wir nehmen wählen Chips, die sind und wir haben diese beiden benutzt, weil sie überall vorhanden sind und recht billig sind. Darum kann jeder damit einfach probieren. Das, was wir hier machen, funktioniert wahrscheinlich auch auf anderen Chips, wie Microchip oder NXP oder FreeScale. Also nach diesem Vortrag bitte stehen nicht darüber, dass Altmell oder ST schlechter ist, sondern das ist bei allen gleich. Das ist ganz normale, reguläre Unsicherheiten und die sind überall unsicher. Normale CPUs sind einfach unsicher. Es gibt welche, die schwer anzugreifen sind, aber in diesem Fall sind das normale Protestoren und die sind nach regelrecht einfach zu hecken. Zuerst eine kleine Themo. Wir versuchen, einen Challenge-Response, also eine Frage-Antwort-Sache zu umgehen. Das wird in einem Auto benutzt. Wenn man das Auto startet, dann nimmt man den Autoschlüssel und der hat so einen Knopf drauf. Es ist so ein elektronischen Chip und der hat einen Chip drin, der mit Funk arbeitet. Er zeigt das Auto eine Zufallzahl. Diese Zufallzahl ist die Anfrage und die wird zum Chip, dem Funk-Chip, in dem ein Schlüssel weiter geschickt. Dieser Schlüssel nimmt eine Zufallzahl, verschlüsselt ist mit AES, mit der Anfrage und die Antwort geht zurück ans Auto. Und das Auto macht genau dasselbe mit dem selben Schlüssel und mit der Zufallzahl, mit dem selben Schlüssel und kriegt dann auch eine Zahl raus und dann schaut die Antwort mit dem, was sie selber ausgerechnet hat. Und selbst wenn die Nummer gleich ist, dann benutzen beide Geräte denselben Schlüssel und dann kann man das Auto starten. Wie kann man diese Systeme einbrechen? Wir können versuchen diesen Schlüssel auch wieder herauszukriegen. Das benutzen wir normalerweise seitenskanal Angriffe. Das werden wir jetzt nicht machen. Ein anderer Weg, das Challenge-Response-Systeme einzubrechen, ist diese Vergleich zu umgehen. Der Moment, wo der Auto-Prozessor den einen DDR-Antwort mit dem selbst erbrechneten Idee wirben will. Wir wollen den Chip so verändern, oder das Verhalten des Chips so verändern, dass wir das umgehen können. Also einfach während er die beiden Nummern vergleicht wird er aufhören und dann haben wir mit einem bisschen Glück. Können wir dem Auto glauben? Können wir versuchen, dass das Auto glaubt, dass die beiden Nummern gleich sind? Das ist, hat auch einen Namen. Leonard. It's Leonard from Arduino. Das ist unser Ziel und das könnt ihr auch zuhause kaufen. Was wir benutzen wollen ist Fold Injection, eine Technik, um die Spannung zu verändern. Wir verändern die Spannung und dem Moment, wo der Vergleich scheitert, haben wir das Glück, dass wir was machen können. Aber um zu erklären, wie dieser Volt-Spannungsklitsch funktioniert, muss ich ausholen. Also stellt euch vor 40 Jahren, wenn man das Camp nahe der Club Marte Fabrik packen würde, wenn man jetzt die Marte hätte, die direkt zu den verschiedenen Caps fließen würde, dann wären natürlich alle super happy und wir hätten ein Party die ganze Nacht. Aber ein böser Hacker, Hack the Factory dann und dann und dann hört die Marte auf zu fließen. Was passieren wird, ist ohne den Fluss von Marte und dann fangen natürlich die ganzen Camps an ihren eigenen Vorrat an Marte zu benutzen, um die eigene Party aufrecht zu halten und dann trinken sie natürlich auch irgendwann, aber irgendwann ist der Vorrat aufgebraucht und dann und was passiert dann mit den Hackern, wenn keine Marte mehr da ist, dann fangen sie an zu schlafen. Also die Party in den übel anderen Zelten hört auf, aber in anderen Folgen noch Marte vorhanden ist, geht die Party weiter. Aber wenn die Marte Fabrik dann wieder aktiviert wird, dann kommt wieder neue Marte. Die Zelte fangen dann wieder an zu feiern und die Zelte die vorgeschlafen haben, die Villages die vorgeschlafen haben, sind wieder aktiv. Lasst uns austauschen, lasst uns das CTC Camp mit einem Mikroprozess austauschen und die Villages mit unterschiedlichen Komponenten in das Mikrocontroller vergleichen und die zum Beispiel in die Algorithmus und die Power Supply oder die Stromversorgung wird mit der Martefabrik ausgetauscht und die unterschiedlichen Marteflaschen, wir sind interne kleine Kapazitätive gegenwende und die Martefluss ist der interne Widerstand. Weil der Chip wird so gemacht, dass es gibt es kleine Speicher, wo ein bisschen Strom gespeichert werden kann. Wenn man die Stromversorgung entfernt, dann werden einige Module weiterhin funktionieren, aber manche werden, wenn man da die Stromversorgung ausschaltet, werden früher aufhören und die werden auch ausfallen, obwohl andere weiterhin funktionieren und das funktioniert so. Wir versuchen den Strom für einen sehr kleinen Echtzeitpunkt sehr schnell ausschalten und dann wird einer dieser Blocks nicht mehr funktionieren und er hat nicht mehr genug Strom, aber der anderen wird weiterhin funktionieren und die auch wenn die Stromversorgung wieder da ist, dann hat dieses eine Element, das nicht mehr auch nicht funktioniert hat, dann wird es danach weiterhin funktionieren. Wenn wir das in den richtigen Momenten machen, dann können wir Sachen machen, wie zum Beispiel Aufträge überspringen und sagen, hey, diese Sachen sollen nicht funktionieren und wir können die Aufträge von dem Computer verändern und wir haben jetzt ein spezielles Gerät gemacht, das ist sehr einfach, um diese Angriffe durchführen zu können. Einen Chip zerstören und es ist so einfach. Das Ziel ist der Arcoino, den werden wir angreifen. Die LPC Expresso ist ein Entwicklerboard für Entwickler, speziell den Controller und wir haben nur 3W Widerstände, einen Transistor und weiterhin nichts. Sie können auch jedes anderes Board benutzen. Was man an sich machen muss, ist, einen sehr schnellen Putz zu erstellen und damit schießt man dann den Transistor in dem richtigen Zeitpunkt und man muss dieses Board, aber man kann auch jedes andere benutzen. Wahrscheinlich haben sie irgendwie zu Hause eins rumliegen, also irgendwelche Controllerboards. Die Kosten von den ganzen Sachen ist 20 Euro oder vielleicht sogar weniger. Am Ende haben wir so etwas, wir werden zeigen, wie es funktioniert. Das ist das Ergebnis von diesem Gerät. Wenn ich das Gerät laufen lasse, dann sieht man so eine Fallung in der Stromversorgung. Die Stromversorgung ist stabil und in jedem Moment, den ich möchte, kann man einfach so einen kleinen Loch in die Stromversorgung machen. Wenn es sehr tief ist, dann werden die ganzen Sachen, werden alle Module nicht mehr funktionieren, dann schattet der Chip erneut. Und ich möchte aber nur, dass einige dieser Elemente stoppen. Darum muss ich nur eine sehr kleine Delle in der Stromversorgung machen. Okay, jetzt ist es ein Demo ausprobieren. Also, weil wir nicht so viel Zeit haben, werde ich es einfach laufen lassen, falls es euch interessiert. Schaut einfach später vorbei und dann erzähl ich euch die Details. Aber könnt ihr den Bildschirm zurückmachen, die Folien oder den Desktop? Das ist die Umgebung. Es ist eine sehr einfache Freeware, wenn ich die Glitches machen will, dann kann ich fest irgendwie lang die Glitches sehen sollen und da läuft ein Server, der die Zahlen generiert und dann versuchte halt diese Challenge, also die Schlüsselabfrage über die Zufahrzahl abzufragen und dann sendet er das Smart-O-ino und bekommt auch die und er bekommt, man bekommt dann okay, wenn die Zahl richtig übergeben wurde. Ansonsten hat es einen Fehler. Also werden wir jetzt das laufen lassen. Es ist nicht so einfach. Entschuldigung. Okay, jetzt fragt mich das Programm, wie lange ich die Glitches haben will, wann ich sie haben will. Ich habe jetzt die Parameter übergeben. Ich weiß von diesen Parameter, dass sie funktionieren. Wir mussten sie erst mal tun und um herauszufinden, wann man sie senden muss, um die richtige Antwort herauszufordern und man muss einfach viel rumprobieren. Und dann fange ich an die Glitches zu senden. Ich versuche halt, Glitch auszulösen. Ich rechte die Antwort vom Arduino und sehe halt hier. Hier haben wir, sehen wir, ich starte zu Glitchen. Wir kriegen eine Challenge, also wir senden, kriegen einfach irgendeine Antwort. Ich lese die Antwort des Adinos zurück und sehen, wir haben ein Fehler. Also starte ich das Report neu. Der Versuch ist erneut erneut und irgendwann kriege ich okay. Also habe ich diesen Vergleich umgang und das funktioniert nicht immer. Mit diesem Aufbau und diesem Arduino habe ich 30 bis 50% Chance, das zu knacken. Also. Jetzt reden wir über eine andere Angriffsart. Ihr könnt nämlich alle hören. Ja, super. Können wir ein anderes Video kriegen? Ja, danke. Lasst uns Kryptografie angreifen. Okay, so. Lass uns klären, wie man Geräte wie zum Beispiel einen Schlüssel Keyfob ausprobieren kann. Dann werde ich einen anderen Angriff anzeigen. Erklären, wie man in diesem Fall Kryptografie angreift. In diesem Fall RSA. Und RSA wird einfach überall benutzt und die digitalen Signaturen, weil Bankläder bei PGP für SSL Logins, wenn man kein Passort benutzt, SSL Logins. Wenn man RSA vergleicht, dann sieht man, dass RSA sehr elegant ist. Ein sehr schönes Design, aber es hat ein Problem. Ist ja richtig langsam. Und die meisten Implikationen haben sie es optimiert und ein dieser lieblichen Optimieren ist dieses RSA CRT. Chinese Rest Theorie und das sind spezielle Theorie, dass man RSA viermal schneller berechnet. Ist sehr unters, weil das Bild mit den Pinguin ist schneller, aber es ist auch ein bisschen gefährlich. Es ist nicht schön, ein Pinguin mit einer G-Teile zu haben. Also, das ist der Angriff, den ich machen möchte. Das ist der differenzielle Fehlerangriff an RSA CRT. Hier sieht man die Mathematik, aber ich hasse Math. Also, wie funktionieren die? Ich möchte nicht nur die ganzen Mathematik Details zeigen, sondern es sind nur drei Schritte und es ist sehr einfach zu zeigen. Das erste ist, dass wir eine fehlhafte Signatur bekommen. Also, die Signatur, das Gerät wird einen sehr angriff mit der Signatur um den Rochen, nur eine falsche Signatur. Wenn ich einmal Erfolg habe, dann habe ich Glück. Dann mache ich die normale Signatur. Das hat einen Stern, weil das häufig optional ist, wenn man die Nachricht hat. Und, wie es funktioniert ist, ich möchte den größten gemeinsamen Teile kriegen und den Unterschied zwischen dem falschen und der normalen Nachricht. Und ich verende einfach nur den Unterschied zwischen den beiden. Und das resulte, das Ergebnis ist der geheime Schlüssel. Also, mit einem einzigen Fehler kriegen wir das. Okay, jetzt stellt uns vor, dass zwei, die normale Signatur ist, oft nicht benötigt, wenn man die Nachricht hat. Okay, hier, wie kriegen wir den Fehler erhalten? Mir reicht diese Idee von diesem Kameraspital, der jetzt abstürzt, wenn man ein Bild davon macht. Ja, die Idee ist, wie viele Sachen sind angreifbar gegen von Licht und nicht nur die Gremlins. Also, ein kleines Video, wie Gremlins mit sowas umgehen. Also, wenn man ein Bild von einem Gremlin macht, dann macht es sowas. Sie sterben. Was wir jetzt mit dem Chip machen wollen, ist was sehr Ähnliches. Okay? Also, optische Faultfiele in die Erektoren ist, also, Silikongeräte, also, die ganzen Chips werden aus Silikon gemacht. Und die, wenn Licht drauf kommt, dann lausen die Chips auf einmal, dann lausen die Transistoren auf einmal Strom durch und dann kommt das ein Fehler dabei raus. Interessante Fall ist, dass wir diesen Chip dabei öffnen müssen. In dem Fall ist eine Webseite, wie man zu Hause Chips öffnen kann. Normalerweise braucht man hierfür eine Säure und wir brauchen eine Hotplate und wir brauchen Arzitonen, das Ganze auszuwaschen und wenn man dahin geht, sieht man ein Video. Ist nicht sondern nicht kompliziert, aber sehr wichtig. Es ist sehr gefährlich. Ich bin nicht dafür verantwortlich, dass ihr euch gegenseitig verbrennt oder euch selber verbrennt. Ihr seid auf euch ein Selbstgestellt und es kann sehr schief laufen. Das könnt ihr machen, aber ihr könnt es machen. Okay, wie funktioniert das? Um ein Chip zu öffnen, braucht man Arzitonen, man braucht Glas, das kann man irgendwo klein, man kann auch vielleicht die Koch, also Küche benutzen, man braucht auch eine Kamera mit einem Licht und mit einem Blitz nicht und das kann man auch aushalten. Der Gesamtangriff ist vielleicht nur 9 Euro. Wir brauchen nur einen Chip und einen offenen Chip und eine Kamera. Das beim Raspberry Pi wird die Paket schon einfach offen. Okay, lass uns diese Demo durchführen. Also ich habe hier den Aufbau. Ich weiß nicht, ob ihr das gut sehen könnt auf diesem Bild. Ich versuche den Stativ ein bisschen zu bewegen. Okay, hier, ja, lassen wir das hier hinschieben, ohne dass es kaputt geht. Okay, also hier, was Sie hier sehen können, ist der Mikrocontroller. Es ist verbunden zu meinem Computer mit einem speziellen Kabel, einem speziellen Kabel und immer wenn ich eine Nachricht schicke und was jetzt passiert, das ist abstürzt. Also ich werde die jetzt anfangen, Nachrichten zu diesem Gerät zu schicken. In dieses Gerät wird alles Sachen signieren. Man muss nicht immer dieselbe Nachricht schicken. Wenn man den Video fehlt, ja, der Video fehlt und hier signiert das Gerät die Nachricht. Das sind diese riesigen Antworten. Das sind LSA 24-Bits und wir kriegen die ganzen Antworten. Das Claimer. Wenn jemand Ellipsi hat, dann jetzt die Augen zu machen. Wenn ich das jetzt habe, werde ich das jetzt rauskriegen. Ich habe das jetzt einmal in der Kamera und das folgende Angriff. Wenn das während des Geräts RSA berechnet, werde ich einfach nur den Blitz auslösen. Okay und diese Entfernung ignoriert das Gerät ganz einfach, was ich mache. Aber wenn ich zu nah dran gehe, den Blitz auslöse, was dann passiert, ist das Folgendes passiert. Was jetzt hier sehen können, ist, dass ich eine gelbe Zeile bekomme. Also das Gerät stürzt ganz ab, weil ich so viel Energie, der auf das Gerät geschissen habe, dass es Gerät einfach aufgibt. Und dieses Angriff ist einfach so dumm wie eine Kamera nehmen und deswegen ausrechnet und ich hoffe, dass die Demo-Gottes mir helfen. Wenn ich die richtig mache, dann wird es nicht zu sehr abstürzen. Okay, ich hoffe, dass ich eine korrupte Nachricht kriege, aber kein Crash. Nee, wir müssen doch mal probieren. Was ist denn zu hoffen? Es wird irgendwie passieren irgendwann, wir haben doch genug Zeit. Das ist jetzt der Demo-Effekt. Ich werde es auch dreimal weiteres mal probieren, aber wenn es nicht funktioniert, dann habe ich noch eine Backup. Also das funktionieren. Noch ein letztes Mal. Okay, bitte funktionieren. Es ist auch schön, wenn es funktioniert. Okay, letzter Versuch. Das ist ein Zwei. Ich cheate ein bisschen. Okay. Letzte. Okay. Also normalerweise funktioniert es einem der ersten Mal, aber die Demo ist jetzt so ein bisschen problematisch. Letztes. Und letztes. Es hat nicht funktioniert. Also, jetzt, weil das Demo-Gottes nicht nett zu mir waren, wird dieses Ding nur crashen oder wir mussten es neu starten. Oder ganz normal hat es funktioniert. Was passiert ist, dass, wenn das Ding, ich habe das gerade gemacht, bevor ich hergekommen bin, wenn man das normalerweise probiert und kann es mal passieren, dass, wenn man den richtigen Punkt, einen richtigen Moment macht und anstelle der gelbe Zeit zu bekommen, wenn wir einfach nur Nullen bekommen, kriegt man insofern eine rote Zeile und trifft es. Ich habe das einfach eine karuppte Antwort. Aber es ist nicht nur Fehler, sondern es ist nur spezielle Fehler, wo man, wenn man diese falsche Nachricht mit einer normalen Nachricht verarbeitet, dann kann man, dann kann man mit diesem allen Fehler die Nachricht kriegen. Da muss man Folgendes machen. Man nimmt die diese Berechnung und dann, dass sich die Mathematik drüberlaufen und was da nach Hause kommt, ist, ich nehme den Modulo, ich nehme den öffentlichen Schlüssel, ich berechne den größten gemeinsamen Teiler und was man als Ergebnis kriegt, was man jetzt sieht im Output. Ich kriege den ganzen ASA-Schüssel. Dieses 1024 Bits und das kriegen wir sofort raus. Ich denke, wir haben noch mehr Zeit für Fragen. Unglücklicherweise haben wir einen sehr strengen Zeitplan, aber für eine Frage haben wir noch Zeit. Bitte geht zu dem Mikrofon und wenn ihr eine Frage habt, gibt es Fragen? Eine Frage, bitte. Ihr habt die AVR-Atmel-basierte Attacke demonstriert. Ich weiß, dass sie eine Power-Brown-Out-Detection haben, diese Hardware und die haben eine Detection, wenn die das versuchen zu flaschen. Das ist hier ein Armcore. In diesem Fall kriegt man den Chip in einem Zustand der Unbekanntes und definiert. Der Trick ist, die richtigen Parameter zu finden und die Glitches funktionieren halt dann trotzdem. Okay. Ein großer Applaus für die beiden.