 Vincent Hauptrad studiert in seinem Dayjob sozusagen Informatik in Erlangen und macht da gerade seinen Master mit Schwerpunkt in IT Security. Die Arbeit, die er uns aber gleich vorstellen möchte, hat er im Rahmen seiner Tätigkeit als wissenschaftliche Hilfkraft gemacht, und zwar zusammen mit seinem Kollegen Tilo Müller. Dort hat er untersucht, was es denn für Sicherheitslücken bei app-basierten TEN-Verfahren gibt, also im Bereich des Online-Bankings, und die möchte er uns jetzt vorstellen. Einen ganz großen herzlichen Applaus für Vincent, bitte. Ja, auch herzlich willkommen von mir. Also mein Name ist wie gesagt Vincent Hauptrad, und ich habe mir im vergangenen Herbst mit meinem Kollegen Tilo Müller mal angeschaut, wie es dann um die Sicherheit von app-basierten TEN-Verfahren im Online-Banking bestellt ist. Und ja, der ein oder andere hat die Geschichte vielleicht schon mitbekommen, hat sie auf Heise gelesen und so, und fragt sich vielleicht, ja, was kommt denn jetzt da heute? Vor zwei Wochen habe ich einen Angriff von der Sparkasse bekommen. Der Herr Mayer, den ich jetzt mal hier einfach so nennen möchte, hat mich da gefragt, was ich denn zwischen Weihnachten und Neuer mache. Ja, also zu dem Zeitpunkt wollte er eben wissen, muss er seine Bresseabteilung jetzt schon auf irgendwas Neues gefasst machen oder nicht? Zu dem Zeitpunkt konnte ich es ganz ehrlich gesagt noch nicht sagen. Heute kann ich Ihnen sagen, ich hoffe, Sie haben den Entwurf gemacht, das macht es dann auch leichter. Online-Banking ist was, das betrifft uns alle, das etabliert eine Großzahl der Deutschen verwendet ist. Und ein besonderes Merkmal von Online-Banking ist, dass es schon seit seinem Entstehen in den 1980er Jahren, damit es noch BTX passiert, ein zwei Faktor-Verfahren ist. Also man hat da auf der einen Seite immer irgendwie ein Benutzername passen wird und dann noch irgendein TAN-Verfahren. Dass über die Zeit im Ganzen so ein TAN-Verfahren entstanden, meistens gab es einfach weitere Entwicklungen aus Sicherheitsgründen. Heute werden wir in Verfahren sehen, dass ich nicht in diese Reihe begeben kann. Ja, im Prinzip läuft Online-Banking immer so ab. Ich sage das der Vorständigkeit halber hier nochmal. Man lockt sich im Online-Banking-Portal ein mit seinem Benutzername Passwort, reicht dann eine Überweisung ein und im zweiten Schritt muss man das dann noch mit einem TAN-Verfahren bestätigen. Das ist nicht für jeden das Gleiche. Das kann entweder noch die altgediegene E-TAN-Liste sein, die aber langsam ausstirbt. Das SMS-TAN-Verfahren, das auch seine Tücken hat, wie man in den letzten Monaten mitbekommen kann, insbesondere ein großer verbündetes Detailekom. Und es gibt dann auch noch das Chip-TAN-Verfahren, das auch recht verbreitet ist. Das letzte Verfahren, das Chip-TAN-Verfahren, adressiert das Sicherheitsproblem im Online-Banking eigentlich schon ganz gut. Aber wenn man den Kreditinstituten glaubt, gibt es einen dringenden Wunsch in der deutschen Bevölkerung, seine Geldgeschäfte immer überall machen zu können. Seit es in der Oberen, im Restaurant, vielleicht auch hier gerade in diesem Vortrag. Macht jemand gerade eine Überweisung mal Hand hoch? Auf jeden Fall ist es dann so, wenn man eine Überweisung überall machen will, da will ich kein zweites Gerät haben, das ist ja unbequem. Deswegen haben die Banken ein Gerät entdeckt, dass jeder von uns immer dabei hat und das absolut sicher ist. Das Smartphone. Ja, man hat jetzt keine zwei Geräte mehr, nicht zwei voneinander unabhängige Faktoren. Man hat eine Banking-App und man hat eine TAN-App. Das funktioniert jetzt so, ich logge mich mit meiner Banking-App auf dem Smartphone ein und gebe eine Überweisung auf. Im zweiten Schritt muss ich dann, wie gehabt, die Überweisung mit einer TAN bestätigen. Jetzt nehme ich aber nicht meinen Papierzettel her, meinen Chip-Tan-Gerät, sondern ich wechsle zur TAN-App. Da gibt es, also das sind alle Banken mittlerweile ein großer Fan davon eigentlich, das ist jetzt nur eine Auswahl, ich weiß nicht, ob es noch mehr gibt, aber all diese Banken haben ein app-basiertes TAN-Verfahren im Angebot und ich denke, die, die es noch nicht haben, sind bestimmt auf dem Weg dahin, das zu machen. Ja, ich sehe jetzt schon den einen oder anderen hier in den ersten Reihen, bei denen sich dann die Stirnrunzeln bei dem Verfahren, ich will aber trotzdem noch mal generiertes Angriffsszenario motivieren. Also Melwehr oder Schadsoftware ist in den offiziellen App-Stores der Betriebssystem-Hersteller keine Fiktion. Bei uns am Lehrstuhl in Erlangen hat der Dominic Meyer gezeigt, dass sich der Google Play Store nicht ausreichend gegen Schadsoftware schützen kann. Also konkrete Aufgabe von ihm war eigentlich, in seiner Bachelorarbeit ein Schadsoftware in den Google Play Store zu bekommen. Ja, nur das, also das war seine Bachelorarbeit, da ist er nach ein paar Tagen zu seinen Betreutern hingekommen und hat gesagt, hey Tilo, ich bin fertig. Ja, und was er gemacht hat, er hat einen Root Exploit gezippt. Er hat ihn gezippt und hochgeladen, das war kein Passwort, er hat ihn einfach gezippt. Dass das aber nicht irgendwie nur akademische graue Theorie ist, hat dieses Jahr, so ziemlich gleichzeitig, als wir die App dann Geschichte gemacht haben, die App Brain Test gezeigt. Also das ist ein Spiel und es hat über 100.000 Downloads gehabt bis zu 500.000 und diese App hat genau das gemacht, dass das Angriffsszenario auch für appassierte Tantverfahren ist. Nämlich im offiziellen Store routet das Gerät zuerst und lädt dann Schadcode nach. Ja, wir hätten jetzt auch irgendeines von den Gedeitinstituten, die appassiertes Tantverfahren anbieten, nehmen können. Ich habe die Sparkasse genommen, weil ich der A an Konto habe und B, weil es mir die größte ist. Und es sind auch eine der ersten, die das angeboten haben. Deswegen haben wir uns angeguckt, was kann man denn jetzt da machen? Also was gibt es denn dafür, Angriffsszenarien verpusht haben? Und was uns da als allererstes zu mir schnell eingefallen ist, ist, ja, wir könnten die App irgendwie kopieren oder wir reversen das Protokoll und implementieren unseren eigenen Client. Das sind aber beides noch Angriffe, die konzentrieren sich sehr stark einfach nur auf die Tann-App, das eigentliche Problem von appassierten Tantverfahren, also das ist den ersten Faktor und den zweiten Faktor auf einem Gerät hat, bei der man bestens dadurch betont, wenn man eine Transaktionsmanipulation durchführt. Sprich, wir manipulieren eine vom Nutzer aufgegebene Transaktion in Echtzeit, ohne dass er es sehen kann. Wie haben wir das gemacht oder wie war unser Szenario dafür? Noch mal, wie läuft es ab? Links ist die Sparkassen-App, die verwende ich, um mich in meinem Online-Banking einzulocken und dann meine Überweisungsdaten auszufüllen und schicke das dann letztendlich ab. Dann landet das Ganze beim Sparkassen-Server und der schickt dann eine Tann an die Push-Tann-App, die da rechts dargestellt ist. Ja, der Nutzer wird dann dazu aufgefordert, in die Push-Tann-App zu wechseln, die dort dargestellte Tann, nachdem er die Überweisungsdaten natürlich kontrolliert hat, in die App Sparkasse zu übertragen. Das geht mittlerweile, wie wir später sehen, auch so automatisiert, dass man sich fragt, warum gibt es überhaupt noch zwei Apps? Ja, gut. Was wir jetzt machen, wir sagen einfach, bevor, also nachdem der Nutzer auf Auftrag übermitteln geht, ja, dann manipulieren wir die Daten, also wir ändern den Adressaten, wir ändern den Betrag und die Sparkasse schickt dann natürlich die Überweisungsdetails auch nochmal an die Tann-App und werden dann da nochmal dargestellt. Das heißt, bevor die dann da angezeigt werden, manipulieren wir die wieder auf die originalen Daten und der Nutzer kann es nicht sehen und bestätigt letztendlich eine Tann, also bestätigt eine Überweisung mit einer Tann, was er gar nicht wollte. Ja, da mussten wir erstmal überlegen, was gibt es denn eigentlich für Sicherheitsmerkmale bei den beiden Apps? Also die Sparkassen-App selbst ist eigentlich ein leichtes Fressen für so einen Angriff, also die hat hier keine großen Schutzmaßnahmen. Es gibt eine Root-Erkennung, wird aber lediglich dargestellt in Warnhinweis und die macht also ansonsten nichts, man kann einfach die App normal weiter verwenden. Auf der anderen Seite, die Push-Tann-App, versucht sich mit einer Vielzahl an Maßnahmen gegen Analyse und gegen Schadsoftware angeblich auch zu schützen. Man merkt eigentlich schon, wenn man hier sieht die ganzen Maßnahmen, ich glaube die Sparkasse ist sich selber nicht so ganz sicher, dass es wirklich sicher zu kriegen ist. Also die haben halt eine Root-Erkennung, die ist nicht wie bei der Sparkassen-App, dass dann nun Warnhinweis angezeigt wird. Also es wird verboten, wenn Root erkannt wird, beendet sich die App und schützt sich eben auch gegen die dynamische Analyse, Statische Analyse, weiß der Teufel nicht was alles. Und das ist tif geprüft. Von diesem Prädikat merklich eingeschüchtert, habe ich es mir dann mal angeguckt, was gibt es denn da eigentlich wirklich für Schutzmaßnahmen, wie sind denn die umgesetzt? Ja, es wurde recht schnell klar, die Sparkasse selbst traut sich in Sachen Sicherheit nicht so viel zu und hat deswegen beim norwegischen Hersteller Promo ein eingekauft. Die selber haben eine Native Library, die wird gleich am Anfang der App geladen und ist dann quasi der Einsprungspunkt. Ja, die Library selbst ist verschlüsselt zum Teil, mit einem statischen Key natürlich irgendwie und ist obfoskiert. Es ist also ein ziemlicher Hass, sich die anzuschauen. Also dann mit mir nicht die Library nicht einfach rauspatched, also sagt, ja gut, dann mache ich das Ding halt raus, haben die Strings aus der Java-Logik in die Library-Verlager, die ja wieder worum verschlüsselt ist. Die Library selbst setzt dann statische finale Felder während der Laufzeit mit diesen Strings und werden dann halt normal verwendet oder sie werden über einen Index abgerufen mit der Methode GetString. Also das verhindert, also macht es zumindest Aufwand, diese Library einfach rauszuziehen und ohne die dann klarzukommen. Ja, die erkennt wie gesagt Route, Debugger, alles Mögliche, aber die behandelt die Erkennung nicht. Das liegt einfach da dran, die wollen dann den Library verkaufen, die soll für alles und jedem gehen. Also die ist nicht personalisiert auf diese App. Ja, so ist es dann implementiert. Stattdessen gibt es im Java Code Callbacks für die verschiedenen einzelnen Events, also zum Beispiel Debugger oder eben Boot. Die App selbst implementiert dann eben dieses Interface und wenn das erkannt wird, dann wird der Code aufgerufen. Zum Beispiel hier unten ist dargestellt der Routing-Status, da steht in der Variable in dem Parameter Z, da ist dann eben drin, ob es gegutet wurde oder nicht. Und dann kommt das so ein Textinweis und danach beendet sich die App. Ja, was haben wir gemacht? Wenn dieses Event kommt, dann brechen wir die Methode immer ab und dann läuft die App einfach weiter. Das Ganze, das Ganze ist besonders paradox. Diese Library scheint keinen Status zu haben. Also die liefert einfach weiter Strings aus, obwohl schon Route detected wurde. Also das hat mich wirklich überrascht, dass es so einfach war. Ja, dann schauen wir uns mal an. Wie funktioniert denn das jetzt konkret? Also hier ist alle erstes die Sparkassen-App. Das sieht man jetzt, wie man sich eben anmeldet mit seinem Passwort, dass man mal selbst vergeben hat. Und es wird hier auch ein Hinweis angezeigt, dass das Gerät geroutet ist. Aber wie gesagt, es hat weiter keine Konsequenzen. In dem Fall habe ich dann eine Überweisung an das Finanzamt mit meiner hohen Einkommenssteuer von 10 Cent ausgelöst und im nächsten Schritt, die Überweisung eben manipuliert. Die Daten im Hintergrund, man sieht es nicht. Und hier wird man dann dazu aufgefordert, in die Push-Tan-App zu wechseln, um dann dort die TAN abzurufen. Das machen wir auch, locken uns wieder mit unserem Passwort, diesmal in der Push-Tan-App ein. Wie groß die Wahrscheinlichkeit ist, dass es das gleiche Passwort ist, können wir uns denken. Und dann schauen wir uns die Überweisungsdetails an. 10 Cent, sagen wir jetzt einfach mal die Ibern, aber das ist auch das gleiche. Und ja, schaut gut aus. Das geben wir frei, TAN übertragen ein Sparkasse. Jetzt merken wir uns noch die letzten Stellen von der TAN, das ist 32, dann übertragen wir die und der Auftrag wird freigegeben in der Sparkassen-App. Wenn man dann später aber irgendwann mal in die Umsatzdetails reinschaut, dann stellt man fest, hey, da haben wir mit der Entstattelte 32, da wurde den Betrag von 13,37 Euro über Wiesn nicht von 10 Cent und die ging auch nicht ans Finanzamt, sondern ging an Vincent Haupthört. Gut, jetzt jeder, die Geschichte kennt, der kennt auch, was danach kam. Stellungnahme der Sparkasse, nachdem es auf Heise war, ey, das ist ja eine alte Version, das geht doch alles gar nicht mehr. Es gibt jetzt eine neue Version seit dem 16.10. Wir haben am 23. Oktober veröffentlicht, das ist jetzt nicht mehr möglich. Eigentlich ist das nichts Neues für uns, haben wir auch schon gesagt in unserer Ausarbeitung, die Sparkasse-Anscheiden nicht so aufmerksam gelesen. Und wir haben damals auch schon gesagt, es gibt in der aktuellen Version wohl die Art und Weise, wie wir den Angriff gemacht haben. In der neuen Version funktioniert es anders, wir können das nicht ganz genauso machen. Mit dem entsprechenden Mehraufwand können wir den Angriff aber wieder möglich machen. Ja, schauen wir halt mal. Um jetzt einen Angriff gegen die neue Version machen zu wollen, muss uns sich fragen, was ist denn da eigentlich anders jetzt? Also man hat auch bei der Sparkasse oder bei ProMon realisiert, dass die Java Callbacks ungefähr genauso sind, wie wenn man mit einem Geldtransporter vor die Sparkasse fährt und dann den Praktikanten die Geldsäcke in die Hand drückt und einfach weg fährt. Deswegen gibt es jetzt keine Java Callbacks mehr. Stattdessen stürzt die App ab, wenn es z.B. Route erkennt oder auch Debugger, was auch immer, und öffnet dann die Seite im Browser. Dadurch lässt sich die Route Erkennung nicht mehr trivial umgehen. Ansonsten werden auch Hooking Frameworks erkannt, also wir haben den Angriff als Proof of Concept mit Exposed realisiert. Das heißt, das würde jetzt auch nicht mehr gehen. Ja, schlecht. Gut, um den Angriff jetzt wieder realisieren zu können, müssen wir also zwei Sachen machen. Wir müssen einmal die Route Erkennung umgehen und einmal die Exposed Erkennung umgehen. Fangen wir mit den Route an. Wie funktioniert die Route Erkennung? Und ich bin bisher eigentlich gut bei den Sicherheitsfeatschern dieser App gefahren, mir einfach vorzustellen, wie würde ich es machen, also was ist der einfachste Weg, gut zu erkennen. Also was werden die wollen machen, die suchen eben das Deistystem nach irgendwelchen Sachen, die für su charakteristisch sind. Dann habe ich mir die SysCalls mal angeschaut, ja und klar, genau das machen die. Die schauen einfach, zum Beispiel ist System bin zu vorhanden oder System X bin zu. Ja, wenn ich das jetzt in Winz umbenenne, dann geht es die IDF schon wieder. Das ist aber natürlich blöd, weil ich will ja weiter für meine anderen Apps eigentlich gut haben. Und deswegen, wenn ich die umbenenne, dann können die natürlich auch keinen Zoom mehr ausführen. Das Lustige ist ja, man führt ja nicht System X bin zu aus, sondern man gibt ja nur zu ein. Das Ganze ist der Path Variable zu verdanken, die in Oslo aber nicht bekannt ist. Deswegen, ich habe das Ganze auf Android Marshmallow gemacht und da will man eigentlich sowieso Systemless zu haben und das mountet eine eigene Partition und trägt sich in die Path Variable an und ta-da, die PushTime App geht wieder auf. Ein bisschen Paradoxe wird es aber immer noch vor dem Hintergrund, dass es die Sparkassen App besser macht. Die erkennt es ja gut, nämlich. Und die haben keine Lösung für, weiß ich, wieviel Tausend eigentlich gekauft. Bei Promo würde ich jetzt mal in den Flugmodus gehen, sonst kommt da gleich ein Anruf. Ja. Als Nächstes, wie funktioniert die X-Post-Erkennung? Ja, wie der gleiche Spiel würde ich sagen. Schauen wir doch mal, die werden wieder nach irgendwelchen charakteristischen Sachen für X-Post suchen. Ja, so schaut es dann aus. Das sind halt ein paar Sachen, die X-Post platziert beim Installieren. Ja, also, das müssen wir jetzt irgendwie loswerden und X-Post muss danach aber noch gehen. Die ersten vier Sachen sind irgendwie E-Sachen, die kann man entweder löschen oder umbenennen und dann sind die schon mal weg. Dann gibt es hier die anderen drei Dateien, die braucht man schon irgendwie, ja, die benennen wir halt um. Also, und die müssen dann halt untereinander, da müssen die Abhängigkeiten natürlich auch angepasst werden und da habe ich gedacht, ja, jetzt geht es. Also, hätte mich nicht überrascht, wie es funktioniert, reicht aber noch nicht ganz. Das ist sogar tatsächlich ein bisschen besser gemacht. Die schauen halt selber in dem Executable-File nach, da wurde auch die ganze Dial-Wig vor allem und weiß ich, was drin ist und zeigt Go-Tube, mit dem ja X-Post arbeitet. Und wenn da drinnen X-Post mit großem oder kleinen X-Trinnen steht, dann ist X-Post installiert. Ja, letztendlich habe ich das Ding einfach neu kompelliert und schon ging es wieder. Also, ja, und dann schauen wir uns das nochmal an. Also, wieder gleiches Spiel. Wir eröffnen die Sparkassen-App, geben da unser Passwort ein. Um ganz auf eine Musik herzugehen, schauen wir uns vorher nochmal an, welche Version es ist eigentlich, nicht, dass da nach irgendeiner sagt, das war nicht die aktuelle Version. Also, hier sehen wir, das ist die Version vom 7. Dezember. Zumindest, also das war die aktuellste bis vor 2 Stunden. Als 6. füllen wir wieder unsere Beweisung aus. Diesmal nicht ans Finanzamt, sondern an die Unibibliothek Erlangen. Ich habe nämlich meine Benutzerkarte verloren und brauche deshalb eine neue und die kommt nicht vor free, sondern kostet 3 Euro. Ihr seht schon, mein Konto war nicht so hochgefüllt. Ich muss dann den Betrag wählen, der ja irgendwie auch noch in meinem Limit geht. Aber jetzt öffnet sich hier automatisch schon die Push-Time-App. Also, die Integration hat toller Weise zugenommen. Jetzt logge ich mich da auch wieder ein und hier sehen wir 3 Euro. Aber genau diesmal schauen wir uns auch erst mal wieder die Version an. Das ist auch vom 7. Dezember, war bis vor 2 Stunden auch noch die aktuellste. Könnte mir gut vorstellen, aber ja, hier, die Datenschein zu stimmeln, die Tarn passt eigentlich auch. Und dann, ja, würde ich sagen, dann kann man das bestätigen jetzt. Kommen wir zurück. Auftrag wurde entgegengenommen. Und wenn man jetzt dann mal in die Überweisungss Details schaut, dann sieht man da, dass ich schon ein paar fingierte Weihnachtsgeschenke bezahlt habe im Rahmen der Untersuchung hier und hier haben wir diesmal 4,20 Euro. Ich hätte auch 42 Euro genommen, aber das ist ja nicht so gut. Und hier, der Betreff hat sich auch geändert, einen guten Rutsch für den 32-Zitral. Okay, jetzt bin ich doch ein bisschen schneller fertig geworden, als ich gedacht habe, aber das bedeutet, dass wir da noch mehr Zeit für Fragen haben. Ja, was lässt sich zu App-Bassierten Tarnverfahren allgemein sagen? Die sind einfach konzeptionell schwach. Die Schutzmechanismen von der Push-Tarn-App haben zwar zugenommen in der aktuellen Version, also die Callbacks lassen sich jetzt nicht mehr trivial hucken und dadurch kann man einfach gut bekommen oder halt eben einfach alles machen. Letztendlich ist halt ein Katz- und Maus-Spiel, dass die Sparkasse oder auch jeder andere Hersteller am Ende irgendwie verlieren wird. Die Routerkennung zum Beispiel bringt eigentlich hauptsächlich Ärger bei den Kunden ein und vor allem hat die so hohe False Positives, dass die Bewertungen in der Art grottig sind, dass man sich bei der Sparkasse echt fragen muss, ob das Verfahren für sie selber auch überhaupt noch Sinn macht. Wenn man sich jetzt auch anschaut, was ich eigentlich nicht gemacht habe, ist ja total irre irgendwie. Ich habe hauptsächlich Dinge umgangen, die ein normaler Nutzer macht. Also ich habe keinen echten Angriff damit verhindert. Also jemand, der selbstständig sein Gerät routen wird, den wird verboten, die Push-Tarn-App zu verwenden und der selbstständig X-Post installiert, den wird es auch verboten. Ein echter Angriff, der installiert auch nicht das Zoo-Binary. Der würde, was ist ich, irgendwas platzieren, aber bestimmt nicht das Zoo-Binary installieren. Also das Route ist gar nicht mal eine feste Voraussetzung. Für den Angriff allein hätte es sogar gereicht, wenn man einen Route exploit hat und ein X-Post platzieren kann. Da hat man zum Beispiel auch keinen Ärger mit der Route-Erkennung. Ich habe noch ein paar Backup-Folien, aber jetzt können wir dann auch in die Diskussion einbauen. Dann bedanke ich mich für Ihre Aufmerksamkeit. Vielen, vielen Dank, Winzen. Total super. Und du hast auf jeden Fall noch Zeit für Fragen gelassen. Genau, macht euch bitte kenntlich. Und geht gerne vor zu dem Mikrofon. Die Mikros 2 und 4 sind an. Ich sehe schon jemand am Mikro 2? Nein, du stehst da nur so. Wir gehen euch mal noch ein paar Minuten Zeit zum Überlegen. Und ich gucke mal nach oben. Lieber Mensch, der du Fragen aus dem Netz einsammelst, ich sehe dich gerade nicht, aber wenn du welche hast, dann könntest du jetzt gerne eine vorlesen. Dann mache ich das einfach mal. Und zwar, SEP Semi und Shelter 8 wollen wissen, gibt es Schwächen im Optik-Tan-Verfahren? Optik-Tan meinen dann wahrscheinlich so Fototan- und QR-Tan. Optik-Tan weiß ich jetzt nicht genau, was ich damit gemeint habe, sondern meine, das ist irgendwie das. Ja, QR-Tan und Fototan ist eigentlich ziemlich ähnlich. Das scannt man dann einen Code ab mit seinem Smartphone und bekommt dann dadurch die Tan. Das unterscheidet sich halt insofern, dass man das schwer auf einem Gerät verwenden kann. Also ich kann natürlich den QR-Code nicht von meinem eigenen Gerät abscannen. Deswegen ist das Szenario ein bisschen anders. Also da sind natürlich auch andere Schwächen vorhanden, wie zum Beispiel, dass man die App irgendwie kopieren kann und so was dergleichen, aber es ist nicht ganz vergleichbar mit dem Szenario, das wir hier bei den app-basierten Tan-Verfahren haben. Dann jetzt gerne erst eine Frage vom Mikrofon Nummer 2. Ja, du hast beschrieben, wie die App sich gegen debugging eine Analyse schützt. Wie genau hast du dann aber die Transaktionsdetails manipuliert, dass die erst falsch angezeigt und dann auch falsch zur Bank übermittelt werden? Also das Problem ist also gegen debugging schützen, das ist ja erstmal eine Maßnahme gegen dynamische Analyse, die also verhindern soll, dass jemand einfach so einen Angriff entwickeln kann. Also den Angriff selbst soll ich mit Exposed entwickelt, das ist halt ein Hooking Framework, das kann sehr leicht Java Code hocken. Ein real world exploit würde das wahrscheinlich nicht so machen, aber für den Proof of Concept war das eine Möglichkeit, es zu machen. Also die ganzen Maßnahmen eigentlich, die da implementiert wurden, können nicht effektiv von dem richtigen Angriff schützen, sondern können hauptsächlich dafür, dienen hauptsächlich dazu, dass die Sparkasse in einem Monat wieder sagen kann, der Angriff, den ich gemacht habe, funktioniert nicht mehr. Mikrofon Nr. 4, bitte. Mich würde interessieren, aber du hast ja gezeigt, wie diese App nach Exposed oder so was gännt, das verfahren scheint mir grundsätzlich ziemlich erbärmlich. Kann man sowas auch gescheitern machen, oder hat man da einfach keine Chance? Ja, das ist natürlich schon ein bisschen schwierig, das gescheit zu machen, weil man müsste, es müsste irgendwie vertrauenswürdige Aufufer geben, also man müsste irgendwie festlegen können, wer es denn eigentlich erlaubt, also wer darf denn in meinem Callstack eigentlich alles drinnen sein? Also das ist schon ein bisschen schwieriger, fällt mir jetzt auch spontan erstmal nicht ein, wie man das effektiv verhindern kann. Mikrofon Nr. 1, bitte. Ja, vielen Dank, bin ich zu hören. Ja, vielen Dank für die schöne Demonstration. Ich fand es auch sehr toll, dass rauskam, dass in so einem Framework wie Android das Verteilen auf zwei Apps ja überhaupt nichts bringt. Also ich denke, das war einer von den zentralen Sachen, die rauskam. Meine Frage wäre, wie schätzt du das ein, dass man es auch im Android-Betriebssystem in Zukunft schafft, ab mit einem Verifikationsmechanismus auszustatten und eher von Teilen des Betriebssystems, die auch nach einem Routen das tun, was sie tun sollten, diese Abquasi für sich alleine laufen. Das würde mir nach einem vielversprechenderen Ansatz eben aussehen als dem Konzept von zwei Apps und einfach ein bisschen im Skripten. Ja, das klärt das natürlich schon ziemlich weit. Auf was du anspielst, das endet mich so ein bisschen an Arm Trust Zone. Also hier, da gibt es eine sichere Welt und eine unsichere Welt. Es gibt eine Trust Zone bei Arm, gibt es schon länger, die wird aber bei Android nicht durchgereicht. Also Samsung hat mit Nox so was Ähnliches. Das ist aber, ja, das muss man kaufen. Wie lange das bei Android irgendwie noch dauert, bis es so was für alle gibt, kann ich dir nicht sagen. Das weiß ich ja noch. Gibt es noch Netzfragen? Dann machen wir weiter mit Micro 2, bitte. Ja, also ich schließe aus deinen Ausführungen, dass das fundamentale Problem ist, dass die Kombination von zwei Apps auf einem Gerät das Prinzip 2-Faktor-Autofizierung einfach ad absurdum führt und dass also Sicherheit im Serufern nur dadurch besser werden kann, dass man wirklich auf zwei separate Geräte, eben auch separat kompromittiert werden müssten setzen wird. Ja, genau, das ist genau das. Also hier, da habe ich auch ein Zitate eigentlich, ist ja schön. Das ist irgendwie nicht nur was, was ich ihm sage, das auch im Barf im Journales am August schon erschienen. Die Tanz sollte auf keinen Fall auf dem selben Smartphone generiert werden, auf dem das Online-Banking stattfindet. Hat ein Betrüger das Smartphone gehackt, so kann er dadurch auf beide Verfahren zugreifen. Also das ist irgendwie keine, das ist eigentlich eine Erkenntnis, das ist hier tatsächlich wahrscheinlich einfach auch ein. Bitte schön. Ja, einige Leute wollten wissen, vielleicht ist das jetzt gerade beantwortet worden, ob es, wenn man zwei verschiedene Verfahren verwendet, also die App und den Computer, ob es dann sicher ist. Also, dann hat es eigentlich im Prinzip ähnliche Probleme, wie zum Beispiel QR-Tan oder Foto-Tan, ist aber auf jeden Fall deutlich sicherer. Also wenn ich jetzt die Push-Tan-App mit meinem PC verwende, dann, also ist es nicht schlechter als SMS-Tan, würde ich jetzt sagen, oder ja, auf jeden Fall vergleichbar. Dann nochmal Mikromenome 1, bitte. Ja, also das ist auch relativ neu, weil aus eigener Erfahrung weiß ich, das ist ursprünglich mal ein Requirement gegeben, hat so bei Mobile-Banking darf nicht, also wenn du Mobile-Tan benutzt, darfst du von deinem Handy nicht die Transaktion starten, wo auch die SMS hingeht. Deswegen haben die am Anfang so total Billow halt die Hostames gefiltert von den Mobile-Netz, von den, von den Mobilfunkanbietern. Und dann hat aber der Wendor, der die Software gebaut hat, dass diese Sparkassen-App unter einem anderen Logo nicht Sparkasse veröffentlicht, ohne diese Funktion. Ja. Und so ist das da reingekommen. Also die wissen schon ganz genauer, dass es scheiße ist. Also ich, also ich habe hier noch ein anderes Zitat, das ist, also maßig, das sind die Mindeststandards für die Sicherheit von Internetzahlungen und die müssen von den Banken umgesetzt werden. Dafür ist die Frist jetzt gerade ausgelaufen und da gibt es eben auch einen Punkt, der schreibt starke Kunden-Autentifizierung vor. Der Punkt war aber derart schwammig, da konnte man alles interpretieren. Deswegen gab es dann dazu irgendwann mal ein Q&A, die länger ist als die eigene Abfassung davon, was das eigentlich ist. Und da steht dann auch drinnen, das ist relativ, also das war dann danach. Allerdings muss das App basiert des Sicherungsverfahren und das tatsächliche Online-Banking unabhängig voneinander, also über verschiedene Geräte erfolgen. Also es ist sowieso fraglich, ob dieses Verfahren ja überlebt darf. Eine ganz schnelle noch für Mikrofon 3. Ja, darf ich fragen, wie du dann gelübe weißt, beziehungsweise was würde so für ein System empfehlen? Also ich selbst verwende Chyptan. Ich verwende das sogar tatsächlich auch mobil, allerdings eher wenn ich irgendwie mal länger irgendwo bin oder sowas, also ich habe jetzt nicht so das Verlangen, danach jetzt überall Überweisungen machen zu müssen. Also Chyptan kann ich eigentlich schon empfehlen, also von den Tanzverfahren. Danke. Vielen, vielen Dank, bitte nicht böse sein, wenn ihr jetzt nicht rangekommen seid. Vincent hat mir versprochen, dass ihr jetzt noch das und eure Fragen beantwortet. Ich hoffe, das ist okay so. Super, danke schön. Noch mal ein ganz großen Applaus für dich.