Lookout und Citizen Lab haben eine Spionage-Software namens Pegasus analysiert Ich habe in Vorbereitung auf diesen Artikel ein paar Kommentare drangeschrieben.
Die Malware wird von der NSO Group produziert und an Regierungen verkauft für über 25.000 US-Dollar pro gezieltem Angriff. In einem Fall wurden 300 Pegasus-Lizenzen für 8 Millionen USD verkauft. Pegasus gibt es nicht nur für iOS, sondern auch für Android und BlackBerry. Diese Versionen untersuchen Lookout und Citizen Lab auch noch. Die Spyware kompromittiert alle gängigen Kommunikations-Wege und greift damit alles an Video-Calls, Telephone-Gesprächen, SMS-Nachrichten, Emails, soziale Netzen et cetera ab. Dazu greift Pegasus ggf. auch auf die Datenbanken der Apps zu oder kopiert die Nachrichten, bevor sie verschlüsselt werden.
Otto Normalbürger ist allerdings nicht das Ziel dieser Malware, da sie nicht per Gießkanne verbreitet, sondern teuer für Einzelangriffe bereitgestellt wird. Dem Opfer wird ein Weblink zum Beispiel per SMS geschickt. Besucht der User die Webseite, infiziert die Malware das Gerät. Im Falle von iOS wird über eine Kombination von drei Bugs ein Jailbreak durchgeführt und dann die Spionage-Software installiert. Nur wessen Geräte-Kommunkation 25.0000 USD wert ist, mußte sich also Sorgen machen.
Groß an die Glocke wurde nur die iOS-Version gehängt, obwohl Apples Geräte im Gegensatz zu Android und BlackBerry inzwischen sicher sind vor diesem Angriff, da Apple extrem schnell zwei Bugs im Kernel und einen in WebKit (Safari) gefixt hat, die den Angriff ermöglichten. Über Pegasus auf Android und BlackBerry hingegen gibt es noch keine veröffentlichte Analyse und auch keine Sicherheits-Updates. Die beiden dürfen noch zittern.
Da iOS auf macOS basiert hat Apple dieselben Bugs auch in macOS und in Safari für den Mac behoben.
Pegasus berücksichtigt anscheinend iOS 7 bis iOS 9 und war über zwei Jahre auf dem Markt. Bereits 2013 demonstrierte die israelische NSO Group Smartphone Hacks für BlackBerry, iOS und Android, wie man in den Emails ihres italienischen Konkurrenten "Hacking Team" auf WikiLeaks nachlesen kann.
Der Hersteller behauptet, die Spyware wäre unentdeckbar, sie wäre wie ein Geist. Nachdem ich die Analyse durchgelesen hatte, war klar: Unfug. Anhand dieser Punkte läßt sich Pegasus entdecken:
Soviel dazu. Was haben wir gelacht.
Wie man u. a. im iOS Hacker's Handbook lernen kann, haben Jailbreaks ein typisches Vorgehen. Pegasus ist ein Tethered Jailbreak, weil er bei jedem Neustart den Exploit gegen den Kernel erneut durchführen muß.
Ähnlich wie damals Jailbreakme ist Pegasus ein webbasierter Remote Jailbreak.
Pegasus erreicht über einen Bug in WebKit Code Execution, über einen weiteren Bug im Kernel umgeht er die KASLR. Daß ASLR nutzloser Käse ist, hatte ich ja schon in ASLR Cargo Cult Security ausgeführt. Und mit einem letzten Bug im Kernel erreicht er Root-Rechte. Dann schaltet er alle nötigen Sicherheitsmechanismen aus wie Sandboxing und Code-Signing-Checks. Dann wird die System-Partion mit Schreibrechten gemountet. Abschließend werden die üblichen Jailbreak-Tools installiert, beispielsweise Cydia Mobile Substrate.
Das ist genau das, was andere Jailbreaks auch tun. Der einzige Unterschied ist, daß, wenn alles fertig ist, keine netten System- und App-Tweaks gemacht werden und auch keine tollen Apps installiert werden, sondern böse System- und App-Tweaks gemacht werden und böser Code installiert wird. Das hat der Violine spielende Saurik von Cydia und die Jailbreak Community sicher nicht gewollt, daß Malware-Autoren ihre gesammelten Jailbreak/Cydia-Tools gegen die iOS-User einsetzen. Die Malware-Autoren haben mit den Jailbreak Open Source Tools jetzt Millionen verdient, während die ehrlichen Entwickler weiter kalte Ravioli aus der offenen Dose löffeln.
Pegasus kann aufgrund der Sicherheits-Mechanismen von iOS nur mit Hilfe des Jailbreaks installiert werden. Und ohne Jailbreak ist er auch nicht lauffähig: Er hätte keine Root-Rechte, würde auch am Sandboxing scheitern und ohne Apple-AppStore-Signatur nicht einmal starten. Darum ist der integrierte Jailbreak für diese Malware ein Muß. Wer sein Gerät selbst einem Jailbreak unterzieht, öffnet damit jeder beliebigen Malware Tür und Tor. Von Jailbreaks ist daher generell abzuraten. Alles was Deine Apps, Dein System und Deine Daten schützt, fällt duch einen Jailbreak weg.
So hat Pegasus freie Bahn, um alles zu tun, was ihm beliebt, unter anderem:
Durch seine Architektur bedingt ist iOS sicher. Das war jedoch nicht immer so. Anfangs lieft zum Beispiel der Browser unter Root. Darum fiel Charlie Miller sein erster iPhone-Hack auch so leicht: Ein Code-Execution Bug im Browser ergab total system pwnage. Im Laufe der Jahre wurde iOS zum sichersten Betriebssystem, das ich kenne. Wichtige Sicherheits-Aspekte sind dabei:
Vergleicht man das mit Android, hat es Malware dort leichter:
Durch einen Jailbreak fällt die Sicherheit von iOS auf Android-Niveau herunter: Code-Signing ist egal, Code-Quelle ist egal, Apps können unter Root laufen, externer Code kann nachgeladen/injiziert werden und (Sicherheits-)Updates installiert man auch nicht mehr, um den Jailbreak zu behalten.
Ich bin zwar iOS-Entwickler, hatte aber vor einiger Zeit aus Neugier mal die Android-Permissions auf die Probe stellt und ein paar Beispiel-Exploits geschrieben. Ja, ich habe eine schmutzige Vergangenheit: Ich war mal Java-Entwickler.
Jedes Mal, wenn ich von einem neuen Jailbreak für iOS höre, wird mir darum schlecht, denn die Bugs, die der Jailbreak ausnutzt, kann auch eine Malware ausnutzen, um das System "zu customizen". Aber grundsätzlich ist iOS by Design sicher. Angriffe, die gegen Android keine zusätzliche Arbeit erfordern, müssen gegen iOS erst durch einen Jailbreak ermöglicht werden. Da Angriffe auf Android einfacher sind, gibt es dort auch mehr Malware. Das war auch schon so, als Android weniger verbreitet als iOS war.
Pegasus wird für gezielte Angriffe eingesetzt, die pro Einsatz über 25.000 USD kosten. Inzwischen gibt es weitere Informationen über eine Preisliste für Pegasus: Das grundlegende Einrichten für einen Einsatz kostet pauschal 500.000 USD Grundgebühr. Dazu kommmen dann für 10 iPhone User 650.000 USD oben drauf, 10 Android User kosten ebenfalls 650.000 USD, für 5 BlackBerry User werden 500.000 USD dazu berechnet und 5 Symbian User kosten 300.000 USD on top. Wer 100 weitere User möchte, zahlt 800.000 USD, 50 extra User kosten 500.000 USD, 20 extra kosten 250.000 USD und 10 extra kosten 150.000 USD laut eines kommerziellen Angebots der NSO Group. Außerdem kommen noch jährliche System-Wartungsgebühren von 17% des Gesamtpreises dazu.
Ein verfügbarer Jailbreak ist immer ein Anzeichen dafür, daß die betroffene Version von iOS grad extrem kritische Bugs hat, mit der sich die Sicherheit von iOS torpedieren läßt. Die Freiheit (good guys customizing, gewollte Features, Tweaks) und die Gefahr (bad guys "customizing", ungewollte Features, Malware) durch einen Jailbreak entspricht der Freiheit und Gefahr, die Android im Normalzustand hat.
Apple hat die Bugs umgehend mit iOS 9.3.5 behoben. Selbst zuvor installierte Pegasus-Versionen sind damit nicht mehr lauffähig.
Pegasus für Android und BlackBerry ist weiter aktiv und es gibt zur Zeit keine Hilfe, die User von Android und BlackBerry vor der Spionage bewahrt. Eventuelle Bugfixes würde allerdings so oder so nicht bei den meisten Android-Geräten ankommen.