Eine neue Technik zur Ausnutzung von Schwachstellen in SQLite wurde prÀsentiert

Forscher von Check Point haben aufgedeckt auf der DEF CON-Konferenz Einzelheiten zu einer neuen Angriffstechnik auf Anwendungen, die verwundbare Versionen von SQLite verwenden. Die Methode von Check Point betrachtet Datenbankdateien als Möglichkeit zur Integration von Exploit-Skripten in verschiedenen internen Subsystemen von SQLite, die nicht direkt ausgenutzt werden können. Die Forscher haben auch eine Technik zur Ausnutzung von Schwachstellen vorbereitet, bei der der Exploit in Form einer Kette von SELECT-Abfragen in SQLite-Datenbanken kodiert ist, was es ermöglicht, ASLR zu umgehen.

FĂŒr einen erfolgreichen Angriff ist es notwendig, dass die Möglichkeit besteht, die Datenbankdateien der angegriffenen Anwendungen zu modifizieren, was die Methode auf Anwendungen einschrĂ€nkt, die SQLite als Format fĂŒr Transit- und Eingabedaten nutzen. Die Methode kann auch verwendet werden, um bereits erlangten lokalen Zugriff zu erweitern, beispielsweise um versteckte Backdoors in die verwendeten Anwendungen zu integrieren sowie Sicherheitsmechanismen bei der Analyse von Malware zu umgehen. Der Exploit erfolgt nach dem Ersetzen der Datei im Moment der AusfĂŒhrung der ersten SELECT-Abfrage an die Tabelle in der modifizierten Datenbank.

Als Beispiel wurde die Möglichkeit demonstriert, Code in iOS auszufĂŒhren, wenn das Adressbuch geöffnet wird, dessen Datenbankdatei «AddressBook.sqlitedb» mit der vorgeschlagenen Methode verĂ€ndert wurde. FĂŒr den Angriff wurde eine Schwachstelle in der Funktion fts3_tokenizer (CVE-2019-8602, Möglichkeit zur Dereferenzierung eines Zeigers) ausgenutzt, die im April-Update von SQLite 2.28 behoben wurde, neben einer weiteren Schwachstelle in der Implementierung von Fensterfunktionen. Zudem wurde die Anwendung der Methode fĂŒr die remote Übernahme der Kontrolle ĂŒber einen von Angreifern auf PHP geschriebenen Backend-Server demonstriert, der zur Ansammlung von Passworten dient, die wĂ€hrend der AusfĂŒhrung des Schadcodes abgefangen werden (die abgefangenen Passwörter wurden in Form einer SQLite-Datenbank ĂŒbermittelt).

Die Angriffsmethode basiert auf der Verwendung von zwei Techniken: „Query Hijacking“ und „Query Oriented Programming“, die es ermöglichen, beliebige Probleme auszunutzen, die zu SpeicherbeschĂ€digungen in der SQLite-Engine fĂŒhren. Das Wesen des „Query Hijacking“ besteht darin, den Inhalt des Feldes „sql“ in der Systemtabelle sqlite_master zu ersetzen, die die Struktur der Datenbank definiert. Dieses Feld enthĂ€lt einen DDL-Block (Data Definition Language), der zur Beschreibung der Struktur von Objekten in der Datenbank verwendet wird. Die Beschreibung erfolgt mit der standardmĂ€ĂŸigen SQL-Syntax, d.h. es wird die Konstruktion „CREATE TABLE“ verwendet,
die wĂ€hrend der Initialisierung der Datenbank (bei der ersten AusfĂŒhrung der
Funktion sqlite3LocateTable) zur Erstellung der mit der Tabelle verbundenen internen Strukturen im Speicher ausgefĂŒhrt wird.

Die Idee ist, dass durch den Austausch von „CREATE TABLE“ gegen „CREATE VIEW“ die Möglichkeit entsteht, ĂŒber die Definition seiner Ansicht jeden Zugriff auf die Datenbank zu kontrollieren. Mit „CREATE VIEW“ wird eine „SELECT“-Operation an die Tabelle gebunden, die statt „CREATE TABLE“ aufgerufen wird und den Zugriff auf verschiedene Teile des SQLite-Interpreters ermöglicht. Der einfachste Angriffsweg wĂ€re dann der Aufruf der Funktion „load_extension“, die das Laden einer beliebigen Bibliothek mit einer Erweiterung ermöglicht, aber diese Funktion ist standardmĂ€ĂŸig deaktiviert.

Um den Angriff unter Bedingungen zu ermöglichen, in denen die „SELECT“-Operation ausgefĂŒhrt werden kann, wird die Technik „Query Oriented Programming“ vorgeschlagen, die es ermöglicht, Probleme in SQLite auszunutzen, die zu SpeicherbeschĂ€digungen fĂŒhren. Die Technik Ă€hnelt dem Return-Oriented Programming, verwendet jedoch fĂŒr den Aufbau von Aufrufketten („Gadgets“) nicht existierende Abschnitte von Maschinencode, sondern EinsĂ€tze innerhalb der Unterabfragen im SELECT.ROPForscher von Check Point haben auf der DEF CON Konferenz Einzelheiten zu einer neuen Angriffstechnik offengelegt.

Eine neue Technik zur Ausnutzung von Schwachstellen in SQLite wurde prÀsentiert

Eine neue Technik zur Ausnutzung von Schwachstellen in SQLite wurde prÀsentiert

Quelle: opennet.ru

60GB SSD 8Gb DDR4