Vulnerability Disclosure: Revisited – oder: Wie SnapChat nicht hören will

Vulnerability Disclosure: Revisited – oder

Wie SnapChat nicht hören will

Stefan Friedli
von Stefan Friedli
Lesezeit: 9 Minuten

Im Jahre 2010 habe ich einen Artikel unter dem Titel The Nine Circles of Responsible Vulnerability Disclosure Hell veröffentlicht, in dem ich über die häufigsten Probleme bei der Veröffentlichung von Schwachstellen in oft genutzten Applikationen und Services geschrieben habe. Im Wesentlichen habe ich mich da über die Hindernisse ausgelassen, die ein Security-Profi überwinden muss, wenn er seine Funde öffentlich machen will. Vor allem dann, wenn es sich um eine öffentliche oder weit verbreitete Applikation handelt.

Seit damals hat sich die Erde weiter gedreht aber wir sind eigentlich immer noch mit den selben Problemen beschäftigt. Allerdings hat sich das Spielfeld verändert. Android und iOS als weit verbreitete mobile Betriebssysteme bieten einfachen Zugriff auf Millionen von Applikationen über ihre online Stores. Apps haben noch nie so eine grosse Rolle in unserem Alltag gespielt. Apple veröffentlicht regelmässig ein Ranking der beliebtesten Apps aus mehreren Ländern, aber wenn du einen Beweis für die App-Nutzung willst, dann steig in einen beliebigen Zug und schau den Leuten auf die Handy-Bildschirme.

Seit meinem Text aus dem Jahre 2010 habe ich auch meine Einstellung gegenüber gewissen Dingen verändert – oder zumindest versuche ich das zu tun. Ich versuche, mich weniger aufzuregen und weniger frustriert zu sein und mehr wirkliche Arbeit zu erledigen. Also interessieren mich ignorante Firmen nicht mehr, die nicht auf Mails antworten, die schwerwiegende Schwachstellen in ihren Produkten enthalten. Ich habe mich bewusst dafür entschieden, meine Zeit nicht weiterhin damit zu verschwenden, mit jemandem zu streiten, der nicht hören will.

Das bedeutet aber nicht, dass die Firmen seither schlauer geworden sind. Vor kurzem war die Applikation SnapChat ziemlich oft in den Medien. Zuvor hat das Konzept von SnapChat alleine schon für Furore gesorgt: Users können sich gegenseitig Mitteilungen und Bilder zusenden, die sich nach einer gewissen Zeit selbst löschen. Dies, wer hätte das gedacht, wurde natürlich für sexting genutzt, ein Begriff, der aus den Wörtern Sex und Texting abgeleitet wird. Das ist anscheinend unter Teenagern und Leuten in ihren Zwanzigern recht beliebt. Naja, jeder so, wie er am besten kann.

Dieses Bild zerstört sich bald selbst… vielleicht.

Das erste Problem, mit dem sich SnapChat konfrontiert sah ist offensichtlich: Das Konzept von sich selbst löschenden Bildern ist komplett lächerlich wenn jeder mit einer Tastenkombination Screenshots machen kann. Wir haben übrigens im Jahre 2011 ein ähnliches System umgangen. SnapChat hat das Problem damit behoben, dass sie dem Absender eine Mitteilung geschickt haben, wenn der Empfänger einen Screenshot gemacht hat. Das hat, und da bin ich mir sicher, zu interessanten Diskussionen zwischen Usern von wegen Vertrauen und so geführt. Trotz allem, SnapChat ist stetig gewachsen und ist auch immer beliebter geworden. Bis zum Tag, an dem Facebook SnapChat kaufen wollte für drei Milliarden US Dollar. SnapChat hat abgelehnt.

Es ist kein Geheimnis, dass Leute mit Sicherheitsgedanken – sowohl Profis wie auch solche, mit nicht ganz lauteren Hintergedanken, oder eine Mischung aus beiden – sich viel eher für weit verbreitete Apps mit vielen Usern interessieren als für ein kleines Tool, das von niemandem wirklich genutzt wird. Daher hat eine australische Gruppe namens Gibson Security aus Sydney im vergangenen Juli hinter das User Interface von SnapChat für Android geblickt.

Und natürlich mussten sie nicht zu lange hinschauen. Ich will hier niemanden mit den technischen Details beschäftigen, vor allem weil sie vor kurzem als Full Disclosure online gepostet wurde. GibSec hat nicht nur sorgenerregende Informationen über die Verschlüsselung der App gefunden, die es SnapChat erlauben würde, jede versendete Mitteilung und jedes versendete Bild abzufangen und zu speichern. Nein, GibSec hat auch noch einen Bug in der SnapChat API entdeckt, namentlich in der Funktion find_friends, die es der App erlaubt (oder jedem anderen HTTP-client) zu überprüfen, ob eine Telefonnummer mit einem Account verknüpft ist.

Ist das eine Telefonnummer? Ja, aber sicher doch!

Wieso ist das eine schlechte Idee? Nun, Telefonnummern sind eine recht uniforme Sache und haben nur wenig Komplexität. In der Schweiz haben wir im Moment vier genutzte Vorwahlen für Handys: 076, 077, 078 und 079. Darauf folgen sieben Ziffern. Dieser Logik folgend, braucht es lediglich vierzig Millionen Requests, um jede einzelne Schweizer Handynummer herauszufiltern und damit auch seinen Usernamen zu finden. Das klingt jetzt nach viel, ist aber nicht wirklich so eine grosse Sache.

Obwohl ich denke, dass GibSec gute Arbeit bei der Findung und Dokumentation der Probleme von SnapChat geleistet hat, sollten wir uns bewusst sein, dass dies nur ein recht trivialer Bug ist, der auf schludriges Programmieren zurückzuführen ist. Dazu gehört auch der Mangel an klaren Sicherheitsrichtlinien im Development. Zweifelsohne hätte jemand diesen Bug irgendwann gefunden und auch ausgenutzt. Aber GibSec hat das nicht getan. Sie haben im vergangenen August mit SnapChat Kontakt aufgenommen und ihnen die Details ihrer Findings übermittelt. GibSec hat sogar angeboten, SnapChat bei der Behebung der Probleme zu helfen. Aber SnapChat hat nicht zugehört, weshalb GibSec sich an die Öffentlichkeit wandte. Und alle Informationen über die Schwachstelle veröffentlichte. Die Australier erhofften sich dadurch grösseren Druck auf SnapChat auszuüben und den App-Hersteller so zum Handeln zwingen zu können. Doch es ist nichts passiert. Bis dann Ende 2013 halt das Unausweichliche passiert ist.

Am 27. Dezember hat SnapChat endlich auf die Full-Disclosure-Dokumente von GibSec reagiert. In einem Blog post hat SnapChat GibSec beschuldigt, die Responsible Disclosure nicht einzuhalten und dass der Bug bereits gefixt war. Am Neujahrsabend hat snapchatdb.info eine Datenbank mit 4.6 Millionen Usern und deren US-Telefonnummern veröffentlicht. Netterweise aber sind die letzten beiden Ziffern der Telefonnummern zensiert, damit die Opfer doch noch ein bisschen geschützt werden. Aus offensichtlichen Gründen hat das hohe Wellen geworfen und wurde schnell von den Medien sowie den Social Media Outlets aufgegriffen.

Hier ein kleiner Ratschlag: Wenn du etwas ignorierst, verschwindet es nicht einfach. Insbesondere dann, wenn du einer einfach auszuführenden Exploitation gegenüber verwundbar bist. In dem Falle sollte es deine Priorität sein, das zu fixen. Und erst recht dann, wenn die persönlichen Informationen deiner User auf dem Spiel stehen. Einfach nur zu behaupten, dass das Problem behoben ist, wird sehr wahrscheinlich jemanden dazu inspirieren, das auf die Probe zu stellen. Und das ist genau das, was hier passiert ist.

SnapChat hat aber erneut reagiert. Am 2. Januar haben sie etwas Einblick in die Ganze Sache rund um das Datenleck geliefert. In einem Blog Post. Und erneut deuteten die SnapChat-Macher an, dass jemand sie plagen will und die User bewusst einem Risiko aussetzt. Nicht in einem Wort gibt SnapChat zu, auch nachdem der Schaden bereits erfolgt ist, dass sie selbst auch nur ein bisschen Verantwortung tragen könnten.

Am vergangenen Donnerstag dann, fast ein halbes Jahr nach der Entdeckung des Bugs hat SnapChat endlich in einem Update verlauten lassen, dass der Fix jetzt endgültig implementiert worden ist. Sie haben sich sogar bei ihren Usern entschuldigt, auch wenn diese Entschuldigung etwas hohl klingt. Aber ich schätze mal, dass 4.6 Millionen User das nehmen müssen, was sie kriegen.

Das Fazit der Sache ist klar. Trotz all den Veränderungen in unserer Welt brauchen wir nach wie vor starke Disclosure Prozesse. Heute mehr denn je, sogar. Je mehr die Technologie in unser Leben integriert wird, desto höher ist die Wahrscheinlichkeit, dass eine Vulnerability Leuten Schaden zufügen kann. Als Menschen, die im Sicherheitsbereich arbeiten, sehe ich unsere ethische Obligation nicht darin, nicht denen zu helfen, die für die Vulnerabilities verantwortlich sind, sondern denen, die davon betroffen sind.

Full-Disclosure ist nicht der beste erste Schachzug. Aber als letztes Mittel zum Zweck wird sie immer ihren Platz haben. Und das zu Recht.

Über den Autor

Stefan Friedli

Stefan Friedli gehört zu den bekannten Gesichtern der Infosec Community. Als Referent an internationalen Konferenzen, Mitbegründer des Penetration Testing Execution Standard (PTES) und Vorstandsmitglied des Schweizer DEFCON Group Chapters trägt er aktiv zum Fortschritt des Segmentes bei.

Links

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

×
TIBER-EU Framework

TIBER-EU Framework

Dominik Altermatt

Vertrauen und KI

Vertrauen und KI

Marisa Tschopp

Datenverschlüsselung in der Cloud

Datenverschlüsselung in der Cloud

Tomaso Vasella

Cyber Threat Intelligence

Cyber Threat Intelligence

Marc Ruef

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv