{"id":788,"date":"2008-12-27T21:22:39","date_gmt":"2008-12-27T20:22:39","guid":{"rendered":"http:\/\/www.mitternachtshacking.de\/blog\/788-25c3-hacking-the-iphone"},"modified":"2018-06-01T00:28:09","modified_gmt":"2018-05-31T23:28:09","slug":"25c3-hacking-the-iphone","status":"publish","type":"post","link":"https:\/\/www.mitternachtshacking.de\/blog\/788-25c3-hacking-the-iphone","title":{"rendered":"25C3: Hacking the iPhone"},"content":{"rendered":"<p>Das <a href=\"http:\/\/events.ccc.de\/congress\/2008\/Fahrplan\/events\/2976.en.html\">Apple-iPhone-Hacking<\/a> ist so ein Vortrag, dessen Inhalte mich eigentlich gar nicht interessieren. Ich habe kein iPhone und ich will mir auch keines zulegen (das Android\/Linux Google-Phone w\u00fcrde mich eher interessieren). Aber egal, ein paar interessante Themen werden bestimmt angesprochen.<\/p>\n<p>Die Apple-Hacker schaffen es im Schnitt 24-48 Stunden nach einem Patch von Apple ihr Programm wieder zu aktualisieren. Das ist schon sehr cool. Daf\u00fcr d\u00fcrfen sie auch Werbung f\u00fcr ihre Apple-powned T-Shirts machen \ud83d\ude42<\/p>\n<p>Das iPhone ist im Grunde wie zwei Computer gebaut. Es gibt einen Application-Prozessor, der die Anwendungen laufen l\u00e4sst (das iPhone-OS und von iTunes geladene Anwendungen) und einen Baseband-Prozessor, der die Funkverbindung h\u00e4lt. Das iPhone-OS basiert auf MacOS X. Allerdings gibt es einen zus\u00e4tzliche Dienst, den Lockdownd, der die Aktivierung und die laufenden Programme kontrolliert. Das OS l\u00e4uft von Flash, eine Read-only Systempartition und eine schreibbare Userpartition. Damit wird ein Filesystem-Check bei einem Absturz vermieden. Die Programme m\u00fcssen alle digital signiert werden, das Code-Signing wird im Kernel verifiziert. Der Kernel befindet sich auf der RO-Systempartition und ist ebenfalls signiert.\u00c2\u00a0 Nebenbei ist auch noch das Filesystem AES-verschl\u00fcsselt und der Schl\u00fcssel kann nicht ausgelesen werden. Die Signaturpr\u00fcfung l\u00e4sst sich beim Booten jedoch umgehen. Die komplette Beschreibung des Bootprozesses schenke ich mir hier, die ist recht kompliziert. Am Anfang steht jedoch der nicht signierte LLB, der modifiziert werden kann.<\/p>\n<p>Es gibt noch ein paar weitere Schw\u00e4chen, z.B. Buffer Overflows im Zusammenhang mit Zertifikaten. Den kann man nutzen, um die Funktion zur Pr\u00fcfung digitaler Signaturen dazu zu bringen, immer mit &#8222;true&#8220;, d.h. einer g\u00fcltig erkannten Signatur zur\u00fcckzuspringen. Dieser Buffer Overflow wird verwendet, um ein nicht-signiertes iPhone-OS zu starten. Einer der Kernfehler Apples war, die Sicherheitsmechanismen einzeln zu aktivieren. So konnte anfangs die Firmware analysiert werden, bevor sie verschl\u00fcsselt wurde.<\/p>\n<p>Der Baseband-Prozessor l\u00e4uft nahezu unabh\u00e4ngig vom Applikation-Prozessor. Das Booten des Baseband-Systems sieht \u00e4hnlich aus. Der Bootrom l\u00e4dt den Bootloader, der die Firmware l\u00e4dt. Die Firmware kann \u00fcbrigens richtig geschrottet (&#8222;bricked&#8220;) werden und sie ist mit einer RSA-Signatur gesichert. Die Firmware ist auch f\u00fcr den SIM-Lock des Providers verantwortlich. Der Bootloader ist im neuen iPhone ebenfalls signiert und sch\u00fctzt nach dem Start den Bootrom.<\/p>\n<p>Im Bootloader v3.9 gibt es ein paar Fehler, u.a. den <a href=\"http:\/\/en.wikipedia.org\/wiki\/Adaptive_chosen-ciphertext_attack\">Bleichenbacher Angriff<\/a> (<a href=\"http:\/\/code.google.com\/p\/bleichenbacher\/\">Code<\/a>) gegen die RSA Signatur. Einzelne Exploits wie der JerrySIM Buffer Overflow sind inzwischen jedoch &#8222;verbrannt&#8220;. Aktuelle Exploits \u00fcberschreiben nicht die Firmware sondern patchen sie w\u00e4hrend der Laufzeit im RAM.<\/p>\n<p>Insgesamt ist das Reverse Engineering des iPhone schon sehr cool. Apple hat einige Arbeit reingesteckt, das zu erschweren und die Jungs hier waren extrem clever. Ich sehe halt nur f\u00fcr mich keine praktische Anwendung.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das Apple-iPhone-Hacking ist so ein Vortrag, dessen Inhalte mich eigentlich gar nicht interessieren. Ich habe kein iPhone und ich will mir auch keines zulegen (das Android\/Linux Google-Phone w\u00fcrde mich eher interessieren). Aber egal, ein paar interessante Themen werden bestimmt angesprochen. Die Apple-Hacker schaffen es im Schnitt 24-48 Stunden nach einem Patch von Apple ihr Programm [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[13],"tags":[],"_links":{"self":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/788"}],"collection":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/comments?post=788"}],"version-history":[{"count":0,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/posts\/788\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/media?parent=788"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/categories?post=788"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mitternachtshacking.de\/blog\/wp-json\/wp\/v2\/tags?post=788"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}