Új technikát fedeztek fel az SQLite biztonsági réseinek kiaknázására

az SQLite sérülékeny verziói

sok A Check Point kutatói nemrégiben elárulták a DEF konferencián a részletekkel felfedezett új technika, ezt használják pAz SQLite sérülékeny verzióit használó alkalmazások megtámadása.

A módszer A Check Point az adatbázisfájlokat a biztonsági rés kihasználási forgatókönyveinek integrálásának lehetőségének tekinti különféle belső SQLite alrendszerekben, amelyek nem érhetők el a homlok kiaknázása céljából. A kutatók egy olyan technikát is kifejlesztettek a sebezhetőségek kiaknázására, amelyek egy SQLite adatbázisban található SELECT-lekérdezések formájában kódolást használnak, ami lehetővé teszi az ASLR elkerülését.

A sebezhetőségről

A Check Point kutatói ezt részletezik A sikeres támadáshoz a támadónak képesnek kell lennie a támadott alkalmazások adatbázisfájljainak módosítására, amely korlátozza az SQLite adatbázisokat használó alkalmazások megtámadásának módját a tranzit és a bemeneti adatok formátumaként.

Bár azt is elárulják, hogy a módszer a már megszerzett helyi hozzáférés bővítésére is használható, például rejtett hátsó ajtók integrálása a használt alkalmazásokba, valamint a biztonsági kutatók elkerülése a rosszindulatú programok elemzése során.

A fájlok megszemélyesítése utáni műveletet akkor hajtják végre, amikor az alkalmazás végrehajtja az első SELECT kérést a módosított adatbázis táblájához.

Példaként bemutattuk a kód futtatásának képességét az iOS rendszeren a címjegyzék megnyitásakor, a fájl az adatbázissal «Címjegyzék.sqlitedb»Amit a javasolt módszerrel módosítottak.

A támadáshoz sebezhetőséget használtak az fts3_tokenizer függvényben (CVE-2019-8602, a mutató levonásának képessége), javítva az áprilisi SQLite 2.28 frissítésben, valamint egy további biztonsági rés az ablakfunkciók megvalósításában.

Ezen túlmenően, bemutatja a háttér-kiszolgáló távoli vezérlésének lefoglalását a támadóktól PHP-ben írva, amely az elfogott jelszavakat rosszindulatú kód-műveletek során halmozza fel (az elfogott jelszavakat SQLite adatbázis formájában továbbították).

A támadási módszer kétféle technikán alapszik, a Lekérdezés eltérítés és a Lekérdezés orientált programozás használatával, amelyek lehetővé teszik az SQLite motor memóriasérüléséhez vezető tetszőleges problémák kihasználását.

A "Lekérdezés eltérítése" lényege az "sql" mező tartalmának cseréje az adatbázis struktúráját meghatározó sqlite_master szolgáltatási táblázatban. A megadott mező tartalmazza az adatbázisban található objektumok felépítésének leírására használt DDL (Data Definition Language) blokkot.

A leírás normál SQL szintaxissal, azaz. A "CREATE TABLE" konstrukciót, amelyet az adatbázis inicializálása során hajtanak végre (az sqlite3LocateTable függvény első végrehajtása során), a memóriában lévő táblához társított belső struktúrák létrehozására használják.

Az ötlet az, hogy a "CREATE TABLE" és a "CREATE VIEW" cseréje eredményeként, az adatbázis bármilyen hozzáférését a nézetének meghatározásával lehet szabályozni.

Másrészt a "CREATE VIEW" paranccsal egy "SELECT" műveletet csatolnak a táblához, amelyet a "CREATE TABLE" helyett meghívnak, és lehetővé teszi a támadó számára az SQLite tolmács különböző részeihez való hozzáférést.

Emellett a támadás legegyszerűbb módja a "load_extension" függvény meghívása, amely lehetővé teszi, hogy a támadó tetszőleges könyvtárat tölthessen be a kiterjesztéssel, de ez a funkció alapértelmezés szerint le van tiltva.

Támadás végrehajtásához a SELECT művelet végrehajtásának képessége mellett javasoljuk a lekérdezésorientált programozási technikát, amely lehetővé teszi az SQLite memóriasérüléshez vezető problémáinak kihasználását.

A technika a Return Oriented Programming (ROP) -ra emlékeztet, de nem létező gépi kódrészleteket használ, de a SELECT-en belül a lekérdezések ("kütyük") felépítéséhez beszúrják az alkérdezések halmazába.

forrás: https://threatpost.com/


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.