Die Layout-Randomisierung von Adressräumen (ASLR) ist eine in Betriebssystemen verwendete Sicherheitstechnik, die 2001 zum ersten Mal implementiert wurde Alle wichtigen Betriebssysteme (iOS, Android, Windows, Mac OS und Linux) verfügen über ASLR-Schutz. Aber in der vergangenen Woche wurde eine neue Methode zur Umgehung von ASLR gefunden. Also, sollten Sie sich Sorgen machen?
Für diejenigen, die keinen tiefgreifenden Programmierhintergrund haben, kann ASLR verwirrend sein. Um das zu verstehen, müssen Sie zuerst den virtuellen Speicher verstehen.
Der virtuelle Speicher ist eine Technik zur Speicherverwaltung mit vielen Vorteilen, wurde aber hauptsächlich entwickelt, um die Programmierung zu vereinfachen. Stellen Sie sich vor, Sie haben Google Chrome, Microsoft Word und mehrere andere Programme auf einem Computer mit 4 GB RAM geöffnet. Insgesamt benötigen die Programme auf diesem Computer viel mehr als 4 GB RAM. Es sind jedoch nicht immer alle Programme aktiv oder benötigen gleichzeitig Zugriff auf dieses RAM.
Das Betriebssystem weist den Programmen, die Seiten heißen, Speicherbereiche zu. Wenn nicht genügend RAM vorhanden ist, um alle Seiten gleichzeitig zu speichern, werden die Seiten, die am wenigsten benötigt werden, auf der langsameren (aber geräumigeren) Festplatte gespeichert. Wenn die gespeicherten Seiten benötigt werden, wechseln sie auf Bereiche mit weniger notwendigen Seiten, die sich derzeit im RAM befinden. Dieser Prozess wird als Paging bezeichnet und verleiht der Datei pagefile.sys unter Windows seinen Namen.
Virtueller Speicher erleichtert es Programmen, ihren eigenen Speicher zu verwalten und sie sicherer zu machen. Programme müssen sich nicht darum kümmern, wo andere Programme Daten speichern oder wie viel RAM noch übrig ist. Sie können das Betriebssystem nach Bedarf um zusätzlichen Speicher bitten (oder ungenutzten Speicher zurückgeben). Alles, was das Programm sieht, ist ein einziger fortlaufender Block von Speicheradressen für seine ausschließliche Verwendung, die virtuelle Adressen genannt werden. Das Programm darf den Speicher eines anderen Programms nicht ansehen.
Wenn ein Programm auf den Speicher zugreifen muss, erhält das Betriebssystem eine virtuelle Adresse. Das Betriebssystem kontaktiert die Speicherverwaltungseinheit (MMU) der CPU. Die MMU übersetzt zwischen virtuellen und physischen Adressen und gibt diese Information an das Betriebssystem zurück. Zu keinem Zeitpunkt interagiert das Programm direkt mit dem RAM.
Die Layout-Randomisierung von Adressraum (ASLR) wird hauptsächlich zum Schutz gegen Pufferüberlauf-Angriffe verwendet. Bei einem Pufferüberlauf liefern Angreifer eine Funktion mit so vielen Junk-Daten, wie sie verarbeiten können, gefolgt von einer schädlichen Nutzlast. Die Nutzlast überschreibt Daten, auf die das Programm zugreifen möchte. Anweisungen zum Springen zu einem anderen Punkt im Code sind eine übliche Nutzlast. Die berühmte JailbreakMe-Methode zum Jailbreak von iOS 4 zum Beispiel verwendete einen Pufferüberlauf-Angriff und forderte Apple auf, ASLR zu iOS 4.3 hinzuzufügen.
Pufferüberläufe erfordern einen Angreifer, um zu wissen, wo sich jeder Teil des Programms im Speicher befindet. Dies herauszufinden ist normalerweise ein schwieriger Prozess von Versuch und Irrtum. Nachdem sie das festgestellt haben, müssen sie eine Nutzlast herstellen und einen geeigneten Platz finden, um sie zu injizieren. Wenn der Angreifer nicht weiß, wo sich sein Zielcode befindet, kann es schwierig oder unmöglich sein, ihn auszunutzen.
ASLR arbeitet mit der virtuellen Speicherverwaltung zusammen, um die Speicherorte verschiedener Teile des Programms im Speicher zu randomisieren. Jedes Mal, wenn das Programm ausgeführt wird, werden Komponenten (einschließlich Stack, Heap und Bibliotheken) an eine andere Adresse im virtuellen Speicher verschoben. Angreifer können nicht mehr durch Versuch und Irrtum lernen, wo ihr Ziel ist, weil die Adresse jedes Mal anders sein wird. Im Allgemeinen müssen Anwendungen mit ASLR-Unterstützung kompiliert werden, aber dies wird zum Standard und ist sogar auf Android 5.0 und höher erforderlich.
Am vergangenen Dienstag, Forscher von SUNY Binghamton und Universität of California, Riverside, präsentierte ein Papier mit dem Titel Jump Over ASLR: Angriffszweig Prädiktoren ASLR zu umgehen. Das Paper beschreibt eine Möglichkeit, den Branch Target Buffer (BTB) anzugreifen. Der BTB ist ein Teil des Prozessors, der if-Anweisungen beschleunigt, indem er das Ergebnis vorhersagt. Mit der Methode des Autors ist es möglich, Positionen bekannter Verzweigungsbefehle in einem laufenden Programm zu bestimmen. Der fragliche Angriff wurde auf einer Linux-Maschine mit einem Intel Haswell-Prozessor (zuerst im Jahr 2013 veröffentlicht) durchgeführt, könnte aber wahrscheinlich auf jedes moderne Betriebssystem und Prozessor angewendet werden.
Das heißt, Sie sollten nicht unbedingt verzweifeln. Das Papier bot einige Möglichkeiten, wie Hardware- und Betriebssystementwickler diese Bedrohung mindern können. Neuere, feinkörnige ASLR-Techniken würden vom Angreifer mehr Aufwand erfordern, und eine Erhöhung der Entropie (Zufälligkeit) kann den Jump-Over-Angriff unmöglich machen. Höchstwahrscheinlich sind neuere Betriebssysteme und Prozessoren gegen diesen Angriff immun.
Was bleibt also für Sie ? Der Jump Over Bypass ist neu und wurde noch nicht in freier Wildbahn entdeckt. Wenn Angreifer es ausnutzen, erhöht der Fehler den potenziellen Schaden, den ein Angreifer auf deinem Gerät verursachen kann. Diese Zugriffsebene ist nicht beispiellos; Microsoft und Apple haben ASLR nur in ihren 2007 und später veröffentlichten Betriebssystemen implementiert. Selbst wenn diese Art von Angriff alltäglich wird, werden Sie nicht schlechter gestellt sein als zu Zeiten von Windows XP.
Denken Sie daran, dass Angreifer ihren Code immer noch auf Ihrem Gerät verwenden müssen, um Schaden anzurichten. Dieser Fehler bietet ihnen keine zusätzlichen Möglichkeiten, dich zu infizieren. Wie immer sollten Sie die Best Practices für Sicherheit befolgen. Verwenden Sie Antivirusprogramme, halten Sie sich von skizzenhaften Websites und Programmen fern und halten Sie Ihre Software auf dem neuesten Stand. Indem Sie diese Schritte befolgen und bösartige Schauspieler von Ihrem Computer fernhalten, sind Sie so sicher wie Sie es jemals waren.
Bildquelle: Steve / Flickr
Verwendung des integrierten Datei-Managers von Android 6.0
Android bietet vollständigen Zugriff auf ein Dateisystem mit Unterstützung für austauschbare SD-Karten. Aber Android selbst ist nie mit einem eingebauten Dateimanager ausgestattet, der die Hersteller dazu zwingt, eigene Dateimanager-Apps zu erstellen und Benutzer, die solche von Drittanbietern installieren.
So synchronisieren Sie OneNote 2016-Notizbücher mit Ihrem OneDrive-Konto und greifen auf sie zu
Die besten Notizprogramme wie Evernote synchronisieren Ihre Notizen mit allen Ihren anderen Geräten, sodass Sie sie überall haben du gehst. Wenn Sie über OneNote 2016-Notizen verfügen, die lokal auf Ihrem Computer gespeichert sind, können Sie sie mithilfe von OneDrive mit Ihren anderen Geräten synchronisieren.