SQLite-haavoittuvuuksien hyödyntämiseksi löydettiin uusi tekniikka

haavoittuvia SQLite-versioita

Los Check Point -tutkijat paljastivat äskettäin DEF-konferenssissa yksityiskohdat uuden tekniikan löytämisestä, tätä käytetään sHyökkää sovelluksiin, jotka käyttävät haavoittuvia SQLite-versioita.

Menetelmä Check Point näkee tietokantatiedostot mahdollisuutena integroida haavoittuvuuksien hyödyntämisskenaariot useissa sisäisissä SQLite-alijärjestelmissä, joihin otsaa ei voida käyttää hyväksi. Tutkijat kehittivät myös tekniikan haavoittuvuuksien hyödyntämiseksi hyödyntämällä koodausta SELECT-kyselyjen muodossa SQLite-tietokannassa, mikä mahdollistaa ASLR: n välttämisen.

Tietoja haavoittuvuudesta

Check Pointin tutkijat tarkentavat sitä onnistuneen hyökkäyksen saavuttamiseksi hyökkääjän on kyettävä muokkaamaan hyökättyjen sovellusten tietokantatiedostoja, joka rajoittaa tapaa hyökätä sovelluksiin, jotka käyttävät SQLite-tietokantoja kauttakulku- ja syötetietojen muodossa.

Vaikka he paljastavat myös, että menetelmää voidaan käyttää myös jo saadun paikallisen pääsyn laajentamiseen, esimerkiksi integroida piilotetut takaovet käytettyihin sovelluksiin sekä välttää tietoturvatutkijoita haittaohjelmia analysoitaessa.

Toiminto tiedoston esiintymisen jälkeen suoritetaan silloin, kun sovellus suorittaa ensimmäisen SELECT-pyynnön muokatun tietokannan taulukolle.

Esimerkiksi kyky suorittaa koodi iOS: ssä osoitekirjan avaamisen yhteydessä osoitettiin, tiedosto tietokannan kanssa «Osoitekirja.sqlitedb»Jota muokattiin ehdotetulla menetelmällä.

Hyökkäystä varten fts3_tokenizer-toiminnossa käytettiin haavoittuvuutta (CVE-2019-8602, kyky jättää osoittimen huomiotta), joka on korjattu huhtikuun SQLite 2.28 -päivityksessä, sekä toinen haavoittuvuus ikkunatoimintojen toteutuksessa.

Lisäksi, osoittaa menetelmän käytön backend-palvelimen takavarikointiin PHP: llä kirjoitetuilta hyökkääjiltä, joka kerää siepatut salasanat haitallisen koodin käytön aikana (siepatut salasanat siirrettiin SQLite-tietokannan muodossa).

Hyökkäysmenetelmä perustuu kahden tekniikan, kyselyn kaappaamisen ja kyselyyn suuntautuneen ohjelmoinnin käyttöön, jotka mahdollistavat mielivaltaisten ongelmien, jotka johtavat SQLite-moottorin muistivirheisiin, hyödyntämisen.

"Kyselyn kaappaamisen" ydin on korvata "sql" -kentän sisältö sqlite_master-palvelutaulukossa, joka määrittelee tietokannan rakenteen. Määritetty kenttä sisältää DDL-lohkon (Data Definition Language), jota käytetään kuvaamaan tietokannan objektien rakennetta.

Kuvaus määritetään normaalilla SQL-syntaksilla, ts. "CREATE TABLE" -rakennetta, joka suoritetaan tietokannan alustuksen aikana (sqlite3LocateTable-toiminnon ensimmäisen suorituksen aikana), käytetään luomaan sisäisiä rakenteita, jotka on liitetty taulukkoon muistissa.

Ajatuksena on, että "CREATE TABLE" ja "CREATE VIEW" korvataan, on mahdollista hallita mitä tahansa pääsyä tietokantaan määrittelemällä sen näkymä.

Toisaalta "CREATE VIEW" -komennon avulla taulukkoon liitetään "SELECT" -operaatio, jota kutsutaan "CREATE TABLE" -toiminnon sijasta ja jonka avulla hyökkääjä voi käyttää SQLite-tulkin eri osia.

Tämän lisäksi helpoin tapa hyökätä olisi kutsua "load_extension" -toiminto, jonka avulla hyökkääjä voi ladata mielivaltaisen kirjaston laajennuksella, mutta tämä toiminto on oletusarvoisesti poissa käytöstä.

Hyökkäyksen suorittamiseksi SELECT-operaation suorittamisen ehdoissa ehdotettiin kyselylähtöistä ohjelmointitekniikkaa, joka sallii SQLite-ongelmien hyödyntämisen, jotka johtavat muistivirheisiin.

Tekniikka muistuttaa ROP (Return Oriented Programming) -menetelmää, mutta käyttää ei-olemassa olevia konekoodikatkelmia, mutta se lisätään SELECT-kyselyjoukon sarakkeeseen ("gadgetit").

lähde: https://threatpost.com/


Ole ensimmäinen kommentti

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.