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!