Ny teknik för utnyttjande av sÄrbarheter i SQLite har presenterats

Forskare frÄn Check Point koden vid DEF CON-konferensen detaljerade en ny metod för attacker mot applikationer som anvÀnder sÄrbara versioner av SQLite. Check Points metod betraktar databasfiler som en möjlighet för integration av exploateringsscenarier i olika interna SQLite-underhÄllssystem, som inte kan utnyttjas direkt. Forskare har Àven förberett en exploateringsteknik med kodning av exploiten i form av en kedja av SELECT-frÄgor i SQLite-databasen, vilket möjliggör omvÀg kring ASLR.

För en framgÄngsrik attack behöver det finnas möjlighet att modifiera databaserna i de attackerade applikationerna, vilket begrÀnsar metoden till attacker mot applikationer som anvÀnder SQLite-databasen som format för transit- och indata. Metoden kan ocksÄ tillÀmpas för att utöka redan upparbetad lokal Ätkomst, till exempel för att integrera dolda bakdörrar i anvÀnda applikationer, samt för att kringgÄ sÀkerhetsmekanismer vid analys av skadlig kod. Utnyttjandet efter filmodifikation sker vid applikationens första SELECT-frÄga mot tabellen i den modifierade databasen.

Som exempel visades möjligheten att köra kod i iOS nÀr kontaktboken öppnades, dÀr filen 'AddressBook.sqlitedb' hade Àndrats med hjÀlp av den föreslagna metoden. En sÄrbarhet i funktionen fts3_tokenizer (CVE-2019-8602, möjlighet till pekaromvÀxling) utnyttjades för attacken, som ÄtgÀrdades i apriluppdateringen av SQLite 2.28, tillsammans med en annan sÄrbarhet i implementeringen av fönsterfunktioner. Dessutom demonstrerades metodens tillÀmpning för att pÄ distans fÄ kontroll över en PHP-baserad backend-server som angriparna anvÀnder för att samla in lösenord, som fÄngats under körning av skadlig kod (de fÄngade lösenorden skickades i form av SQLite-databas).

Attacken baseras pÄ anvÀndningen av tvÄ tekniker: "Query Hijacking" och "Query Oriented Programming", som gör det möjligt att utnyttja olika problem som leder till minneskorruption i SQLite-motorn. KÀrnan i "Query Hijacking" Àr att ersÀtta innehÄllet i fÀltet "sql" i den systemtabell som heter sqlite_master, vilket definierar strukturen för databasen. Det angivna fÀltet innehÄller en DDL-block (Data Definition Language) som anvÀnds för att beskriva strukturen pÄ objekten i databasen. Beskrivningen görs med den vanliga SQL-syntaxen, dvs. konstruktionen "CREATE TABLE".
som exekveras vid initialiseringen av databasen (vid första start
funktionen sqlite3LocateTable) för att skapa interna strukturer i minnet kopplade till tabellen.

Idén Àr att, genom att byta ut "CREATE TABLE" mot "CREATE VIEW", skapa möjlighet att, genom definitionen av sin egen vy, kontrollera alla anrop till databasen. Genom "CREATE VIEW" kopplas en "SELECT"-operation till tabellen, som kommer att anropas istÀllet för "CREATE TABLE" och gör det möjligt att komma Ät olika delar av SQLite-tolkaren. Det enklaste sÀttet att attackera skulle vara att anropa funktionen "load_extension", som gör att en godtycklig utvidgningsbibliotek kan laddas, men denna funktion Àr som standard avstÀngd.

För att genomföra attacken med möjlighet att utföra operationen "SELECT" föreslÄs tekniken "Query Oriented Programming", vilket möjliggör att utnyttja problem i SQLite som leder till minneskorruption. Tekniken pÄminner om ÄtervÀndorienterad programmering (ROP, Return-Oriented Programming), men anvÀnder för att bygga kedjor av anrop ("gadgets") icke-existerande fragment av maskinkod, utan insÀttningar i en uppsÀttning underfrÄgor inom SELECT.

Ny teknik för utnyttjande av sÄrbarheter i SQLite har presenterats

Ny teknik för utnyttjande av sÄrbarheter i SQLite har presenterats

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster