[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:15.08,Default,,0000,0000,0000,,{\i1}34c3 intro{\i0} Dialogue: 0,0:00:15.08,0:00:30.17,Default,,0000,0000,0000,,Herald: Der kommende Vortag ist von einem\Nalten Bekannten, der schon zum 32C3 und Dialogue: 0,0:00:30.17,0:00:36.98,Default,,0000,0000,0000,,zum 33C3 uns in eine wundersame Welt\Nentführt hat voller mobiler Endgeräte und Dialogue: 0,0:00:36.98,0:00:46.38,Default,,0000,0000,0000,,unsicherer Verbidungen und dem Vertrauen\Nwas wir daran stecken. Er ist Doktorrand Dialogue: 0,0:00:46.54,0:00:52.33,Default,,0000,0000,0000,,an der Uni Erlangen-Nürnberg – die hat\Nauch einen langen Namen, den ich nicht Dialogue: 0,0:00:52.33,0:00:56.96,Default,,0000,0000,0000,,aufgeschrieben habe. Er ist Doktorrand der\NInformatik und interessiert sich besonders Dialogue: 0,0:00:56.96,0:01:02.56,Default,,0000,0000,0000,,für die Sicherheit von Mobilgeräten und\Nwird uns heute die fabelhafte Welt des Dialogue: 0,0:01:02.56,0:01:06.90,Default,,0000,0000,0000,,Mobilbankings näher bringen. Begrüßt mit\Nmir Vincent Haupert. Dialogue: 0,0:01:10.78,0:01:15.26,Default,,0000,0000,0000,,{\i1}Applaus{\i0} Dialogue: 0,0:01:15.28,0:01:17.46,Default,,0000,0000,0000,,Vincent: Herzlichen Dank für die Einführung. Dialogue: 0,0:01:17.46,0:01:21.67,Default,,0000,0000,0000,,Fabelhaft ist ein sehr vielschichtiges Wort. \NAn dieser Stelle Dialogue: 0,0:01:21.67,0:01:25.70,Default,,0000,0000,0000,,möchte ich zuerst einmal die fabelhafte\NZusammenarbeit mit meinem Kollegen Nicolas Dialogue: 0,0:01:25.70,0:01:30.08,Default,,0000,0000,0000,,Schneider hervorheben ohne den diese\NArbeit hier in der Form nicht möglich Dialogue: 0,0:01:30.08,0:01:33.56,Default,,0000,0000,0000,,gewesen wäre. Herzlichen Dank an ihn. Dialogue: 0,0:01:33.56,0:01:38.07,Default,,0000,0000,0000,,{\i1}Applaus{\i0} Dialogue: 0,0:01:38.08,0:01:41.08,Default,,0000,0000,0000,,Onlinebanking – ich denke mal so gut wie Dialogue: 0,0:01:41.08,0:01:45.07,Default,,0000,0000,0000,,jeder hier dürfte es machen – ist\Nhinlänglich bekannt. Ist seit jeher im Dialogue: 0,0:01:45.07,0:01:56.13,Default,,0000,0000,0000,,PIN/TAN Verfahren seitdem es von vor 30\NJahren. Ihr erster Dialogue: 0,0:01:56.13,0:02:04.93,Default,,0000,0000,0000,,Faktor ist wie immer man loggt sich auch\NOnlinebanking Portal ein mit seinem Dialogue: 0,0:02:04.93,0:02:10.02,Default,,0000,0000,0000,,Benutzername und Passwort. Danach muss\Nman eine Transaktion aufgeben mit einer Dialogue: 0,0:02:10.02,0:02:13.22,Default,,0000,0000,0000,,IBAN und mit einem Betrag. Im zweiten\NSchritt hat man dann irgendein TAN Dialogue: 0,0:02:13.22,0:02:16.81,Default,,0000,0000,0000,,Verfahren mit dem man die Transaktion\Nbestätigen muss. Das ist ganz klares Dialogue: 0,0:02:16.81,0:02:21.83,Default,,0000,0000,0000,,Sicherheitselement das es seit Anfang des\NOnlinebanking gibt. Und die Art und Weise Dialogue: 0,0:02:21.83,0:02:28.42,Default,,0000,0000,0000,,wie man eben die TAN generiert, empfängt,\Nabliest ist recht unterschiedlich. Die Dialogue: 0,0:02:28.42,0:02:30.96,Default,,0000,0000,0000,,ersten drei Verfahren die man jetzt hier\Nauf dieser Liste sieht das iTAN Verfahren, Dialogue: 0,0:02:30.96,0:02:35.07,Default,,0000,0000,0000,,smsTAN Verfahren und chipTAN Verfahren\Nsind hauptsächlich aus der Motivation Dialogue: 0,0:02:35.07,0:02:37.98,Default,,0000,0000,0000,,entstanden, dass es relativ viele\NSchadensfälle in dem Bereich gab, also Dialogue: 0,0:02:37.98,0:02:43.12,Default,,0000,0000,0000,,Phishing vor allem, und mit chipTAN ist\Nman quasi an den Zenit an gereicht / Dialogue: 0,0:02:43.12,0:02:47.65,Default,,0000,0000,0000,,erlangt. Technisch kann man das eigentlich\Nkaum noch besser machen. Gibt es natürlich Dialogue: 0,0:02:47.65,0:02:49.52,Default,,0000,0000,0000,,auch noch andere Aspekte wie\NBenutzerfreundlichkeit die da wichtig Dialogue: 0,0:02:49.52,0:02:54.54,Default,,0000,0000,0000,,sind. Deswegen gingen die Verfahren wie\NphotoTAN oder auch appTAN gehen dann Dialogue: 0,0:02:54.54,0:02:57.08,Default,,0000,0000,0000,,eigentlich mehr in die Richtung dass sie\Ndie Benutzerfreundlichkeit adressieren Dialogue: 0,0:02:57.08,0:03:01.77,Default,,0000,0000,0000,,wollen – was auch durchaus legitim ist.\NPer se habe ich eigentlich gar nichts Dialogue: 0,0:03:01.77,0:03:06.95,Default,,0000,0000,0000,,gegen App basierte TAN Verfahren. Solange\Nman zwei Geräte verwendet. Dialogue: 0,0:03:06.95,0:03:10.07,Default,,0000,0000,0000,,Also wenn man zwei Geräte\NAuthentifizierung macht hat man ja immer Dialogue: 0,0:03:10.07,0:03:13.28,Default,,0000,0000,0000,,noch den Schutz, dass, wenn ein Gerät\Nkompromittiert ist, das andere zumindest Dialogue: 0,0:03:13.28,0:03:18.44,Default,,0000,0000,0000,,nicht automatisch mit in Mitleidenschaft\Ngezogen wird. Von daher ist es durchaus Dialogue: 0,0:03:18.44,0:03:21.66,Default,,0000,0000,0000,,legitim. Ich kann mich erinnern vor zwei\NJahren als ich hier den Talk gehalten Dialogue: 0,0:03:21.66,0:03:25.79,Default,,0000,0000,0000,,habe, wurde ich nach photoTAN gefragt und\Nhab noch gesagt das ist ein relativ Dialogue: 0,0:03:25.79,0:03:29.96,Default,,0000,0000,0000,,solides Verfahren, weil es ja implizit\Neigentlich forciert, dass man zwei Geräte Dialogue: 0,0:03:29.96,0:03:33.37,Default,,0000,0000,0000,,verwendet. Dann muss man ja von einem\Nanderen Gerät abscannen und das generiert Dialogue: 0,0:03:33.37,0:03:39.89,Default,,0000,0000,0000,,dann die TAN. Dann gibts halt die\NVerfahren die pushTAN Verfahren bzw. die, Dialogue: 0,0:03:39.89,0:03:44.100,Default,,0000,0000,0000,,die über zwei Apps realisiert sind: also\Neine Banking App die andere die TAN App. Dialogue: 0,0:03:44.100,0:03:50.63,Default,,0000,0000,0000,,Das gibt es jetzt mittlerweile seit\NJahren. Und das Paradoxe ist, dass man Dialogue: 0,0:03:50.63,0:03:56.31,Default,,0000,0000,0000,,mittlerweile auch photoTAN auf einem Gerät\Nmachen kann. Da kann man zwar nichts mehr Dialogue: 0,0:03:56.31,0:03:58.81,Default,,0000,0000,0000,,abscannen erkennen, sondern kommunizieren\Neinfach untereinander, aber das zeigt Dialogue: 0,0:03:58.81,0:04:03.88,Default,,0000,0000,0000,,eigentlich erst mal wie abstrus es wird.\NAber eigentlich redet auch heute keiner Dialogue: 0,0:04:03.88,0:04:07.09,Default,,0000,0000,0000,,mehr über Zwei-App-Verfahren. Vielleicht\Nwar das auch nur eine Art und Weise um uns Dialogue: 0,0:04:07.09,0:04:09.76,Default,,0000,0000,0000,,daran zu gewöhnen, dass es eigentlich\Nkeine richtige Zwei-Faktor- Dialogue: 0,0:04:09.76,0:04:13.67,Default,,0000,0000,0000,,Authentifizierung mehr gibt. Und\Neigentlich will heute jeder ein Ein-App- Dialogue: 0,0:04:13.67,0:04:18.26,Default,,0000,0000,0000,,Verfahren implementieren. Das ist insofern\Neigentlich bemerkenswert, weil das SMS TAN Dialogue: 0,0:04:18.26,0:04:21.45,Default,,0000,0000,0000,,Verfahren, wenn man sich das mal anschaut,\Nhat eine Geräte-Entwicklung durchgemacht Dialogue: 0,0:04:21.45,0:04:25.73,Default,,0000,0000,0000,,von einem Spezialgerät hin zu einem\NMehrzweckgerät. Also heute empfängt jeder Dialogue: 0,0:04:25.73,0:04:29.42,Default,,0000,0000,0000,,seine SMS auf einem Smartphone. Und das\Nist im Prinzip auf eine bestimmte Art und Dialogue: 0,0:04:29.42,0:04:33.47,Default,,0000,0000,0000,,Weise auch eine App mit der man das\Nempfängt. Und damals war es dann das erste Dialogue: 0,0:04:33.47,0:04:38.22,Default,,0000,0000,0000,,Mal möglich, dass man von einem Gerät aus\Neine Transaktion aufgibt und bestätigt. Dialogue: 0,0:04:38.22,0:04:44.05,Default,,0000,0000,0000,,Und da hat die deutsche Kreditwirtschaft\Nweise 2008 schon erkannt, dass das keine Dialogue: 0,0:04:44.05,0:04:47.75,Default,,0000,0000,0000,,so gute Idee ist.\N"Dies impliziert bereits, dass die Dialogue: 0,0:04:47.75,0:04:51.39,Default,,0000,0000,0000,,Verwendung des mobileTAN Verfahrens zum\NBeispiel nur ein mobiles Smartphone für Dialogue: 0,0:04:51.39,0:04:54.47,Default,,0000,0000,0000,,beide Kommunikation Strecken nicht\Nzulässig ist und daher den Dialogue: 0,0:04:54.47,0:04:58.20,Default,,0000,0000,0000,,Kundenbedingungen für das Online-Banking\Nexplizit ausgeschlossen wird." "Dies Dialogue: 0,0:04:58.20,0:05:03.11,Default,,0000,0000,0000,,impliziert bereits" so ist ja eh klar.\NJetzt frage ich mich natürlich: Wo ist Dialogue: 0,0:05:03.11,0:05:07.29,Default,,0000,0000,0000,,denn da jetzt der Unterschied? Also hier\Nwird auch alles auf einem Gerät gemacht Dialogue: 0,0:05:07.29,0:05:11.56,Default,,0000,0000,0000,,und das habe ich vor zwei Jahren dann auch\Ngezeigt: habe einen Angriff auf das Dialogue: 0,0:05:11.56,0:05:15.96,Default,,0000,0000,0000,,pushTAN Verfahren gezeigt mit einer\NTransaktionsmanipulation. Das hat hingegen Dialogue: 0,0:05:15.96,0:05:20.40,Default,,0000,0000,0000,,die Sparkasse nicht so richtig\Nbeeindruckt. Die haben gesagt: "Ja das Dialogue: 0,0:05:20.40,0:05:23.67,Default,,0000,0000,0000,,waren eigentlich alles nur\NLaborbedingungen – das geht in Wirklichkeit Dialogue: 0,0:05:23.67,0:05:28.02,Default,,0000,0000,0000,,gar nicht. Und das funktioniert nur bei\Ngenau einem Gerät, genau einer App und bei Dialogue: 0,0:05:28.02,0:05:31.30,Default,,0000,0000,0000,,genau einer Version" und "jedes Mal wenn\Nwir eine neue Version herausbringen ist Dialogue: 0,0:05:31.30,0:05:36.92,Default,,0000,0000,0000,,das ein hoher individueller und manuelle Aufwand." \NUnd genau dies werden wir heute adressieren. Dialogue: 0,0:05:36.92,0:05:44.77,Default,,0000,0000,0000,,{\i1}Glächter und Applaus{\i0} Dialogue: 0,0:05:44.77,0:05:48.95,Default,,0000,0000,0000,,Jetzt habe ich ja vorhin gesagt so bei\NsmsTAN hat man gesagt "ja das machen wir Dialogue: 0,0:05:48.95,0:05:51.72,Default,,0000,0000,0000,,nicht, das ist nicht sicher." Und jetzt\Nmuss man sich fragen was ist denn dann Dialogue: 0,0:05:51.72,0:05:55.63,Default,,0000,0000,0000,,eigentlich anders bei diesen Apps? Da gibt\Nes eine ganze Reihe von Eigenschaft, aber Dialogue: 0,0:05:55.63,0:06:00.14,Default,,0000,0000,0000,,ich denke wichtig ist diese Absicherung\Ndurch Dritte. Und zwar gibt es Dialogue: 0,0:06:00.14,0:06:05.90,Default,,0000,0000,0000,,mittlerweile einen recht großen Markt an\NDrittanbietern die App-Härtung und App- Dialogue: 0,0:06:05.90,0:06:09.36,Default,,0000,0000,0000,,Sicherheit verkaufen. Also Drittanbieter\NProdukte und das hier ist nur eine kleine Dialogue: 0,0:06:09.36,0:06:17.95,Default,,0000,0000,0000,,Auswahl. Und denjenigen die wir uns heute\Netwas genauer anschauen werden ist Promon. Dialogue: 0,0:06:17.95,0:06:23.35,Default,,0000,0000,0000,,Promon hat das Produkt Promon SHIELD. Die\NInformation die hier stehen sind allesamt Dialogue: 0,0:06:23.35,0:06:28.54,Default,,0000,0000,0000,,von der Website. Der Zweck von Promon\NSHIELD ist Schutz von Apps in nicht Dialogue: 0,0:06:28.54,0:06:32.77,Default,,0000,0000,0000,,vertrauenswürdigen Umgebungen.\NDas Ganze ist universal, d.h. es ist egal Dialogue: 0,0:06:32.77,0:06:35.90,Default,,0000,0000,0000,,was für eine App es ist, und es ist\Nplattformunabhängig. Also es geht unter Dialogue: 0,0:06:35.90,0:06:40.22,Default,,0000,0000,0000,,Android und iOS und die haben auch\NLösungen für Windows. Es ist anwendbar Dialogue: 0,0:06:40.22,0:06:45.64,Default,,0000,0000,0000,,innerhalb von wenigen Minuten. \NDas Zitat is aus dem Video: Dialogue: 0,0:06:45.64,0:06:49.75,Default,,0000,0000,0000,,"Es Erkennt und verhindert jede Gefahr in\NEchtzeit und reagiert, indem es die Dialogue: 0,0:06:49.75,0:06:54.41,Default,,0000,0000,0000,,notwendigen Schritte einleitet um die App\Nvollständig zu schützen. Die App wird Dialogue: 0,0:06:54.41,0:06:57.73,Default,,0000,0000,0000,,dadurch sicher verwendbar sogar auf\Nhochgradig infizierten Geräten." Dialogue: 0,0:06:57.73,0:07:05.81,Default,,0000,0000,0000,,{\i1}Gelächter und Applaus{\i0} Dialogue: 0,0:07:05.81,0:07:08.67,Default,,0000,0000,0000,,Schauen wir uns das mal genauer an... Dialogue: 0,0:07:08.67,0:07:12.64,Default,,0000,0000,0000,,Was gibt es denn eigentlich Eigenschaften \Ndie diese ganzen App-Härtungs-Geschichten Dialogue: 0,0:07:12.64,0:07:15.83,Default,,0000,0000,0000,,implementieren? Also\Ndas sind nur zwei Sparten. Da gibt es in Dialogue: 0,0:07:15.83,0:07:18.73,Default,,0000,0000,0000,,klassischen App-Härtungsbereich, der will\Nstatische und dynamische Analyse Dialogue: 0,0:07:18.73,0:07:22.62,Default,,0000,0000,0000,,hauptsächlich verhindern. Und dann gibt es\Nden eher neueren Bereich, da geht es dann Dialogue: 0,0:07:22.62,0:07:26.30,Default,,0000,0000,0000,,eher um zu Security Best Practices. Also\Nsolche Sachen wie Certificate-Pinning und Dialogue: 0,0:07:26.30,0:07:29.15,Default,,0000,0000,0000,,dass man die Anwendungs nochmal\Nverschlüsselt. Also klassische Sachen die Dialogue: 0,0:07:29.15,0:07:32.36,Default,,0000,0000,0000,,die Entwickler normalerweise gemacht\Nhaben. Und deswegen werden die Dialogue: 0,0:07:32.36,0:07:36.43,Default,,0000,0000,0000,,mittlerweile zum Dreh- und Angelpunkt für\Nsowas und gerade im Bereich des Dialogue: 0,0:07:36.43,0:07:41.06,Default,,0000,0000,0000,,Mobilebanking sind die Inhalte eine\Nwichtige Nummer. Wie verwendet man denn Dialogue: 0,0:07:41.06,0:07:44.04,Default,,0000,0000,0000,,jetzt eigentlich das Promo SHIELD? Wenn\Nich das jetzt verwenden will für meine App, Dialogue: 0,0:07:44.04,0:07:47.78,Default,,0000,0000,0000,,für meine Android oder iOS-App, die links\Nunten dargestellt ist. Muss ich jetzt als Dialogue: 0,0:07:47.78,0:07:52.83,Default,,0000,0000,0000,,Kunde noch eine Config die da oben ist\Nspezifizieren. Also welche Features möchte Dialogue: 0,0:07:52.83,0:07:58.19,Default,,0000,0000,0000,,ich denn haben z.B. Root-Erkennung sagen\Nwir mal. Und dann kommt diese Promo und Dialogue: 0,0:07:58.19,0:08:02.56,Default,,0000,0000,0000,,Integration Tool und macht irgendwie eine\NPromon geschützte App daraus. Danach kann Dialogue: 0,0:08:02.56,0:08:07.41,Default,,0000,0000,0000,,ich sie sofort in die offiziellen Stores\Nhochladen. Dies ist die Dialogue: 0,0:08:07.41,0:08:14.47,Default,,0000,0000,0000,,Liste an Apps – das sind 31 international\N– die Promon SHIELD verwenden. Dialogue: 0,0:08:14.47,0:08:17.71,Default,,0000,0000,0000,,Die zwei die ich jetzt gerade ausgeblendet habe\Nsind keine Banking Apps. Sie kommen auch Dialogue: 0,0:08:17.71,0:08:19.71,Default,,0000,0000,0000,,aus dem Finanzbereich aber wir wollen uns\Ndieses Mal nur auf die Banking Apps Dialogue: 0,0:08:19.71,0:08:24.12,Default,,0000,0000,0000,,konzentrieren und hier noch spezieller\Neigentlich auf die deutschen Banking Apps. Dialogue: 0,0:08:24.12,0:08:27.27,Default,,0000,0000,0000,,Und dann sieht man auch ganz deutlich die\Nhaben in Deutschland eine wichtige Dialogue: 0,0:08:27.27,0:08:32.19,Default,,0000,0000,0000,,Stellung. Also wenn man sich allein\Nanschaut: Commerzbank, DKB, VR-Banken, Dialogue: 0,0:08:32.19,0:08:36.61,Default,,0000,0000,0000,,die Sparkassen, Comdirect. Das sind alles\NBanken die sagen zumindest jedem etwas. Dialogue: 0,0:08:36.61,0:08:41.89,Default,,0000,0000,0000,,Und da sieht man schon die sind wichtig im\Ndeutschen Markt der mobilen Banking Apps. Dialogue: 0,0:08:41.89,0:08:46.65,Default,,0000,0000,0000,,Wir schauen uns tatsächlich eine App an\Noder machen ein Beispiel an einer App Dialogue: 0,0:08:46.65,0:08:49.06,Default,,0000,0000,0000,,die vielleicht nicht jeder kennt und das ist:\NYomo. Dialogue: 0,0:08:49.06,0:08:53.09,Default,,0000,0000,0000,,Warum ist eigentlich Yomo so besonders\Ninteressant? Dialogue: 0,0:08:53.09,0:08:57.38,Default,,0000,0000,0000,,Yomo ist eigentlich erst einmal Ein-App-\NAuthentifizierungsverfahren. Wie ich schon Dialogue: 0,0:08:57.38,0:08:59.53,Default,,0000,0000,0000,,gesagt habe, das ist heutzutage nicht mehr\NBesonderes – das macht eigentlich jeder Dialogue: 0,0:08:59.53,0:09:05.84,Default,,0000,0000,0000,,mittlerweile und das ist N26\Nnachempfunden. Ich höre immer wieder das Dialogue: 0,0:09:05.84,0:09:11.66,Default,,0000,0000,0000,,Gerücht, dass das intern sogar\NNumber 27 hieß. Also das Vorbild ist Dialogue: 0,0:09:11.66,0:09:17.04,Default,,0000,0000,0000,,Number 26. Aber das Interessante ist\Neigentlich, dass es wahrscheinlich die Dialogue: 0,0:09:17.04,0:09:20.51,Default,,0000,0000,0000,,neueste Version von Promon verwendet.\NWarum? Weil das eine sehr junge App ist. Dialogue: 0,0:09:20.51,0:09:24.89,Default,,0000,0000,0000,,Daher gehe ich davon aus, da es auch von\NStarfinanz ist – das ist um die Ecken Dialogue: 0,0:09:24.89,0:09:29.80,Default,,0000,0000,0000,,irgendwie mit Sparkasse was, dass die da\Nschon die neueste Version verwenden. Wenn Dialogue: 0,0:09:29.80,0:09:36.29,Default,,0000,0000,0000,,sie jetzt sagen Wir machen auch so ein\NEin-App-Authentifizierungs-System. Dialogue: 0,0:09:36.29,0:09:40.16,Default,,0000,0000,0000,,Wie funktioniert das denn intern, wenn man\Nein bisschen technischer wird? Wenn dieses Dialogue: 0,0:09:40.16,0:09:44.48,Default,,0000,0000,0000,,Integration-Tool von Promon kommt, dann\Nübernimmt es die MainActivity, also den Dialogue: 0,0:09:44.48,0:09:48.60,Default,,0000,0000,0000,,Einsprungspunkt der App letztendlich und\Nbindet dann eine native Bibliothek ein: Dialogue: 0,0:09:48.60,0:09:53.59,Default,,0000,0000,0000,,die {\b1}libshield.so{\b0}. Zusätzlich fügt Promon\Nnoch Java Klassen ein, die müssen Dialogue: 0,0:09:53.59,0:09:57.59,Default,,0000,0000,0000,,irgendwie auch ihre eigene Library laden\Nund irgendwann ein bisschen glue code. Und Dialogue: 0,0:09:57.59,0:09:59.98,Default,,0000,0000,0000,,die sind unter anderem auch obfuskiert\Naber das spielt hier in diesem Talk Dialogue: 0,0:09:59.98,0:10:03.48,Default,,0000,0000,0000,,erstmal nicht so die Rolle. Das ist es\Ndenn auch nur denen ihre eigenen Klassen. Dialogue: 0,0:10:03.48,0:10:07.73,Default,,0000,0000,0000,,Dann werden aber zusätzlich aus der App,\Njetzt also zum Beispiel Yomo, Dialogue: 0,0:10:07.73,0:10:11.71,Default,,0000,0000,0000,,alle Strings und ein Teil von Konstanten \Nherausgezogen und werden in Dialogue: 0,0:10:11.71,0:10:15.61,Default,,0000,0000,0000,,diese {\b1}libshield.so{\b0} reingemacht. Das\NGleiche gilt es bei Yomo im speziellen Dialogue: 0,0:10:15.61,0:10:19.86,Default,,0000,0000,0000,,Fall auch für ein Client-Zertifikat, das\Ndie App braucht um mit dem Backend zu Dialogue: 0,0:10:19.86,0:10:23.21,Default,,0000,0000,0000,,sprechen. Und das macht eben jetzt nicht\Nmehr Yomo direkt, sondern darum kümmert Dialogue: 0,0:10:23.21,0:10:31.32,Default,,0000,0000,0000,,sich die {\b1}libshield.so{\b0}. Die erste Idee, die\Nman jetzt hat, ist wir wollen das jetzt Dialogue: 0,0:10:31.32,0:10:37.43,Default,,0000,0000,0000,,irgendwie loswerden. Dann modifizieren wir\Nhalt mal diese Library – diese native library. Dialogue: 0,0:10:37.43,0:10:40.90,Default,,0000,0000,0000,,Wenn man sich jetzt anschaut, den\NEinstiegspunkt von dem, wenn man mal IDA Dialogue: 0,0:10:40.90,0:10:46.13,Default,,0000,0000,0000,,aufmacht. Das ein Controllflow-Graph, also\Nnicht das Windows abgestürzt oder sowas. Dialogue: 0,0:10:46.13,0:10:51.35,Default,,0000,0000,0000,,Das ist tatsächlich einfach totales\NControlflow-Flattening und das will man Dialogue: 0,0:10:51.35,0:10:53.85,Default,,0000,0000,0000,,sich eigentlich nicht anschauen.\NAlso da gibts schon auch Ansätze um das zu Dialogue: 0,0:10:53.85,0:10:58.04,Default,,0000,0000,0000,,unpacken. Das ist mit dem LLVM obfuscator\Ngemacht. Wahrscheinlich. Ich weis nicht ob Dialogue: 0,0:10:58.04,0:11:02.17,Default,,0000,0000,0000,,das diese Open-Source Variante ist oder\Nirgendwas selbst angepasst ist. Das kann Dialogue: 0,0:11:02.17,0:11:05.88,Default,,0000,0000,0000,,ich nicht genau sagen. Aber auf jeden Fall\Ndas ist ökonomisch nicht machbar. Dialogue: 0,0:11:05.88,0:11:11.76,Default,,0000,0000,0000,,Sagen wir jetzt mal. Also wir wollen ja\Nirgendwas einfaches. Nächster Ansatz ist Dialogue: 0,0:11:11.76,0:11:15.15,Default,,0000,0000,0000,,dann wenn wir schon die nicht modifizieren\Nkönnen, dann entfernen wir die Bibliothek Dialogue: 0,0:11:15.15,0:11:19.47,Default,,0000,0000,0000,,halt aus der App. So einfach ist das dann\Nauch wieder nicht. Weil wir haben ja das Dialogue: 0,0:11:19.47,0:11:23.40,Default,,0000,0000,0000,,Problem, die ganzen Strings, die\NKonstanten und Client-Zertifikate sind Dialogue: 0,0:11:23.40,0:11:27.79,Default,,0000,0000,0000,,auch alle in dieser {\b1}libshield.so{\b0} drin.\NDeswegen müssen wir diese irgendwie Dialogue: 0,0:11:27.79,0:11:33.19,Default,,0000,0000,0000,,erstmal loswerden.\NUnd fangen wir mal an mit den Strings wie Dialogue: 0,0:11:33.19,0:11:38.75,Default,,0000,0000,0000,,schaut es da eigentlich aus? Also es ist\Nda immer dargestellt links ist Yomo und Dialogue: 0,0:11:38.75,0:11:43.99,Default,,0000,0000,0000,,rechts ist Promon, die native Lib von dem\Ndie {\b1}libshield.so{\b0}. Links oben ist immer Dialogue: 0,0:11:43.99,0:11:50.100,Default,,0000,0000,0000,,bevor man in die Promon verwendt hat und\Nlinks unten ist danach. Es ist dann halt so, Dialogue: 0,0:11:50.100,0:11:54.73,Default,,0000,0000,0000,,dass wenn da jetzt einfach ein String\Nausgegeben werden soll wie Yomo, dann Dialogue: 0,0:11:54.73,0:11:59.77,Default,,0000,0000,0000,,ersetzen sie das mit einem Aufruf zu ihrer\Nnative Library und die hat dann irgendwie Dialogue: 0,0:11:59.77,0:12:03.93,Default,,0000,0000,0000,,irgendwelche Mappings bei sich drinnen und\Ngibt dann halt den String zurück. Dialogue: 0,0:12:03.93,0:12:07.94,Default,,0000,0000,0000,,Eigentlich auch nicht schwer, weil das ist\Nlogisch was man da gemacht hat. Dialogue: 0,0:12:07.94,0:12:13.86,Default,,0000,0000,0000,,Und was macht man jetzt um das zu umgehen?\NWir schauen halt mal was der höchste Index Dialogue: 0,0:12:13.86,0:12:18.91,Default,,0000,0000,0000,,in dem Ding. Und dann iterieren wir eben\Nvon null bis n drüber und erstellen uns Dialogue: 0,0:12:18.91,0:12:22.40,Default,,0000,0000,0000,,dann ein Mapping davon. Und dann können\Nwir das Ganze wieder rückgängig machen was Dialogue: 0,0:12:22.40,0:12:27.60,Default,,0000,0000,0000,,sie gemacht haben. Soweit so klar. Man\Nhätte sich die ganze Arbeit gar nicht Dialogue: 0,0:12:27.60,0:12:32.93,Default,,0000,0000,0000,,machen brauchen, weil man kann ja einfach\Ndrüber iterieren bis NULL zurückkommt. Dialogue: 0,0:12:32.93,0:12:38.59,Default,,0000,0000,0000,,Mit Konstanten hat man im Prinzip ein\Nähnliches Problem. Bei den Konstanten ist Dialogue: 0,0:12:38.59,0:12:43.53,Default,,0000,0000,0000,,es eben so: oben hat man da eine Konstante\Ndie war -1. Und nachdem man Promon Dialogue: 0,0:12:43.53,0:12:47.52,Default,,0000,0000,0000,,verwendet hat, steht da halt irgendein\NKäse drin. Also irgendwas was keinen Sinn Dialogue: 0,0:12:47.52,0:12:49.68,Default,,0000,0000,0000,,mehr macht, etwas das nicht funktional\Nist, also nicht der Wert den die Klasse Dialogue: 0,0:12:49.68,0:12:54.97,Default,,0000,0000,0000,,eigentlich erwartet. Stattdessen wird ein\Nstatischer Konstruktor in der Klasse Dialogue: 0,0:12:54.97,0:12:58.56,Default,,0000,0000,0000,,installiert, die dann dafür sorgt dass\Nüber Reflection dieses statisch finale Dialogue: 0,0:12:58.56,0:13:03.32,Default,,0000,0000,0000,,Feld, das könnte man mit Java Code gar\Nnicht - also nicht mal kompilieren, wenn Dialogue: 0,0:13:03.32,0:13:06.71,Default,,0000,0000,0000,,man so etwas hätte. Aber über Reflection\Nkann man kann man solche Sachen machen. Dialogue: 0,0:13:06.71,0:13:10.39,Default,,0000,0000,0000,,Über Reflection wird es dann wieder\Nrichtig gesetzt bevor das erste Mal darauf Dialogue: 0,0:13:10.39,0:13:16.86,Default,,0000,0000,0000,,zugegriffen wird. Die Lösung ist relativ\Nähnlich: Man geht einfach in alle Klassen Dialogue: 0,0:13:16.86,0:13:21.54,Default,,0000,0000,0000,,rein, die dieses pushToClass aufrufen, und\Nman ruft dasselbe auf und erstellt sich Dialogue: 0,0:13:21.54,0:13:26.74,Default,,0000,0000,0000,,wieder ein Mapping. So haben wir das weg.\NJetzt kommt das Client-Zertifikat. Jetzt Dialogue: 0,0:13:26.74,0:13:31.51,Default,,0000,0000,0000,,wird es schon ein bisschen tricky, weil\Nman kann jetzt nicht mehr genau so Dialogue: 0,0:13:31.51,0:13:37.78,Default,,0000,0000,0000,,vorgehen wie gerade eben. Das Problem ist:\NYomo macht selber aus Java Code irgendnen Dialogue: 0,0:13:37.78,0:13:42.48,Default,,0000,0000,0000,,Request. Danach geht das aber nicht an die\NAndroid Library oder die Java Library in Dialogue: 0,0:13:42.48,0:13:46.40,Default,,0000,0000,0000,,irgendeiner Art und Weise. Sondern es geht\Nin Promon rein und Promon verarbeitet dann Dialogue: 0,0:13:46.40,0:13:49.87,Default,,0000,0000,0000,,diesen Request in dieser native Library\Nund die fügen das Zertifikat hinzu. Dialogue: 0,0:13:49.87,0:13:54.33,Default,,0000,0000,0000,,Und jetzt kann man ja nicht einfach \Nirgendwas aufrufen "gib mir mal das Client Dialogue: 0,0:13:54.33,0:13:58.83,Default,,0000,0000,0000,,Zertifikat" – ja gut das könnte sein aber\Nist nicht so. Was machen wir denn jetzt da? Dialogue: 0,0:13:58.83,0:14:02.63,Default,,0000,0000,0000,,Dann ist die Idee: Dann schauen wir\Nhalt mal im Speicher. Das muss ja irgendwo Dialogue: 0,0:14:02.63,0:14:06.46,Default,,0000,0000,0000,,im Speicher liegen und das muss man doch\Nirgendwie finden können. Ja wir haben Dialogue: 0,0:14:06.46,0:14:10.89,Default,,0000,0000,0000,,eigentlich erwartet, dass wir nur das\NZertifikat, aber was wir gefunden Dialogue: 0,0:14:10.89,0:14:16.12,Default,,0000,0000,0000,,haben war eine noch viel interessantere\NDatenstruktur. Das sieht ein bisschen wirr aus, Dialogue: 0,0:14:16.12,0:14:20.71,Default,,0000,0000,0000,,aber das ist eine Konfigurationsdatei.\NDa komme ich gleich noch drauf, aber da Dialogue: 0,0:14:20.71,0:14:25.00,Default,,0000,0000,0000,,ist auch das was wir wollen, nämlich das\NClient-Zertifikat. Das ist base64 Dialogue: 0,0:14:25.00,0:14:30.62,Default,,0000,0000,0000,,enkodiert da drin: clientCertificate und\NclientCertificateKey. Schön. Dialogue: 0,0:14:30.62,0:14:35.37,Default,,0000,0000,0000,,Jetzt können wir loslegen. Was machen wir\Njetzt? Wir können jetzt unser eigenes Tool Dialogue: 0,0:14:35.37,0:14:39.56,Default,,0000,0000,0000,,Nomorp verwenden, um diesen ganzen Prozess\Nvon Promon wieder rückgängig zu machen. Dialogue: 0,0:14:39.56,0:14:43.52,Default,,0000,0000,0000,,Also wir laden es aus dem Playstore\Nherunter dann haben wir eine geschützte App. Dialogue: 0,0:14:43.52,0:14:48.58,Default,,0000,0000,0000,,Im nächsten Schritt müssen wir\Nunseren Analyzer injecten, der basiert auf Dialogue: 0,0:14:48.58,0:14:53.93,Default,,0000,0000,0000,,dem Frida Gadget. Und der sorgt dann\Ndafür, dass diese Mappings extrahiert Dialogue: 0,0:14:53.93,0:14:58.04,Default,,0000,0000,0000,,werden. Dafür müssen wir das auf einem\NGerät installieren und sobald die App Dialogue: 0,0:14:58.04,0:15:02.83,Default,,0000,0000,0000,,gestartet wird, purzeln da diese ganzen\NMappings raus und die Konfigurationsdatei Dialogue: 0,0:15:02.83,0:15:09.22,Default,,0000,0000,0000,,auch bzw. halt das Client-Zertifikat in\Ndem Fall auch noch. Und das füttern wir Dialogue: 0,0:15:09.22,0:15:15.71,Default,,0000,0000,0000,,jetzt unser Tool und dann kommt die\Nungeschützte App raus. Dialogue: 0,0:15:15.71,0:15:19.39,Default,,0000,0000,0000,,Also dann ist man das losgeworden. Dialogue: 0,0:15:19.39,0:15:26.65,Default,,0000,0000,0000,,{\i1}Applaus{\i0} Dialogue: 0,0:15:26.65,0:15:33.15,Default,,0000,0000,0000,,Der ganze Prozess vom Herunterladen, über\Ndas Installieren auf dem Gerät, bis dem Dialogue: 0,0:15:33.15,0:15:38.76,Default,,0000,0000,0000,,Ausführen von Nomorp dauert fünf bis zehn\NMinuten. Die Dauer kommt ein bisschen Dialogue: 0,0:15:38.76,0:15:43.88,Default,,0000,0000,0000,,darauf an wie groß die App ist. Wenn das\N10 MB sind dann dauert es nicht so lange. Dialogue: 0,0:15:43.88,0:15:48.21,Default,,0000,0000,0000,,Und wenn es halt eine 100 MB App ist, dann\Ndauert es halt entsprechend bisschen Dialogue: 0,0:15:48.21,0:15:51.03,Default,,0000,0000,0000,,länger weil wir da irgendwie\NTransformation auf Basis von {\b1}textlib2{\b0} Dialogue: 0,0:15:51.03,0:15:54.08,Default,,0000,0000,0000,,machen müssen und dann dauert es halt ein\Nbisschen – aber trotzdem keine Zeit Dialogue: 0,0:15:54.08,0:15:58.47,Default,,0000,0000,0000,,eigentlich. Kommt ein Update raus, laden\Nwir das direkt runter und das wars. Dialogue: 0,0:15:58.47,0:16:03.27,Default,,0000,0000,0000,,Jetzt schauen wir aber trotzdem nochmal\Nauf diese auf die Mappings, auf diese Dialogue: 0,0:16:03.27,0:16:06.70,Default,,0000,0000,0000,,Konfigurationsdatei die wir gerade eben\Nhatten, weil das nämlich eigentlich Dialogue: 0,0:16:06.70,0:16:11.72,Default,,0000,0000,0000,,bemerkenswert ist. Ich habe jetzt schon\Ndie ganze Zeit gesagt: Diese ganzen Dialogue: 0,0:16:11.72,0:16:16.59,Default,,0000,0000,0000,,Strings und Konstanten sind alle in dieser\N{\b1}libshield.so{\b0} drin. Aber das scheint gar Dialogue: 0,0:16:16.59,0:16:20.37,Default,,0000,0000,0000,,nicht zu stimmen. Wir haben ja eine\NKonfigurationsdatei gesehen. Warum sollte Dialogue: 0,0:16:20.37,0:16:24.23,Default,,0000,0000,0000,,denn das dann drin sein? Da würde ich\Nschon eine binär Datei erwarten, dass das Dialogue: 0,0:16:24.23,0:16:28.06,Default,,0000,0000,0000,,irgendwie alles schon in bestimmten\NDatenstrukturen drin ist. Es stellt sich Dialogue: 0,0:16:28.06,0:16:33.12,Default,,0000,0000,0000,,heraus, dass diese {\b1}libshield.so{\b0} schon bei\NPromon kompiliert wurde und wird so an den Dialogue: 0,0:16:33.12,0:16:36.46,Default,,0000,0000,0000,,Kunden ausgeliefert. Das heißt bei den\NKunden wird gar nichts kompiliert. Dialogue: 0,0:16:36.46,0:16:40.36,Default,,0000,0000,0000,,Stattdessen, wenn man sich jetzt die\NGrafik rechts anschaut: Als Kunde habe ich Dialogue: 0,0:16:40.36,0:16:43.45,Default,,0000,0000,0000,,eben nur diese App und meine\NKonfigurationsdatei. Dann gebe ich diese Dialogue: 0,0:16:43.45,0:16:47.75,Default,,0000,0000,0000,,dem Promon Integration Tool und dies hat\Nschon diese {\b1}libshield.so{\b0} drin, hat aber Dialogue: 0,0:16:47.75,0:16:53.93,Default,,0000,0000,0000,,natürlich auch irgendwelche Analyse- und\NModifikations-Module. Die sind dann dafür Dialogue: 0,0:16:53.93,0:16:57.43,Default,,0000,0000,0000,,verantwortlich das da unten diese Config\Nverschlüsselt wird und die Mappings Dialogue: 0,0:16:57.43,0:17:01.97,Default,,0000,0000,0000,,verschlüsselt werden. Aber die liegen\Nletztendlich in dieser App mit drin, Dialogue: 0,0:17:01.97,0:17:08.85,Default,,0000,0000,0000,,werden dann einfach geladen und man\Nverwendet die dann entsprechend. Und das Dialogue: 0,0:17:08.85,0:17:10.94,Default,,0000,0000,0000,,macht letztendlich nochmal ein ganz\Nanderes Angriffszenario interessant. Dialogue: 0,0:17:10.94,0:17:14.96,Default,,0000,0000,0000,,Wenn wir das links nochmal ein bisschen\Nstrukturierter anschauen,dann sind dort Dialogue: 0,0:17:14.96,0:17:19.55,Default,,0000,0000,0000,,solche Sachen wie {\b1}checkDebugger{\b0},\N{\b1}exitOnDebugger{\b0} und {\b1}exitOnDebuggerUrl{\b0}. Dialogue: 0,0:17:19.55,0:17:24.64,Default,,0000,0000,0000,,Was heisst das? Heisst das soll ich überhaupt\Nnoch Debugger überprüfen? Was wenn ich Dialogue: 0,0:17:24.64,0:17:27.94,Default,,0000,0000,0000,,einen Debugger finde, soll ich dann die\NApp crashen? Und wenn ich sie crashe, Dialogue: 0,0:17:27.94,0:17:33.89,Default,,0000,0000,0000,,sollte diese URL hier öffnen. Das ist bei\Nden anderen Sachen relativ analog. Dialogue: 0,0:17:33.89,0:17:38.49,Default,,0000,0000,0000,,Wie wärs denn wenn wir diese\NKonfigurationsdatei einfach nachdem sie Dialogue: 0,0:17:38.49,0:17:43.56,Default,,0000,0000,0000,,entschlüsselt wurde, bevor sie geparsed\Nwird modifizieren? Wir sagen einfach Dialogue: 0,0:17:43.56,0:17:49.01,Default,,0000,0000,0000,,"Hey wir schreiben da überall null rein". \NAlso zu dem Zeitpunkt haben uns schon Dialogue: 0,0:17:49.01,0:17:52.62,Default,,0000,0000,0000,,ein bisschen geärgert, weil das andere \Nwar echt viel Arbeit. Dialogue: 0,0:17:52.62,0:18:03.20,Default,,0000,0000,0000,,{\i1}Gelächter und Applaus{\i0}\N Dialogue: 0,0:18:03.20,0:18:06.90,Default,,0000,0000,0000,,Das war bisher alles sehr Android spezifisch. Dialogue: 0,0:18:06.90,0:18:12.56,Default,,0000,0000,0000,,Also ganz kurz zu iOS. Bei iOS\Nist es letztendlich recht ähnlich. Da gibt Dialogue: 0,0:18:12.56,0:18:16.81,Default,,0000,0000,0000,,es auch eine Konfigurationsdatei, die ist\Naber wesentlich weniger umfangreich, und Dialogue: 0,0:18:16.81,0:18:19.98,Default,,0000,0000,0000,,insgesamt habe ich auch das Gefühl da wird\Nweniger gemacht. Das binär Coding kann man Dialogue: 0,0:18:19.98,0:18:23.80,Default,,0000,0000,0000,,nicht so schön transformieren wie\Nirgendwie bei Java Bytecode. Letztendlich Dialogue: 0,0:18:23.80,0:18:28.18,Default,,0000,0000,0000,,sind aber ähnliche Checks halt analog zur\Nzu Android Welt drin und man könnte wieder Dialogue: 0,0:18:28.18,0:18:31.09,Default,,0000,0000,0000,,sagen "wir schreiben das halt um". Dialogue: 0,0:18:33.72,0:18:36.23,Default,,0000,0000,0000,,Fassen wir nochmal die Angriffe zusammen: Dialogue: 0,0:18:36.23,0:18:39.66,Default,,0000,0000,0000,,Wir haben zwei verschiedene Angriffe\Ngesehen. Dein Einen, wo ich gerade schon Dialogue: 0,0:18:39.66,0:18:42.43,Default,,0000,0000,0000,,gesagt habe der eigentlich relativ komplex\Nwar, weil man da relativ viel transformieren Dialogue: 0,0:18:42.43,0:18:46.97,Default,,0000,0000,0000,,muss, der darauf abzielt dass man Promon \NSHIELD entfernt. Und dann was ich gerade Dialogue: 0,0:18:46.97,0:18:50.28,Default,,0000,0000,0000,,vorgestellt habe. Man schreibt einfach \Ndie Konfigurationsdatei um. Dialogue: 0,0:18:50.28,0:18:53.33,Default,,0000,0000,0000,,Da hat man auch kein Problem mit\NInkompatibilitäten, bleibt ja alles Dialogue: 0,0:18:53.33,0:18:58.17,Default,,0000,0000,0000,,kompatibel. Man sagt im Prinzip nur de\Nfacto mach einfach nichts. Dialogue: 0,0:18:59.56,0:19:05.07,Default,,0000,0000,0000,,Danach ist die App im Prinzip komplett\Nungeschützt. Die Hersteller implementieren Dialogue: 0,0:19:05.07,0:19:11.00,Default,,0000,0000,0000,,in großem Stil auch keinen Repackaging-\NSchutz und dergleichen mehr. Jetzt können Dialogue: 0,0:19:11.00,0:19:14.49,Default,,0000,0000,0000,,wir doch eigentlich weiter automatisieren.\NJetzt mal als Beispiel-Angriff: Dialogue: 0,0:19:14.49,0:19:18.10,Default,,0000,0000,0000,,Transaktionsmanipulation. Wir haben dann\Ngesagt, gut dann erweitern wir doch Nomorp Dialogue: 0,0:19:18.10,0:19:24.43,Default,,0000,0000,0000,,mal so, dass wir das fast vollständig\Nautomatisch machen können. Hier mal als Dialogue: 0,0:19:24.43,0:19:28.24,Default,,0000,0000,0000,,Beispiel das VR Banking App. Eigentlich\Nwas man immer nur machen will bei einer Dialogue: 0,0:19:28.24,0:19:31.85,Default,,0000,0000,0000,,Transaktionsmanipulation ist: Man will\Nhier bestimmte Views, Text Views oder Dialogue: 0,0:19:31.85,0:19:35.80,Default,,0000,0000,0000,,sowas, manipulieren. Das sind \Nhalt in dem Fall die interessanten. Dialogue: 0,0:19:35.80,0:19:41.54,Default,,0000,0000,0000,,Der 'Name des Empfängers' ist im Beispiel\Nfalsch. Das muss natürlich was anders Dialogue: 0,0:19:41.54,0:19:46.18,Default,,0000,0000,0000,,sein, das müsste die IBAN sein.\NEntschuldigung. Das ist ein Fehler. Aber Dialogue: 0,0:19:46.18,0:19:50.45,Default,,0000,0000,0000,,der txt_betrag ist richtig und die haben\Nnatürlich eine ID irgendwo. Und die muss Dialogue: 0,0:19:50.45,0:19:53.99,Default,,0000,0000,0000,,man quasi manuell ermitteln und alles\Nandere kann man dann vollständig Dialogue: 0,0:19:53.99,0:19:58.33,Default,,0000,0000,0000,,automatisch machen. Also man kann dies\Nalles injecten. Man muss ja nur wissen was Dialogue: 0,0:19:58.33,0:20:00.57,Default,,0000,0000,0000,,man danach austauschen muss\Nbzw. auslesen muss. Dialogue: 0,0:20:02.15,0:20:05.54,Default,,0000,0000,0000,,Jetzt machen wir mal eine kleine Demo.\NJetzt kann sich aber mal wieder Yomo Dialogue: 0,0:20:05.54,0:20:08.55,Default,,0000,0000,0000,,zurücklehnen und brauchen jetzt keine\NAngst haben geht nicht mit ihnen weiter. Dialogue: 0,0:20:08.55,0:20:15.11,Default,,0000,0000,0000,,Wir schauen uns das jetzt mal anhand der\NVR Banken an. Das Video haben wir heute Dialogue: 0,0:20:15.11,0:20:21.65,Default,,0000,0000,0000,,Nachmittag gemacht. Es ist etwas zügig\Nentstanden. Deswegen sage ich jetzt mal Dialogue: 0,0:20:21.65,0:20:26.17,Default,,0000,0000,0000,,nochmal zuvor, was man gleich sehen wird.\NDieses Szenario ist das folgende: Wir Dialogue: 0,0:20:26.17,0:20:30.06,Default,,0000,0000,0000,,haben ein Nexus 5X mit Android 7.0 und es\Nhat einen Security Patch Level von vor Dialogue: 0,0:20:30.06,0:20:38.05,Default,,0000,0000,0000,,ungefähr einem Jahr. Und warum ist das so?\NWir wollten irgendwas wo man Dateien Dialogue: 0,0:20:38.05,0:20:40.11,Default,,0000,0000,0000,,schreiben darf, die man eigentlich\Nschreiben darf. Dialogue: 0,0:20:40.11,0:20:43.70,Default,,0000,0000,0000,,Also DirtyCOW ist ein klassisch gutes\NBeispiel. Und warum es es auch so ein Dialogue: 0,0:20:43.70,0:20:48.25,Default,,0000,0000,0000,,gutes Beispiel? Damit ist es gar nicht so\Neinfach root im Sinne von SuperSU zu Dialogue: 0,0:20:48.25,0:20:51.91,Default,,0000,0000,0000,,bekommen. Ich glaube dass es erst vor\Nkurzem gelungen. Aber man kann Dateien Dialogue: 0,0:20:51.91,0:20:56.55,Default,,0000,0000,0000,,schreiben die man eigentlich schreiben\Ndürfte. Dann lädt sich der Nutzer eine Dialogue: 0,0:20:56.55,0:21:00.15,Default,,0000,0000,0000,,scheinbar gutartige App aus dem\Noffiziellen PlayStore herunter. Soll ja Dialogue: 0,0:21:00.15,0:21:05.43,Default,,0000,0000,0000,,schon vorgekommen sein, dass da Leute es\Ngeschafft haben sowas zu platzieren. Dialogue: 0,0:21:05.43,0:21:10.20,Default,,0000,0000,0000,,Die App ersetzt dann die VR-Banking und die\NVR-SecureGo App mit einer Nomorp Version – Dialogue: 0,0:21:10.20,0:21:14.12,Default,,0000,0000,0000,,wird man dann gleich auch sehr schön\Nsehen. Danach führt der Nutzer eine Dialogue: 0,0:21:14.12,0:21:17.51,Default,,0000,0000,0000,,Transaktion über 15 Euro durch und die\Nwird durch 1,23 Euro – ist nicht so Dialogue: 0,0:21:17.51,0:21:24.00,Default,,0000,0000,0000,,logisch wenn man jetzt mal kriminell \Ndenkt – ersetzt. Das ist eben eine Dialogue: 0,0:21:24.00,0:21:27.58,Default,,0000,0000,0000,,Transaktionsmanipulation.\NUnd bis auf das bestimmen der ID ist was Dialogue: 0,0:21:27.58,0:21:30.71,Default,,0000,0000,0000,,ich gerade gesagt habe komplett\Nvollautomatisch. Also das musste man nicht Dialogue: 0,0:21:30.71,0:21:35.67,Default,,0000,0000,0000,,weiter antasten mit manuellen Aufwand,\Nsondern nur die IDs bestimmen. Dialogue: 0,0:21:35.67,0:21:40.50,Default,,0000,0000,0000,,Jetzt machen wir kurz noch auf, dass man die\NVersionen sieht. Das war das was ich Dialogue: 0,0:21:40.50,0:21:43.41,Default,,0000,0000,0000,,gerade gesagt habe. Und als nächstes macht\Nmir jetzt erst mal die VR-Banking App auf Dialogue: 0,0:21:43.41,0:21:46.81,Default,,0000,0000,0000,,und die wird jetzt schwarz, weil die hat\Nhalt dieses Flag "secure" gesetzt damit Dialogue: 0,0:21:46.81,0:21:52.40,Default,,0000,0000,0000,,man keine Aufnahmen machen machen kann.\NSo also da sieht man jetzt nichts. Ok. Dialogue: 0,0:21:52.40,0:21:57.80,Default,,0000,0000,0000,,Die funktioniert anscheinend. So und jetzt\Ngehts weiter. Jetzt lädt man sich aus dem Dialogue: 0,0:21:57.80,0:22:00.03,Default,,0000,0000,0000,,PlayStore herunter und ja, das ist echt. Dialogue: 0,0:22:00.03,0:22:02.79,Default,,0000,0000,0000,,{\i1}Gelächter{\i0} Dialogue: 0,0:22:02.79,0:22:08.90,Default,,0000,0000,0000,,Und das sieht man oben diese Leiste. Das\Nist eine scheinbar gute App und jetzt Dialogue: 0,0:22:08.90,0:22:14.68,Default,,0000,0000,0000,,wurde man im Hintergrund exploitet. Jetzt\Nmachen wir die VR-Banking App nochmal auf. Dialogue: 0,0:22:17.72,0:22:24.74,Default,,0000,0000,0000,,{\i1}Gelächter und Applaus{\i0} Dialogue: 0,0:22:25.93,0:22:31.13,Default,,0000,0000,0000,,Jetzt muss man sich einloggen. Jetzt\Nmachen wir die Transaktion und die geht Dialogue: 0,0:22:31.13,0:22:41.98,Default,,0000,0000,0000,,diesmal an mich. Nur noch kurz die IBAN\Neingeben. Die 15 Euro die ich gerade eben Dialogue: 0,0:22:41.98,0:22:47.14,Default,,0000,0000,0000,,gesagt habe mit Verwendungszweck 34C3 (ist\Naber nicht so wichtig in dem Fall). Dialogue: 0,0:22:49.06,0:22:52.89,Default,,0000,0000,0000,,Und jetzt ist die Überweisung versendet\Nworden. Das bedeutet im nächsten Schritt Dialogue: 0,0:22:52.89,0:22:59.54,Default,,0000,0000,0000,,muss man die Transaktion in der TAN App,\Nder VR-SecureGo App, freigeben. Gleiches Dialogue: 0,0:22:59.54,0:23:05.06,Default,,0000,0000,0000,,Spiel: Hier wurde auch wieder irgendwas\Ngemacht. Ich muss wieder das Passwort Dialogue: 0,0:23:05.06,0:23:10.71,Default,,0000,0000,0000,,eingeben. Dann im nächsten Schritt:\Nwichtig ist natürlich dass die IBAN Dialogue: 0,0:23:10.71,0:23:13.25,Default,,0000,0000,0000,,stimmt, das geht aber so schnell, da\Nversichere ich euch dass das stimmt. Dialogue: 0,0:23:13.25,0:23:19.56,Default,,0000,0000,0000,,Da stehen auch 15 Euro immer noch. \NAlso stimmt ja alles. Also geben wir die Dialogue: 0,0:23:19.56,0:23:27.66,Default,,0000,0000,0000,,Transaktion frei. So genau da unten stehen\Nauch irgendwie 15 Euro. Passt ja alles. Dialogue: 0,0:23:28.85,0:23:32.95,Default,,0000,0000,0000,,Und wenn man jetzt hier rein schaut, dann\Nwaren es aber wirklich 1,23 Euro. Dialogue: 0,0:23:32.95,0:23:42.81,Default,,0000,0000,0000,,{\i1}Applaus{\i0} Dialogue: 0,0:23:42.81,0:23:46.87,Default,,0000,0000,0000,,Was hier wichtig ist, dass das \Nvollautomatisch war. Dialogue: 0,0:23:46.87,0:23:51.24,Default,,0000,0000,0000,,Das nicht jeder irgendwie nochmal \Neine App reversed hat, Dialogue: 0,0:23:51.24,0:23:55.05,Default,,0000,0000,0000,,sondern man muss nur die IDs bestimmen\Nnachdem Promon draußen war Dialogue: 0,0:23:55.05,0:23:57.62,Default,,0000,0000,0000,,und dann geht das. Dialogue: 0,0:23:58.42,0:24:00.62,Default,,0000,0000,0000,,Dann komme ich mal zum Schluss: Dialogue: 0,0:24:00.62,0:24:09.06,Default,,0000,0000,0000,,die Reaktionen der beteiligten Parteien\Nanschauen und ein Fazit zu schließen. Also Dialogue: 0,0:24:09.06,0:24:13.70,Default,,0000,0000,0000,,mit Promon stehen wir seit Ende November –\Nalso gut einen Monat – in Kontakt. Dialogue: 0,0:24:13.70,0:24:18.18,Default,,0000,0000,0000,,Die waren sehr nett und professionell und sie\Nhaben mittlerweile auch eine neue Version Dialogue: 0,0:24:18.18,0:24:22.72,Default,,0000,0000,0000,,des Promon SHIELDs entwickelt. Die liegt\Nmir in der Beispiel-App auch vor, aber ich Dialogue: 0,0:24:22.72,0:24:26.04,Default,,0000,0000,0000,,hatte noch nicht die Zeit, um da genauer\Nanzuschauen. Ich kann aber sagen unsere Dialogue: 0,0:24:26.04,0:24:29.79,Default,,0000,0000,0000,,Nomorp Toolchain funktioniert auf diese\NArt und Weise nicht mehr, also Dialogue: 0,0:24:29.79,0:24:32.63,Default,,0000,0000,0000,,funktioniert nicht mehr wie zuvor. Ich\Nkann nicht genau sagen was wurde da jetzt Dialogue: 0,0:24:32.63,0:24:36.87,Default,,0000,0000,0000,,genau gemacht und welche großen\NAnpassungen sind zu machen. Es kann sein, Dialogue: 0,0:24:36.87,0:24:40.49,Default,,0000,0000,0000,,dass es unglaublich viel Arbeit ist. Kann\Naber auch sein, dass es nicht viel Arbeit ist. Dialogue: 0,0:24:40.49,0:24:45.29,Default,,0000,0000,0000,,Ich kann es einfach nicht sagen. \NDer Punkt ist eigentlich, um die Angriffe Dialogue: 0,0:24:45.29,0:24:49.52,Default,,0000,0000,0000,,wirklich komplexer zu machen bräuchte man\Nmehr Individualisierung von den Apps. Dialogue: 0,0:24:49.52,0:24:53.33,Default,,0000,0000,0000,,Man kann ja alle Apps gleichartig angreifen.\NMan kann das Promon SHIELD auf die gleiche Dialogue: 0,0:24:53.33,0:24:58.69,Default,,0000,0000,0000,,Art und Weise in all diesen 31 Apps\Ndeaktivieren indem man diese Config Dialogue: 0,0:24:58.69,0:25:02.82,Default,,0000,0000,0000,,rewritet, weil es überall gleich ist, da\Nes ein universaler Ansatz ist. Dialogue: 0,0:25:02.82,0:25:08.78,Default,,0000,0000,0000,,Die Reaktion der Banken die ich seit\NJahren höre: "bis heute keine Dialogue: 0,0:25:08.78,0:25:12.80,Default,,0000,0000,0000,,Schadensfälle bekannt." Das ist natürlich\Nein merkwürdiges Verständnis von Dialogue: 0,0:25:12.80,0:25:18.43,Default,,0000,0000,0000,,IT-Sicherheit. Wenn man sich jetzt aber \Nmal anschaut, wie eigentlich überhaupt die Dialogue: 0,0:25:18.43,0:25:22.40,Default,,0000,0000,0000,,Verteilung von Mobilebanking ist oder von\NApp basierten TAN Verfahren, dann sind die Dialogue: 0,0:25:22.40,0:25:27.85,Default,,0000,0000,0000,,einfach nicht relevant aktuell im Markt.\N5-8% hat letztes Jahr hat eine Studie Dialogue: 0,0:25:27.85,0:25:32.85,Default,,0000,0000,0000,,ergeben, sind die App basierten TAN\NVerfahren verbreitet. Dies soll sich Dialogue: 0,0:25:32.85,0:25:36.56,Default,,0000,0000,0000,,dieses Jahr nicht groß geändert haben.\NNatürlich, aktuell lohnt sich das noch Dialogue: 0,0:25:36.56,0:25:40.53,Default,,0000,0000,0000,,nicht aber das kann sich \Nfür die Zukunft ändern. Dialogue: 0,0:25:42.32,0:25:47.12,Default,,0000,0000,0000,,Das finde ich ein sehr schönes Zitat von\NJens Bender und Dennis Kügler vom BSI: Dialogue: 0,0:25:47.12,0:25:50.90,Default,,0000,0000,0000,,"Im Bereich des Zahlungswesens hat sich \Neine besondere Kreativität in der Auslegung Dialogue: 0,0:25:50.90,0:25:53.64,Default,,0000,0000,0000,,der Eigenschaft einer\NZweifaktorauthentisierung entwickelt." Dialogue: 0,0:25:54.05,0:25:56.09,Default,,0000,0000,0000,,{\i1}Gelächter{\i0} Dialogue: 0,0:25:56.09,0:26:01.13,Default,,0000,0000,0000,,{\i1}Applaus{\i0} Dialogue: 0,0:26:01.13,0:26:06.06,Default,,0000,0000,0000,,Ja, kann ich nur zustimmen. Und jetzt wenn man\Njetzt denkt nach Mobilebanking, also nach Dialogue: 0,0:26:06.06,0:26:10.44,Default,,0000,0000,0000,,zwei Apps auf einem Smartphone, wird es\Nnicht mehr schlimmer – das gibt es jetzt Dialogue: 0,0:26:10.44,0:26:19.68,Default,,0000,0000,0000,,mittlerweile auch auf einem Windows und\Nauf einem Mac PC. Ok, kann man machen. Dialogue: 0,0:26:21.47,0:26:27.76,Default,,0000,0000,0000,,Zwei Fragen ganz zum Schluss: ist App-\NHärtung überhaupt sinnvoll? Also haben Dialogue: 0,0:26:27.76,0:26:32.48,Default,,0000,0000,0000,,diese ganzen Produkte, die ganzen Markt\Nangeboten werden, eine Daseinsberechtigung? Dialogue: 0,0:26:33.19,0:26:36.32,Default,,0000,0000,0000,,Ja, natürlich haben die eine eine \NDaseinsberechtigung. Sie haben Dialogue: 0,0:26:36.32,0:26:40.11,Default,,0000,0000,0000,,schon einen sinnvollen Schutz die\Nsie da einbetten. Aber das muss ein Dialogue: 0,0:26:40.12,0:26:41.89,Default,,0000,0000,0000,,zusätzlicher Schutz sein. Dialogue: 0,0:26:41.89,0:26:44.54,Default,,0000,0000,0000,,Und die andere Frage: Ist App-Härtung\Nein Ersatz für unabhängige Dialogue: 0,0:26:44.54,0:26:47.28,Default,,0000,0000,0000,,Zweifaktor-Authentifizierung? \NNatürlich nicht! Dialogue: 0,0:26:47.28,0:26:53.58,Default,,0000,0000,0000,,Das habe ich gerade eben gesagt. Weil dies\NSoftwaremaßnahmen sind und die können, Dialogue: 0,0:26:53.58,0:26:56.08,Default,,0000,0000,0000,,wie wir in dem Beispiel gezeigt haben, Dialogue: 0,0:26:56.08,0:26:59.51,Default,,0000,0000,0000,,einfach nicht verhindern, dass \Njemand das ausnutzt. Dialogue: 0,0:27:00.82,0:27:02.51,Default,,0000,0000,0000,,Danke Dialogue: 0,0:27:02.51,0:27:14.02,Default,,0000,0000,0000,,{\i1}Applaus{\i0}\N Dialogue: 0,0:27:14.02,0:27:16.12,Default,,0000,0000,0000,,Herald: Vielen Dank Vincent für Deinen Talk Dialogue: 0,0:27:16.12,0:27:21.97,Default,,0000,0000,0000,,und Deinen weiteren Ausflug in die\NWelt des Mobilebankings. Wir haben Zeit Dialogue: 0,0:27:21.97,0:27:26.85,Default,,0000,0000,0000,,für einige Fragen. Also wenn ihr Fragen\Nhabt, reiht auch an den Mikrofonen auf. Dialogue: 0,0:27:26.85,0:27:36.28,Default,,0000,0000,0000,,Hier gibt es 1,3, da vorne ist 2, usw. Die\Nhaben Nummern dran und dann kann Vincent Dialogue: 0,0:27:36.28,0:27:39.38,Default,,0000,0000,0000,,ein Paar Fragen für Euch beantworten. Dialogue: 0,0:27:47.47,0:27:49.66,Default,,0000,0000,0000,,Ihr könnt auch winken wenn ihr an einem steht. Dialogue: 0,0:27:50.85,0:27:53.46,Default,,0000,0000,0000,,Ok. An Mikrofon 3 haben wir eine Frage. Dialogue: 0,0:27:53.46,0:27:56.46,Default,,0000,0000,0000,,Mikrofon 3: Vielen Dank für den Talk. \NGanz toll! Dialogue: 0,0:27:56.46,0:28:02.08,Default,,0000,0000,0000,,Jetzt gibt es schon für DRM-Systeme \NDinge wie Widevine, die TrustZone Dialogue: 0,0:28:02.08,0:28:07.52,Default,,0000,0000,0000,,im Chip direkt verwenden. Hast Du bei\NDeiner Forschung das irgendwas von gesehen? Dialogue: 0,0:28:07.55,0:28:11.14,Default,,0000,0000,0000,,Vincent: Das ist ein wichtiger Punkt und Dialogue: 0,0:28:11.14,0:28:15.54,Default,,0000,0000,0000,,ich glaube auch das TrustZone oder\Nallgemeiner Trusted Execution Environments Dialogue: 0,0:28:15.54,0:28:21.02,Default,,0000,0000,0000,,eine Art und Weise wäre, in der man so\Netwas in zufriedenstellend sicherer auf Dialogue: 0,0:28:21.02,0:28:25.84,Default,,0000,0000,0000,,einem Gerät machen könnte. Gerade eben\Nlief der BootStomp Vortrag von den Jungs Dialogue: 0,0:28:25.84,0:28:30.95,Default,,0000,0000,0000,,der UCSB. Die würden mir da vielleicht\Nwidersprechen. Insgesamt ist das ein Dialogue: 0,0:28:30.95,0:28:36.08,Default,,0000,0000,0000,,Einsatz auf den könnte das aufbauen, aber\Ndas ich genau da etwas gesehen habe, kann Dialogue: 0,0:28:36.08,0:28:40.85,Default,,0000,0000,0000,,ich jetzt nicht behaupten. Jetzt gerade\Ndie alle setzen das nicht ein. Ist Dialogue: 0,0:28:40.85,0:28:43.83,Default,,0000,0000,0000,,natürlich auch das Problem, dass es da\Nkeine einheitliche Lösung gibt. Da gibt es Dialogue: 0,0:28:43.83,0:28:47.18,Default,,0000,0000,0000,,bisher ein Paar proprietäre Lösungen und\Njeder will sich da irgendwie durchsetzen. Dialogue: 0,0:28:47.18,0:28:48.61,Default,,0000,0000,0000,,Aber einen einheitlichen Standard gibt es\Nnicht und von daher ist es schwierig. Dialogue: 0,0:28:48.61,0:28:55.19,Default,,0000,0000,0000,,Herald: Mikrofon 1 bitte.\NMikrofon 1: Waren die untersuchten Apps Dialogue: 0,0:28:55.19,0:29:01.64,Default,,0000,0000,0000,,alle schon nach der PSD2-Richtlinie\Nzugelassen? Also bezog sich darauf das Dialogue: 0,0:29:01.64,0:29:06.86,Default,,0000,0000,0000,,Zitat von den BSI Leuten? Die schreibt das\Nja explizit vor Zweifaktorauthentisierung. Dialogue: 0,0:29:06.86,0:29:13.42,Default,,0000,0000,0000,,Vincent: Genau die PSD2 schreibt vor:\Nstarke Kundenauthentifizierung. Da müsste Dialogue: 0,0:29:13.42,0:29:16.20,Default,,0000,0000,0000,,man jetzt weiter ausholen. Da wurden\Ngerade eben die technischen Standards Dialogue: 0,0:29:16.20,0:29:20.07,Default,,0000,0000,0000,,dafür verabschiedet. Gibt es noch eine\N18-monatige Übergangsfrist, wo die Banken Dialogue: 0,0:29:20.07,0:29:24.43,Default,,0000,0000,0000,,Zeit haben sich da anzupassen. Aber in den\Nganzen Werbevideos wird ganz oft davon Dialogue: 0,0:29:24.43,0:29:28.98,Default,,0000,0000,0000,,gesprochen – jetzt gerade von diesen\NDrittanbietern, dass sie PSD2 kompatibel Dialogue: 0,0:29:28.98,0:29:33.03,Default,,0000,0000,0000,,sind. Es ist ein bisschen schwierig zu\Nsagen, was die PSD2 da genau vorschreibt. Dialogue: 0,0:29:33.03,0:29:37.17,Default,,0000,0000,0000,,Ich glaube so die letzte Entscheidung die\Ndazu getroffen wurde ist eher in Richtung Dialogue: 0,0:29:37.17,0:29:40.99,Default,,0000,0000,0000,,wir akzeptieren den status quo. Man kann\Ndas meiner Meinung nach immer noch so Dialogue: 0,0:29:40.99,0:29:46.85,Default,,0000,0000,0000,,lesen, dass eine sichere Anzeige und eine\NNichtkopierbarkeit für ein Besitzelement Dialogue: 0,0:29:46.85,0:29:51.82,Default,,0000,0000,0000,,hat. Also von daher ist das nicht ganz\Nklar. Wenn sie jetzt die Banken fragen, Dialogue: 0,0:29:51.82,0:29:53.85,Default,,0000,0000,0000,,dann sagen die natürlich sind sie PSD2\Nkonform. Dialogue: 0,0:29:53.85,0:30:00.75,Default,,0000,0000,0000,,Herald: Fragen wir den Signal Angel. Gibt\Nes Fragen aus dem Internet? Dialogue: 0,0:30:00.75,0:30:05.49,Default,,0000,0000,0000,,{\i1}Stille{\i0}\N Dialogue: 0,0:30:05.49,0:30:09.43,Default,,0000,0000,0000,,Herald: Das scheint nicht der Fall zu sein.\NIch habe noch eine Frage an Mikrofon 2. Dialogue: 0,0:30:09.43,0:30:14.01,Default,,0000,0000,0000,,Mikrofon 2: Hast Du Dir aus Promon noch\Nandere Bibliotheken angesehen? Dialogue: 0,0:30:14.01,0:30:18.68,Default,,0000,0000,0000,,Vincent: Nein. Habe ich nicht. Das liegt\Naber einfach auch daran, es gibt ein Paar Dialogue: 0,0:30:18.68,0:30:21.84,Default,,0000,0000,0000,,andere die im deutschen Markt verbreitet\Nsind, oder was heist Verbreitung? Es gibt Dialogue: 0,0:30:21.84,0:30:24.89,Default,,0000,0000,0000,,Vereinzelte, die das einsetzen. Die\NDeutsche Bank setzt mittlerweile ARXAN Dialogue: 0,0:30:24.89,0:30:29.56,Default,,0000,0000,0000,,ein. Dann gibt es noch die ING-DiBa die\NKobil verwendet. Da kann ich jetzt nicht Dialogue: 0,0:30:29.56,0:30:33.75,Default,,0000,0000,0000,,genaueres zu sagen. Ich meine ich habe ja\Nauch nichts per se gegen Promon - kein Dialogue: 0,0:30:33.75,0:30:36.99,Default,,0000,0000,0000,,Problem mit denen. Aber das Problem ist\Neher, dass sie so relevant im deutschen Dialogue: 0,0:30:36.99,0:30:40.61,Default,,0000,0000,0000,,Markt sind und ich irgendwie fesgestellt\Nhabe, dass so gut wie jeder sie Dialogue: 0,0:30:40.61,0:30:44.39,Default,,0000,0000,0000,,verwendet. Deswegen hat es sich halt\Ngelohnt, das genauer anzuschauen. Wenn Dialogue: 0,0:30:44.39,0:30:48.47,Default,,0000,0000,0000,,jetzt jeder eine andere App-Härtungslösung\Nverwenden würde, dann hätte man einen viel Dialogue: 0,0:30:48.47,0:30:52.17,Default,,0000,0000,0000,,größeren Aufwand. Dann müsste man sich ja\Nalle anschauen. Und so ist es aber man Dialogue: 0,0:30:52.17,0:30:57.18,Default,,0000,0000,0000,,kann einmal Promon deaktivieren und das\Ngeht für alle. Das ist ja eigentlich das Problem. Dialogue: 0,0:30:57.99,0:31:00.12,Default,,0000,0000,0000,,\NHerald: Letzte Frage von Mikrofon 1. Dialogue: 0,0:31:00.31,0:31:04.93,Default,,0000,0000,0000,,Mikrofon 1: Vielen Dank für den Vortrag.\NEine Frage zu dem Angriffsvektior: in Dialogue: 0,0:31:04.93,0:31:10.92,Default,,0000,0000,0000,,diesem Fall wurde einfach die App\Nausgetauscht und dann – sagen wir einmal – Dialogue: 0,0:31:10.92,0:31:14.65,Default,,0000,0000,0000,,leicht angreifbar gemacht. Wäre es\Ndenkbar, vielleicht auch beim gerooteten Dialogue: 0,0:31:14.65,0:31:19.06,Default,,0000,0000,0000,,Phone, dass man da einfach nebendran eine\NApplication hätte, die das einfach on-the- Dialogue: 0,0:31:19.06,0:31:23.63,Default,,0000,0000,0000,,fly austauscht und so Applikationen\Nangreift. Hast Du das untersucht? Dialogue: 0,0:31:23.63,0:31:28.93,Default,,0000,0000,0000,,Vincent: Also das machen wir ja im\NEndeffekt. Wir binden eine Komponente in Dialogue: 0,0:31:28.93,0:31:34.46,Default,,0000,0000,0000,,diese App ein die das macht. Ich meine in\Ndem Fall wurde das halt ersetzt, aber ich Dialogue: 0,0:31:34.46,0:31:39.05,Default,,0000,0000,0000,,glaube nur, dass das Ersetzen von einer\NApp ist mitunter das Einfachste, Dialogue: 0,0:31:39.05,0:31:40.05,Default,,0000,0000,0000,,was man machen kann.\N Dialogue: 0,0:31:40.05,0:31:41.85,Default,,0000,0000,0000,,Mikrofon 1: Ich meine, wenn es nicht\Ngerootet wäre, dann wäre es nicht möglich Dialogue: 0,0:31:41.85,0:31:47.01,Default,,0000,0000,0000,,von einer App auf die Andere zuzugreifen\Nund das auszutauschen. Also das müsste Dialogue: 0,0:31:47.01,0:31:53.24,Default,,0000,0000,0000,,natürlich gerootet werden oder \Ngibt es andere Ansätze? Dialogue: 0,0:31:53.24,0:31:58.19,Default,,0000,0000,0000,,Vincent: Es gibt immer noch eine Unschärfe Dialogue: 0,0:31:58.19,0:32:01.90,Default,,0000,0000,0000,,zwischen was ist ein root-Exploit also\Npriviledge escalation und was ist ein Dialogue: 0,0:32:01.90,0:32:05.69,Default,,0000,0000,0000,,gerootetes Gerät. Ein gerootetes Gerät ist\Nbei mir eine bewusste Entscheidung: ich Dialogue: 0,0:32:05.69,0:32:09.87,Default,,0000,0000,0000,,installiere bei mir SuperSU oder Magisk.\NDas ist bei mir eine bewusste Dialogue: 0,0:32:09.87,0:32:13.72,Default,,0000,0000,0000,,Entscheidung. Dafür verwende ich unter\NUmständen priviledge escalation um das zu Dialogue: 0,0:32:13.72,0:32:18.18,Default,,0000,0000,0000,,Platzieren, aber ein priviledge escalation\Nan Sich, zum Beispiel DirtyCow ausnutzen Dialogue: 0,0:32:18.18,0:32:22.15,Default,,0000,0000,0000,,ist nicht persistent – das wird einmal\Nausgenutzt. Spuren davon, da müssen wir Dialogue: 0,0:32:22.15,0:32:26.13,Default,,0000,0000,0000,,jetzt einen Forensiker fragen, aber ich\Nglaube das ist schwierig. Und das ist der Dialogue: 0,0:32:26.13,0:32:29.14,Default,,0000,0000,0000,,große Unterschied davon. Priviledge\Nescalation mache ich einmal, um meinen Dialogue: 0,0:32:29.14,0:32:32.99,Default,,0000,0000,0000,,Angriffsvektor zu platzieren und danach\Nnützen die ganzen root detections von den Dialogue: 0,0:32:32.99,0:32:36.24,Default,,0000,0000,0000,,Systemen gar nichts mehr: ich habe kein\NSuperSU installiert. Dialogue: 0,0:32:37.98,0:32:41.57,Default,,0000,0000,0000,,Herald: Ok. Nochmal herzlichen Dank\NVincent Haupert. Einen großen Applaus. Dialogue: 0,0:32:41.87,0:32:49.56,Default,,0000,0000,0000,,{\i1}Applaus{\i0} Dialogue: 0,0:32:49.56,0:32:52.34,Default,,0000,0000,0000,,{\i1}34c3 outro{\i0} Dialogue: 0,0:32:52.34,0:33:11.00,Default,,0000,0000,0000,,Untertitel erstellt von c3subtitles.de\Nim Jahr 2018. Mach mit und hilf uns!