Exklusives Interview: Drei Ebenen jenseits von Kernel-Rootkits

Eine Strategie zum Schutz Alan: Außer du bist auf dem iPhone, wo Passwörter demaskiert werden. Tut mir leid, zu unterbrechen, mach weiter ... Joanna : Tastatur / USB-Controller zu haken wäre ein bisschen bessere Strategie, aber das würde nur für die einfachsten Szenarien funktionieren, wie eine Banking-Website, die keine Token oder OTP-Passwörter verwendet - nichts Besonderes. Ein

Eine Strategie zum Schutz

Alan: Außer du bist auf dem iPhone, wo Passwörter demaskiert werden. Tut mir leid, zu unterbrechen, mach weiter ...

Joanna : Tastatur / USB-Controller zu haken wäre ein bisschen bessere Strategie, aber das würde nur für die einfachsten Szenarien funktionieren, wie eine Banking-Website, die keine Token oder OTP-Passwörter verwendet - nichts Besonderes. Ein viel besserer Angriff, aus Sicht der Malware, besteht darin, sich einfach in den Browser einzuklinken. Der offensichtliche Nachteil wäre, dass Kernel-Modus-A / V-Agenten in der Lage wären, eine solche Browser-Nutte zu erkennen (theoretisch zumindest, in der Praxis sind sie natürlich scheiße).

Ein anderes Problem mit diesem Ansatz ist, wenn der Benutzer ein bisschen paranoid ist und einen anderen Browser verwendet, um täglich zu surfen (und vielleicht auch in einer virtuellen Maschine bleibt), und einen ganz anderen, um Online-Banking zu betreiben. In diesem Fall wäre es nicht so einfach, diesen "Banking" -Browser anzuhängen, und einige andere Angriffe wären nötig.

Der Grund, warum wir uns auf Deep-to-the-Hardware-Angriffe konzentrieren, ist, dass wir der Meinung sind, dass sichere Systeme auf einer soliden Grundlage aufgebaut sein sollten, sonst würde alles keinen Sinn ergeben. Dies gilt insbesondere, wenn man, wie ich, an den Ansatz "Sicherheit durch Isolierung" glaubt.

[Siehe Joannas Beitrag unter http://theinvisiblethings.blogspot.com/2008/09/three-approaches-to-computer-security.html]

Alan: Aber warum nur einen Ansatz verfolgen? Sollte ich als Softwareentwickler nicht an "Security by Design" arbeiten und ihn dann auf Systemen installieren, die "Sicherheit durch Isolation" implementieren?

Joanna : Sicher, aber wir sollten unsere Systeme mit der Annahme entwerfen, dass jede Anwendung möglicherweise fehlerhaft ist, und das Betriebssystem sollte weiterhin in der Lage sein, andere Anwendungen vor diesen böswilligen oder bösartigen Anwendungen zu schützen.

Alan: Wie wäre es mit praktischen Tipps? Obwohl die meisten Ihrer Recherchen die neuesten Erkenntnisse der Sicherheitsforschung beinhalten, arbeitet die überwiegende Mehrheit der derzeit in freier Wildbahn befindlichen Malware nicht auf einer Ebene, die so nah am Metall liegt. Wie sollten unsere Leser ihr eigenes System sichern?

Joanna : Das ist eine sehr allgemeine Frage und es ist schwer, eine Antwort zu geben, die allen passt.

Alan: Was machst du für deine regulären Systeme?

Joanna : Erstens, wie gesagt, glaube ich an den Ansatz "Sicherheit durch Isolation". Das Problem ist jedoch, dass alle gängigen Betriebssysteme, wie Vista, Mac OS X oder sogar Linux, ihren Anwendungen keine angemessene Isolation bieten. Dies ist in erster Linie ein Ergebnis all jener Systeme, die große monolithische Kernel verwenden, die aus Hunderten von Treibern von Drittanbietern bestehen, die auf derselben Berechtigungsstufe wie der Rest des Kernels arbeiten. Infolgedessen ist es für eine bösartige Anwendung relativ leicht, in den Kernel einzudringen und folglich alle von dem Betriebssystem bereitgestellten Sicherheitsmechanismen zu umgehen.

Also versuche ich, diese schwache Isolation durch Virtualisierung zu umgehen. Ich verwende verschiedene virtuelle Maschinen, um verschiedene Arten von Browsern zu hosten, die ich für verschiedene Arten von Aktivitäten verwende. Also verwende ich eine "rote" VM, um täglich zu surfen, etwas völlig Unempfindliches wie Nachrichtenlesen, Google-Suchen usw. Ich benutze eine "gelbe" Maschine, um einige halbsensible Aufgaben zu erledigen, wie Online-Shopping, Aktualisierung meines Blogs Blogger usw. Schließlich habe ich eine "grüne" Maschine, um auf das Konto meiner Bank zuzugreifen.

Es ist mir völlig egal, ob ein Kompromiss zwischen meiner "roten" Maschine besteht - tatsächlich stelle ich sie jede Woche auf einen bekannten Schnappschuss um. Ich kümmere mich viel mehr um meine "gelbe" Maschine. Zum Beispiel verwende ich NoScript in einem Browser, den ich dort habe, um nur Scripting von den wenigen Sites zu erlauben, die ich wirklich besuchen möchte (wenige Online-Shops, Blogger, etc.). Sicher, jemand könnte einen Man-in-the-Middle-Angriff (MITM) gegen eine HTTP-Verbindung im Klartext durchführen, die von NoScript auf die weiße Liste gesetzt wird und ein böswilliges Drive-by-Exploit einschleust, aber dann ist die gelbe Maschine nur halbempfindlich keine große Tragödie, wenn jemand die Information gestohlen hat. Schließlich sollte der "grüne" Rechner nur HTTPS-Verbindungen zu nur meiner Banking-Site haben dürfen. Es ist sehr wichtig sicherzustellen, dass nur HTTPS für dieses Gerät verwendet wird, um mögliche MITM-Angriffe zu verhindern, die beispielsweise in einem WLAN eines Hotels auftreten können.

Ich benutze dieses Setup schon eine ganze Weile und es scheint ziemlich gut für mich zu funktionieren. Meine Partnerin, die keine Technikerin ist, benutzt ein ähnliches Setup auf ihrem Mac und sie findet es brauchbar. Also, ich denke, es ist nicht so geeky wie es klingen könnte.

Es gibt noch einige weitere Details, die man bei der Verwendung eines solchen Setups beachten sollte, zum Beispiel die Handhabung von Updates, die Verwendung der Zwischenablage, die Übertragung von Dateien zwischen den Maschinen und dem Host, wo man seinen E-Mail-Client behalten kann Computer und nicht nur der Browser des Hosts usw. Aber ich denke, das ist nicht der beste Ort, um jetzt alle Details zu erfahren, oder unser Interview würde in ein How To übergehen.

Trotzdem kann ich nicht sagen, dass ich mit meinem Setup total zufrieden bin. Um alle meine virtuellen Maschinen auszuführen, verwende ich einen Typ-II-Hypervisor (VMWare Fusion), eine Fettanwendung, die auf meinem Host ausgeführt wird. Aus theoretischer Sicht gibt es keinen Grund zu der Annahme, dass es schwieriger wäre, einen Fehler im Typ-II-Hypervisor zu finden, als einen Fehler im Betriebssystemkern selbst zu finden. Beide sind groß und fett und haben viele Fahrer in sich. Aber praktisch scheint es schwieriger zu sein. Der Angreifer muss zuerst einen Weg finden, Code im Kernel des Gastes auszuführen. Denken Sie daran, dass der Angriff damit beginnt, nur Code im Browser ausführen zu können, dann muss er einen Weg finden, den VMM (Hypervisor) anzugreifen. Also, um aus der VM auszubrechen und endlich etwas Sinnvolles im Host-Kernel zu tun, der ein völlig anderes Betriebssystem als der Gast-Kernel sein könnte (ich benutze Windows in meinen Gästen und Mac OS X auf dem Host).

Top