1 00:00:00,000 --> 00:00:18,580 *36C3 Vorspanngeräusche* 2 00:00:18,580 --> 00:00:23,160 Herald: Heute Abend geht es in diesem Saal über Staatstrojaner, also Trojaner, also 3 00:00:23,160 --> 00:00:27,090 Schadsoftware im engeren Sinne, bloß halt nicht solche von Kriminellen, sondern 4 00:00:27,090 --> 00:00:30,980 solche von Unternehmen, die das professionell mehr oder weniger legal 5 00:00:30,980 --> 00:00:34,810 machen. Staatstrojaner sollte man gar nicht erst bauen, wenn man sie baut, 6 00:00:34,810 --> 00:00:38,270 kommen sie in die falschen Hände. Wie das passiert und wie man dann unser 7 00:00:38,270 --> 00:00:43,070 Rechtssystem und unsere Gerichte nutzen kann, um etwas dagegen zu tun auf dem 8 00:00:43,070 --> 00:00:47,850 vernünftigen rechtsstaatlichen Weg, das erklärt uns unser Ulf Buermeyer, der in 9 00:00:47,850 --> 00:00:52,079 vielen anderen Fällen auch schon Rechtsbeistand für Clubthemen geleistet 10 00:00:52,079 --> 00:00:57,680 hat. Und Thorsten Schröder ist auch dabei. Oldschool Hacker, 20 Jahre dabei, 30 Jahre 11 00:00:57,680 --> 00:01:02,100 weiß ich nicht. Und hat sich das angeschaut, was da in dieser Schadsoftware 12 00:01:02,100 --> 00:01:06,030 von FinFisher eigentlich drinsteckt. Großen Applaus für Ulf Buermeyer und 13 00:01:06,030 --> 00:01:11,820 Thorsten Schröder. *Applaus* 14 00:01:11,820 --> 00:01:18,539 Ulf Buermeyer: Hi, schön, dass ihr da seid, herzlich willkommen! 15 00:01:18,539 --> 00:01:22,229 Thorsten Schröder: Hallo, hallo. U: Ja, herzlich willkommen zu „FinFisher, 16 00:01:22,229 --> 00:01:26,500 See You in Court!“ Falls es der eine oder andere kennt, eine amerikanische 17 00:01:26,500 --> 00:01:31,440 Bürgerrechtsorganisation hat „See you in Court!“ mal zu Donald Trump gesagt, als er 18 00:01:31,440 --> 00:01:35,770 illegal versucht hat, Immigration in die Vereinigten Staaten zu verhindern. Und wir 19 00:01:35,770 --> 00:01:40,440 widmen uns genau dem umgekehrten Thema, nämlich der illegalen Auswanderung von 20 00:01:40,440 --> 00:01:45,880 fieser Software. Und bevor wir dazu kommen, noch ein klitzekleiner historischer 21 00:01:45,880 --> 00:01:53,200 Rückblick. Keine Sorge, das wird kein krasser Juratalk, dafür bürgt schon 22 00:01:53,200 --> 00:01:55,520 Thorsten. T: Ich versuch’s. 23 00:01:55,520 --> 00:02:00,640 U: Aber in diesem Talk geht es um ein weiteres Kapitel im Kampf gegen digitales 24 00:02:00,640 --> 00:02:06,610 Ungeziefer, und zwar eine ganz besondere Form von digitalem Ungeziefer. 25 00:02:06,610 --> 00:02:12,890 T: Staatstrojaner, die wir auch schon vor ein paar Jahren mal auf einem Kongress 26 00:02:12,890 --> 00:02:18,739 bereits besprochen haben. Aber eben Software, die von Staaten eingesetzt 27 00:02:18,739 --> 00:02:22,650 werden, gegen Kriminelle, gegen Oppositionelle und so weiter. 28 00:02:22,650 --> 00:02:26,569 U: Thorsten hat schon gesagt, das ist ein Thema, das den Club und auch mich 29 00:02:26,569 --> 00:02:32,401 persönlich schon seit Jahren beschäftigt. Das Foto zum Beispiel ist vom 25C3. Da gab 30 00:02:32,401 --> 00:02:36,620 es nämlich eine gute Nachricht aus Karlsruhe zu feiern. Vielleicht erinnert 31 00:02:36,620 --> 00:02:42,000 sich der eine oder andere noch daran. Das Bundesverfassungsgericht hatte 2008 ein 32 00:02:42,000 --> 00:02:47,090 neues Grundrecht erfunden, nämlich das Grundrecht, das wir heute kennen als das 33 00:02:47,090 --> 00:02:53,060 Computer Grundrecht oder, auf schlau, das Grundrecht auf Integrität und 34 00:02:53,060 --> 00:02:58,860 Vertraulichkeit informationstechnischer Systeme. Eine Bezeichnung, auf die nur 35 00:02:58,860 --> 00:03:03,540 Menschen kommen können, die viel zu lange Jura studiert haben. Jedenfalls hatten wir 36 00:03:03,540 --> 00:03:07,660 damals, als Conz und ich diesen Talk gemacht haben, vor dem roten Vorhang 37 00:03:07,660 --> 00:03:12,380 gehofft, dass dieses Grundrecht etwas ändern würde. Aber leider müssen wir 38 00:03:12,380 --> 00:03:22,269 sagen … T: Tat es nicht. Wir haben 2011 einen 39 00:03:22,269 --> 00:03:26,930 Staatstrojaner gefunden, der genau diese Rechte nicht eingehalten hat. 40 00:03:26,930 --> 00:03:30,601 Möglicherweise war das zu dem Zeitpunkt bei diesen Entwicklern auch noch nicht 41 00:03:30,601 --> 00:03:35,959 angekommen. Diesen Trojaner hatten wir einmal auf einer Festplatte in einem 42 00:03:35,959 --> 00:03:43,600 braunen Umschlag zugetragen bekommen. Ja, den haben wir dann analysiert und einen 43 00:03:43,600 --> 00:03:51,270 sehr ausführlichen Bericht auch dazu verfasst und einen Talk auf dem 28c3. 44 00:03:51,270 --> 00:03:54,210 U: Hier sieht man das, Jugendbildnisse von Thorsten und mir. 45 00:03:54,210 --> 00:03:58,080 T: Da war ich noch richtig jung, wie man sieht. Da habe ich auch das erste Mal mit 46 00:03:58,080 --> 00:04:01,220 Ulf auf einer Bühne gestanden. Lustigerweise stehen wir nur auf der 47 00:04:01,220 --> 00:04:04,840 Bühne, wenn’s um Staatstrojaner geht. U: Das ist auch derselbe schwarze Pulli 48 00:04:04,840 --> 00:04:07,550 bei mir, glaube ich. Ich habe den extra nochmal gewaschen. 49 00:04:07,550 --> 00:04:11,170 T: Ja, da haben wir den Staatstrojaner vorgestellt und nicht nur beschrieben, 50 00:04:11,170 --> 00:04:15,970 sondern auch demonstrieren können, wie der gegen diese Grundrechte verstößt, indem er 51 00:04:15,970 --> 00:04:24,960 einen Rechner in eine Wanze verwandelt und somit in jedem Teil der Wohnung auch 52 00:04:24,960 --> 00:04:28,330 abhören kann und man Software nachladen kann und so weiter. 53 00:04:28,330 --> 00:04:31,750 U: Mit dem Software nachladen war vielleicht der krasseste Verstoß. 54 00:04:31,750 --> 00:04:34,789 Eigentlich hatte das Bundesverfassungsgericht nämlich sehr 55 00:04:34,789 --> 00:04:39,620 genau vorgeschrieben, was ein Trojaner so können darf und was nicht. Es hatte diese 56 00:04:39,620 --> 00:04:42,890 Trojaner eben nicht grundsätzlich verboten, aber relativ hohe Hürden 57 00:04:42,890 --> 00:04:49,020 aufgestellt. Und diese Hürden allerdings hat der Trojaner aus dem Hause DigiTask 58 00:04:49,020 --> 00:04:53,699 damals nicht eingehalten. Thorsten und ein paar andere Leute aus dem Club hatten ja 59 00:04:53,699 --> 00:04:57,359 sogar so eine Fernsteuersoftware gebaut, ihr konntet den quasi fernsteuern mit 60 00:04:57,359 --> 00:05:00,749 einer kleinen Windowssoftware. T: Also eigentlich sollte dieser Trojaner 61 00:05:00,749 --> 00:05:04,609 ja nur Skype abhören und vielleicht mal so ein bisschen die Chatlogs mitlesen. Bei 62 00:05:04,609 --> 00:05:08,380 der Analyse ist allerdings aufgefallen, dass er weitaus mehr kann, unter anderem 63 00:05:08,380 --> 00:05:12,979 auch Software nachladen, aber eben auch Screenshots anfertigen und auch 64 00:05:12,979 --> 00:05:18,050 Screenshots von nicht abgeschickten Emails und Gedanken und was auch immer man in so 65 00:05:18,050 --> 00:05:22,009 einen Rechner auch reintippt. U: Im Grunde genau das Gruselszenario, 66 00:05:22,009 --> 00:05:26,699 das wir gerade auch beim Club immer wieder kritisiert hatten, weswegen Staatstrojaner 67 00:05:26,699 --> 00:05:30,880 so gefährlich sind. Das war nun leider allerdings nicht das Ende der Debatte, wie 68 00:05:30,880 --> 00:05:35,029 es sich für so einen richtigen Zombie gehört, sind Staatstrojaner einfach nicht 69 00:05:35,029 --> 00:05:39,639 kaputt zu bekommen. Und so haben wir in Deutschland seit 2017 wieder eine 70 00:05:39,639 --> 00:05:44,759 Rechtsgrundlage für Staatstrojaner, eine neue sogar, nämlich dieses Mal im 71 00:05:44,759 --> 00:05:49,809 Strafverfahren. Das Bundeskriminalamt darf die schon viel länger einsetzen seit 2009 72 00:05:49,809 --> 00:05:54,111 allerdings nur zur Abwehr von Terrorismus und diesmal wirklich. Diesmal steht es 73 00:05:54,111 --> 00:05:59,759 sogar im Gesetz. Aber seit 2017 gibt’s ein neues Gesetz, das im Prinzip in den 74 00:05:59,759 --> 00:06:04,539 meisten Strafverfahren erlaubt, so Trojaner einzusetzen. Deswegen hat die 75 00:06:04,539 --> 00:06:08,770 Gesellschaft für Freiheitsrechte dagegen geklagt. Darüber haben wir letztes Jahr 76 00:06:08,770 --> 00:06:13,249 schon kurz gesprochen, weil wir sagen, was dieser Trojaner kann, ist wieder mal 77 00:06:13,249 --> 00:06:18,509 verfassungswidrig. Und wir kritisieren aber nicht nur, dass der die Grenzen nicht 78 00:06:18,509 --> 00:06:24,749 einhält, die das Bundesverfassungsgericht aufgestellt hat, sondern wir fragen uns, 79 00:06:24,749 --> 00:06:30,020 wie kommt der Trojaner eigentlich rein ins System? Wie kommt er eigentlich rein? Bin 80 00:06:30,020 --> 00:06:34,919 ich denn etwa schon drin? Damit geht’s uns um die IT-Sicherheit insgesamt, weil wir 81 00:06:34,919 --> 00:06:40,249 uns fragen, welche Sicherheitslücken werden eigentlich freigehalten, offen 82 00:06:40,249 --> 00:06:44,400 gehalten, ganz bewusst, damit so ein Trojaner ins System eingespielt werden 83 00:06:44,400 --> 00:06:48,879 kann. Denn nur in Ausnahmefällen haben die Behörden direkt Zugriff auf das System. In 84 00:06:48,879 --> 00:06:52,979 aller Regel müssen die Trojaner aus der Ferne eingespielt werden und dazu braucht 85 00:06:52,979 --> 00:06:58,120 man eben Sicherheitslücken. Deswegen die Minimalforderung der GFF in diesem 86 00:06:58,120 --> 00:07:03,229 Verfahren: Das geht gar nicht! Wenn man schon eine Rechtsgrundlage für Trojaner 87 00:07:03,229 --> 00:07:07,619 schafft, dann muss man auch klare Spielregeln aufstellen, welche 88 00:07:07,619 --> 00:07:11,789 Sicherheitslücken eigentlich ausgenutzt werden dürfen. Denn sonst gibt es einen 89 00:07:11,789 --> 00:07:15,241 großen Anreiz 0-days oder Sicherheitslücken, die dem Hersteller noch 90 00:07:15,241 --> 00:07:18,689 nicht bekannt sind, geheimzuhalten. Und damit werden alle Computer 91 00:07:18,689 --> 00:07:23,960 auf der Welt die Sicherheitslücke weiter aufweisen. Apropos auf der Welt: 92 00:07:23,960 --> 00:07:29,539 nicht nur deutsche Behörden finden Trojaner außerordentlich sexy. Ganz im 93 00:07:29,539 --> 00:07:34,789 Gegenteil. Die Weltkarte des Trojaner- Einsatzes ist bemerkenswert rot. 94 00:07:34,789 --> 00:07:41,189 T: Zumindest was diese FinFisher Spyware angeht, gibt es hier vom Citizen Lab 95 00:07:41,189 --> 00:07:47,280 erstellt, diese Karte, wo diese Schadsoftware schon überall gefunden bzw. 96 00:07:47,280 --> 00:07:53,240 eingesetzt wurde. Das ist natürlich schön, dass wir uns in Deutschland darum bemühen, 97 00:07:53,240 --> 00:07:57,082 da entsprechende Rechtsgrundlagen zu schaffen. Wenn wir das hinkriegen, dass es 98 00:07:57,082 --> 00:08:00,890 so eine Rechtsgrundlage gibt oder eben diesen Schutz der Privatsphäre, dann heißt 99 00:08:00,890 --> 00:08:03,319 das noch lange nicht, dass wir das Problem los sind. 100 00:08:03,319 --> 00:08:06,960 U: Ganz im Gegenteil! T: Das Ding ist halt, dass gerade in 101 00:08:06,960 --> 00:08:11,909 diesem Fall wir davon ausgehen können, dass diese Software, die hier weltweit 102 00:08:11,909 --> 00:08:17,410 eingesetzt wird, um Leute auszuspionieren, Made in Germany ist. 103 00:08:17,410 --> 00:08:21,650 U: Das ist genau das Problem. Made in Germany, aber eben nicht nur eingesetzt in 104 00:08:21,650 --> 00:08:26,080 Deutschland, sondern auch in Staaten, wo es mit der Rechtsstaatlichkeit vielleicht 105 00:08:26,080 --> 00:08:30,639 nicht ganz so entspannt zugeht. Denn besonders spannend sind Trojaner natürlich 106 00:08:30,639 --> 00:08:35,430 für Menschen, die aus guten Gründen Stress haben mit ihrer Opposition. Zum Beispiel 107 00:08:35,430 --> 00:08:42,169 hier Präsident José Eduardo dos Santos aus Angola. Der, jedenfalls nach Berichten, 108 00:08:42,169 --> 00:08:49,870 auf der Kundenliste von FinFisher steht. Oder Hamad bin Isa Al Chalifa, der sich 109 00:08:49,870 --> 00:08:55,529 selbst im Jahr 2002 zum König von Bahrain ausrief. Und bei der Rangliste der 110 00:08:55,529 --> 00:09:00,319 Pressefreiheit aus dem Jahr 2017, herausgegeben von Reporter ohne Grenzen, 111 00:09:00,319 --> 00:09:07,180 belegt Bahrain den stolzen Platz 164 von 180. Mit anderen Worten: Pressefreiheit 112 00:09:07,180 --> 00:09:10,949 bedeutet in diesem Land, zu schreiben, was der Chef will. Die Presse in Bahrain 113 00:09:10,949 --> 00:09:15,370 gehört zu den unfreiesten der Welt. Zensur und repressive Gesetzgebung verhindern 114 00:09:15,370 --> 00:09:20,089 freien Journalismus. Sechs Blogger und Bürgerjournalisten sitzen in Haft, und das 115 00:09:20,089 --> 00:09:24,769 alles wird unter anderem ermöglicht dadurch, dass gezielt versucht wird, 116 00:09:24,769 --> 00:09:32,120 Menschen zu hacken, die sich kritisch äußern. Aber, die Probleme beginnen direkt 117 00:09:32,120 --> 00:09:41,700 vor unserer Haustür. T: Ja, wir haben auch in Europa, bzw. den 118 00:09:41,700 --> 00:09:48,370 Anwärtern für die Europäische Union, Staatslenker, die auch ein Problem haben 119 00:09:48,370 --> 00:09:55,880 mit ihrer eigenen Bevölkerung und mit der Opposition. Und nun gab es da halt diverse 120 00:09:55,880 --> 00:10:01,160 Unruhen. Es gab einen Putschversuch. Im Sommer 2016 gab es einen Putschversuch in 121 00:10:01,160 --> 00:10:07,790 der Türkei. Die Türkei wandelte sich danach zunehmend in ein eher repressives 122 00:10:07,790 --> 00:10:11,720 Regime. U: Und nach dem gescheiterten 123 00:10:11,720 --> 00:10:17,779 Putschversuch wurden insgesamt mehr als 50 000 Menschen verhaftet. Mehr als 140 000 124 00:10:17,779 --> 00:10:21,550 Menschen wurden aus ihren Berufen entfernt. Die Türkei ist inzwischen das 125 00:10:21,550 --> 00:10:27,050 Land geworden, in dem im Verhältnis zur Bevölkerungszahl weltweit die meisten 126 00:10:27,050 --> 00:10:31,069 Journalisten und Journalistinnen inhaftiert sind. Eine lupenreine 127 00:10:31,069 --> 00:10:35,500 Demokratie? Zurzeit befinden sich mindestens 34 Journalisten in politischer 128 00:10:35,500 --> 00:10:40,360 Gefangenschaft. Hunderte Zeitungen und andere Medienorgane wurden geschlossen. 129 00:10:40,360 --> 00:10:45,360 T: Es ist auch sehr, sehr auffällig, wie dringend immer darauf hingewiesen wird, 130 00:10:45,360 --> 00:10:50,990 dass die Leute, die dort inhaftiert sind, unter Terrorverdacht stehen. Jeder, der 131 00:10:50,990 --> 00:10:54,410 gerade zur falschen Zeit am falschen Ort ist, wird dann auch mit diesem 132 00:10:54,410 --> 00:10:56,850 Terrorismusverdacht erst einmal weggesperrt. 133 00:10:56,850 --> 00:11:01,220 U: Erfreulicherweise allerdings gibt es trotz aller Repressalien auch in der 134 00:11:01,220 --> 00:11:05,040 Türkei noch eine Oppositionsbewegung. Beispielsweise, das sieht man auf diesem 135 00:11:05,040 --> 00:11:12,310 Bild im Sommer 2017, als Oppositionelle in der Türkei unter dem Motto adalet auf die 136 00:11:12,310 --> 00:11:17,680 Straße gingen, um gegen das Regime zu protestieren. Daraufhin allerdings hatte 137 00:11:17,680 --> 00:11:23,170 der türkische Geheimdienst eine besonders perfide Idee. Denn Demonstrationen gegen 138 00:11:23,170 --> 00:11:28,610 den großen Meister gehen natürlich gar nicht. Deswegen stellte der Geheimdienst 139 00:11:28,610 --> 00:11:34,380 eine Website ins Netz, die – das seht ihr auf dem Bild – auf den ersten Blick so 140 00:11:34,380 --> 00:11:38,519 aussieht, als könnte das eine Organisations-Website der 141 00:11:38,519 --> 00:11:43,170 Oppositionsbewegung sein. Das sieht ja so aus mit dem Logo und dem Bild, als wenn 142 00:11:43,170 --> 00:11:48,380 das Menschen wären, die hinter diesen Protesten stünden. Und auf dieser Seite, 143 00:11:48,380 --> 00:11:52,050 von der man denken könnte, es sei eine Protestwebsite, gab es dann diesen 144 00:11:52,050 --> 00:11:57,160 schönen Button unten rechts, der so aussieht, als ginge es dort in den Google 145 00:11:57,160 --> 00:12:02,689 Play Store. Dort wurde eine Android- Software, so eine APK-Datei, also eine 146 00:12:02,689 --> 00:12:08,910 Android-Installationsdatei, zum Download bereitgehalten für einige Wochen. Das 147 00:12:08,910 --> 00:12:12,839 Problem ist nur, ihr ahnt es schon: es handelte sich nicht etwa um einen 148 00:12:12,839 --> 00:12:17,410 Messenger oder eine Kalender-App, mit der die Oppositionellen sich hätten 149 00:12:17,410 --> 00:12:23,089 organisieren können. In Wirklichkeit handelte es sich dabei um einen Android- 150 00:12:23,089 --> 00:12:30,759 Trojaner, den wir im weiteren als den adalet-Trojaner bezeichnen. Die Frage ist 151 00:12:30,759 --> 00:12:37,570 nur … T: Woher kommt der Trojaner? Wir sind der 152 00:12:37,570 --> 00:12:42,379 Meinung, nach aktuellem Stand, dass dieser Trojaner, der in der Türkei gegen diese 153 00:12:42,379 --> 00:12:47,730 Bewegung eingesetzt wurde, dass er aus Deutschland stammt. Und wir haben einiges 154 00:12:47,730 --> 00:12:54,670 an Arbeit investiert, um das auch mit vielen Belegen begründen zu können, diesen 155 00:12:54,670 --> 00:12:57,759 Verdacht. U: Denn: Man kann sich das vorstellen, 156 00:12:57,759 --> 00:13:01,779 Anna Biselli hat das so schön gesagt vor zwei Tagen, wenn irgendwo ein Trog ist, 157 00:13:01,779 --> 00:13:06,000 dann sind die Schweine nicht weit. Und ebenso ist es bei Cyberwaffen. Wenn ein 158 00:13:06,000 --> 00:13:11,120 Diktator mit Dollarbündeln wedelt, dann finden sich immer wieder zwielichtige 159 00:13:11,120 --> 00:13:15,040 Software-Unternehmen, die mit solchen Trojanern Geld verdienen wollen. 160 00:13:15,040 --> 00:13:19,170 Menschenrechte hin oder her. Beispielsweise die Unternehmensgruppe 161 00:13:19,170 --> 00:13:26,340 FinFisher aus München. Selbstbeschreibung: Excellence in Cyber Investigation. Gegen 162 00:13:26,340 --> 00:13:31,900 solche Trojaner-Hersteller vorzugehen ist rechtlich schwierig. Das Problem dabei ist 163 00:13:31,900 --> 00:13:36,279 nämlich, dass solche Trojaner unter bestimmten Voraussetzungen ja legal 164 00:13:36,279 --> 00:13:41,050 eingesetzt werden können. Das heißt einfach nur Trojaner zu bauen ist nicht 165 00:13:41,050 --> 00:13:45,579 illegal. Das gilt ganz besonders, wenn auch deutsche Behörden zur dankbaren 166 00:13:45,579 --> 00:13:50,540 Kundschaft gehören, beispielsweise nach Presseberichten von Netzpolitik.org, das 167 00:13:50,540 --> 00:13:55,160 Bundeskriminalamt, aber auch das Berliner Landeskriminalamt. Mit anderen Worten: 168 00:13:55,160 --> 00:14:01,110 FinFisher hat beste Beziehungen zu deutschen Behörden. Aber man darf diese 169 00:14:01,110 --> 00:14:09,630 Trojaner nicht einfach so exportieren, denn sie gelten als Cyberwaffen. Der 170 00:14:09,630 --> 00:14:14,529 Export von Trojanern ist zwar nicht generell verboten, aber sie stehen auf der 171 00:14:14,529 --> 00:14:19,769 sogenannten Ausfuhrliste. Das bedeutet, man braucht vor dem Export von Trojanern 172 00:14:19,769 --> 00:14:24,170 normalerweise eine Genehmigung der Bundesregierung. Nur die EU-Staaten und 173 00:14:24,170 --> 00:14:28,660 einige weitere Länder sind von dieser Erfordernis, eine Genehmigung einzuholen, 174 00:14:28,660 --> 00:14:34,259 ausgenommen. Und nun hatten wir in dem adalet-Fall einen sehr, sehr schönen Fall. 175 00:14:34,259 --> 00:14:38,620 Die türkische Regierung setzt einen Trojaner gegen ihre Opposition ein. Mit 176 00:14:38,620 --> 00:14:42,499 der türkischen Regierung gab es ohnehin schon Stress genug. Und dieser Trojaner 177 00:14:42,499 --> 00:14:48,790 stammt nun auch noch mutmaßlich aus Deutschland. Und der Export war auch noch 178 00:14:48,790 --> 00:14:52,529 illegal, weil es dafür keine Genehmigung gab. Jedenfalls sagt das die 179 00:14:52,529 --> 00:14:57,990 Bundesregierung. Und daher war für uns, das heißt in diesem Fall Netzpolitik.org 180 00:14:57,990 --> 00:15:02,529 zum Beispiel und die Gesellschaft für Freiheitsrechte, ganz schnell klar, das 181 00:15:02,529 --> 00:15:05,490 muss ein Fall für die Staatsanwaltschaft werden. Wir haben 182 00:15:05,490 --> 00:15:11,220 deswegen eine Koalition geschmiedet gegen den illegalen Export von Staatstrojanern 183 00:15:11,220 --> 00:15:15,280 unter Koordination der Gesellschaft für Freiheitsrechte. Das hat da meine Kollegin 184 00:15:15,280 --> 00:15:21,199 Sarah Lincoln gemacht. Reporter ohne Grenzen, Netzpolitik.org und das ECCHR aus 185 00:15:21,199 --> 00:15:24,889 Berlin – das European Center for Constitutional and Human Rights – ihre 186 00:15:24,889 --> 00:15:28,870 Kompetenz gebündelt, und wir haben gemeinsam eine Strafanzeige geschrieben 187 00:15:28,870 --> 00:15:33,899 und sie hier in diesem Sommer eingereicht, um zu erreichen, dass die Verantwortlichen 188 00:15:33,899 --> 00:15:38,120 bei der Firma FinFisher zur Rechenschaft gezogen werden. Weil wir finden, genauso 189 00:15:38,120 --> 00:15:42,499 wie deutsche Waffen nicht auf der ganzen Welt mitmorden dürfen, genauso dürfen auch 190 00:15:42,499 --> 00:15:46,459 nicht mit deutschen Trojanern Menschenrechte weltweit oder in diesem 191 00:15:46,459 --> 00:15:58,060 Fall in der Türkei verletzt werden. *Applaus* 192 00:15:58,060 --> 00:16:01,930 U: Hier haben wir nochmal den Ablauf zusammengestellt. 193 00:16:01,930 --> 00:16:12,010 T: Das ist jetzt die Timeline der Anzeige bzw. wann das Sample, wir reden hier von 194 00:16:12,010 --> 00:16:15,912 einem Sample, wenn wir jetzt von so einem APK, so einer Schadsoftwareinstallation 195 00:16:15,912 --> 00:16:22,139 reden, wann das verbreitet wurde, das war dann im Juni 2017. Das ist definitiv nach 196 00:16:22,139 --> 00:16:27,140 Einführung der Export-Richtlinien. Man kann hier mit Gewissheit sagen, dass die 197 00:16:27,140 --> 00:16:30,819 Zielgruppe die Oppositionellen in der Türkei waren. Das ergibt sich aus dem 198 00:16:30,819 --> 00:16:38,990 Kontext dieser Website und allem drumherum. Und ja, es gab eine Anfrage an 199 00:16:38,990 --> 00:16:43,429 die Bundesregierung, die letztlich bestätigte, dass es in diesem Zeitraum 200 00:16:43,429 --> 00:16:48,720 zwischen 2015 und 2017 keinerlei Genehmigungen in dieser Richtung gab. 201 00:16:48,720 --> 00:16:53,320 U: Damit war für uns klar, das reicht jedenfalls für eine Strafanzeige. 202 00:16:53,320 --> 00:16:57,458 Natürlich müssen noch ein paar Fakten ermittelt werden. Aber jedenfalls reicht 203 00:16:57,458 --> 00:17:01,879 es, um die Staatsanwaltschaft auf diesen Fall aufmerksam zu machen. Und wir haben 204 00:17:01,879 --> 00:17:05,809 auch eine ganze Reihe von Indizien, dass der Fall sehr ernst genommen wird. Im 205 00:17:05,809 --> 00:17:11,008 September 2019 haben wir diese Strafanzeige dann veröffentlicht, unter 206 00:17:11,008 --> 00:17:15,968 anderem auch auf Netzpolitik.org. Und wir können mit Sicherheit davon ausgehen, dass 207 00:17:15,968 --> 00:17:20,550 das die Herrschaften hinter FinFisher nicht begeistert hat. Denn sie haben 208 00:17:20,550 --> 00:17:26,051 Netzpolitik.org abgemahnt und dazu gezwungen, den Artikel vorzeitig vom Netz 209 00:17:26,051 --> 00:17:30,071 zu nehmen. Erfreulicherweise allerdings hatte die Spendenkampagne von Netzpolitik 210 00:17:30,071 --> 00:17:33,830 einigen Erfolg. Ich hoffe jedenfalls, finanziell wird sich das nicht lohnen für 211 00:17:33,830 --> 00:17:37,737 die Abmahner, aber klar, der Artikel ist zurzeit nicht verfügbar, jedenfalls nicht 212 00:17:37,737 --> 00:17:42,195 bei Netzpolitik. Es soll ja in diesem Internet auch Archivseiten geben. Und dort 213 00:17:42,195 --> 00:17:47,280 könnt ihr ihn nach wie vor lesen in seiner vollen Schönheit. FinFisher und Kohl 214 00:17:47,280 --> 00:17:54,142 schlagen zurück. Wir denken, getroffene Hunde bellen. Und außerdem lassen wir uns 215 00:17:54,142 --> 00:17:58,300 davon natürlich nicht einschüchtern. Wir haben – Wir heißt in diesem Fall die 216 00:17:58,300 --> 00:18:02,820 Gesellschaft für Freiheitsrechte – den Club gebeten, sich die bisherigen Beweismittel 217 00:18:02,820 --> 00:18:06,678 gegen FinFisher nochmal ganz genau anzusehen und zu überlegen, ob es nicht 218 00:18:06,678 --> 00:18:12,851 noch weitere Beweise geben könnte. Und das Ziel dieser Mission war, noch genauer 219 00:18:12,851 --> 00:18:16,740 nachzuweisen, dass tatsächlich die Voraussetzungen vorliegen für den 220 00:18:16,740 --> 00:18:20,764 Straftatbestand aus dem Außenwirtschaftsgesetz. Ja, das ist die 221 00:18:20,764 --> 00:18:25,691 Norm des deutschen Rechts, die ungenehmigte Exporte unter Strafe stellt, 222 00:18:25,691 --> 00:18:30,609 genaugenommen §18, Absatz 2, Nr. 1 und Absatz 5 Nr. 1 dieses 223 00:18:30,609 --> 00:18:34,748 Außenwirtschaftsgesetzes. Ich erspare euch die juristischen Details. Es ist im 224 00:18:34,748 --> 00:18:37,430 Einzelnen ziemlich komplex. Diese Norm verweist auf die 225 00:18:37,430 --> 00:18:41,660 Außenwirtschaftsverordnung und die wiederum auf einen langen Anhang, wo dann 226 00:18:41,660 --> 00:18:47,015 quasi einzelne Kategorien von Gütern aufgeführt sind, vom Kampfpanzer bis zum 227 00:18:47,015 --> 00:18:49,720 Staatstrojaner kann man dann nachlesen, was man 228 00:18:49,720 --> 00:18:54,705 alles nur mit Genehmigung ausführen darf. Und wir sind der Auffassung, dagegen wurde 229 00:18:54,705 --> 00:19:00,539 verstoßen. Zwei rechtliche Fragen standen im Mittelpunkt unserer Bitte an den Chaos 230 00:19:00,539 --> 00:19:04,890 Computer Club, doch noch einmal ganz genau, sich diese Trojaner anzuschauen. 231 00:19:04,890 --> 00:19:09,680 Zwei rechtliche Fragen, oder, wie soll ich sagen, zwei Tatsachenfragen, zwei Fakten- 232 00:19:09,680 --> 00:19:13,870 Fragen, die aber eine große rechtliche Bedeutung haben. Und zwar zum einen … 233 00:19:13,870 --> 00:19:20,340 T: Zum einen der Herstellungszeitpunkt, was wichtig ist und relevant ist, wenn es 234 00:19:20,340 --> 00:19:27,244 darum geht herauszufinden: wurde diese Software nach dem Stichtag Mitte 2015 235 00:19:27,244 --> 00:19:30,680 hergestellt? U: Ja, genau. 236 00:19:30,680 --> 00:19:35,252 T: Wenn wir nachweisen können, dass eine Software erst zu einem bestimmten 237 00:19:35,252 --> 00:19:38,966 Zeitpunkt hergestellt wurde, dann können wir auch davon ausgehen, dass sie erst 238 00:19:38,966 --> 00:19:44,795 anschließend exportiert oder verkauft oder eingesetzt wird. Und die zweite wichtige 239 00:19:44,795 --> 00:19:49,402 Frage, wenn wir da jetzt mal ganz neutral an die Sache rangehen. Wer hat dieses 240 00:19:49,402 --> 00:19:52,830 Sample hergestellt? Es gibt den Anfangsverdacht, dass es sich hierbei um 241 00:19:52,830 --> 00:19:57,495 FinSpy von FinFischer handelt. Aber das ist eben die Frage, die geklärt werden 242 00:19:57,495 --> 00:20:02,470 sollte. Und das haben wir als Chaos Computer Club dann einfach mal getan. 243 00:20:02,470 --> 00:20:07,023 U: Und dazu gab es ja schon bisherige Analysen. Andere Leute haben sich auch 244 00:20:07,023 --> 00:20:12,571 schon mal FinFischer-Samples oder FinSpy- Samples angeschaut. Diese Analysen waren 245 00:20:12,571 --> 00:20:16,552 auch für euch der Ausgangspunkt. T: Genau, so ganz am Anfang hieß es ja 246 00:20:16,552 --> 00:20:20,308 auch, vor allen Dingen könnt ihr euch nicht mal diese ganzen Analysen anschauen, 247 00:20:20,308 --> 00:20:24,140 die da bisher veröffentlicht wurden, unter anderem sehr viel von Citizen Lab. Die 248 00:20:24,140 --> 00:20:28,389 haben sehr viel in diese Richtung gemacht, nicht nur FinFischer Produkte werden da 249 00:20:28,389 --> 00:20:33,703 von denen analysiert, sondern auch noch andere. Dann ging es eben darum, zu prüfen, 250 00:20:33,703 --> 00:20:37,550 ob das alles plausibel ist, was da drin ist, ob man das alles reproduzieren kann, 251 00:20:37,550 --> 00:20:41,356 ob man das Ganze dann auch nochmal als Bericht so zusammenfassen kann, dass es 252 00:20:41,356 --> 00:20:46,250 für deutsche Ermittlungsbehörden und ein deutsches Gericht auch verwertbar ist. 253 00:20:46,250 --> 00:20:50,600 Dazu haben wir uns dann auch noch ein Gutachten von anderen Dritten angeschaut, 254 00:20:50,600 --> 00:20:54,370 die so etwas ähnliches auch schon getan haben. Da gibt es schon einen 255 00:20:54,370 --> 00:21:02,902 Plausibilitätscheck aus 2018 von einer Firma. Und 2018 hat Access Now auch noch 256 00:21:02,902 --> 00:21:08,989 einmal einen Bericht, eine Zusammenfassung all dessen veröffentlicht. Und jetzt für 257 00:21:08,989 --> 00:21:15,030 die Klage gab es dann auch nochmal eine technische Analyse. Ganz speziell dieses 258 00:21:15,030 --> 00:21:21,150 adalet-Samples. Also dem eigentlichen Gegenstand der ganzen Klage. Und wir haben 259 00:21:21,150 --> 00:21:26,929 uns natürlich diese ganzen Dokumente angeguckt, haben halt geschaut, sind da 260 00:21:26,929 --> 00:21:30,594 irgendwo vielleicht noch Lücken, die wir füllen können? Gibt es Dinge, die wir 261 00:21:30,594 --> 00:21:34,072 ausführlicher beschreiben können, transparenter machen können? Und das war 262 00:21:34,072 --> 00:21:38,290 dann letztlich die Hauptarbeit, die wir dabei geleistet haben. Wer jetzt erwartet, 263 00:21:38,290 --> 00:21:42,060 dass es irgendwie total bahnbrechende Neuigkeiten gibt über irgendwelche FinSpy- 264 00:21:42,060 --> 00:21:47,374 oder FinFisher Trojaner, die Leute muss ich leider enttäuschen. Wir haben halt 265 00:21:47,374 --> 00:21:51,471 sehr viel der Arbeit anderer Leute verifiziert. Wir haben aber auch noch ein 266 00:21:51,471 --> 00:21:56,891 paar andere Indizien gefunden, die sehr viel schwerer wiegen als manche andere 267 00:21:56,891 --> 00:21:59,530 Punkte, die in den Reports vorher genannt werden. 268 00:21:59,530 --> 00:22:03,304 U: Und ihr habt schon, finde ich, einige sehr, sehr spannende technische Details 269 00:22:03,304 --> 00:22:07,162 noch rausgekramt, zu denen wir gleich noch kommen. Z. B diese Provisionierung, wie 270 00:22:07,162 --> 00:22:10,690 werden die Trojaner eigentlich angepasst? Das fand ich schon ein sehr, sehr 271 00:22:10,690 --> 00:22:14,861 spannendes technisches Detail. Ihr habt dann vorgestern war es, ne, gestern war 272 00:22:14,861 --> 00:22:19,005 es, die Analyse des CCC veröffentlicht. T: Genau das haben wir gestern schon 273 00:22:19,005 --> 00:22:22,953 veröffentlicht, damit man ein bisschen Material hat. Ich hoffe auch, dass es, 274 00:22:22,953 --> 00:22:27,233 wenn es die Zeit erlaubt, im Anschluss an diesen Talk noch ein bisschen Q&A gibt. 275 00:22:27,233 --> 00:22:31,859 Ja, wir haben einen sehr ausführlichen Bericht darüber geschrieben, wie wir das 276 00:22:31,859 --> 00:22:35,945 Ganze bewerten und wie wir die einzelnen Indizien gewichten und zu was für einem 277 00:22:35,945 --> 00:22:43,575 Schluss wir da gekommen sind. Was uns halt sehr wichtig war an der Arbeit: Wir haben 278 00:22:43,575 --> 00:22:47,845 am Ende auch alles veröffentlicht, im Gegensatz zu all den anderen 279 00:22:47,845 --> 00:22:51,940 Organisationen, die diese Arbeit auch schon und auch sehr viel Arbeit investiert 280 00:22:51,940 --> 00:22:57,388 haben. Wir haben sämtliche Samples, diese Schadsoftware-Samples haben wir auf GitHub 281 00:22:57,388 --> 00:23:01,580 veröffentlicht. Gibt’s nachher noch einen Link. 282 00:23:01,580 --> 00:23:09,172 *Applaus* T: Es gibt auch in diesem GitHub 283 00:23:09,172 --> 00:23:14,997 Repository gibt es auch sämtliche Werkzeuge und Zwischenergebnisse, die wir 284 00:23:14,997 --> 00:23:21,016 in unseren Analysen erlangt haben und entwickelt haben. Mit dem Ziel, dass jeder 285 00:23:21,016 --> 00:23:26,497 in der Lage ist, unsere Ergebnisse zu reproduzieren. Das heißt, ihr habt die 286 00:23:26,497 --> 00:23:30,780 Samples, ihr habt die Werkzeuge und die Vorgehensweise, die wir ausführlich in 287 00:23:30,780 --> 00:23:36,130 diesen 60 Seiten Bericht beschrieben haben. Und ihr könnt das alles 288 00:23:36,130 --> 00:23:41,776 nachvollziehen. Transparenz von unserer Seite. Wir haben eine lückenfüllende 289 00:23:41,776 --> 00:23:47,817 Zusammenfassung geschrieben. U: Und nochmal ganz kurz der „Auftrag“ 290 00:23:47,817 --> 00:23:51,278 Selbstverständlich kann man dem CCC keinen Auftrag geben. 291 00:23:51,278 --> 00:23:54,599 Insbesondere hat die GFF den CCC natürlich nicht bezahlt. Ja, das ist 292 00:23:54,599 --> 00:23:58,200 ganz wichtig zu sagen. Es ist nicht irgendwie eine gekaufte Stellungnahme, 293 00:23:58,200 --> 00:24:01,928 sondern wir haben einfach nur gebeten, wenn ihr euch dafür interessiert, schaut 294 00:24:01,928 --> 00:24:05,637 euch das doch mal an. Das wäre wahnsinnig hilfreich. Und ich finde in der Tat 295 00:24:05,637 --> 00:24:09,480 großartig, dass der Club jetzt in der Person von Thorsten insbesondere sich die 296 00:24:09,480 --> 00:24:13,810 Zeit genommen hat. Ja, das ist nochmal ganz kurz zusammenfassend der Auftrag. 297 00:24:13,810 --> 00:24:17,718 Analysen verifizieren, die es schon gibt, Lücken schließen in der Indizienkette und 298 00:24:17,718 --> 00:24:21,580 natürlich weitere Samples gezielt analysieren und die beiden zentralen 299 00:24:21,580 --> 00:24:26,670 Fragestellungen aus rechtlicher Perspektive: Wann ist dieser adalet- 300 00:24:26,670 --> 00:24:30,710 Trojaner aus der Türkei oder der in der Türkei eingesetzt wurde, hergestellt 301 00:24:30,710 --> 00:24:36,260 worden und wo kommt er tatsächlich her? Ja, und das sind jetzt eine ganze Reihe 302 00:24:36,260 --> 00:24:40,000 von Samples, die hier auf GitHub. T: Genau das. Hier sehen wir jetzt kurz 303 00:24:40,000 --> 00:24:45,120 mal so ein Listing der Samples, die wir analysiert haben. Das sind auch die 304 00:24:45,120 --> 00:24:51,770 Original Schadsoftwaredateien. Da ist also dieser Trojaner drinne, das befindet sich 305 00:24:51,770 --> 00:24:55,820 gerade alles in dem GitHub Repository von Linus Neumann, mit dem ich diese ganze 306 00:24:55,820 --> 00:25:00,990 Analyse durchgeführt habe. Vielen Dank auch nochmal an Linus. 307 00:25:00,990 --> 00:25:09,010 *Applaus* TS: Wir haben einige Nächte verbracht mit 308 00:25:09,010 --> 00:25:13,930 diesen tollen Trojanern. U: Eingesetzt wurden diese Samples eben 309 00:25:13,930 --> 00:25:17,868 in Türkei, sagst du, in Vietnam und in Myanmar. Das sind so die Länder, wo wir es 310 00:25:17,868 --> 00:25:20,310 wissen. T: Ja, was heißt Wissen, oder eben sehr 311 00:25:20,310 --> 00:25:24,640 stark annehmen. Es ist nicht so leicht zu sagen, wo sie eingesetzt wurden, wer sie 312 00:25:24,640 --> 00:25:30,250 gekauft hat. Man kann das schlussfolgern aus verschiedenen Indizien. Bei der Türkei 313 00:25:30,250 --> 00:25:36,890 ist es relativ leicht, sag ich mal im Kontext gesehen, weil wir ja auch diese 314 00:25:36,890 --> 00:25:41,371 Website hatten, die sich dann auch gezielt gegen die Zielgruppe richtete. Es gibt 315 00:25:41,371 --> 00:25:46,920 auch Samples, wo man relativ sicher sagen kann, dass sie z. B. in Myanmar eingesetzt 316 00:25:46,920 --> 00:25:55,150 wurden, weil da eine sehr bekannte, burmesische Social Platform genutzt wurde. 317 00:25:55,150 --> 00:25:59,830 Also, dieser Name wurde genutzt, um dieses Sample zu verbreiten. Das ist ein klares 318 00:25:59,830 --> 00:26:04,351 Indiz, dass das gegen diese Bevölkerungsgruppe ging. Bei Vietnam weiß 319 00:26:04,351 --> 00:26:09,370 ich nicht genau. Diese Atrribution ist halt eh schon ein schwieriges Thema. 320 00:26:09,370 --> 00:26:13,110 Genauso schwierig ist es eben herauszufinden, wo es eingesetzt wurde, 321 00:26:13,110 --> 00:26:17,091 weil die ganzen Metadaten, die man dann in den Samples findet, IP-Adressen, 322 00:26:17,091 --> 00:26:20,350 Telefonnummern und so weiter. Die sagen am Ende nicht viel aus. 323 00:26:20,350 --> 00:26:23,595 U: Dazu sehen wir gleich noch ein bisschen mehr. Aber fangen wir doch 324 00:26:23,595 --> 00:26:27,244 vielleicht an mit der ersten zentralen Frage, nämlich der Feststellung des 325 00:26:27,244 --> 00:26:31,116 Herstellungszeitpunktes. Dazu habt ihr euch eine ganze Reihe Gedanken gemacht, 326 00:26:31,116 --> 00:26:35,023 wie man darauf kommen könnte. T: Die zentralen Fragen waren, wann wurde 327 00:26:35,023 --> 00:26:38,800 das hergestellt? Also haben wir uns all diese ganzen Samples angesehen und haben 328 00:26:38,800 --> 00:26:45,797 geguckt, ob wir da Indizien finden, dass diese Software möglicherweise nach 2015 329 00:26:45,797 --> 00:26:50,820 hergestellt wurde. Da gibt es verschiedene Möglichkeiten. Grundsätzlich alles, was 330 00:26:50,820 --> 00:26:57,194 wir jetzt in den Binaries und in diesen Schadsoftware-Samples finden. Das ist dann 331 00:26:57,194 --> 00:27:01,490 so der frühestmögliche Zeitpunkt. Wenn ich beweisen kann, dass zum Beispiel eine 332 00:27:01,490 --> 00:27:06,470 Komponente dieser Schadsoftware erst im Mai 2016 überhaupt hergestellt oder 333 00:27:06,470 --> 00:27:10,640 veröffentlicht wurde, dann bedeutet das natürlich auch, dass das ganze 334 00:27:10,640 --> 00:27:15,270 Schadsoftware-Sample erst nach diesem Zeitpunkt hergestellt werden kann. Das ist 335 00:27:15,270 --> 00:27:19,142 der frühestmöglichen Zeitpunkt. Das kann also auch durchaus sein, dass es 2017 336 00:27:19,142 --> 00:27:23,039 zusammengebaut und verschickt und verkauft wurde. Das wissen wir nicht so genau. 337 00:27:23,039 --> 00:27:26,750 U: Aber jedenfalls, eine Library, die noch nicht veröffentlicht war, kann nicht 338 00:27:26,750 --> 00:27:29,750 eingebaut werden, ne? T: Genau deswegen haben wir sehr gezielt, 339 00:27:29,750 --> 00:27:34,280 geh nochmal zurück, sehr gezielt nach solchen Artefakten von Compilern gesucht 340 00:27:34,280 --> 00:27:38,570 oder irgendwelche Zeichenketten aus irgendwelchen Open-Source Produkten. Es 341 00:27:38,570 --> 00:27:43,770 gibt aber auch in diesen APK-Dateien. Das sind halt so die Android-Apps, liegen als 342 00:27:43,770 --> 00:27:48,420 APK vor, das ist technisch gesehen nichts weiter als ein ZIP-Archiv, was 343 00:27:48,420 --> 00:27:53,330 wahrscheinlich alle von euch kennen dürften. Und in diesen Archiven liegen 344 00:27:53,330 --> 00:27:57,570 dann auch Zertifikate der Entwickler, die dieses Paket veröffentlichen. Und anhand 345 00:27:57,570 --> 00:28:03,250 dieser Zertifikate kann man z. B. auch einen Zeitstempel einsehen, wann dieses 346 00:28:03,250 --> 00:28:10,230 Zertifikat erstellt wurde. Das sagt jetzt für unsere juristische Sichtweise nicht 347 00:28:10,230 --> 00:28:13,640 besonders viel aus, weil man kann ja ein Zertifikat mit einem beliebigen 348 00:28:13,640 --> 00:28:18,990 Zeitstempel herstellen. Ich kann ja sagen, ich gehe zurück in die Vergangenheit, oder 349 00:28:18,990 --> 00:28:21,750 ich erstelle das in der Zukunft. Das kann man alles machen. 350 00:28:21,750 --> 00:28:25,150 U: Nur warum sollte man das tun? T: Warum sollte man das tun? Vielleicht 351 00:28:25,150 --> 00:28:28,926 gibt’s einen guten Grund dafür. Aber wir haben uns ja auch aus diesem Grund und 352 00:28:28,926 --> 00:28:33,900 genau deshalb Samples angeschaut, die bis ins Jahr 2012 zurückreichen. Also wir 353 00:28:33,900 --> 00:28:43,740 haben uns diese Trojaner-APKs angesehen, die 2012 bis 2019 in die Öffentlichkeit 354 00:28:43,740 --> 00:28:49,909 gelangten. Und wir können zumindest sagen, wenn wir jetzt im Jahr 2019 sehen oder ein 355 00:28:49,909 --> 00:28:53,340 Muster erkennen können, dass bestimmte Zertifikate vielleicht auch in der 356 00:28:53,340 --> 00:28:56,880 Vergangenheit genutzt wurden, dann kann man sich schon fragen, ob das jetzt 357 00:28:56,880 --> 00:29:02,400 plausibel ist oder nicht. Ansonsten gibt es noch öffentliche Dokumentation. Dazu 358 00:29:02,400 --> 00:29:06,810 gehörte das Sample selber. Das haben wir auch nur aus dem Internet aus 359 00:29:06,810 --> 00:29:12,790 verschiedenen Quellen, aber gegeben. Deswegen ist es wichtig, sämtliche 28 360 00:29:12,790 --> 00:29:16,560 Samples, die wir da hatten, anzuschauen: Wann wurden die eigentlich im Einzelnen 361 00:29:16,560 --> 00:29:20,470 hergestellt? U: Ein Ansatzpunkt war der 362 00:29:20,470 --> 00:29:26,430 Herstellungszeitpunkt von Bibliotheken. T: Genau, hier sehen wir ein disassembly 363 00:29:26,430 --> 00:29:31,676 von einem Shared Object, was da mitgeliefert wurde, das bedeutet, diese 364 00:29:31,676 --> 00:29:38,810 Android-Anwendungen sind ja eigentlich nur Java-Anwendungen. Das heißt, da liegt Java 365 00:29:38,810 --> 00:29:44,759 Bytecode drin und in Java hat man auch die Möglichkeit, über das Java Native 366 00:29:44,759 --> 00:29:50,390 Interface auch anderen Code aufzurufen, der zum Beispiel vom Betriebssystem 367 00:29:50,390 --> 00:29:55,755 bereitgestellt wird, oder eben in C, also mit anderen Programmiersprachen 368 00:29:55,755 --> 00:29:59,940 entwickelte Libraries, die mitgeliefert werden und in dem Fall war; in diesem 369 00:29:59,940 --> 00:30:05,470 Sample gab’s noch so Shared Object Files. Das ist halt unter Linux-Betriebssysten haben 370 00:30:05,470 --> 00:30:09,591 sie die Endung .so, unter Windows gibt's ein ähnliches Konzept. Das sind dann 371 00:30:09,591 --> 00:30:13,361 dynamische Bibliotheken, die als DLL mitgeliefert werden. Und in dem Fall gab 372 00:30:13,361 --> 00:30:19,656 es eine Bibliothek, in der wir bestimmte Zeichenketten gefunden haben, die darauf 373 00:30:19,656 --> 00:30:26,431 hindeuten, dass das definitiv erst 2016 hergestellt worden sein kann. Das sieht 374 00:30:26,431 --> 00:30:30,400 man hier daran, das ist SQLite das ist ein Open-Source-Projekt, so eine Open-Source 375 00:30:30,400 --> 00:30:35,929 Datenbank. Und die hinterlässt dann in diesem Kompilat diesen String. Das ist ein 376 00:30:35,929 --> 00:30:41,303 Datum und irgendein Hash. Und wenn wir uns dann mal anschauen, okay, wann taucht 377 00:30:41,303 --> 00:30:45,370 denn dieser String eigentlich auf? Dann können wir uns auf der Open-Source-Projekt- 378 00:30:45,370 --> 00:30:52,731 Webseite anschauen, dass da tatsächlich die SQLite Version 3.13 im Mai 2016 379 00:30:52,731 --> 00:30:57,830 veröffentlicht wurde. Und lustigerweise sehen wir hier genau diese Checksumme mit 380 00:30:57,830 --> 00:31:03,730 genau dem gleichen String und somit können wir eigentlich 100% davon ausgehen, dass 381 00:31:03,730 --> 00:31:07,160 das hier sich sicherlich niemand ausgedacht hat im Jahr 2012. 382 00:31:07,160 --> 00:31:10,110 *Ulf lacht* TS: Es ist ziemlich unwahrscheinlich. 383 00:31:10,110 --> 00:31:17,100 *Applaus* T: Ich hoffe ich laser dir nicht die Augen. 384 00:31:17,100 --> 00:31:20,310 UB: Passt schon, ich schrei dann. Und dann habt ihr euch die 385 00:31:20,310 --> 00:31:23,973 Zertifikate angeschaut, mit denen die Software signiert worden 386 00:31:23,973 --> 00:31:27,800 ist, ne, die einzelnen Zertifizierungen? T: Das haben wir auch gemacht, das haben 387 00:31:27,800 --> 00:31:31,752 aber auch die anderen Researcher gemacht, die sich das vor uns angeschaut haben. Die 388 00:31:31,752 --> 00:31:35,400 haben das natürlich genauso analysiert. Aber wir wollten ja auch die Analysen 389 00:31:35,400 --> 00:31:38,970 analysieren, und das haben wir getan. Deswegen der Vollständigkeit halber in 390 00:31:38,970 --> 00:31:42,740 unserem Report natürlich auch nochmal ein Zeitstrahl. Wir haben später noch eine 391 00:31:42,740 --> 00:31:48,630 schöne Tabelle, wo man das gut sehen kann. Hier sehen wir den Output, wenn man sich 392 00:31:48,630 --> 00:31:52,900 dieses Zertifikat mal anschaut, was der Entwickler genutzt hat, um dieses Paket zu 393 00:31:52,900 --> 00:32:00,091 signieren. Hier sehen wir, dass es erzeugt wurde im Oktober 2016. Passt also 394 00:32:00,091 --> 00:32:04,130 zeitlich, wenn wir davon ausgehen, dass das Zertifikat erstellt wurde, als dieses 395 00:32:04,130 --> 00:32:10,400 Sample zusammengebaut wurde. Liegt halt auch nach Mai 2016. Bis wann das gültig 396 00:32:10,400 --> 00:32:16,230 ist, ist eigentlich völlig egal. Ja, das Schöne wäre jetzt eigentlich, was hätten 397 00:32:16,230 --> 00:32:20,010 wir jetzt hier, wenn wir da jetzt irgendwelche Werte manipulieren, wenn wir 398 00:32:20,010 --> 00:32:27,220 es zurück datieren? Schön. Dann könnten wir Researcher in die Irre führen, wenn 399 00:32:27,220 --> 00:32:31,460 jetzt hier zum Beispiel stehen würde, das Zertifikat wurde 2012 erstellt. Dann 400 00:32:31,460 --> 00:32:35,737 könnten wir überhaupt gar nichts darüber aussagen. So vielleicht schon eher, was 401 00:32:35,737 --> 00:32:39,360 hier noch auffällig ist, das wird später noch relevant, es gibt auch diese 402 00:32:39,360 --> 00:32:44,790 Fingerprints für diese Zertifikate. Das sind diese langen SHA-Werte hier. Das ist 403 00:32:44,790 --> 00:32:51,710 ein kryptographischer Hash über dieses Zertifikat, über den key und der ist 404 00:32:51,710 --> 00:32:59,024 einmalig. Also, wenn wir uns jetzt in den 28 Samples alle Zertifikate angucken, dann 405 00:32:59,024 --> 00:33:03,831 vergleichen wir natürlich auch diesen SHA-Wert, weil das ist der Fingerprint, 406 00:33:03,831 --> 00:33:07,830 das drückt das schon ganz gut aus. Das ist ein Fingerabdruck, wenn wir genau diesen 407 00:33:07,830 --> 00:33:12,080 Fingerabdruck in einem anderem Sample finden, dann können wir zumindest auch 408 00:33:12,080 --> 00:33:16,280 eine Aussage darüber treffen, dass beide Samples, unabhängig davon, wann sie 409 00:33:16,280 --> 00:33:20,140 jeweils veröffentlicht wurden, dass beide vom gleichen Hersteller stammen. Und das 410 00:33:20,140 --> 00:33:23,890 ist auch ein wichtiger Punkt für diese ganze Schlussfolgerung am Ende. 411 00:33:23,890 --> 00:33:28,450 U: Zunächst mal aber können diese beiden Aspekte, die du genannt hast, die 412 00:33:28,450 --> 00:33:34,740 Bibliotheken und die Zertifikate im Grunde den Schluss tragen, dass dieses adalet- 413 00:33:34,740 --> 00:33:39,800 Sample jedenfalls nicht vor dem 18. Mai 2016 erstellt worden sein kann. Einfach 414 00:33:39,800 --> 00:33:42,720 weil es da diese SQlite-Bibliothek noch nicht gab. 415 00:33:42,720 --> 00:33:47,460 T: Genau, das ist ein so schweres Indiz, dass ich definitiv sagen kann, dass es 416 00:33:47,460 --> 00:33:51,310 nicht vor Mai 2016 hergestellt worden ist. UB: Damit liegt dieses Datum jedenfalls 417 00:33:51,310 --> 00:33:55,090 nach dem Inkrafttreten der Verbote, von denen ich anfangs gesprochen habe. Das 418 00:33:55,090 --> 00:33:58,928 heißt also, dieses Sample wäre dann, wenn es tatsächlich in die Türkei exportiert 419 00:33:58,928 --> 00:34:04,470 worden ist, unter Verstoß dagegen exportiert worden. Zweiter Aspekt 420 00:34:04,470 --> 00:34:09,118 vielleicht noch wichtiger, die Feststellung der Herkunft. Was für ein 421 00:34:09,118 --> 00:34:13,263 Vieh war denn jetzt eigentlich dieses adalet-Trojanerchen? 422 00:34:13,263 --> 00:34:20,649 T: Dafür haben wir, wie ich sagte, Samples aus dem Zeitraum von sieben Jahren 423 00:34:20,649 --> 00:34:25,369 uns angeschaut und geguckt. Was haben die für Gemeinsamkeiten? Was lässt darauf 424 00:34:25,369 --> 00:34:29,290 schließen, dass die aus einem Hause stammen? Da braucht uns in dem Moment noch 425 00:34:29,290 --> 00:34:34,181 gar nicht interessieren, wie dieses Haus überhaupt heißt. Uns ist nur wichtig 426 00:34:34,181 --> 00:34:37,850 gewesen herauszufinden, ob die einen Zusammenhang haben. Dafür haben wir diese 427 00:34:37,850 --> 00:34:41,521 Code-Signing-Zertifikate miteinander verglichen, wie ich eben schon sagte. Es 428 00:34:41,521 --> 00:34:45,041 gibt noch ein paar andere Indizien übrigens, für diese Zeitgeschichte. Aber 429 00:34:45,041 --> 00:34:48,609 die spielt jetzt hier keine besonders große Rolle. Der Coding-Style ist auch 430 00:34:48,609 --> 00:34:52,220 eine wichtige Rolle. Wie ich schon sagte, diese APKs, diese Anwendungen, sind 431 00:34:52,220 --> 00:34:57,511 eigentlich in Java programmiert. Man kann auch noch Shared-Object-Bibliotheken 432 00:34:57,511 --> 00:35:01,250 daneben legen, die vielleicht in anderen Programmiersprachen entwickelt wurden. 433 00:35:01,250 --> 00:35:07,550 Aber man kann sowohl im Dekompilat des Java-Codes als auch im Disassembly dieser 434 00:35:07,550 --> 00:35:13,508 Bibliotheken einen gewissen Coding-Style ablesen. Man kann verschiedene 435 00:35:13,508 --> 00:35:17,470 Variablennamen miteinander vergleichen, wenn keine Obfuscation am Start war. Also 436 00:35:17,470 --> 00:35:24,210 Mittel, um Code-Herkunft und Code-Struktur zu verschleiern. Wir können die Code-Basis 437 00:35:24,210 --> 00:35:27,990 miteinander vergleichen, also auf einer rein funktionellen Ebene. Wir können uns 438 00:35:27,990 --> 00:35:31,720 anschauen. Sind die Funktionen in der einen Anwendung vorhanden, die aus dem 439 00:35:31,720 --> 00:35:35,190 Jahr 2012 stammt, und sind die gleichen Funktionen auch vorhanden in der 440 00:35:35,190 --> 00:35:40,500 Anwendung, die aus 2014 stammt und 2017 und so weiter? Das können wir schon 441 00:35:40,500 --> 00:35:45,070 miteinander vergleichen und auch Diffs feststellen, also Unterschiede zwischen 442 00:35:45,070 --> 00:35:49,440 den Versionen. So können wir von einer Evolution sprechen oder eine Beobachtung 443 00:35:49,440 --> 00:35:55,500 dieser Evolution einer bestimmten Schadsoftware. Wir haben sehr stark darauf 444 00:35:55,500 --> 00:36:01,550 geachtet, ob wir zum Beispiel sehen können, welche Sprache, welche 445 00:36:01,550 --> 00:36:07,640 Muttersprache die Entwickler sprechen. Das sehen wir an manchen Stellen sehr 446 00:36:07,640 --> 00:36:11,620 deutlich. Komme ich nachher noch mit Beispielen zu. Dann schauen wir uns auch 447 00:36:11,620 --> 00:36:14,760 an, wann und wie die provisioniert wurden und ob es 448 00:36:14,760 --> 00:36:18,490 da irgendwelche Ähnlichkeiten gibt. U: Provisionierung bedeutet quasi, dass 449 00:36:18,490 --> 00:36:22,270 dieser Trojaner jeweils angepasst wurde für den spezifischen Einsatzzweck. Das 450 00:36:22,270 --> 00:36:26,170 heißt, dieser Trojaner ist im Prinzip eine Massenware oder jedenfalls eine vielfach 451 00:36:26,170 --> 00:36:29,770 eingesetzte Software. Aber für das jeweilige Land wurden dann 452 00:36:29,770 --> 00:36:33,850 unterschiedliche Parameter gesetzt. Dazu kommen wir auch gleich noch. Das Spannende 453 00:36:33,850 --> 00:36:37,622 dabei ist, was Thorsten gerade beschrieben hat. Das sind zunächst mal vor allem 454 00:36:37,622 --> 00:36:41,210 Parallelen zwischen unterschiedlichen Samples. Das heißt, da kann man sagen, 455 00:36:41,210 --> 00:36:44,880 diese Samples kommen wohl mehr oder weniger aus derselben Küche. Aber das sagt 456 00:36:44,880 --> 00:36:48,740 ja zunächst mal noch nicht, welche Küche das ist. Um das sagen zu können, braucht 457 00:36:48,740 --> 00:36:53,650 es noch einen zweiten Schritt, nämlich das Finden von Samples bestätigter Herkunft. 458 00:36:53,650 --> 00:36:57,350 Das heißt, wenn man weiß, bestimmte Samples gehören zusammen, kommen aus 459 00:36:57,350 --> 00:37:01,450 demselben Haus, und man kann dann wenigstens ein Sample oder zwei Samples 460 00:37:01,450 --> 00:37:05,490 einem ganz konkreten Hersteller zuweisen. Dann gilt es, jedenfalls mit sehr hoher 461 00:37:05,490 --> 00:37:10,780 Wahrscheinlichkeit, auch für alle anderen Samples aus dieser Herstellungslinie. Und 462 00:37:10,780 --> 00:37:14,380 da muss man ganz ehrlich sagen, sind wir zu großer Dankbarkeit verpflichtet. 463 00:37:14,380 --> 00:37:21,870 T: Ja, Phineas Fisher hatte einen größeren Batzen Daten aus dem Hause 464 00:37:21,870 --> 00:37:24,720 FinFisher getragen und veröffentlicht. U: Tipp! 465 00:37:24,720 --> 00:37:29,660 T: Es gibt da ein 41 Gigabyte großes File, wo sehr viele Samples drinne sind, 466 00:37:29,660 --> 00:37:32,200 die wir auch analysiert haben. U: Hier sieht man das. 467 00:37:32,200 --> 00:37:37,090 T: Vielen Dank nochmal Phineas Fisher! *Applaus* 468 00:37:37,090 --> 00:37:43,440 U: Mit anderen Worten, es ist für diese Analyse ein großer Vorteil, dass es 469 00:37:43,440 --> 00:37:48,900 bestimmte Samples gibt, die aus diesem Phineas Fisher Hack stammen und die man 470 00:37:48,900 --> 00:37:52,430 mit sehr großer Wahrscheinlichkeit aufgrund vieler Indizien dieser 471 00:37:52,430 --> 00:37:57,137 Firmengruppe FinFisher zuordnen kann. Das heißt, man hat 2 Anker, oder wieviele 472 00:37:57,137 --> 00:37:59,330 Samples sind da drin? 2? T: Jaja. 473 00:37:59,330 --> 00:38:03,580 U: Das heißt, man hat quasi 2 Ankerpunkte und kann sich dann von diesen Ankerpunkten 474 00:38:03,580 --> 00:38:08,220 über den Vergleich von Samples weiter vorhangeln. Aber das ändert natürlich 475 00:38:08,220 --> 00:38:13,780 nichts daran: Attribution is hard. T: Sehr hart. Wir suchen also natürlich 476 00:38:13,780 --> 00:38:18,360 noch weiter nach Indizien, die auf den Urheber schließen lassen. Die 477 00:38:18,360 --> 00:38:22,420 Attributierung von Schadsoftware, wenn mal irgendwie wieder der Bundestag gehackt 478 00:38:22,420 --> 00:38:26,370 wurde oder irgendjemand anders, da kommen dann immer ganz schnell Leute, die sagen, 479 00:38:26,370 --> 00:38:30,130 die Russen waren es, die Chinesen waren es und so weiter. Das ist alles nicht so 480 00:38:30,130 --> 00:38:34,020 leicht. Wir müssen diese Attributierung allerdings auch ein Stück weit durchführen 481 00:38:34,020 --> 00:38:39,110 und hangeln uns dann aber auch entlang an dem jeweiligen Kontext, zum Beispiel, wo 482 00:38:39,110 --> 00:38:47,520 so ein Sample eingesetzt wurde. Wie dieses adalet-Sample zum Beispiel. Es gibt ja 483 00:38:47,520 --> 00:38:52,120 grundsätzlich die Möglichkeit, das auch zu faken. Wenn ich sage, ich bin jetzt 484 00:38:52,120 --> 00:38:57,020 irgendwie irgendeine Hackergruppe oder ein Konkurrent von FinFisher, dann will ich 485 00:38:57,020 --> 00:39:01,620 die vielleicht in einem schlechteren Licht dastehen lassen. Und fake jetzt vielleicht 486 00:39:01,620 --> 00:39:05,880 mal irgendwie Malware von denen und mache dann so False-FlagGeschichten. Das ist 487 00:39:05,880 --> 00:39:10,470 natürlich alles möglich, aber in diesen einzelnen Fällen relativ unwahrscheinlich. 488 00:39:10,470 --> 00:39:12,670 U: Auch sowas könnte man theoretisch faken. 489 00:39:12,670 --> 00:39:18,240 T: Das kann man definitiv faken. Das ist jetzt, was wir jetzt hier sehen, die 490 00:39:18,240 --> 00:39:21,290 verarbeitete Ausgabe von so einer Konfiguration, von so einer 491 00:39:21,290 --> 00:39:25,261 Provisionierung. wie Ulf schon sagte, diese einzelnen Samples werden ja nicht 492 00:39:25,261 --> 00:39:28,800 jedes Mal neu kompiliert und neu entwickelt. Da gibt es dann einfach 493 00:39:28,800 --> 00:39:33,390 verschiedene Parameter, die für den Case des jeweiligen Einsatzes notwendig sind. 494 00:39:33,390 --> 00:39:38,180 Und das wäre dann so eine Konfiguration. Da steht dann jetzt zum Beispiel, ja der 495 00:39:38,180 --> 00:39:42,680 Proxy fürs nach-Hause-Telefonieren hat die IP-Adresse oder den Hostnamen. Dann sieht 496 00:39:42,680 --> 00:39:49,400 man hier auch noch eine TargetID, in dem Fall adalet. Das hat, wer auch immer 497 00:39:49,400 --> 00:39:53,000 diesen Trojaner zusammengebaut hat, sich ausgedacht. Dann gibt es noch 498 00:39:53,000 --> 00:39:58,140 Telefonnummern, wo SMS hingeschickt werden oder wo angerufen werden kann. Und in dem 499 00:39:58,140 --> 00:40:03,070 Fall kann man ganz gut sehen, dass diese Attributierung schlecht, hard ist. Denn 500 00:40:03,070 --> 00:40:07,450 die IP-Adresse stammt aus Deutschland. Die Telefonnummer ist eine israelische, und 501 00:40:07,450 --> 00:40:12,980 die andere Telefonnummer ist eine internationale Mehrwert-Rufnummer. Da 502 00:40:12,980 --> 00:40:18,300 lässt sich jetzt noch nicht so stark darauf schließen, dass das tatsächlich von 503 00:40:18,300 --> 00:40:21,880 türkischen Behörden eingesetzt wurde. U: Etwas anders sieht es aus bei der 504 00:40:21,880 --> 00:40:26,260 Familie der Samples, die ihr analysiert habt. Denn da hilft euch ja das 505 00:40:26,260 --> 00:40:28,490 Zertifikat, das zum Signieren verwendet wurde. 506 00:40:28,490 --> 00:40:32,300 T: Genau das sind ein paar Indizien, die wir da herausgepickt haben, anhand derer 507 00:40:32,300 --> 00:40:36,110 wir irgendwie bestimmte Gruppen zusammenfassen können. Also was gehört 508 00:40:36,110 --> 00:40:42,640 definitiv zusammen, was nicht? Diese Liste sieht jetzt sehr wirr aus. Was hier grün 509 00:40:42,640 --> 00:40:46,613 markiert ist, ist das adalet-Sample, von dem wir quasi so ausgehen. Wir wollen also 510 00:40:46,613 --> 00:40:53,560 Parallelen finden zu diesem adalet-Sample. Alles, was hier rot markiert ist, hat eine 511 00:40:53,560 --> 00:40:57,671 Parallele. Das stammt nämlich alles aus dem Leak von Phineas Fischer. Alles was da 512 00:40:57,671 --> 00:41:04,960 oben gelb markiert ist, wurde 2012 schon mal veröffentlicht und es gibt 513 00:41:04,960 --> 00:41:09,121 entsprechende Analysen und verschiedene Indizien, die darauf hinweisen, dass es 514 00:41:09,121 --> 00:41:13,960 auch aus dem Hause FinFischer stammt. Wenn wir jetzt mal davon ausgehen, dass das 515 00:41:13,960 --> 00:41:17,780 hier aus dem Hause FinFisher stammt, weil es in dem Leak war, dann haben wir hier 516 00:41:17,780 --> 00:41:23,560 ein Sample, das nennt sich „421and“. „421“ scheint die Versionsnummer zu sein, „and“ 517 00:41:23,560 --> 00:41:30,740 heißt Android. Wir sehen hier, das ist dieser Fingerprint von diesem Zertifikat, 518 00:41:30,740 --> 00:41:34,820 was ich vorhin noch erklärt habe. Diesen Fingerprint finden wir hier oben wieder. 519 00:41:34,820 --> 00:41:40,550 Zwei Jahre vorher sind da oben schon Samples in die Öffentlichkeit gelangt, die 520 00:41:40,550 --> 00:41:45,020 genau den gleichen Fingerprint haben. Und dann haben wir hier oben dieses „Andriod“. 521 00:41:45,020 --> 00:41:49,070 Das ist ein Tippfehler, aber der stammt halt so von denen. Das muss ein Demo- 522 00:41:49,070 --> 00:41:56,280 Sample sein. Da hat diese Firma offenbar mal gezeigt, was dieser Trojaner so kann. 523 00:41:56,280 --> 00:42:01,220 Und dann haben sie den halt so provisioniert, mit Zeichenketten, also 524 00:42:01,220 --> 00:42:07,710 Webserver-URLs, die auf Gamma International schließen lassen. Und es 525 00:42:07,710 --> 00:42:11,870 wurde aber auch noch ein in-the-wild- Sample damit signiert, mit dem gleichen 526 00:42:11,870 --> 00:42:17,630 Zertifikat. Dieses „derise“ ist das, was in Vietnam identifiziert wurde und auch 527 00:42:17,630 --> 00:42:23,940 vietnamesische IP-Adressen, Telefonnummern und so weiter drinne hat. Wie gesagt 528 00:42:23,940 --> 00:42:28,230 Attributierung ist schwierig, aber an dem Fall kann man auf jeden Fall sagen, dass 529 00:42:28,230 --> 00:42:34,870 hier Demo-Samples und in-the-wild-Samples definitiv aus einem Hause stammen, anhand 530 00:42:34,870 --> 00:42:41,150 dieser Zertifikats-Fingerprints. U: Der nächste Schritt, den ihr gemacht 531 00:42:41,150 --> 00:42:45,420 habt, ist tatsächlich euch mal die Struktur der einzelnen Samples anzuschauen, also 532 00:42:45,420 --> 00:42:49,850 insbesondere wie diese Software von ihrem logischen Ablauf her funktioniert. 533 00:42:49,850 --> 00:42:53,660 T: Genau. Wir haben uns dann verschiedene Funktionen angeguckt und haben halt mal 534 00:42:53,660 --> 00:42:56,940 geguckt „Was sehen wir so an den Funktionen?“. Ich habe ja gesagt, wir 535 00:42:56,940 --> 00:43:00,760 schauen uns auch so ein bisschen diesen Coding-Style an, was für Variablen werden 536 00:43:00,760 --> 00:43:04,420 da genommen, wenn wir uns Java-Code angucken können, der nicht obfuskiert ist. 537 00:43:04,420 --> 00:43:10,640 Hier sehen wir zwei Samples und zwar das, was aus dem Leak stammt von 2014. Das ist 538 00:43:10,640 --> 00:43:17,460 auch irgendwie so eine Art Demo. Und 2016 – also, ich sage jetzt mal 2016, weil das 539 00:43:17,460 --> 00:43:23,670 definitiv noch 2016 hergestellt wurde – das adalet-Sample. Sie hatten hier so ein 540 00:43:23,670 --> 00:43:26,940 Refactoring durchgeführt. Also eine Umbenennung aller Variablen und 541 00:43:26,940 --> 00:43:33,290 Funktionsnamen und so weiter. Das ist ein und dieselbe Funktion, das kann man sehen, 542 00:43:33,290 --> 00:43:37,200 wenn man sich den Code durchliest. Jetzt wollte ich hier aber keinen Source Code an 543 00:43:37,200 --> 00:43:42,740 die Wand werfen. Deswegen habe ich hier so einen Call Flow, abgeleitet aus dem Source 544 00:43:42,740 --> 00:43:49,440 Code. Das ist eine Funktion namens Run. In dem Sample von 2014 liegt das in einer 545 00:43:49,440 --> 00:43:55,310 Klasse namens SMS. In dem Sample adalet legt es in einer Klasse namens s1ms, was 546 00:43:55,310 --> 00:44:01,650 in Leetspeak hin geschrieben wurde. Und wir sehen hier ganz klar, dass in dieser 547 00:44:01,650 --> 00:44:05,560 Funktion effektiv der gleiche Code ausgeführt wird mit ganz marginalen 548 00:44:05,560 --> 00:44:11,250 Abweichungen. Das kann, zumindest nach unserer Einschätzung, definitiv kein 549 00:44:11,250 --> 00:44:16,510 Zufall sein. Das heißt, das ist eine Weiterentwicklung der ganzen Samples aus 550 00:44:16,510 --> 00:44:22,480 dem Jahr 2012, 2014 und jetzt auch in 2016. Das ist die Information, was wir da 551 00:44:22,480 --> 00:44:27,290 rausziehen konnten. U: Und zugleich kann man ja auch Schlüsse 552 00:44:27,290 --> 00:44:32,280 ziehen aus diesem Leetspeak. Denn wenn man sich überlegt: der Begriff SMS ist etwas 553 00:44:32,280 --> 00:44:35,810 typisch Deutsches. Man versteht es vielleicht noch in anderen Ländern, aber 554 00:44:35,810 --> 00:44:40,780 man spricht normalerweise nicht von SMS. Jedenfalls nicht im englischen Sprachraum 555 00:44:40,780 --> 00:44:45,260 und insbesondere, wenn man dann noch das Verb „simsen“ sich überlegt. Also in 556 00:44:45,260 --> 00:44:51,170 Leetspeak dann „S 1 M S“ wie simsen. Das ist was ganz typisch deutsches. Und ich 557 00:44:51,170 --> 00:44:54,369 jedenfalls kann mir nicht so richtig vorstellen, dass ein türkischer 558 00:44:54,369 --> 00:44:56,650 Programmierer mit einem Mal von "simsen" spricht. 559 00:44:56,650 --> 00:45:00,090 T: Genauso wenig kann ich mir vorstellen, dass das ein englischsprachiger 560 00:45:00,090 --> 00:45:05,030 Programmierer tut. Dieses Wort „simsen“ wurde irgendwann mal modern und jeder hat 561 00:45:05,030 --> 00:45:09,380 es benutzt sodass es sogar in den Duden aufgenommen wurde. Und das Wort simsen 562 00:45:09,380 --> 00:45:12,921 findet man halt wirklich nur im deutschen Sprachgebrauch, und es ist schwer 563 00:45:12,921 --> 00:45:16,910 vorstellbar, dass jemand, der nicht Deutsch-Muttersprachler ist, dieses Wort 564 00:45:16,910 --> 00:45:23,260 in einem Code verwenden würde, wenn es im Kontext um SMS abfangen geht und das Ganze 565 00:45:23,260 --> 00:45:27,100 auch noch mit Leetspeak verschleiert wird. U: Aber ihr habt ja noch eine andere 566 00:45:27,100 --> 00:45:31,020 Technologie, Stichwort Verschleierung, gefunden, die außerordentlich pfiffig ist, 567 00:45:31,020 --> 00:45:34,890 muss man sagen. Jedenfalls ich war sehr beeindruckt, als ich diese Analyse gelesen 568 00:45:34,890 --> 00:45:38,760 habe, nämlich wie eigentlich diese Daten, diese Parameter, die wir eben schon kurz 569 00:45:38,760 --> 00:45:42,900 gesehen haben zur Provisionierung eigentlich in den Viren-Samples abgelegt 570 00:45:42,900 --> 00:45:47,600 oder eigentlich versteckt worden. T: Da hat sich der Entwickler ein 571 00:45:47,600 --> 00:45:51,320 Verfahren ausgedacht, das ist so eine Art Covered Channel, also ein versteckter 572 00:45:51,320 --> 00:45:54,790 Kanal, so ein bisschen ähnlich wie Steganografie, wenn man das kennt. Ich 573 00:45:54,790 --> 00:45:58,200 verstecke Informationen in Dateistrukturen, sodass man das 574 00:45:58,200 --> 00:46:03,010 automatisiert oder mit bloßem Auge nicht besonders leicht erkennen kann. Was für 575 00:46:03,010 --> 00:46:06,940 Konfigurationen muss man hier verstecken? Wie ich schon sagte, es gibt halt so die 576 00:46:06,940 --> 00:46:10,864 Telefonnummern, die angerufen werden oder wo SMS hin geschickt werden. Es gibt IP- 577 00:46:10,864 --> 00:46:15,130 Adressen, zu denen sich die Schadsoftware verbindet, damit ein Command-and-Control- 578 00:46:15,130 --> 00:46:20,100 Server da übernehmen und lenken kann. Und wie lange die Maßnahme dauert et cetera. 579 00:46:20,100 --> 00:46:24,770 Das alles ist in einer Konfiguration abgespeichert, die irgendwie in dieses APK 580 00:46:24,770 --> 00:46:28,510 rein gedrückt werden muss. U: Und dabei ist euch aufgefallen, als 581 00:46:28,510 --> 00:46:32,580 ihr euch die Samples angesehen habt, dass alle ein identisches Verfahren einsetzen. 582 00:46:32,580 --> 00:46:36,200 T: Die benutzen alle das identische Verfahren. Also, wir haben das jetzt auch 583 00:46:36,200 --> 00:46:40,100 nicht entdeckt. Dieses Verfahren haben andere, Josh Grunzweig beispielsweise 584 00:46:40,100 --> 00:46:44,860 2012, auch schon in einem Blog-Beitrag veröffentlicht, als er FinSpy-Samples 585 00:46:44,860 --> 00:46:49,880 analysiert hat. Das ist nichts bahnbrechendes Neues, aber wir konnten 586 00:46:49,880 --> 00:46:56,390 zumindest jetzt einfach mal über die 7 Jahre hinweg beobachten, dass dieses 587 00:46:56,390 --> 00:46:59,910 Verfahren in allen Samples eingesetzt wird. Und damit, da es eben auch kein 588 00:46:59,910 --> 00:47:03,761 Standardverfahren ist, um in irgendwelchen APKs Schadsoftware zu verstecken oder 589 00:47:03,761 --> 00:47:08,360 überhaupt Daten zu verstecken, können wir im Grunde genommen davon ausgehen, dass 590 00:47:08,360 --> 00:47:13,070 diese Technologie wirklich von einem Hersteller stammt. Das heißt, dass all 591 00:47:13,070 --> 00:47:17,030 diese Samples, diese 28 Stück, die wir uns angeguckt haben, dass die aus einem Hause 592 00:47:17,030 --> 00:47:19,370 stammen. U: Und wie sieht das jetzt genau aus? Das 593 00:47:19,370 --> 00:47:22,610 hier ist der Datei-Kopf. Nee, das ist nicht der Datei-Kopf sondern … 594 00:47:22,610 --> 00:47:26,420 T: Das sind Teile eines … Also ein APK ist, wie ich schon sagte, technisch 595 00:47:26,420 --> 00:47:30,850 gesehen nur ein ZIP-Archiv. Und in diesem ZIP-Archiv stecken Metainformationen über 596 00:47:30,850 --> 00:47:37,180 die im Archiv enthaltenen Dateien. Und dafür gibt es dann diese Central Directory 597 00:47:37,180 --> 00:47:42,810 Structure und verschiedene Felder. Das ist dann so ein Header. Da sind verschiedene 598 00:47:42,810 --> 00:47:49,430 Bytes und Bitfelder festgelegt, die die Eigenschaften dieser im Archiv enthaltenen 599 00:47:49,430 --> 00:47:56,300 Datei beschreiben. Eine wichtige Metainformation, die genutzt werden kann, 600 00:47:56,300 --> 00:48:00,671 um Daten zu transportieren, ohne dass man es leicht sieht, sind diese 601 00:48:00,671 --> 00:48:08,290 Dateisystemattribute. Die ZIP- Spezifikation sieht vor, dass es 2 Byte 602 00:48:08,290 --> 00:48:14,380 oder 16 Bit für interne File-Attribute gibt. Und sie sieht vor, dass es 32 Bit 603 00:48:14,380 --> 00:48:20,000 für die Dateisystemattribute auf dem Ziel- Betriebssystem gibt. Somit haben wir hier 604 00:48:20,000 --> 00:48:26,700 6 Byte pro Central Directory Structure zur Verfügung, um Daten zu verstecken, denn 605 00:48:26,700 --> 00:48:30,710 wir können da ja beliebig idiotische File- Attribute setzen. Und das ist das, was sie 606 00:48:30,710 --> 00:48:34,710 gemacht haben. Die ergeben dann zwar, wenn man die Dateien entpackt, auf dem Ziel- 607 00:48:34,710 --> 00:48:38,530 Betriebssystem keinen Sinn mehr, müssen sie aber auch nicht, weil die Daten gar 608 00:48:38,530 --> 00:48:42,380 nicht genutzt werden. Das sind einfach irgendwelche Dummy-Dateien. Das sieht man 609 00:48:42,380 --> 00:48:48,380 hier. Hier sehen wir im Hex-Editor so ein APK und diese Strukturen. Wir haben diese 610 00:48:48,380 --> 00:48:53,550 Signatur, diese PKZIP-Signatur ganz am Anfang, die ist hier gelb markiert, und 611 00:48:53,550 --> 00:49:00,500 ein Offset von 36 Byte später, kommen dann diese 6 Byte Dateisystemattribute. Und wer 612 00:49:00,500 --> 00:49:05,050 sich so ein bisschen mit Unix oder Dateisystemen auskennt, sieht auch, dass 613 00:49:05,050 --> 00:49:11,250 das jetzt hier keine Bitfelder sind für Attribute, die Sinn ergeben. Nein, was wir 614 00:49:11,250 --> 00:49:19,141 hier sehen, sind BASE64 codierte Daten. Und wenn man jetzt dieses ZIP-File einmal 615 00:49:19,141 --> 00:49:25,510 parst und sich alle diese CDS-Signaturen herauspickt und dann diese Dateisystem … 616 00:49:25,510 --> 00:49:32,810 diese Dateiattribute aneinander hängt, anschließend diesen ganzen String, der 617 00:49:32,810 --> 00:49:39,920 dabei herausfällt BASE64-dekodiert, dann fällt daraus später eine Binärdatei, die 618 00:49:39,920 --> 00:49:44,470 genau die Konfiguration dieser Schadsoftware beinhaltet. Das wurde, 619 00:49:44,470 --> 00:49:47,910 wie gesagt, alles schon mal dokumentiert, wir haben das jetzt einfach 620 00:49:47,910 --> 00:49:51,860 alles noch einmal nachvollzogen und auf alle Samples angewendet und geguckt, was 621 00:49:51,860 --> 00:49:55,300 dabei rausfällt. Das heißt dann im ersten Schritt: Wir müssen die Dateien 622 00:49:55,300 --> 00:49:58,510 extrahieren. In einem zweiten Schritt müssen wir die Dateien parsen. 623 00:49:58,510 --> 00:50:02,360 U: Und das Tool dazu findet sich jetzt wieder auf der Website. Das heißt, das 624 00:50:02,360 --> 00:50:06,180 müsst ihr uns oder vorallem Thorsten und Linus nicht glauben. Das könnt ihr alles 625 00:50:06,180 --> 00:50:09,900 selber nachprüfen, wenn ihr eines der Samples runterladet und die Tools darüber 626 00:50:09,900 --> 00:50:13,630 laufen lasst. Und wir hoffen, dass auf diese Art und Weise noch weitere Samples 627 00:50:13,630 --> 00:50:17,460 analysiert werden können. Das ist jetzt noch mal ein Überblick, wie sowas dann in 628 00:50:17,460 --> 00:50:21,410 der Gesamtheit aussehen kann. Wir müssen ein ganz bisschen springen an der Stelle 629 00:50:21,410 --> 00:50:25,430 und schauen, wo wir dann weitermachen. Genau das ist dann so eine Konfiguration, 630 00:50:25,430 --> 00:50:28,950 wie sie in der Summe aussieht. T: Genau, das ist jetzt dieses „Andriod“ 631 00:50:28,950 --> 00:50:34,290 Beispiel, was 2012 schon auf VirusTotal gelandet ist. Hier sehen wir, wie ich 632 00:50:34,290 --> 00:50:38,637 schon angedeutet habe, es gibt dann so Hostnamen, die schon den Namen beinhalten. 633 00:50:38,637 --> 00:50:42,020 Ich muss aber auch nochmal dazusagen: Es hat jetzt keine besonders große 634 00:50:42,020 --> 00:50:45,830 Aussagekraft, wenn man ein Sample für sich betrachtet und solche Zeichenketten da 635 00:50:45,830 --> 00:50:50,030 drin findet. Denn Josh Grunzweig, der das schon 2012 in seinem Blog dokumentiert 636 00:50:50,030 --> 00:50:53,490 hat, hat auch schon ein Tool veröffentlicht auf GitHub, womit man genau 637 00:50:53,490 --> 00:50:59,671 so eine Konfiguration herstellen kann und in so ein APK reindrücken kann. Das heißt, 638 00:50:59,671 --> 00:51:02,550 man könnte im Grunde genommen sowas auch faken. 639 00:51:02,550 --> 00:51:07,030 U: Das heißt, die Aussage ist tatsächlich weniger „Was steht drin in diesen 640 00:51:07,030 --> 00:51:11,700 versteckten Konfigurationsinformationen?“ Sondern die Aussage ist: Alle Samples 641 00:51:11,700 --> 00:51:15,820 verwenden die gleiche Technik, die gleiche proprietäre und auch ziemlich ausgefuchste 642 00:51:15,820 --> 00:51:20,540 Technik, um diese Daten zu verstecken in der APK-Datei. Und diese Gleichheit ist 643 00:51:20,540 --> 00:51:24,993 die eigentliche Aussage dieser Analyse. Alle untersuchten Samples nutzen eben 644 00:51:24,993 --> 00:51:28,260 diesen proprietären Mechanismus. Und du sagst, das Format wurde aber 645 00:51:28,260 --> 00:51:32,760 weiterentwickelt? T: Es sieht ganz danach aus, wenn man, 646 00:51:32,760 --> 00:51:36,980 sich den Inhalt dieser Binärdatei anguckt. Sie benutzen dann so eine Art Directory, 647 00:51:36,980 --> 00:51:42,661 um Nummern bestimmten Funktionen oder Variablennamen zuzuweisen. Das ist auch 648 00:51:42,661 --> 00:51:47,080 der Punkt, was es einfach macht, diese Konfiguration zu parsen, zu verarbeiten 649 00:51:47,080 --> 00:51:50,300 und herauszufinden, welche Werte bedeuten was. 650 00:51:50,300 --> 00:51:53,070 U: Diese Werte sind zum Beispiel diese hier. 651 00:51:53,070 --> 00:51:56,711 T: Beispielsweise das. Im adalet-Sample gibt es, wie ich vorhin schon gezeigt 652 00:51:56,711 --> 00:52:00,600 habe, verschiedene Werte, die jetzt auch nicht unbedingt auf die Türkei hindeuten. 653 00:52:00,600 --> 00:52:04,720 Dann gibt es auch aus dem gleichen Zeitraum noch einen flash28-Sample, was 654 00:52:04,720 --> 00:52:08,770 große Ähnlichkeiten und Parallelen mit dem adalet-Sampel aufweist. Da wird z. B. ein 655 00:52:08,770 --> 00:52:14,170 Proxy aus Neuseeland genommen, ansonsten die gleiche Telefonnummer und dieses 656 00:52:14,170 --> 00:52:19,640 derise-Sample hat, wie ich auch schon angedeutet habe, sämtliche Werte, die 657 00:52:19,640 --> 00:52:23,860 davon relevant sind, zeigen Richtung Vietnam. Ob das etwas aussagt? Keine 658 00:52:23,860 --> 00:52:27,920 Ahnung. In jedem Fall haben wir auch all das, diese ganzen Configs, die wir daraus 659 00:52:27,920 --> 00:52:35,400 extrahiert haben, haben wir auch auf GitHub veröffentlicht. Das findet ihr bei 660 00:52:35,400 --> 00:52:39,110 Linus in der FinSpy-Dokumentation, wo auch der Bericht und alle anderen Samples 661 00:52:39,110 --> 00:52:41,310 liegen. U: Genau und vielleicht mag sich ja mal 662 00:52:41,310 --> 00:52:44,750 jemand diese Telefonnummern anschauen, vielleicht kennt die ja jemand aus 663 00:52:44,750 --> 00:52:48,130 irgendwelchen anderen Zusammenhängen. Das könnten noch ganz interessante 664 00:52:48,130 --> 00:52:51,900 Rückschlüsse werden. Da würden wir uns über Hinweise freuen. Und insgesamt sieht 665 00:52:51,900 --> 00:52:58,970 man dabei – das ist die Übersicht über die Samples, die ihr analysiert habt. Aber man 666 00:52:58,970 --> 00:53:03,010 sieht, denke ich, ganz gut, dass es da so etwas wie eine Familienstruktur gibt. 667 00:53:03,010 --> 00:53:06,820 T: Genau. Der einzige, der hier so ein bisschen aus der Reihe fällt, ist das Ding 668 00:53:06,820 --> 00:53:10,640 hier. Das Ding, hab ich jetzt einfach mal Container genannt, weil es sonst keinen 669 00:53:10,640 --> 00:53:14,170 Namen hatte. Das ist ein APK, was überhaupt keine Parallelen zu den anderen 670 00:53:14,170 --> 00:53:18,031 aufweist. Aber dieses eine Sample hebt sich insofern von den anderen ab, als dass 671 00:53:18,031 --> 00:53:21,980 wir das jetzt hier noch mit aufgenommen haben, das dropped, also legt, quasi eine 672 00:53:21,980 --> 00:53:26,700 Schadsoftware APK überhaupt erst ab. In diesem grau markierten Sample gibt es 673 00:53:26,700 --> 00:53:32,380 einen lokalen Root Kernel Exploit gegen den Linux-Kernel auf Android-Devices. Die 674 00:53:32,380 --> 00:53:38,110 nutzen da die als „Dirty COW“ bekannte Schwachstelle aus, um Root auf dem Telefon 675 00:53:38,110 --> 00:53:42,170 zu werden. Da liegen dann noch Werkzeuge, um persistent Root zu bleiben. Und dann 676 00:53:42,170 --> 00:53:47,800 liegt da halt auch noch ein Sample, nämlich dieses hier, dieses PyawApp. Ich 677 00:53:47,800 --> 00:53:52,859 weiß nicht, wie man das ausspricht. Das ist das Ding, wo wir davon ausgehen, dass 678 00:53:52,859 --> 00:53:58,120 es in diesem Kontext Myanmar zugeschrieben wird. Weil Pyaw ein sehr bekanntes 679 00:53:58,120 --> 00:54:03,490 soziales Netzwerk in der Region ist. U: Und die Antwort aus technischer 680 00:54:03,490 --> 00:54:08,280 Perspektive. Vieles davon haben wir im Grunde schon gesagt. Aber in der 681 00:54:08,280 --> 00:54:12,430 Zusammenfassung … T: Wie gesagt, sämtliche Samples, die wir 682 00:54:12,430 --> 00:54:15,440 hier analysiert haben, benutzen den gleichen Mechanismus für die 683 00:54:15,440 --> 00:54:19,530 Provisionierung. Diese ganzen Konfigurationen liegen in einem sehr 684 00:54:19,530 --> 00:54:25,550 speziellen, Binärformat vor. Das ist kein allgemeingültiges Format, muss also 685 00:54:25,550 --> 00:54:29,300 definitiv aus einem Hause stammen. Wir haben große Ähnlichkeiten auch unterhalb 686 00:54:29,300 --> 00:54:34,600 des Java-Codes, wo es auch Hinweise darauf gibt, dass es aus deutschem Hause stammt. 687 00:54:34,600 --> 00:54:42,980 Wir können ganz genau sagen, dass das adalet-Sample frühestens im Jahr 2016 688 00:54:42,980 --> 00:54:49,160 hergestellt wurde. Und die Samples zwischen 2012 und 2014 können auch ganz 689 00:54:49,160 --> 00:54:53,510 eindeutig der Firma FinFisher zugeordnet werden, weswegen da eigentlich in der 690 00:54:53,510 --> 00:54:57,420 Schlussfolgerung auch klar gesagt werden kann, dass all diese Samples, die wir uns 691 00:54:57,420 --> 00:55:02,300 zwischen 2012 und 2019 angeguckt haben, der Firma oder der Firmengruppe FinFisher 692 00:55:02,300 --> 00:55:04,760 zuzuordnen ist. U: Und all das könnt ihr nochmal im 693 00:55:04,760 --> 00:55:09,310 Detail nachlesen in der Studie des CCC, die schon veröffentlicht wurde gestern und 694 00:55:09,310 --> 00:55:13,660 wie gesagt, ganz wichtig, wir möchten die eigentlich gerne noch auf Englisch 695 00:55:13,660 --> 00:55:17,330 publizieren. Wir haben deswegen schon mal eine URL für ein Pad auf die Folie 696 00:55:17,330 --> 00:55:20,779 geworfen. Das Pad gibt’s da nicht, das füllen wir noch aus mit einer Roh- 697 00:55:20,779 --> 00:55:24,440 Übersetzung aus Google Translate. Oder vielleicht mag das auch jemand von euch 698 00:55:24,440 --> 00:55:26,730 machen. T: Wir würden das gerne crowdsourcen. 699 00:55:26,730 --> 00:55:30,460 U: Das ist ein bisschen die Idee dabei, weil das schon ein bisschen Arbeit ist, 700 00:55:30,460 --> 00:55:34,210 und wir schaffen das einfach schnell, jetzt, während des Kongresses nicht. Aber 701 00:55:34,210 --> 00:55:37,880 vielleicht hat jemand Lust uns zu helfen. Das wird die URL. Und vor allem ganz 702 00:55:37,880 --> 00:55:41,740 wichtig: Check the facts! Das werden wir natürlich aus GFF-Perspektive machen. Wir 703 00:55:41,740 --> 00:55:45,241 gehen davon aus, dass es auch die Staatsanwaltschaft machen wird. Aber ich 704 00:55:45,241 --> 00:55:49,040 persönlich finde es großartig, dass der CCC die Tools und die ganzen Unterlagen, 705 00:55:49,040 --> 00:55:52,859 die zur Analyse vorlagen, ins Netz gestellt hat. Einfach, damit man das nicht 706 00:55:52,859 --> 00:55:56,390 unbedingt glauben muss, sondern dass man selber sich davon überzeugen kann. 707 00:55:56,390 --> 00:56:00,400 T: Transparenz ist uns sehr wichtig. Und hier auch noch ein kleiner Gruß ans BKA 708 00:56:00,400 --> 00:56:07,100 und LKA. Ihr habt diese Samples ja auch in einer ganz neuen Version. Vielleicht könnt 709 00:56:07,100 --> 00:56:10,710 ihr euch das ja mal angucken, und wir sind offen für Pull-Requests. 710 00:56:10,710 --> 00:56:21,670 *Applaus* U: Ein Pull-Request aus Wiesbaden? Das 711 00:56:21,670 --> 00:56:24,340 wäre doch mal eine gute Idee oder eben auch aus Berlin. 712 00:56:24,340 --> 00:56:26,450 T: Ihr könnt auch Tor benutzen, das ist egal. 713 00:56:26,450 --> 00:56:30,020 U: Kein Problem, da sind wir ganz offen. Und das Berliner LKA könnte da auch 714 00:56:30,020 --> 00:56:33,649 mitmachen. Die haben ja auch mal ein Sample gekauft, das aber nie eingesetzt. 715 00:56:33,649 --> 00:56:37,369 Sie brauchen das eh nicht mehr. Insofern, das hätten sie über. Was bedeutet das 716 00:56:37,369 --> 00:56:41,040 jetzt alles für das Strafverfahren? Aus unserer Perspektive als GFF: Wir haben 717 00:56:41,040 --> 00:56:44,890 keine Zweifel und natürlich auch aus der Perspektive des Clubs, dass der deutsche 718 00:56:44,890 --> 00:56:48,740 Trojaner FinFisher gegen die türkische Opposition eingesetzt wurde, davon sind 719 00:56:48,740 --> 00:56:52,880 wir fest überzeugt. Irgendwie muss dieser Trojaner aus München in die Hände 720 00:56:52,880 --> 00:56:56,660 türkischer Behörden gelangt sein oder sonst aus den Händen der Firmengruppe 721 00:56:56,660 --> 00:57:00,800 FinFisher. Und diese Verstoße gegen die Exportkontrollvorschriften wären auch noch 722 00:57:00,800 --> 00:57:04,550 nicht verjährt. Und deswegen liegt der Ball jetzt bei der Staatsanwaltschaft 723 00:57:04,550 --> 00:57:09,740 München 1. Denn eine Frage ist noch offen: Wie genau ist eigentlich der Trojaner in 724 00:57:09,740 --> 00:57:14,230 die Türkei gelangt? Wir können jetzt quasi nicht irgendwie nachweisen, da ist der 725 00:57:14,230 --> 00:57:18,710 Agent mit dem schwarzen Aktentäschchen nach Istanbul gereist, oder da ist der 726 00:57:18,710 --> 00:57:24,080 USB-Stick geflogen, sondern das müssten die Strafverfolger noch aufklären. Aber 727 00:57:24,080 --> 00:57:27,300 wie gesagt, dafür haben wir die Strafanzeige gestellt. Dazu hat die 728 00:57:27,300 --> 00:57:31,080 Staatsanwaltschaft alle Mittel. Und wir hoffen, dass sie das sehr konsequent tun 729 00:57:31,080 --> 00:57:34,710 wird. Denn eins ist klar: Menschenrechte kann man nicht nur mit Kalaschnikows 730 00:57:34,710 --> 00:57:39,250 verletzen, sondern selbstverständlich auch mit Staatstrojanern. Und dem muss ein Ende 731 00:57:39,250 --> 00:57:40,840 gemacht werden. Vielen Dank! 732 00:57:40,840 --> 00:57:43,600 *Applaus* 733 00:57:43,600 --> 00:57:53,830 U: Herzlichen Dank, wir haben noch ganz ein wenig Zeit, oder? 734 00:57:53,830 --> 00:57:56,770 T: Naja, eine Minute. Herald: Euer Applaus. Wunderschön! 735 00:57:56,770 --> 00:58:00,290 U: Dankeschön! Herald: Wir haben leider keine Zeit mehr 736 00:58:00,290 --> 00:58:05,640 für Fragen. Ich habe ganz zu Anfang vor diesem Talk erwähnt, dass es die C3 Post 737 00:58:05,640 --> 00:58:11,849 gibt. Und die beiden Speaker haben erwähnt, dass sie am 28C3 einen 738 00:58:11,849 --> 00:58:16,550 Datenträger bekommen haben. Damals bestimmt anders zugestellt, es gab noch 739 00:58:16,550 --> 00:58:20,910 keine C3 Post. Heute bin ich Postbote, und ich darf zustellen. Ein Paket. 740 00:58:20,910 --> 00:58:26,110 U: Herzlichen Dank, ach so, das ist deins. Erst nach dem Talk öffnen, machen wir, 741 00:58:26,110 --> 00:58:30,330 ganz herzlichen Dank. T: Dankeschön. 742 00:58:30,330 --> 00:58:33,570 *Applaus* 743 00:58:33,570 --> 00:58:39,771 Herald: Und wenn ihr für einen Malware- Hersteller arbeitet, ich hoffe, dieses 744 00:58:39,771 --> 00:58:45,580 Paket enthält euren Albtraum für heute Nacht. Großen Applaus für Thorsten 745 00:58:45,580 --> 00:58:47,930 Schröder und Ulf Buermeyer! 746 00:58:47,930 --> 00:58:49,990 *Applaus* 747 00:58:49,990 --> 00:58:53,340 *Abspannmusik* 748 00:58:53,340 --> 00:59:05,730 Untertitel erstellt von c3subtitles.de im Jahr 2020. Mach mit und hilf uns!