 So, ich glaube wir haben halb, ja, fangen wir pünktlich an, dann haben wir nachher ein bisschen mehr Zeit für die Demo, falls was schief geht. Okay, ich bin Konrad Meyer, das ist Dennis Werle, wir sind wie man unschwer sehen kann von der Uni Freiburg und wie die meisten wahrscheinlich schon mitbekommen haben, haben wir das GSM Netz hier auf dem GPN aufgebaut und wollen jetzt ein bisschen Informationen dazu sagen, wie es überhaupt dazu gekommen ist, dass wir uns mit GSM beschäftigen, warum wir eigene Netzwerke bauen und naja, für die, die es gar nicht wissen, was überhaupt GSM ist. Wir haben heute eine kleine Agenda, ich werde ein bisschen was zur Infrastruktur sagen, dann werden wir uns ein bisschen die Analyse von GSM werden wir betrachten, das erst aus Teilnehmersicht, also die Sicht, die im Prinzip jeder von euch kennt und dann darüber zu übergehen, das Ganze aus Anbietersicht, aus Netzwerksicht zu betrachten und anschließend werden wir basierend auf diesem eigenen Netzwerk einige Sicherheitsaspekte betrachten, die relevant sind wo wir ganz schön was dazu sagen können, das ist einerseits eben Privatsphäre, Lokalisierung, andererseits ein bisschen den Imsycatcher, dazu wird Dennis vor allem was sagen und dann, was vielleicht die meisten hier interessiert, Verschlüsselung A51, wie kann man das knacken, was kann man da machen, dazu wird es eventuell dann auch eine Demo geben. Genau, die GSM Infrastruktur, klar ist ein zelluläres Netzwerk mit Teilnehmern und Mobilfunkstationen, das größte Netzwerk überhaupt, ist glaube ich ein über 260 Ländern weltweit im Einsatz, also wird überall auf der Welt verwendet. Wenn man das Ganze aus Teilnehmersicht betrachtet, haben wir einerseits die Mobilstationen in der Hand, das sind eben Telefone mit SIM-Karte und es gibt auf der anderen Seite das, was wir auch noch sehen vom Netzwerk, das sind eben die Basistationen, die BTS, Base Transceiver Stations nennt man das, die sehen wir meistens noch auf dem Hausdach, alles andere haben wir meistens noch nie gesehen. Klar, BTS stellen eben auf der luftlichen Stelle das Netzwerk zur Verfügung, das wir empfangen mit unseren Endgeräten. In Deutschland, da unten sind es vier Frequenzbänder gelistet, in Deutschland ist relevant das EGSM 900 und das DCS 1800. Die anderen Frequenzbänder sind vor allem Amerika, das 800, 150er und das 900, 1900er. Eine Sache vielleicht, wenn du irgendwelche Fragen habt, bisher wird es wahrscheinlich dazu keine Fragen geben, aber einfach rein fragen, ist ja hier eine lockere Runde, ja, wenn es was gibt, sagt Bescheid. Was wir bis jetzt betrachtet haben, ist eben die Mobile Stations und die Base Transceiver Stations und alles andere sieht man normalerweise eben im Hintergrund nicht. Das Ganze ist dann so aufgebaut, dass diese Basistationen, die senden kontrolliert werden über Base Station Controller und man sagen kann, ein Base Station Controller steuert mehrere Basistationen an, das sind meistens relativ viele, also das ist eine ganze Stadt oder sogar ein ganzes Gebiet. Was wir angezeichnet haben mit Trau, nennt sich Trans Rate and Rate Adaption Unit, vergessen, nicht so wichtig, ist aus Uhrzeit mit ISTN und Codecs übersetzen und so, nicht so wichtig. Was vielleicht ein bisschen wichtiger ist in dem Mobile Switching Center, die dann am Anschluss kommen, das sind im Prinzip die Router in unserem Netzwerk. Da werden die Gespräche vermittelt und die haben auch den Anschluss an die Datenbanken, die hier angedeutet sind. Da haben wir verschiedene Datenbanken, muss ich jetzt vielleicht nicht unbedingt darauf eingehen, ist nicht so wahnsinnig interessant. Es gibt noch ein spezielles Mobile Switching Center, das ist das Gateway Mobile Switching Center, das ist eben der Übergabepunkt zu anderen Netzwerken, also das kann Festnetz sein, das kann aber auch irgendwie ein anderer Anbieter sein, ein anderer Mobilfunkanbieter. Jetzt schauen wir uns das Ganze aus der Analyse Sicht mal ein bisschen an. Erstmal aus Teilnehmersicht, was können wir da machen? Ja gut, ganz klar das Telefon selber nehmen und in Netzwerk teilnehmen, das ist relativ uninteressant. Ein bisschen interessanter wird es dann schon, wenn man spezielle Telefone nimmt, das sind diese alten Nokia, hier bekommt man sehr schön auf Ebay, mit denen kann man zwei tolle Sachen machen. Einerseits kann man ein Netzmonitor aktivieren auf dem Telefon und sieht dann auf verschiedenen Ansichten auf dem Telefon ziemlich viele Informationen über das Netzwerk. Also ein simples Beispiel ist zum Beispiel der Empfangspegel, den man normalerweise nur als Balkenansicht sieht, sieht man hier numerisch. Und aber auch die Nachbarschaftslisten und die aktuelle Kanalkonfiguration, Timsies, Emsies, E-Mai, was auch immer alles. Interessanter wird es, wenn man das Ganze mit einem Datenkabel an ein Computer anschließt, dann kann man über die Software Gamu komplett alle Datenpakete mitschneiden, die das Telefon empfängt und sendet. Zeige ich gleich noch eine Folie dazu. Es ist recht interessant, wenn man einfach einmal einsteigen will, ein geringes Budget hat, kauft man sich so ein altes Telefon auf Ebay, 5 Euro, ein Datenkabel dazu kostet nochmal 5 Euro. Und dann ist man dabei und kann mal reinschauen, was da an Protokollen abgeht, was für Daten übertragen werden und was die Abläufe sind. Ein bisschen teurer wird es dann, wenn man sich ein Softwareradio anlegt, so wie wir hier sehen, das ist ein USRP von ETHOS. Das sind wir schon im Bereich von 1000 Euro, das ist nicht so jedermanns Sache. Aber ein tolles Teil, weil es ein flexibles Softwareradio ist, kann man nicht nur GSM Sachen damit machen, sondern auch beliebige andere Dinge. Sei jetzt hier als Beispiel angestellt für GSM. Ich habe hier auch eins dabei, wer sich das anschauen will, kann gerne vorkommen. Und die Verarbeitung der empfangenen Daten über das Softwareradio wird dann wieder auf dem PC gemacht mit AirProbe. Und da kann man auch die entsprechenden Signale dann verarbeiten, sich anschauen. Und theoretisch kann man sogar senden, damit da werden wir nachher im Teil des IMSI-Catchers noch was dazu hören. Wie schon gesagt, hier ist noch ein Ausschnitt. Wireshark kennt ihr alle, sieht etwa dann so aus. Die Päckchen habt ihr jetzt wahrscheinlich so noch nicht gesehen. Das ist ein ganz nettes Tool, mit dem man rumspielen kann. Und hier nochmal ein paar Beispiele für eine Ausgabe von dem Net Monitor. In dem oberen Beispiel sieht man zum Beispiel jetzt, dass das Handy aktuell auf dem Kanal 100 auf der Frequenz 100 eingelockt ist. Und eine Empfangsstärke von Minus 80 hat, das ist die oberste Zeile. Und unten steht so was über dem Menü, steht Common Control Channel. Das ist der aktuelle Kanal, auf den gelauscht wird. In dem Bildchen unten drunter sieht man die Nachbarschaftsliste, die einem vom Netzwerk mitgeteilt wird. Ganz nett, dann sieht man auch, welche Basisstationen, auf welchen Frequenzen in der Nachbarschaft sind, mit welchen Empfangsstecken man dort arbeitet. Das Ganze ist natürlich ein bisschen langweilig irgendwann. Irgendwann kommt man an einen Punkt, wo man sagen will, ja, eigentlich will ich auch noch den Rest von dem Bild anschauen. Den Rest von dem Bild, was wir vorhin gesehen haben, Base Station Controller, Mobile Switching Center, das ist eine Menge Zeug, was da noch passiert, und das würde man sich natürlich auch gerne anschauen. Und dann überlegt man ja, was haben wir für Möglichkeiten? Also, einen richtigen Zugang zu einem reellen Mobilfunknetzwerk ist relativ unrealistisch, wir haben das versucht, kann man vergessen. Auch aus Datenschutzgründen werden die Anbieter natürlich da keinen Zugang gewähren. Klare Konsequenzen, wir brauchen ein eigenes Netz. Klar. Warum? Warum brauchen wir ein eigenes Netz? Naja, erstmal wollen wir dann spielen. Aus Spieltrieb, muss ich nicht weiter erklären. Aber auch solche Sachen wie wir wollen uns die Verschlüsselung genauer anschauen, und das nicht nur aus Teilnehmersicht, sondern auch aus der Netzwerksicht, wollen da im Prinzip auch eigene Verschlüsselungskies vergeben, dazu später auch nochmal mehr, und wollen die dann wiederum knacken. Und wenn wir ein eigenes Netzwerk haben, dürfen wir das auch. Ansonsten, ja, alle anderen Daten, die man noch so aggregieren kann, sind natürlich auch interessant, dass man überhaupt erstmal Gefühle für bekommt. Was fallen da überhaupt auf der Providerseite für Daten an? Also immer steht in der Presse, ja, hier wieder irgendwie Basisstationen, Auswertungen, so und so viele Nutzerdaten übergeben an die Polizei. Ja, was heißt das überhaupt? Was haben die Daten für Daten und was kann man damit tun? Das ist sehr schön zu sehen, wenn man eben eine eigene Basisstation hat. Ja, gut, der letzte Punkt. Ja, natürlich auch im Endeffekt will man dann natürlich auch sich überlegen, was kann man tun, um die Nutzer im Netzwerk auch zu schützen vor gewissen Angriffen. Das Netzwerk, das wir auch hier auf dem GPN aufgebaut haben, basiert auf OpenBSC. Das ist eben eine Freisoftware-Implementierung eines Basisstation-Controllers. Und im Hintergrund, das, was ich vorher mit MSC angedeutet habe, wird bei uns ziemlich schnell umgesetzt, dass wir sagen, okay, wir wollen nicht diese alte ISDN und digitale Telefoniesache abbilden, sondern wir wollen da ganz schnell zu Voice Over IP gehen, damit sparen wir jede Menge veraltetes Zeug ein und nehmen den LCR, das ist kein Least Coast Router, sondern das ist der Linux Call Router. Und übergeben mit dem die Gespräche dann an Asterisk. Asterisk wird den einen oder anderen hier in Begriff sein, ist eben eine Software-Telefonieanlage, mit der man wunderbare Gespräche ruten kann, die Kulierung ändern kann, jede Menge tolle Sachen machen kann. Als Hardware für das Ganze verwenden wir Nano-BTS von IPXS. Das hier ist, in dem Bild ist eine recht alte BTS, die wir hier auf dem GPN aufgebaut haben, sehen ähnlich aus, so ein neueres Modell. Von der Größe hier ist das etwa so viel wie ein größerer Access Point, ein bisschen mehr Metall dran, aber ja, also wirklich kleine Basisstationen, wenn man das vergleicht mit dem, was normalerweise auf den Hostechern steht, ja, da haben wir so irgendwie Schaltschränke voll, schöne 19 Zoll Schränke, das ist nicht vergleichbar damit. Genau, zur Übersicht, das ist jetzt das Netzwerk, was wir in Freiburg laufen haben, ist aber im Endeffekt genau das gleiche, was wir hier auch haben, nur dass wir es aufgeteilt haben an zwei Standorte. Wir haben einerseits hier in der Mitte auf der linken Seite den Basisstation Controller, auf dem wieder LCR und Asterisk läuft und am zweiten Asterisk Server, der als zentrale Verteilstation agiert und eben die Übergabe an die entsprechenden weiteren Telefonienetzwerke abbildet, umsetzt. So ein bisschen kam man das jetzt im Vergleichen mit dem Bild, was ich am Anfang gezeigt habe, wo wir hier den Basisstation Controller hatten und auf der rechten Seite die Mobile Switching Center. Unser Asterisk Server ist im Prinzip so was wie ein Mobile Switching Center, er routet auch die Gespräche. Was wir da angeschlossen haben, der eine oder andere hat es vielleicht schon ausprobiert, sind eben die verschiedenen Vermittlungsmöglichkeiten ins Festnetz, in die Mobilfunknetze, was jetzt hier aktuell nicht geht, ist ins Universitätstelefonnetz in Freiburg, das geht jetzt hier nicht, aber die anderen Sachen müssten alle gehen. Genauso Dial-in, man kann angerufen werden, der Hofnummer-Blog zugewiesen wird auch über die Uni da realisiert. Dazu fragen, was man ein ganz nettes machen kann, unter anderem mit diesen Netzwerken. Das ist jetzt nur ein kleines Beispiel hier, ist den Benutzer Orten im Netzwerk. Dazu haben wir eine Karte mit Signalstärken aufgebaut, die man hier sieht und basierend auf dieser Karte befindet sich gerade eine Arbeit, die sich damit beschäftigt, rauszufinden, mit den Informationen, die wir hier gesammelt haben, welche Aussage können wir über den Benutzer treffen? Wo kann der sein? Was ist plausibel? Ist noch nicht ganz abgeschlossen, funktioniert zum Teil schon. Ist aber ganz nett, kann man noch sagen, Benutzer ist zu 99% die Wahrscheinlichkeit in dem Gebäude und nicht in dem Gebäude. Warum macht man das? Wann will wiederum so ein Gefühl dafür bekommen, mit welchen Präzisionen können wir da arbeiten? Ist das überhaupt realistisch, was so gesagt wird in der Presse, wenn man sagt, wir können Leute auf so und so viele Meter genau orten? Dafür wollten wir einfach mal selber ein Gefühl bekommen und uns anschauen, was kann man da machen, welche Genauigkeiten haben wir da und welche Daten sammeln wir auch dort. Das hier ist jetzt aufgenommen mit einem GPS-Logger und einem Telefon in der Hand und da ist jemand weit gelaufen. Genauso Statistiken, das ist jetzt hier nur wirklich ein Beispiel, wo man sagt, wir haben jetzt hier mal kurz aufgetragen, Location Updates, SMS und Calls im Netzwerk. Wie verhalten sich die Benutzer basierend auf den Daten, die wir sammeln? Was können wir da für Profile bilden? Wo kommen die Benutzer her? Was für SIM-Karten verwenden die? Das Bildchen auf der rechten Seite ist erstmal relativ uninteressant, wenn man sich so anschaut. Also die meisten Leute haben SIM-Karten aus Deutschland. Klar, ein paar aus der Schweiz, ein paar aus Frankreich. Wenn man jetzt aber diesen Bereich der anderen, der da jetzt recht klein angedeutet ist, ein bisschen vergrößert, dann sieht das plötzlich ganz anders aus und dann sehen wir, wir haben an der Uni Freiburg wirklich Leute, die mit ihrem Telefon in der Tasche rumlaufen und eine SIM-Karte aus Kolumbien haben. Ja, gut. Hat mich wirklich überrascht, als ich diese Grafik zum ersten Mal gesehen habe. Aber gut, ich meine, ist eine Uni, sind sehr, sehr viele Nationalitäten da und das bildet sich hier auch ganz schön ab. Gut, das war jetzt nur so ein bisschen einleitungsblabla. Wir kommen jetzt zu dem Thema Security und ich glaube, ich gebe weiter an dich, gell? Okay. Gut, dann schauen wir uns mal ein bisschen mehr die Sicherheit an, als GSM Mitte der 80er Jahre entwickelt wurde, haben die natürlich auch ein bisschen an die Sicherheit gedacht. Dazu haben sie zwei Punkte sich näher betrachtet. Einmal wollten sie, dass die Teilnehmer so ein bisschen anonym sind. Deswegen wurde dann eine temporäre Timsy quasi benutzt und zweitens wollten sie verhindern, dass die Gespräche abgehört werden und lange Zeit galt deswegen GSM auch als sicher, aber nicht weil es wirklich so sicher war, sondern es hat einfach die Hardware gefehlt und die Rechenpower, um sich mal ein bisschen GSM näher anzugucken. Das hat sich natürlich in der letzten Zeit geändert. Wie wir sehen, haben wir jetzt ein eigenes GSM Netz und wir haben verschiedene Hardware, um das alles analysieren zu können und um die Verschlüsselung zu knacken. Das Problem hierbei ist natürlich, dass der Angreifer keinen physikalischen Zugang zu unserem Netz braucht, also so wie bei einem kabelgebundenen Netzwerk, muss man nicht in Gebäude einbrechen, sondern kann sich einfach in ein Auto setzen und kann die frei schwebenden Funkwellen, sage ich jetzt einfach mal, ohne Probleme abfangen. Und ja, da ist dann das Problem natürlich, dass viele Informationen nicht verschlüsselt sind. Das ist dann vor allem später für das Knacken der Verschlüsselung interessant. Gucken wir uns aber zuerst mal die Lokalisierung an. Warum wollen wir denn überhaupt jemanden lokalisieren? Naja, das Problem ist, dass der Teilnehmer sicher bewegt und das Netz muss ungefähr wissen, wie sich der Teilnehmer befindet, wenn es einen Anrufer oder eine SMS weiterleiten soll. Auch von Interesse ist natürlich, wenn irgendein Notfall ist, dass man den Teilnehmer natürlich ordnen kann. Ein unrühmliches Beispiel ist die Strafverfolgung. Da haben wir vor Kurzem gelesen, dass in Dresden Mitte Februar natürlich die Polizei hingegangen ist bei einer Neonazi-Demonstration und die sich gesagt hat, ok, tun wir mal alle Daten, die hier anfallen in der Basisstation aufzeichnen und dann wissen wir ja, wo sich wer befunden hat, wer mit wem telefoniert hat oder eine SMS geschrieben hat und können dann halt hinterher diejenigen belangen. Es ist natürlich, in dem Kontext hört sich es erstmal gut an, aber wenn man dann bedenkt, dass da auch unschuldige Bürger, die da wohnen, abgehört werden, ist es natürlich nicht so schön. Ein anderer Aspekt ist natürlich, dass es irgendwelche Services gibt, die die Provider natürlich gern anbieten, um den Kunden schmackhaft dazu machen, wie zum Beispiel die berühmte Homesone, um dann ein eigenes Festnetz quasi auf seinem Telefon hat. Oder wenn man jetzt kein GPS hat, dass man dann sagt, ok, ich befinde mich an einem bestimmten Ort, wo ist dann hier das nächste Restaurant. Die Frage ist natürlich, wie genau ist das Ganze? Kann man nicht direkt sagen, es hängt davon ab, wo man sich befindet. Also wenn man sich in der Stadt befindet, wo eine Basisstation natürlich ja nicht so eine hohe Reichweite hat, weil man viele Nutzer abdecken will quasi, dann kann man sagen, bis auf wenigen 100 Metern, kann man einen Orten, wobei es auf dem Land natürlich ein bisschen schwieriger ist, da die dann mehrere Kilometer weit sich erstrecken, die Basisstation. Kombinieren kann man das Ganze natürlich mit GPS, damit es ganz genauer. Das wird zum Beispiel auch in Amerika quasi vorgeschrieben, dass im Notfall die GPS-Daten mit übertragen werden, damit der zu rettende natürlich besser gefunden wird. Weil wenn ein Ort zurückgeliefert wird mit mehreren 100 Metern, dann ist es natürlich nicht so leicht, den zu finden. Die Frage ist natürlich jetzt, wie das Ganze funktioniert. Da gibt es zwei Möglichkeiten. Entweder ich gucke passiv einfach in eine Datenbank, wo hat er sich als letztes aufgehalten, oder ich mache das Ganze aktiv, indem ich eine stille SMS an den Teilnehmer schicke und dabei dann messe, wo es sich dann befindet. Ist natürlich schlecht für denjenigen, weil er davon nichts mitkriegt, weil es eine stille SMS ist. Das Problem dabei ist natürlich, dass man nicht weiß, wie werden die Daten weiterverwendet. So wird zum Beispiel in Österreich die gesammelten Daten von dem Provider A1 einfach weiterverkauft. Um irgendwelche Statistikanalysen zu machen, bzw. Trafficanalyse, wo könnten den Staus sein? So auf die Art. Hier haben wir dann mal im Internet einfach so einen kostenlosen Anbieter getestet, wie genau er uns den Orten kann. Wie man zwar hier sieht, ist es Durchmesser von ungefähr 800 Metern. Es reicht aber aus, um zu sagen, ob ich mich bei der Arbeit, so wie hier bei unserem Rechenzentrum, befinde, oder ob ich mich wo ganz anders befinde. Das ist natürlich ganz kritisch, wenn man keine Ahnung seinen Freund oder Freundin so ein bisschen nachstellen will, um zu gucken, ob der denn auch wirklich da so angibt. Ja, bei der Lokalisierung muss ich natürlich ein genaues Ziel wissen. Das ist bei einem IMSI-Catcher ein bisschen anders. Da weiß ich natürlich nicht, was für welche Telefonnummer derjenige hat. Deswegen benutzt das die Polizei natürlich gern, denn der Verbrecher wird nicht hingehen und sich bei einem Anbieter mit seinen Namen und seiner Anschrift dort registrieren, damit sie es dann leicht haben, sondern er nimmt halt irgendeine Prepaid-Karte und dann weiß keiner, wer er ist. Deswegen will man natürlich die IMSI von dem Gerät herausbekommen. Die IMSI ist einfach gesagt die Seriennummer der SIM-Karte, die auf der SIM-Karte natürlich gespeichert ist. Und die IMAI ist die Seriennummer von dem Mobilfunkgerät. In Deutschland dürfen das und IMSI-Catcher natürlich nur von den Polizeibehörden benutzt werden. Außerdem ist es natürlich sehr teuer, was uns aber natürlich nicht so ganz darin hindert, denn heutzutage können wir es mit so einem USRP, wie Konrad gesagt hat, ganz günstig selber nachbauen. Das ist natürlich dann ganz schlecht, weil man kann natürlich die zwei Sicherheitsziele, die ich am Anfang genannt hatte, damit zerstören im Anführungsstrichen, da der Teilnehmer dann nicht mehr anonym ist und das Gespräch natürlich, man muss es nicht knacken, sondern es ist schon unverschlüsselt. Wie funktioniert denn das Ganze? Theoretisch muss der IMSI-Catcher einfach nur eine Basisstation eines regulären Netzes vortäuschen. Zum Beispiel D1, D2 oder O2. Dabei lockt sich dann das Handy einfach ein und überträgt dann seine IMSI und IMAI ganz freiwillig. Das Ganze funktioniert natürlich nur, weil in GSM sich nur der Teilnehmer identifizieren muss und das Netz muss einfach nur sagen, ich bin ein Netz. Zum Vergleich, wie funktioniert denn ein, ich nenne es mal Standard-IMSI-Catcher im Gegensatz zu einem IMSI-Catcher, den man selber baut. Bei einem Standard-IMSI-Catcher wird eigentlich der Teilnehmer eingefangen, das Gespräch wird dann unverschüsselt übertragen an den IMSI-Catcher natürlich und der leitet es dann einfach verschlüsselt über ein Handy, das er selber hat, an das normale Netz weiter. Bei einem IMSI-Catcher, den man selber baut, mit Hilfe von einem USRP, muss man natürlich eine spezielle Software benutzen. Bei uns ist es dann halt einfach so, dass wir ein Asteris-Server nehmen und deswegen muss das ganze Gespräch nur über VoIP weitergeleitet werden. Das Problem ist allerdings, wie kriegt man ein Teilnehmer dazu, sich in den IMSI-Catcher einzubuchen? Wird er ja nicht ganz freiwillig machen. Hierbei ist dann das Problem, dass das Mobilfunkgerät natürlich so wenig wie möglich Energie verschwenden will. Deswegen tut das Handy einfach die Frequenz, die es zuletzt benutzt hat, auf der SIM-Karte speichern und wenn ich dann das Gerät ausschalte und wieder einschalte, dann tut es natürlich gucken, ob die letzte Frequenz, die es gespeichert hat, noch vorhanden ist und versucht sich dann dort einzubuchen. Das heißt, er tut nicht jedes Mal das ganze Frequenzband absuchen, weil es einfach viel zu groß und zu viel Energie verschwendet. Deswegen geht er hin und guckt anhand der Nachbarschaftsliste, welche BDS gibt es denn hier in der Umgebung? Auch wieder aus dem Energiebedarf natürlich heraus, möchte es so wenig Energie wie möglich verbrauchen und wenn der IMSI-Catcher deswegen nicht in eine Nachbarschaftsliste ist, dann würde der IMSI-Catcher gar nicht entdeckt werden und deswegen würde sich das Mobilfunkgerät gar nicht in den IMSI-Catcher einbuchen. Welche Möglichkeiten gibt es denn jetzt, das Handy dazu zu zwingen in so ein IMSI-Catcher, sich einzubuchen? Wir können natürlich hingehen mit der Holzhaber-Methode und einfach einen Jammer benutzen, der die ganze Frequenz platt haut, bis auf die Frequenz von dem IMSI-Catcher. Oder wir können einen kleinen Trick anwenden, um den Teilnehmer dazu zu bewegen, sich in den IMSI-Catcher einzubuchen. Das sehen wir hier mal, wie die Idee dabei ist. Die Mobile Station bucht sich einfach auf eine Frequenz, eine Basisstation, hier in dem Fall BTS1 ein und misst die Signalstärke. So. Und die BTS1 liefert dann auf einen speziellen Kanal die Nachbarschaftsliste aus. Somit beißt dann die Mobile Station, welche Basisstationen hier in der Nähe sind. Daraufhin tut dann das Handy einfach gucken, wie es in den Signalstärken zu den benachbarten Stationen ist und gibt es da eine Station, die ich vielleicht besser empfange. Denn wenn ich die besser empfange, dann muss ich mit einer geringer Sendestärke einfach senden. Deswegen würde er dann die Basisstation bevorzugen. In dem Fall, wenn er sich zum Beispiel die BTS4 anschaut und der IMSEcatcher hingehen würde, diese Basisstation vorzutäuschen, dann würde das Handy denken, okay, ich empfange die BTS4 jetzt besser als meine BTS1. In dem Fall hat er zum Beispiel die BTS1 mit 60 Dezibel empfangen. Minus 60, Entschuldigung. Sieht dann, okay, jetzt empfängt er die BTS4 mit minus 55 Dezibel, also erdenkt es zumindest. Dann sagt sich dann, okay, BTS4 ist besser, ich buche mich doch mal lieber dorthin ein. Somit wechselt er dann schon ganz freiwillig zu unserem IMSEcatcher und teilt dann seine IMSE mit. Jetzt ist natürlich die Frage, ob man sich davor irgendwie schützen kann. Das muss man so ein bisschen zweiseitig anschauen. Erstens, kann man sich dafür schützen, die IMSE-Preise zu geben. Da muss man dann sagen, nein, kann man nicht, weil das Handy kann nicht unterscheiden, ob das jetzt ein echtes Netz ist oder ein IMSEcatcher. Bisher zumindest. Wir arbeiten aktuell gerade an der Uni daran, zu schauen, ob wir denn rausfinden können, ob es ein IMSEcatcher ist oder nicht. Also falls er irgendwelchen falschen oder fragwürdigen Informationen überträgt, versuchen wir rauszufinden, ob es ein IMSEcatcher sein könnte oder nicht. Ja, das ist das eine. Das andere ist, wie sieht es mit der Verschlüsselung aus? Können wir denn verhindern, dass ein IMSEcatcher mein Gespräch abhört? Reihen theoretisch nicht, denn leider kriegen wir gar nicht mit, dass wir in einem IMSEcatcher drin sind, weil uns nicht angezeigt wird, dass das Ganze nicht verschlüsselt ist. Normalerweise sollte es angezeigt werden, aber moderne Geräte zeigen es nicht mehr an bzw. die Anbieter tun es einfach auf der SIM-Karte, die aktivieren. Ansonsten könnte die Polizei ja auch kein IMSEcatcher benutzen. Ja, einzige Lösung dabei ist natürlich, Kryptohändes zu benutzen, die dann selber die end-to-end Verschlüsselung machen. Damit hat ein IMSEcatcher keine Chance mehr, denn er würde ja dann nur noch ein verschlüsselten Stream sehen. Wer jetzt denkt, okay, dann einfach UMTS, dann bin ich sicher, der hat sich ein bisschen getäuscht. Denn heutzutage besitzen die UMTS-Geräte noch alle eine Fallbackfunktion zu GSM, falls UMTS nicht vorhanden ist. Und damit muss ich einfach die ganze UMTS-Frequenz platt machen und dann wird GSM benutzen und dann kann ich wieder mein ganz normalen GSM im IMSEcatcher benutzen. Außerdem ist es theoretisch wirklich ein UMTS-IMSEcatcher zu bauen. Hier muss man beachten, dass bei UMTS jetzt anders als bei GSM eine gegenseitige Authentifizierung stattfindet. Also das Netz muss sich auch authentifizieren. Aber das kann man rein theoretisch damit umgehen, indem man einfach man in der Mitte ist und wenn die Mobile Station sich quasi beim IMSEcatcher anmeldet, ans Originalnetz, das Originalnetz meldet sich dann zurück und tut sich ganz normal authentifizieren und das leite ich dann einfach an mein Handy weiter und somit glaubt, das ist mir. Und damit ist es natürlich auch ein UMTS-IMSEcatcher gebaut. Der IMSEcatcher ist ja eine aktive Methode um quasi Gespräche abzuhören. Es gibt natürlich aber auch eine passive Methode die wir dann nicht mehr erkennen können. Ich habe gesagt, habe ich es versucht, herauszufinden, wie wir ein IMSEcatcher entdecken können. Ja, wenn wir natürlich die Verschlüsselung knacken können, dann brauchen wir auch kein IMSEcatcher mehr. Es gibt aktuell drei Verschlüsselungsstandards die wir verwenden. Es gibt den A5-0, was keine Verschlüsselung ist und nicht benutzt werden sollte. Es gibt den A5-2 den wir vorher benutzt haben, dass es eine schwache Verschlüsselung ist und nicht mehr benutzt wird hier in Deutschland, sondern mehr in Trittstaaten, sage ich mal. Was wir hier aktuell verwenden und was der in Anführungsstrichen stärkste Verschlüsselungsalgorithmus ist, ist der A5-1. Er wurde 1987 entwickelt, ist eine Stromschiffe und als Key kommt ein 64-Bit zum Tragen und das Problem bei dem Ganzen ist natürlich wieder, dass Sie gedacht haben, dass es eine gute Idee ist Security by Obscurity hält nur so lange, bis das Design gelegt wird und dann alles nachgebaut wird. Danach ist es natürlich nur noch halb so sicher wie funktioniert das Ganze. Wie ich gerade gesagt habe, ein 64-Bit Key wird benutzt. Das ist der KI, der ist privat der wird sowohl beim Netzwerk als auch auf der SIM-Karte gespeichert wobei man bedenken muss, beachten muss, dass der Key der Private Key KI nie die SIM-Karte verlässt. Deswegen wird mithilfe einer Zufallszahl die vom Netz übertragen wird ein Session Key KC berechnet der dann mithilfe von Frequence-Number Fn hier unten links und im A51-Algorithmus dann ein Keystream berechnet wird und das Ganze dann natürlich mit dem Blend Text für X-Ort wird und da das Netzwerk die gleichen Daten hat, also den gleichen KC berechnen kann und die Frequence-Number kann natürlich aus dem verschlüsselten Keystream der Blend Text wieder herausgerechnet werden. Wir wollen das Ganze aber natürlich knacken und das ganze Problem dabei ist dass der Algorithmus halt viel zu alt ist es war nicht geplant, dass der Algorithmus 24 Jahre benutzt wird und deswegen ist das Ganze halt auch nicht mehr so ganz sicher. Das Problem ist auch noch, dass der Key Space reduziert werden kann durch Hash-Kollision und das heutzutage genug Rechenpower existiert um mithilfe von Rainbow Tables das Ganze in Sekunden Bruchteilen quasi zu knacken. Hierzu müssen natürlich erstmal die ganzen Daten aufgezeichnet werden was man knacken will, das kann man dann entweder mit so einem USRP wie schon mehrfach erwähnt oder mit solchen alten Motorola C123-Handys und eine eigene Firmenwehr für dieses Handy OsmoCom-BB kann man die ganzen GSM-Signale aufzeichnen die man dann hinterher knacken will. Wie gesagt braucht man dazu eine Rainbow Table die ist ca. 1,7TB groß wurde mithilfe von ATI-Kraftigkeit berechnet und kann sich jeder frei runterladen, zum Beispiel auch bei uns. Ja, der ganze an also wir können drauf zugreifen natürlich von hier aus aber ja, wir haben hier nur eine 100mbit Leitung und da wird halt ein bisschen dauern 1,7TB zu übertragen und wir wollen ja auch nicht die Bandbreite von allen hier wegnehmen. Okay, wir haben noch beide frei, habe ich gehört. Ja, können wir einmal später gucken also ihr braucht halt eine geeignete Festplatte und genau, der sonst noch fragen? Der Angriff basiert natürlich auf einen known Plain Text so wie ich am Anfang gesagt hatte ist das Problem dass halt manches Signalisierungsmessages verschlüsselt und unverschlüsselt übertragen werden und deswegen ist es dann natürlich möglich das ganze zu ver.x Ohren und dann mithilfe von den Rainbow Tables den Session Key KC zu berechnen beachtet werden muss, dass man da nicht den Private Key KI berechnen kann, braucht man aber nicht weil der KC wird halt mehrfach verwendet und ja, wenn dann irgendwann einen anderen KC verwendet wird dann kann man den einfach auch wieder selber knacken deswegen kann man eigentlich sagen dass die GSM Verschlüsselung nicht mehr sicher ist und man wundert sich okay, warum wird GSM immer noch weiter verwendet naja, es finden sich immer mehr Gebiete zum Beispiel kann man damit halt sehr gut Online Banking machen oder immer mehr Maschinen wo man es in Essen zum Beispiel rauslässt schicken einfach über SMS quasi ihren Füllstand beziehungsweise die Bahn tut auch Statusinformation mit Übertragen wir haben uns ja mal kurzzeitig angeguckt was die dann so übertragen und so ganz haben wir es zwar nicht verstanden weil es irgendwelche kleinen Codes sind aber wir vermuten es sind zum Beispiel irgendwelche weichen Codes welche weiche wann wie gestellt wird was jetzt auch immer mehr in Mode kommt sind natürlich diese Smart Crits beziehungsweise Smart Meter wo der Benutzer mit seinem Smartphone einfach ja der Stromverbrauch sich anzeigen lassen kann beziehungsweise das halt tratlos an den Stromanbieter übertragen wird und da ist natürlich dann die Frage ob das alles eine gute Idee ist wenn man es knacken kann ja und das ist keine gute Idee das versuchen wir jetzt gleich zu zeigen soweit noch andere Fragen nicht bezüglich der Rainbow Tables die wir nicht dabei haben leider ich hätte sie mitbringen können ja habe ich nicht dran gedacht aber können wir auch noch irgendwie anders klären bitte ja ihr sitzt genau hintereinander der Herr im Gelben du meinst den Imsycatcher oder meinst du die IPXS Nano BTS die hier oben hängen die Senden standardmäßig mit 200mW das reicht zum Beispiel dafür dass wir da draußen eine hinhängen und ja das ganze Veranstaltungsgebäude damit abdecken können und draußen auch noch ein paar Meter also es ist doch deutlich eine höhere Reichweite als bei WLAN zum Beispiel wo man eine vergleichbare Signalleistung hat bitte die Lizenz ja gutes Thema gutes Stichwort Lizenzen ist prinzipiell gar nicht so schwierig es gibt die zwei angesprochenen Frequenzbänder in Deutschland 900 und 1800 Megahertz im 900 ist alles vergeben komplett an die vier Anbieter im 1800er Bereich sind hinten noch ich weiß nicht genau wie viele Kanäle etwa 10, 12, 15 vielleicht Kanäle freigehalten für Test Lizenzen da kann man durchaus Lizenzen bekommen dafür das ist kein Problem, da muss man sich in der Bundesnetzagentur wenden einen Antrag einreichen je nachdem wer man ist was dafür bezahlen die Lizenzen sind immer zeitlich begrenzt wobei wir jetzt in Freiburg eine Jahreslizenz bekommen haben also das ist dann eher zeitlich unbegrenzt und nachdem das erste Jahr abgelaufen war haben wir auch eine Verlängerung bekommen also das ist ja nicht so das Problem bitte sehr gute Frage der KC den man dort berechnet hat wird meistens häufiger verwendet also für mehrere Verbindungen es gibt dann Counter und so das was ich im Kopf habe sind so dreimal wird der KC wieder verwendet bevor neu generiert wird ganz stark auf die Netzkonfiguration an vom Anbieter also dreimal habe ich glaube ich im O2 Netz gesehen aber das kann auch je nach Netzkonfiguration anders sein den KC während des Gesprächs erneuern habe ich noch nie gesehen also will ich jetzt nicht Nein sagen aber ich denke nicht ja es ist ein gewisser Weise schon ein Problem während dem aktiven Gespräch es geht nicht es geht nicht so schnell also diese Berechnung von dem KI über diesen A8 Algorithmus das findet auf der SIM-Karte statt also wir sind da nicht im Prozess auf dem Telefon sondern wir sind auf dem Prozess in der SIM-Karte das hat ganz einfach den Grund weil der KI niemals die SIM-Karte verlassen soll und deswegen ist das dort nicht ganz so schnell aber also theoretisch könnte ich mir das vorstellen der Mast ist trivial das weißt du sowieso klar kannst du triangulieren es gibt verschiedene Ordnungstechniken davon ist nur die Zelle zu nehmen, die simpelste ein bisschen mehr Informationen kannst du zunehmen zum Beispiel die Signalstärke daraus kannst du tendenziell was über die Entfernung sagen dann gibt es den Timing Advanced Parameter der gibt an mit wie viel Verzögerung du das Signal empfangen hast also wie viel Abweichung von der Referenz du hast die Verzögerung ergibt sich dadurch dass du mit Lichtgeschwindigkeit sendest und quasi das Signal einfach Zeit braucht bis es empfangen wurde das der Timing Advanced wird angegeben in 550 Meterschritten also hat man darüber noch ein Nährungsfaktor es gibt noch jede Menge andere Triangulierungsmöglichkeiten die sind zum Teil sehr ausgefallen und brauchen aber zum Teil auch Infrastruktur die das unterstützt ja also wenn das Interesse interessiert nachher mal vorbeikommen können wir ein bisschen klatschen weitere Fragen bitte das hat natürlich eine beschränkte Reichweite dabei muss man unterscheiden also prinzipiell der Downlink das Signal von der Basisstation ist natürlich recht gut zu empfangen problematisch ist eigentlich nur der Ablink also das Signal vom Telefon das ist meist wesentlich schwächer weil man auch dazu rechnet dass auf der Basisstation Seite sehr sehr starke Verstärkungsantennen verwendet werden und dementsprechend das Telefon nur schwächer senden muss aber man hat immer noch eine ausreichende Reichweite ich will mich da jetzt auch Meter nicht festlegen aber 10, 20, 30, 100 Meter je nachdem wie man was man für eine Antenne daran macht weitere Fragen gut dann versuchen wir uns mal an der Demo zu der Demo vielleicht zwei Worte das was wir heute hier zeigen ist der Versuch im Ansatz das ganze zu automatisieren die das Knacken von Gesprächen wir werden nicht live zeigen wie man Geschmacken mitschneidet und werden basierend auf einem Mitschnitt den ich schon habe zeigen dass man relativ mit ein bisschen Software hinten dran den KI von diesem Gespräch berechnen können den KC das hier ist die falsche Konsole dazu hat einer unserer Studenten ein kleines Programm geschrieben was eben diesen Input nimmt und ich mach das mal ein bisschen kann man das lesen ja, müsste gehen, oder? geht und da basierend da drauf diesen Mitschnitt analysiert nach immediate Assignments sucht in diesem Mitschnitt also im Prinzip Kanalzuweisung das wurde jetzt hier oben gemacht sagt, hier hat ein immediate Assignment gefunden sagt, dass in der Zeile drunter Timeslot 1 zugewiesen wurde und hat Found System Information SI5 hat er gefunden dann hat er danach ein Cypher Mode Command gefunden das bedeutet ab diesem Zeitpunkt wurde die Verschlüsselung auch wirklich aktiviert das SI5 ist im Prinzip unser known Plaintext in dem Zusammenhang und was er jetzt sucht ist nein, genau, andersherum das SI5 ist der known Plaintext und er weiß zu einem gewissen Zeitpunkt später wird der SI5 wieder übertragen diesmal aber verschlüsselt und darüber wir haben das Ohr den Schiffostrom berechnen und den wiederum versucht er dann zu knacken, das ist genau das was jetzt hier im Hintergrund passiert da versucht er jetzt verschiedene Bursts zu knacken und wenn alles gut geht haben wir in einigen Sekunden, Minuten den Key auch wirklich geknackt davon das ganze in dieser Art und Weise wurde bei einem anderen Vortrag schon mal gezeigt da hat Carsten Null auf dem CCC in Berlin das ähnlich schon mal gezeigt da war das Ganze noch nicht so automatisiert sondern hat man noch ziemlich viel von Hand gemacht wobei er auch einen ähnlichen Gesser hatte wie hier auch der im Prinzip nach nach Bursts sucht die man dann knackt genau was jetzt hier läuft sind wirklich die Knackversuche da dauert einer entsprechend immer 30 Sekunden bei uns, das ist eine Limitierung die sich aus der Hardware ergibt wenn man da entsprechend investiert in ein paar Solid State Disks dann kann man das drücken bis auf wenige Sekunden was da genau das Minimum ist weiß ich gar nicht genau hat auch noch keiner irgendwie publiziert weil es doch dann plötzlich ziemlich teuer wird also 2 Terabyte Speichern auf SSDs naja ist jetzt irgendwie halt ein Monatslohn der weg ist genau der knackt immer noch fleißig was man dazu sagen muss das ist dieser auch was Spezielles ist weil er im Hintergrund die Pakete nicht einfach X orren kann sondern auch noch raten muss also es gibt einen gewissen Header in diesen Paketen der sich während der Verbindung ändern kann das ist der Timing Advanced den wir schon angesprochen hatten der kann sich geringfügig ändern und was er jetzt hier im Hintergrund macht ist dass er gemerkt hat nach einigen Knackversuchen ich hab nix gefunden also muss ich zwangsläufig jetzt hat er was gefunden muss ich zwangsläufig der Timing Advanced geändert haben den ändert man dann im Päckchen und berechnet darauf basierend eben neue Burst die man wiederum versucht zu knacken was jetzt hier gefunden wurde ist ne Tabellenposition in den Rainbow Tables und die können wir verwenden um jetzt wirklich den K.I nee den K.C. Entschuldigung auszugeben genau, wir benutzen also das hier in einem weiteren Tool das ist jetzt nicht ganz automatisiert das ist noch nicht ganz fertig aber das ist im Prinzip auch nur noch ein weiterer Aufruf und was wir hier jetzt als Output haben ist wirklich der entsprechende K.C. für dieses Telefonat das ganze ist vielleicht deswegen interessant das auch zu automatisieren weil vielleicht den Leuten erst dann bewusst wird, dass es ein wirkliches Problem ist also erst also ich stelle gerne den Vergleich immer mit WLAN an erst als die entsprechenden Tools raus kamen um die WLAN Verschlüsselung wirklich einfach zu knacken wurde doch davon gewarnt irgendwie das WIP zu verwenden und doch besser auf das WPA oder WPA2 umzusteigen das ist hier ähnlich und man kann schon sagen dass es im Prinzip sehr simpel geworden ist wirklich Telefonate abzuhören und auch die Verschlüsselung zu brechen und basierend da drauf ist natürlich die Frage die wir auf der letzten Folie gestellt haben ist es wirklich eine gute Idee immer mehr devices mobil auszurüsten und auf Basis dieser Technologie zu betreiben ist wirklich eine gute Idee und ich denke damit möchte ich auch diesen Vortrag schließen sonst noch Fragen irgendwie oder wer sich noch für die Hardware interessiert kann gerne vorkommen ich kann ein bisschen was zeigen zum Software Radio und ansonsten danke