Die guten Jahre sind vorbei

Als alter Pessimist und Grantler sehe ich einige Dinge auf uns zukommen, die irgendwo zwischen ärgerlich für mich persönlich, unlustig und dem kompletten Untergang des Abendlandes liegen.

Ärgerlich: Windows 10 – als exemplarisches Beispiel

Für Systeme mit grafischer Oberfläche bin ich eigentlich seit langer Zeit Windowsanwender. Und seit ich damals auf Windows NT 4 umgestiegen bin ich auch recht zufrieden, im Großen und Ganzen. Bei Windows 8 hat es mir schon nicht so recht gefallen, dass man sich anstrengen muss keinen Microsoftaccount anzulegen, aber ansonsten tut es, was es soll.

Mit Windows 10 gibt es jetzt eine ganze Menge Dinge, bei denen das Betriebssystem tut was es will. Mit den Standardeinstellungen schaufelt das Ding alle möglichen Daten nach draußen. Und Microsoft will das meiste davon auch grundsätzlich für alles verwenden dürfen. Gut, sie sind in der Hinsicht wenigstens ehrlich, aber das hilft mir auch nicht. Wenn man alles abschaltet, was das halbe Privatleben an Microsofts Telemetrieserver sendet, dann ist Windows 10 funktional eher ein Rückschritt. Und ohne Enterpriselizenz kann man manche Dinge auch nicht völlig abstellen.

Das ist für mich ein Unding.

Bei Telefonen ist es ja schon seit ein paar Jahren so, dass man nicht drum herum kommt dem Betriebssystemhersteller praktisch alles offenzulegen – in der Hoffnung, dass das schon alles irgendwie in Ordnung ist. Und dort macht es auch Sinn, alle möglichen Formen von Berechnung in die Cloud zu verlagern, schließlich fehlt es einem Telefon typischerweise an Rechen- und Akkuleistung. Damit habe ich mich auch grummelnd abgefunden und Cortana darf meine Emails lesen. Die, die sie lesen kann, sind so oder so nicht ganz so wichtig.

Für Desktopcomputer kann ich mich nicht mit der Idee anfreunden. Vor allem dann nicht, wenn das Betriebssystem auch noch ordentlich Geld kostet. So langsam aber sicher weicht der Modus Operandi, für Geld Software zu kaufen, die eigenständig funktioniert und mit der man dann mehr oder weniger machen kann, was man will, einem Konzept, bei dem man für Geld einen Rechner mit Software bestückt, deren Hersteller sich dann überlegt, je nach Lust und Laune alles Mögliche mit den Daten darauf zu machen. Zumindest muss man diese Möglichkeit mehrfach abnicken.

Momentan plane ich, Windows nur noch als Container für Visual Studio zu nutzen. Aber die Frage nach einem Hauptbetriebssystemersatz ist nicht ganz einfach. Meine Erfahrungen mit Linux als Desktopsystem sind eher schlecht. OS X sieht da schon besser aus, hat aber andere Probleme. Es gibt keinen Mac mit HDMI 2.0, was mit meinem derzeitigen Bildschirm problematisch ist, und auf die Kompatibilität eines Hackintoshs mit Betriebssystemupdates möchte ich mich nicht so recht verlassen müssen. Dazu kommt, dass einige der Open Source Programme, die ich unter Windows recht gerne verwende, bspw. Inkscape und GIMP, unter OS X recht beschissen laufen.

Sieht schlecht aus. Der Markt bietet das, was ich haben will, nicht wirklich an.

Gefährlich: Das Internet der Dinge mit Sicherheitslücken

Mittlerweile hat jeder Furz WLAN oder Bluetooth. Nachdem der in die Jahre gekommene Öko-Lavamat vor gut einer Woche nach einem Nachfolger rief, konnte ich feststellen, dass WLAN und Apps zur Fernsteuerung auch längst bei Waschmaschinen angekommen sind. Wenn man also die schwache WPS-Implementierung des Routers der Nachbarn knackt, dann kann man sich einen Spaß machen und immer das Waschprogramm anhalten. Darüber kann man noch schmunzeln.

Weniger lustig wird es, wenn man in Richtung Autoindustrie schaut. Bei BMW konnte man einfach die Kommunikation mit dem Auto mithören, war ja im Klartext, und mir nichts dir nichts einfach mal fremde Autos aufsperren. Eine Lücke, die nicht erst durch gezielte, clevere Manipulation durch einen technisch sehr gut ausgestatteten Angreifer gefährlich geworden wäre, sondern die jeder bessere Hobbyprogrammierer hätte finden können, und deren Beschaffenheit offenbart, dass bei BMW offenbar nicht viel Wert auf die Best Practices sicheren Programmierens gelegt wird.

Chris Valasek, den Namen sollte man sich merken, hat vor einer Weile schon demonstriert, was man mit einem Toyota Prius alles machen kann, wenn man Zugriff auf den CAN-Bus hat. Es gibt ein sehr lustiges Video, auf dem dem fahrenden Journalist ein wenig die Düse geht, als der Wagen erst beschleunigt und dann die Bremse nicht mehr richtig funktioniert. Gut, darüber kann man noch halbwegs schmunzeln, müsste ein Angreifer doch immerhin physisch ans Auto um Zugriff auf den CAN-Bus zu bekommen. Das geht zwar auch problemlos im Motorraum, an den man meist sehr einfach von außen kommt, aber für Bremsschläuche gilt dasselbe.

Bei einem Jeep Cherokee sah das dieses Jahr anders aus. Die Büchse war über die Internetverbindung völlig zu übernehmen. Bis auf die Lenkung – die ging wohl nur im Rückwärtsgang. Wenn ich mir überlege, dass mein Auto eine dauerhafte Internetverbindung hätte und es keine ordentliche Trennung zum CAN-Bus für sicherheitsrelevante Systeme gäbe, dann wird mir wirklich mulmig. Das Spielchen mit kritischen Sicherheitslücken und dem Wettlauf, sie zu stopfen bevor die nächste gefunden wird, kennen wir ja aus der Softwarebranche seit einer Weile. Und Firmen, deren Kerngeschäft das Schreiben von Software ist, bekommen das nicht ordentlich gebacken und geben nach einer Weile Updates für alte Versionen aus Gründen der Wirtschaftlichkeit auf. Wie wird das bitte bei Autos aussehen?

Gut, durchatmen. Es hängen ja auch im Dutzendpack SCADA-Systeme für teilweise kritische Infrastruktur offen am Internet, bei denen die Hersteller nach Monaten den Sicherheitsforschern, die Lücken finden, sagen, dass es kein Update gibt, der hartcodierte Adminaccount drin bleibt und man die Dinger halt nicht ans Netz hängen soll. Dass das niemanden interessiert ist ein sicheres Zeichen dafür, dass wir kein Terrorproblem haben. Mit den Autos wird das auch schon irgendwie gutgehen. Es gab ja auch schon Laserdrucker, denen man neue Firmware übers Netzwerk unterjubeln konnte, die in der Lage gewesen wäre einen Brand auszulösen – und trotzdem gingen die Dinger nicht reihenweise in Flammen auf.

Das ganze Thema wird dann schlagartig nochmal an Brisanz gewinnen, wenn sich IPv6 für Heimanschlüsse durchsetzt und Waschmaschinen, Lichter, Drucker und Autos durch kein NAT mehr vom Rest der Welt getrennt sind. Dann werden sich ein paar Witzbolde den selben Spaß machen wie wir damals nach der Jahrtausendwende, als DSL Modems ohne Router normal waren, und mal einfach nach Netzwerkfreigaben oder den Webservern von Waschmaschinen scannen.

Intels SGX: Your computer’s not that personal again

Die Abkehr vom Paradigma, auf seinem eigenen Computer genau bestimmen zu können, was vor sich geht, habe ich ja schon weiter oben mit viel Larmoyanz kommentiert. Wenn man herausfinden will, was Windows 10 alles sendet und empfängt, kann man das aber wenigstens tun. Auch wenn man nur unkommentierten Maschinencode bekommt besteht theoretisch die Möglichkeit, einen Decompiler anzuwerfen und sich schnell wieder daran zu erinnern, warum x86 Assembler so wenig Spaß macht. Hängt man dazu einen Rechner dazwischen, der den Datenverkehr mitschneidet, hätte man zumindest theoretisch die Möglichkeit sich genau anzuschauen, was vor sich geht. Natürlich ist das praktisch ein absurdes Unterfangen und birgt einige, ganz erhebliche, Probleme im Detail.

Diese Form der Transparenz ist auch ein grundsätzliches Vertrauensproblem, wenn man Cloudserver nutzt. Es gibt ja bereits einige Angriffe, die über einen Seitenkanal in der Lage sind Daten von anderen virtualisierten Instanzen auf demselben physischen Host abzugreifen. Soweit ich weiß sind die aber derzeit noch eher theoretischer Natur oder brauchen recht spezielle Umstände. Der Bude, bei der man sich einkauft, muss man aber vertrauen. Physischer Zugriff auf den Server und administrative Rechte für den Hypervisor bedeuten, dass man so ziemlich alles tun kann, was man will. Den Arbeitsspeicher nach kryptographischen Schlüsseln zu durchsuchen ist genau so wenig ein Problem, wie ausführbaren Code beliebig zu verändern. In einer etwas anderen Form gibt es das Problem auch beim Starten eines Computers, was letzen Endes zu Secure Boot führte und für einiges an Aufruhr gesorgt hat.

Intel hatte schon vor einer Weile die lustige Idee, dieses Problem zumindest für die Praxis zu lösen. Wenn man Daten quasi nur in der CPU, und dort in einem ansonsten abgeschlossenen Bereich, unverschlüsselt hat und sie sogar im Arbeitsspeicher verschlüsselt sind, dann müsste jemand wirklich der CPU beim Arbeiten zuschauen, um wirklich Daten auszulesen. Und das ist so richtig unpraktisch.

Intel SGX soll nun genau das machen. Man könnte Code in eine sogenannte Enklave laden, die Gegenstelle könnte sich via Remote Attestation bestätigen lassen, dass der Code unverändert ist. Jetzt muss der Code nur noch eine gesicherte Verbindung aufbauen und beliebige Instruktionen nachladen. Man kann dann zwar sehen, dass Code in einer Enklave landet, der eine gesicherte Verbindung initiiert und ausführt was immer er als Antwort bekommt, mehr aber auch nicht. Das ist ein zweischneidiges Schwert. Über die genauen Details zu spekulieren macht noch wenig Sinn, da es, so weit ich mir ergoogeln konnte, noch keine CPU gibt, die SGX unterstützt. Mir ist nach einem kurzen Schweifen über die Beschreibung der Instruktionen auch noch nicht ganz klar, wie genau die Kommunikation zwischen Enklave und normalem Code funktioniert. Aber im Prinzip hätte man alles was man braucht, um auch bisher gut gehütete Algorithmen auf völlig fremden Rechner ausführen zu können, ohne Angst haben zu müssen, dass tatsächlich jemand den Decompiler auspackt. Oder um richtig fiese Malware zu schreiben.

Auf dem eigenen Computer wäre das dann der Punkt, an dem man den Rechner völlig aus der Hand gibt und nicht einmal mit Gedult und Spucke herausfinden könnte, was er tut.

Schöne neue Welt.

2 thoughts on “Die guten Jahre sind vorbei

  1. Lustige Tatsache am Rand: Es gibt in der Tat bereits erste CPUs, die mit Intel’s SGX ausgestattet sind, hat halt nur niemand mitbekommen. Diese CPUs wurden am 6. August 2015 von Intel in Köln vorgestellt – auf der Gamescom 2015.

    Ihre Bezeichnung: Intel Core i7 6700K und Intel Core i5 6600K – auch bekannt als „unlocked Skylake CPUs“.

    Diese CPUs sind die ersten der Skylake Generation und vermutzlich erhalten auch alle nachfolgenden CPUs Intels SGX, die Details werden wir auf dem Intel Developer Forum 2015 ab nächsten Dienstag sehen.

    Die SGX Implementierung könnte allerdings noch unvollständig sein, da Intel lediglich „1“ angibt, was vermuten lässt dass es auch eine „2“ geben wird, so wie beim Turbo-Boost.

    Intel Webseite (6700K): http://ark.intel.com/products/88195/Intel-Core-i7-6700K-Processor-8M-Cache-up-to-4_20-GHz
    SGX Primer Guide: https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2015/january/intel-software-guard-extensions-sgx-a-researchers-primer/

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>