Aptikta nauja technika, skirta išnaudoti SQLite pažeidžiamumus

pažeidžiamos SQLite versijos

Los „Check Point“ tyrėjai neseniai atskleidė DEF konferencijoje su išsamia informacija naujos atrastos technikos, tai naudojama pNorėdami užpulti programas, naudojančias pažeidžiamas „SQLite“ versijas.

Metodas „Check Point“ mano, kad duomenų bazės failai yra galimybė integruoti pažeidžiamumo išnaudojimo scenarijus įvairiuose vidiniuose SQLite posistemiuose, kurie nėra prieinami kaktai. Mokslininkai taip pat sukūrė metodą, kaip išnaudoti pažeidžiamumus, naudojant SQLite duomenų bazėje esančių SELECT užklausų eilutės pavidalo kodavimą, kuris leidžia išvengti ASLR.

Apie pažeidžiamumą

„Check Point“ tyrėjai tai detalizuoja kad užpuolimas būtų sėkmingas, užpuolikas turi sugebėti modifikuoti užpuolamų programų duomenų bazės failus, kuris apriboja programų, kurios naudoja SQLite duomenų bazes kaip tranzito ir įvesties duomenų formatą, puolimo metodą.

Nors jie taip pat atskleidžia, kad metodas taip pat gali būti naudojamas išplėsti jau gautą vietinę prieigą, pavyzdžiui, integruoti paslėptas galines duris į naudojamas programas, taip pat vengti saugumo tyrėjų analizuojant kenkėjiškas programas.

Operacija po apsimetinėjimo byla atliekama tuo metu, kai programa vykdo pirmąją SELECT užklausą modifikuotos duomenų bazės lentelėje.

Pavyzdžiui, buvo įrodyta galimybė paleisti kodą „iOS“ atidarius adresų knygą, failas su duomenų baze «Adresų knyga.sqlitedb»Kuris modifikuotas naudojant siūlomą metodą.

Dėl atakos funkcijoje „fts3_tokenizer“ buvo naudojamas pažeidžiamumas (CVE-2019-8602, galimybė daryti nuorodą į rodyklę), pataisytą balandžio mėnesio SQLite 2.28 atnaujinime, kartu su dar vienu pažeidžiamumu įgyvendinant lango funkcijas.

Be to, parodo metodo naudojimą užpakalinio serverio konfiskavimui iš užpuolikų, užrašytų PHP, kuris kaupia perimtus slaptažodžius kenkėjiško kodo operacijos metu (perimti slaptažodžiai buvo perduodami SQLite duomenų bazės pavidalu).

Atakos metodas pagrįstas dviejų metodų - užklausų užgrobimo ir į užklausas orientuoto programavimo - naudojimu, kurie leidžia išnaudoti savavališkas problemas, dėl kurių SQLite variklyje atsiranda atminties sugadinimas.

„Užklausos užgrobimo“ esmė yra „sql“ lauko turinio pakeitimas paslaugų lentelėje „sqlite_master“, apibrėžiančioje duomenų bazės struktūrą. Nurodytame lauke yra DDL (Data Definition Language) blokas, naudojamas duomenų bazės objektų struktūrai apibūdinti.

Aprašas nustatomas naudojant įprastą SQL sintaksę, t. Konstrukcija „CREATE TABLE“, kuri atliekama inicijuojant duomenų bazę (pirmą kartą vykdant funkciją sqlite3LocateTable), naudojama vidinėms struktūroms, susietoms su lentele, atminti.

Idėja yra tai, kad pakeisdami „KŪRYTI LENTEL" “ir„ KURTI PERŽIŪRĄ, galima kontroliuoti bet kokią prieigą prie duomenų bazės apibrėžiant jos požiūrį.

Kita vertus, naudojant komandą „CREATE VIEW“, prie lentelės pridedama operacija „SELECT“, kuri bus iškviesta vietoj „CREATE TABLE“ ir leis užpuolikui pasiekti įvairias SQLite vertėjo dalis.

Be to, lengviausias būdas pulti būtų iškviesti funkciją „load_extension“, kuri leidžia užpuolikui įkelti savavališką biblioteką su plėtiniu, tačiau ši funkcija pagal nutylėjimą yra išjungta.

Norėdami atlikti ataką esant galimybėms atlikti SELECT operaciją, buvo pasiūlyta į užklausas orientuota programavimo technika, leidžianti išnaudoti SQLite problemas, dėl kurių sugadinta atmintis.

Ši technika primena grįžtamąjį programavimą (ROP), tačiau naudoja neegzistuojančius mašininio kodo fragmentus, tačiau įterpiama į SELECT pakomentų rinkinį, kad būtų sukurta skambučių grandinė („programėlės“).

Fuente: https://threatpost.com/


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.