Archiv

Posts Tagged ‘anonymität’

Probleme bei BitCoin – gesellschaftstheoretisch und technisch

2011-06-16 10 Kommentare

Das komplett dezentrale auf kryptographie basierende Zahlungssystem BitCoin hat es in letzter Zeit zu einiger Berühmtheit gebracht. Das Konzept werde ich hier nicht nochmal erklären, das ist z. B. in der Wikipedia nachzulesen.

Die für diese Betrachtung relevanten Haupteigenschaften von Bitcoin sind:

  • Das System ist dezentral und völlig unkontrollierbar
  • Zahlungen sind nicht umkehrbar
  • Neues Geld wird (beschränkt) ständig erstellt und anteilig nach beteiligter Rechenleistung an die aktiven Teilnehmer verteilt

Die Unkontrollierbarkeit wird als Vorteil gesehen – kein Staat kann willkürlich Konten oder Guthaben einfrieren, auch kann kein Staat einfach so Geld drucken. Bitcoins verhalten sich in einigen Aspekten wie Bargeld – insbesondere sind sie weg, wenn sie mal gestohlen werden.

Gesellschaftstheoretisch

Die Unkontrollierbarkeit kann gesellschaftstheoretisch aber auch als Problem gesehen werden: Anonymität und Unkontrollierbarkeit für Kommunikation und Meinungsäußerung finde ich generell gut, auch wenn sie missbraucht werden kann, einfach weil der Nutzen überwiegt und die Gefahren nicht soo groß sind. Bei der Aufklärung von Straftaten sehe ich „follow the money“ statt Kommunikationsüberwachung als guten Ansatz an. Man kann sich natürlich auf den Standpunkt stellen, dass der Staat möglichst wenig Macht haben soll, und es daher gut ist, wenn seine Macht beschränkt wird. Hier wird aber eine sehr wichtige Aufgabe des Staates übersehen: Er soll eine demokratische Kontrolle von Macht sicherstellen und wo nötig „schwache“ vor „starken“ schützen. Verurteilt ein Gericht jemanden, einem anderen z. B. eine Entschädigung für etwas zu zahlen, kann dieser es entweder tun, oder der Gerichtsvollzieher kommt und pfändet. Das – und damit die Durchsetzung des Rechts! – würde deutlich schwieriger, wenn Geld nicht mehr auf Bankkonten sondern auf verschlüsselten und redundanten USB-Sticks liegen würde.

Nimmt man dem Staat jede Macht, hat man zunächst eine Anarchie, letztlich herrschen diejenigen, die Ressourcen kontrollieren oder die Macht haben, andere Menschen unter Druck zu setzen. Mit anderen Worten: Warlords, die in der Lage sind, sich genug Söldner zu mieten und/oder genug Waffen haben. Irgendwo habe ich ein „interessantes“ Szenario gelesen – was, wenn jemand eine Plattform anbietet, wo man per Bitcoin Kopfgelder auf Personen ausschreiben kann? Oder Belohnungen für terroristische Anschläge? Das geht mit „normalem“ Geld nur sehr eingeschränkt, wäre mit Bitcoin aber anonym umsetzbar. Auch wenn reiche Menschen auch in westlichen Demokratien deutlich mehr Macht haben, bietet ein demokratischer Staat eine gewisse Kontrolle. Gibt man diese auf, hat man eine reine Plutokratie – das will man eigentlich nicht.

Die Einführung von Bitcoin als Zahlungsmittel würde den Staat nicht abschaffen, aber seine Position schwächen. Das hat auch Vorteile, man kann es befürworten, und eine abschließende Meinung dazu habe ich nicht – aber es hat eben auch Nachteile, die oft vergessen werden, und die ich daher hier nennen wollte.

Technisch

Die weiteren Probleme sind technischer Art. Das Gesamtkonzept sieht solide aus und da bisher noch keiner einen Fehler darin gefunden hat, dürfte es auch relativ solide sein. Das Geld, was einem gehört, ist über private Schlüssel gesichert – wer diese Schlüssel hat, kann es ausgeben. IT-Kriminalität wird dadurch ein ganz neues Tor geöffnet: Bisher mussten Kriminelle eine Online-Überweisung manipulieren, um ein Bankkonto leerzuräumen. Bei Bitcoin reicht ein simpler Trojaner auf dem Rechner des Opfers. Experten haben gewisse Chancen, ihre Maschinen sicher zu halten – 95% der Computernutzer dürften aber mit IT-Sicherheit hoffnungslos überfordert sein und viele handeln sich regelmäßig Schadsoftware ein. Ergänzung: Dieser Fall, wo genau das mit Bitcoins im Wert von 500.000 USD passiert sein soll, war Anlass für diesen Artikel. Ich gehe davon aus, dass der (Ex-)Besitzer in Sachen Computersicherheit noch auf jeden Fall zu den Top 10% zählt, auch wenn er sehr sehr viel falsch gemacht hat. Update: Heise über Bitcoin-Trojaner.

BitCoin basiert auf einem P2P-Netzwerk. Sollte es jemand schaffen, eine Sicherheitslücke, welche Code Execution (d.h. das Einschleusen von Malware) erlaubt, im Bitcoin-Client zu finden, kann er einen Wurm schreiben, der sich über das Bitcoin-Netz selbst verbreitet und so innerhalb kürzester Zeit alle zu dem Zeitpunkt aktiven Bitcoin-Teilnehmer gleichzeitig hacken und ihre Konten leerräumen. Aber auch wenn die Software selbst sicher sein sollte, kann ein Angreifer über das P2P-Netz herausfinden, wer alles an Bitcoin teilnimmt, inklusive deren IP-Adressen. Sollten die Systeme andere, von außen erreichbare Schwachstellen haben, kann er diese nutzen, um in die Systeme einzubrechen und die privaten Schlüssel zu stehlen – mit denen er dann die Bitcoins an sich überweisen kann.

Ein weiteres Problem ist, dass der Besitz von Bitcoins durch den (alleinigen) Besitz des privaten Schlüssels gekennzeichnet ist. Das Verfahren gilt als sicher, d.h. es ist nicht möglich diese Schlüssel zu knacken – noch. Was aber, wenn in 20 Jahren Quantencomputer existieren oder das Verfahren auf andere Art und Weise geknackt wird? Man kann Bitcoin mit ein paar Schwierigkeiten auf ein neues Verfahren migrieren, aber das muss passieren bevor das alte Verfahren angegriffen wird. Wird das Verschlüsselungsverfahren was in Bitcoin eingesetzt wird geknackt, hat der Angreifer, dem das gelungen ist, die Möglichkeit, Geld aus beliebigen Bitcoin-Konten zu überweisen, und es gibt keine Möglichkeit, Angreifer und legitimen Besitzer mehr zu unterscheiden (wie auch in anderen Fällen, wo der Angreifer den private key gestohlen hat).

Durch das Investieren von Rechenzeit („Mining“) kann man Bitcoins generieren, allerdings ist das ein Zufallsprozess – ein normaler Mensch mit einer einzelnen normalen Grafikkarte (Grafikprozessoren können die nötigen Operationen schneller ausführen als CPUs, mit CPUs rechnen ist nahezu sinnlos) dürfte sehr lange rechnen, bis er Bitcoins sieht. Daher gibt es sogenannte Mining-Pools, bei denen mehrere Menschen zugleich minen und im Erfolgsfall der Gewinn dann auf die Beteiligten aufgeteilt wird. Diese Mining-Pools konzentrieren große Mengen an Rechenleistung. Das ist insofern ein Problem, als dass die Sicherheit des Netzes darauf basiert, dass die Mehrheit der beteiligten Rechenleistung von ehrlichen Teilnehmern kontrolliert wird. Die Pools kontrollieren jeweils über ihre Teilnehmer sehr viel Rechenleistung, und die einzelnen Teilnehmer können nicht (direkt) prüfen, ob der Pool „ehrlich“ arbeitet. Falls einer der großen Pools die Mehrheit der Rechenleistung kontrolliert, könnte er diese missbrauchen. Soweit ich sehe ermöglicht das jedoch „nur“ das doppelte ausgeben von Bitcoins, und es dürfte laut dem Konzept von Bitcoin lohnenswerter sein, die Leistung wie vorgesehen für die Unterstützung des Netzes zu nutzen statt sie zu missbrauchen. Dieses Problem dürfte also nicht allzu groß sein. Sollte allerdings eine Lücke in den Mining-Clients gefunden werden, könnte einer der Pool-Betreiber (oder jemand, der ihn hackt!) die Kontrolle über zahlreiche beteiligte Rechner übernehmen und deren Bitcoin-Börsen plündern.

Da es Geld für Rechenleistung gibt, wird es sicherlich früher oder später Schadsoftware geben, die fremde (übernommene) Rechner benutzt, um Bitcoins zu erzeugen (falls es das nicht schon längst gibt). Wenn Firmen mit großen Rechenzentren wie Amazon, Google oder Facebook sich entscheiden würden, bei Bitcoin einzusteigen, könnten sie wohl allein mit unbenutzten Servern in kürzester Zeit (bevor der Algorithmus die Erzeugung bremst) riesige Mengen an Bitcoins erzeugen (oder das Netzwerk zerstören, wovon sie aber nichts hätten). Diese Möglichkeit könnte gerade in einem Krisenfall die Stabilität der Währung massiv gefährden.

In den Zeiten, wo das Bitcoin-Netz noch klein war, konnten einzelne Personen große Mengen an Bitcoins erzeugen – dadurch haben einige „early adopter“ unglaublich große Geldmengen, und könnten dadurch vermutlich den Kurs massiv beeinflussen. Außerdem ist Bitcoin Ziel von zahlreichen Spekulanten. Der aktuelle Wert der Bitcoins, meist definiert über den Umtauschkurs in USD bei MtGox, kann sich also sehr schnell ändern und ist soweit ich weiß vor einiger Zeit innerhalb eines Tages von 30 USD auf 15 USD gefallen.

Auch die vielgerühmte Anonymität bei Bitcoin ist keineswegs so toll, wie viele glauben – im Gegenteil: Bedingt durch die Dezentralität des Netzes sind alle Transaktionen komplett öffentlich, mit Sender, Betrag und Empfänger. Sender und Empfänger sind jedoch keine Personen, sondern Bitcoin-Konten, und es wird empfohlen, für jede Transaktion ein neues Konto anzulegen. Selbst wenn jemand dieser Empfehlung folgt – wenn ich jemandem Geld schicke, sehe ich, was er damit weiter macht und kann der Spur weiter folgen. Er kann das Geld natürlich an ein weiteres Konto überweisen, und ich weiß nicht, ob es noch ihm oder jemandem anderen gehört. Aber angenommen ich führe meine Überweisung an einen mir bekannten Empfänger X auf Konto 1 durch, und sehe, dass innerhalb von Minuten mein ganzes überwiesenes Geld auf Konto 2 geht, dort drei Tage liegen bleibt, dann ein bestimmter Betrag auf Konto 3 geht und von dort auf ein Sammelkonto 4, was wie bekannt ist einem Pornohändler gehört: Dann kann ich davon ausgehen, dass in einem Versuch, das Geld zu anonymisieren, der Empfänger X sein Geld auf ein zweites Konto (Konto 2) von sich verschoben hat, und sich später davon bei besagtem Pornohändler Pornos zu kaufen, indem er das Geld an die für ihn erstellte Bezahladresse des Händlers (Konto 3) überweist – bevor der Händler es auf sein bekanntes Hauptkonto (Konto 4) zieht. Anhand des Betrages und der Preisliste des Händlers kann ich vielleicht ja sogar sehen, was genau der Kunde gekauft hat. Anonymisierungsdienste (bzw. Geldwäschedienste) sind möglich und existieren, man kann also mit etwas Aufwand Bitcoin anonym nutzen. Bitcoin als „anonym“ zu bezeichnen ist jedoch schlicht falsch. Um die Anonymität muss man sich selbst kümmern, und dafür dürften 95% der Nutzer zu unerfahren sein, viele wissen nicht einmal, dass es eigentlich nötig ist, geschweige denn, wie es geht.

Zusammenfassung

Bitcoin ist also sowohl extrem anfällig für IT-Kriminalität und kann vor allem schlagartig zusammenbrechen, plötzlicher und heftiger als die „schlechten, instabilen, altmodischen“ Währungen und Geldsysteme. Die Halbwertszeit dürfte sogar darunter liegen. Als Zahlungssystem könnte Bitcoin, sobald sich der Wert etwas stabilisiert hat, sogar taugen, als alternatives Weltwährungssystem eher nicht. Bei einem Zusammenbruch westlicher Währungen könnte es natürlich sein, dass Menschen anfangen, es als Ersatz zu nutzen, weil man außer Naturalien nichts anderes hat (und darauf dürften auch einige der Bitcoin-Spekulanten spekulieren). Eine langfristige Lösung ist das aber nicht.

An dieser Stelle möchte ich anmerken, dass ich Bitcoin unter theoretischen Gesichtspunkten extrem gut finde: Technisch ist es eine bemerkenswerte Leistung – in einem dezentralen Netzwerk ohne zentrale vertrauenswürdige Stelle ein System mit solchen Sicherheitseigenschaften und darauf basierend ein Zahlungssystem aufzubauen, was das doppelte Ausgeben von Geld verhindert, kontrollierte Inflation beinhaltet, einen gewissen Grad an Anonymität bietet und zumindest vom Konzept her sicher ist, ist schlicht und einfach eine reife Leistung. Das Konzept ist solide und hat sogar praktische Anwendungen. Nur der darin gesetzte Hype ist übertrieben und man sollte sich davor hüten, die Probleme auszublenden und ein solches System als die ultimative Lösung für die Geldsystemproblematik anzusehen.

Wie man Leute zum Gegner des ePerso macht

2010-11-14 7 Kommentare

Eigentlich habe ich die Idee eines ePerso an sich nicht generell abgelehnt. Man achte auf die Wortwahl: Nicht wirklich befürwortet, aber sowas hat auch einige Vorteile und ich war nicht wirklich überzeugt, dass die Gefahren durch politischen Missbrauch tatsächlich so groß sind, wie einige behauptet haben. (Das hat natürlich nichts mit der technischen Sicherheit zu tun, die konkrete Implementierung halte ich für, … suboptimal.)

Die Argumentation der strikten Gegner online nutzbarer Ausweisdokumente ist folgende: Sobald es eine leichte Möglichkeit gibt, die Identität des Gegenübers im Netz zu prüfen, könnte sich schleichend zur Selbstverständlichkeit entwickeln (oder politisch durchgesetzt werden), im Netz immer den Ausweis vorzuzeigen, was die Anonymität im Netz zerstören würde. Damit wären Privatsphäre und vor allem freie Meinungsäußerung mehr oder weniger tot.

Ich habe diese Gefahr bisher als eher nicht so groß gesehen, zumal der Einsatz des Personalausweises für die Seitenbetreiber teuer und bürokratisch sein soll, und war vorsichtig optimistisch – mit einer vernünftigen Technik, die nicht auf Wirtschaftsförderung sondern auf vernünftiges Funktionieren optimiert ist, hätte so eine sichere Ausweismöglichkeit durchaus auch Vorteile – sichere Logins, Bankkonten online eröffnen, Onlineshops die Ware vielleicht eher mal auf Rechnung/Bankeinzug rausrücken statt auf Vorkasse zu warten, und vieles mehr. Daher auch mein Standpunkt, die Idee eines ePerso an sich nicht generell abzulehnen.

Herr Axel Fischer, natürlich von der CDU, hat es aber geschafft, mich mit einem Schlag zu einem überzeugten Gegner des Konzepts zu machen. Er konnte einfach nicht anders, als genau den befürchteten Missbrauch unverzüglich zu fordern. Danke, Herr Fischer, dass Sie mir die Augen geöffnet haben. Ach, das ist übrigens nicht irgendwer, sondern der Vorsitzende der Enquete-Kommission „Internet und digitale Gesellschaft“, also quasi der Internetexperte der CDU.

Das meiste ist bei Netzpolitik schon gesagt worden. (Update: Dieser Heiseforumskommentar bringts auch auf den Punkt.) Die Möglichkeit, sich anonym und somit sicher vor Repressalien zu äußern, ist eine Voraussetzung für eine freie Meinungsäußerung. Diesen Grundpfeiler der Freiheit abschaffen zu wollen passt in meinen Augen zu totalitären Zensurstaaten – die Forderung kommt für mich der Forderung gleich, hier einen solchen Staat zu errichten. (Mir ist sooo klar was jetzt für ein Kommentar kommt. Er ist langweilig und weder lustig noch interessant noch nötig. Der erste der ihn postet bekommt nen Fisch in seinen Kommentar geklebt.) Jede Meinungsäußerung zuordnen zu können ist nämlich besonders dann wichtig, wenn man unliebsame Äußerungen zügig bestrafen will.

Nur eines finde ich an dieser Forderung wirklich schade: Dass sie nicht rechtzeitig vor meinen ganzen Interviews rauskam.

Der paranoide Hacker

2010-01-15 71 Kommentare

Eine kurze, fiktive Geschichte zur Anonymität im Netz

Ein junger Hacker steigt nachts an einem Vorstadbahnhof in seinen Regionalzug ein. Müde lässt er sich im komplett leeren Waggon auf einen der Sitze fallen. Als er seinen Rucksack auf den Boden stellen will, fällt ihm ein Schnellhefter auf, der auf dem Boden liegt. Vorsichtig hebt ihn auf. Er sieht sich um, weit und breit niemand zu sehen. Die erste Seite ist leer mit einem roten diagonalen Streifen, doch als er umblättert, sieht er sofort die großen Markierungen in roter Farbe: GEHEIM – amtlich geheimgehalten.

Beim Blättern sieht er, dass es sich um genaue Pläne zum Aufbau einer totalen Überwachung und Zensur des Internets handelt. Ihm ist klar, dass das Material so schnell wie möglich an die Öffentlichkeit muss. Er macht sich jedoch keine Illusionen – wenn derjenige erwischt wird, der das Material veröffentlicht hat, wird ihm das nicht gut tun. Nervös sieht er sich um. Keine Überwachungskameras im Zug. Am Bahnhof, wo er eingestiegen ist, auch nicht, und seitdem fährt der Zug durch den Wald. Gesehen hat ihn niemand. An seinem Heimatbahnhof wird um diese Uhrzeit auch niemand sein, und die einzige Überwachungskamera dort wurde noch nicht repariert, seit er sie eigenhändig sabotiert hat. Sein Handy hatte er eingeschaltet auf dem Schreibtisch vergessen.

Er packt seine Digitalkamera aus und stellt erfreut fest, das der Akku noch fast voll ist und die Speicherkarte noch mehr als genug Platz bietet. Er vergewissert sich nochmal, allein im Waggon zu sein und fotografiert die Seiten ab. Dann lässt er die Akte in seinem Rucksack verschwinden. Er weiß, dass um diese Zeit eine Station nach der, wo wo er aussteigt, jede Menge hoffnungslos betrunkener Fußballfans auf ihren Zug warten, die den Zug meist übel zurichten – wenn jemand die Akte vermisst, wird er sie zuerst bei denen suchen.

Als er aus dem Zug aussteigt, überlegt er, wie er die Akte loswerden könnte. Er nimmt das Papier aus dem Schnellhefter, wirft beides in einen Papierkorb am verlassenen Bahnsteig und zündet ihn an. Brennende Papierkörbe sind in der Gegend nichts, was irgendwie auffällig wäre. Mit einem Stock zerkleinert er die Asche. Zufrieden sieht er beim Weg nach Hause die Überwachungskamera, die immer noch eine dicke Schicht schwarzer Farbe auf der Linse hat, und freut sich, dass der aufziehende Regen nicht nur viele Spuren verwischen wird, sondern auch die Asche im Papierkorb endgültig in eine schmutzige Brühe verwandelt.

Daheim angekommen, packt er die Digitalkamera aus, startet eine Live-CD, um keine Spuren auf der Festplatte zu hinterlassen, und entfernt sorgfältig die EXIF-Daten in den JPEG-Dateien. Die bereinigten Kopien landen wieder auf der Speicherkarte, und zwar auf oberster Ebene, falls der Browser den Pfad mitsendet. Dann versteckt er die Speicherkarte und wartet einige Tage ab, bevor er wieder von der Live-CD startet. Kurze Zeit später hat er sich über TOR zu einer kostenlosen JAP-Kaskade verbunden. Nachdem er nochmals mit einem Hexeditor überprüft hat, dass die Bilder keine EXIF-Metadaten mehr enthalten, startet er einen BitTorrent-Client, welcher wahllos über seine Anonymisierungskette Daten hoch- und herunterlädt, um Traffic zu erzeugen. Er lädt die Bilder bei einem Bilderhoster hoch und schickt die Links über einen anonymen Web-to-News-Dienst an einige Newsgroups. Danach überschreibt er die Speicherkarte 35 mal mit Zufallsdaten. Er überzeugt sich in den Logs der Firewall, dass nichts auch nur versucht hat, an der Anonymisierungkette vorbei Daten zu versenden, schaltet den Laptop aus, trennt ihn vom Netz und entfernt den Akku. Sicherheitshalber entnimmt er die Speicherkarte, legt diverse viel zu hohe Spannungen daran an, schlägt sie klein und spült die Reste in der Toilette herunter. Dann startet er wieder seinen Rechner und wirft memtest86 an, bevor er sich schlafen legt. Die ganze Nacht lang regnet es in Strömen.

Eine Woche später ist im Internet eine hitzige Diskussion über die Dokumente entbrannt. Trotzdem wiedersteht der paranoide Hacker der Versuchung, auch nur die geringste Andeutung zu machen, die ihn verraten könnte. Zufrieden grinsend will er sich übermüdet ins Bett legen – es ist schließlich schon sechs Uhr früh -, als jemand an der Tür klopft. Bevor er zur Tür kommt, kommt diese ihm schon mit lautem Splittern entgegen. Zwei Stunden später, vor Müdigkeit inzwischen alles doppelt sehend, wiederholt er auf dem Polizeirevier auf jede Frage immer wieder den Satz „Ich mache von meinem Aussageverweigerungsrecht Gebrauch.“

Durch welchen Fehler hat der Hacker seine Anonymität zerstört, wie ist man ihm auf die Schliche gekommen? Welchen Sinn hatten die einzelnen Schritte, die er unternommen hat? (Antworten bitte über die Kommentarfunktion.)

Ich rechne damit, dass es mehr als eine Lösung geben wird, da ich sicher auch nicht an alles gedacht habe. Die Geschichte und die (hoffentlich zahlreichen) Antworten sollen zeigen, dass wirklich gute Anonymität schwer zu erreichen ist, und ein paar wenig Punkte aufzeigen, an denen sowas schief gehen kann.

Wusstest du, …
… dass Browser beim Dateiupload den Dateinamen oder auch den ganzen Pfad mitsenden können?
… dass oft daran gedacht wird, die digitalen Spuren zu verwischen, die analogen (Fingerabdrücke, Zeugen) aber oft vergessen werden?
… dass viele Leute erwischt werden, weil sie prahlen oder sich verquasseln und dabei Täterwissen zeigen?
… dass Arbeitsspeicher teilweise noch Minuten nach dem Ausschalten nicht komplett gelöscht ist?
… dass verbrannte Dokumente oft noch rekonstruierbar sind, wenn die Asche nicht bewegt wurde?
… dass man bei der Polizei immer von seinem Aussageverweigerungsrecht Gebrauch machen sollte?