Es wurde eine neue Technik entdeckt, um Schwachstellen in SQLite auszunutzen

anfällige Versionen von SQLite

Die Check Point-Forscher haben kürzlich enthüllt auf der DEF-Konferenz mit den Details einer neuen Technik, die entdeckt wurde, dies wird verwendet pSo greifen Sie Anwendungen an, die anfällige Versionen von SQLite verwenden.

Die Methode Check Point sieht in Datenbankdateien die Möglichkeit, Szenarien zur Ausnutzung von Sicherheitslücken zu integrieren in verschiedenen internen SQLite-Subsystemen, auf die für die Stirnausnutzung nicht zugegriffen werden kann. Die Forscher entwickelten auch eine Technik zum Ausnutzen von Schwachstellen mit Exploit-Codierung in Form einer Folge von SELECT-Abfragen in einer SQLite-Datenbank, mit der ASLR vermieden werden kann.

Über Verwundbarkeit

Die Check Point-Forscher beschreiben dies detailliert Für einen erfolgreichen Angriff muss ein Angreifer in der Lage sein, die Datenbankdateien der angegriffenen Anwendungen zu ändernDies schränkt die Methode zum Angriff auf Anwendungen ein, die SQLite-Datenbanken als Format für Übertragungs- und Eingabedaten verwenden.

Obwohl Sie offenbaren auch, dass das Verfahren auch verwendet werden kann, um den bereits erhaltenen lokalen Zugriff zu erweitern. Zum Beispiel, um versteckte Hintertüren in die verwendeten Anwendungen zu integrieren und Sicherheitsforscher bei der Analyse von Malware zu vermeiden.

Die Operation nach dem Identitätswechsel der Datei wird zu dem Zeitpunkt ausgeführt, zu dem die Anwendung die erste SELECT-Anforderung an die Tabelle in der geänderten Datenbank ausführt.

Als Beispiel wurde die Möglichkeit demonstriert, Code unter iOS beim Öffnen des Adressbuchs auszuführen: die Datei mit der Datenbank «Adressbuch.sqlitedb»Die mit der vorgeschlagenen Methode modifiziert wurde.

Für den Angriff In der Funktion fts3_tokenizer wurde eine Sicherheitsanfälligkeit verwendet (CVE-2019-8602, die Fähigkeit, einen Zeiger zu dereferenzieren), behoben im April SQLite 2.28-Update, zusammen mit einer weiteren Sicherheitsanfälligkeit bei der Implementierung von Fensterfunktionen.

Zusätzlich demonstriert die Verwendung der Methode zur Fernsteuerung eines Backend-Servers durch in PHP geschriebene Angreifer, die während des Vorgangs mit bösartigem Code abgefangene Kennwörter ansammelt (die abgefangenen Kennwörter wurden in Form einer SQLite-Datenbank übertragen).

Die Angriffsmethode basiert auf der Verwendung von zwei Techniken, Query Hijacking und Query Oriented Programming, mit denen beliebige Probleme, die zu Speicherbeschädigungen in der SQLite-Engine führen, ausgenutzt werden können.

Die Essenz von "Query Hijacking" besteht darin, den Inhalt des Felds "sql" in der Diensttabelle "sqlite_master" zu ersetzen, die die Struktur der Datenbank definiert. Das angegebene Feld enthält den DDL-Block (Data Definition Language), mit dem die Struktur der Objekte in der Datenbank beschrieben wird.

Die Beschreibung wird unter Verwendung der normalen SQL-Syntax festgelegt, d. H. Das Konstrukt "CREATE TABLE", das während der Datenbankinitialisierung (während der ersten Ausführung der Funktion sqlite3LocateTable) ausgeführt wird, wird verwendet, um interne Strukturen zu erstellen, die der Tabelle im Speicher zugeordnet sind.

Die Idee ist, dass als Ergebnis des Ersetzens von "CREATE TABLE" und "CREATE VIEW"ist es möglich, jeden Zugriff auf die Datenbank durch die Definition ihrer Ansicht zu steuern.

Andererseits wird mit dem Befehl "CREATE VIEW" eine "SELECT" -Operation an die Tabelle angehängt, die anstelle von "CREATE TABLE" aufgerufen wird und dem Angreifer den Zugriff auf verschiedene Teile des SQLite-Interpreters ermöglicht.

Außerdem ist der einfachste Weg zum Angriff der Aufruf der Funktion "load_extension", mit der der Angreifer eine beliebige Bibliothek mit der Erweiterung laden kann. Diese Funktion ist jedoch standardmäßig deaktiviert.

Um einen Angriff unter den Bedingungen der Fähigkeit auszuführen, die SELECT-Operation auszuführen, wurde die abfrageorientierte Programmiertechnik vorgeschlagen, mit der Probleme in SQLite ausgenutzt werden können, die zu einer Speicherbeschädigung führen.

Die Technik erinnert an ROP (Return Oriented Programming), verwendet jedoch nicht vorhandene Maschinencode-Snippets, wird jedoch in eine Reihe von Unterabfragen in SELECT eingefügt, um eine Aufrufkette ("Gadgets") zu erstellen.

Quelle: https://threatpost.com/


Hinterlasse einen Kommentar

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

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.