Ang isang bagong pamamaraan ay natuklasan upang pagsamantalahan ang mga kahinaan sa SQLite

mahina bersyon ng SQLite

Los Kamakailan lamang ay isiniwalat ng mga mananaliksik ng Check Point sa DEF conference kasama ang mga detalye ng isang bagong pamamaraan na natuklasan, ginagamit ito pUpang atakein ang mga application na gumagamit ng mga mahina na bersyon ng SQLite.

Ang pamamaraan Isinasaalang-alang ng Check Point ang mga file ng database bilang isang pagkakataon upang isama ang mga sitwasyon ng pagsasamantala sa kahinaan sa iba't ibang panloob na mga subsystem ng SQLite na hindi ma-access para sa pagsasamantala sa noo. Ang mga mananaliksik ay nakabuo din ng isang diskarte upang pagsamantalahan ang mga kahinaan na may pagsasamantalang pag-coding sa anyo ng isang string ng mga Piling tanong sa isang database ng SQLite, na nagbibigay-daan sa iwasan ang ASLR.

Tungkol sa kahinaan

Ang detalye ng mga mananaliksik ng Check Point na Para sa isang matagumpay na pag-atake, dapat na baguhin ng isang umaatake ang mga file ng database ng mga inaatake na application, na naglilimita sa paraan ng pag-atake ng mga application na gumagamit ng mga database ng SQLite bilang format para sa data ng pagbibiyahe at pag-input.

Kahit na isiniwalat din nila na ang pamamaraan ay maaari ring magamit upang mapalawak ang lokal na na-access na nakuha, halimbawa, upang isama ang mga nakatagong mga pintuan sa likod sa mga application na ginamit, pati na rin upang maiwasan ang mga mananaliksik sa seguridad kapag pinag-aaralan ang malware.

Ang operasyon pagkatapos ng pagpapanggap ng file ay ginaganap sa oras na isinasagawa ng aplikasyon ang unang Hiling na kahilingan sa talahanayan sa binagong database.

Bilang isang halimbawa, ang kakayahang magpatakbo ng code sa iOS kapag binubuksan ang address book ay ipinakita, ang file na may database «AddressBook.sqlitedb»Alin ang nabago gamit ang ipinanukalang pamamaraan.

Para sa pag-atake, isang kahinaan ang ginamit sa pagpapaandar ng fts3_tokenizer (CVE-2019-8602, ang kakayahang makilala ang isang pointer), naayos sa pag-update ng Abril SQLite 2.28, kasama ang isa pang kahinaan sa pagpapatupad ng mga pagpapaandar ng window.

Bukod dito, ipinapakita ang paggamit ng pamamaraan para sa pag-agaw ng remote control ng isang backend server mula sa mga umaatake na nakasulat sa PHP, na naipon ang mga naharang na password sa panahon ng nakakahamak na pagpapatakbo ng code (ang mga naharang na password ay inilipat sa anyo ng isang database ng SQLite).

Ang pamamaraan ng pag-atake ay batay sa paggamit ng dalawang diskarte, ang Query Hijacking at Query oriented Programming, na nagpapahintulot sa di-makatwirang mga problema na humantong sa memorya ng katiwalian sa SQLite engine na mapagsamantalahan.

Ang kakanyahan ng "Query hijacking" ay upang palitan ang nilalaman ng "sql" na patlang sa talahanayan ng serbisyo ng sqlite_master na tumutukoy sa istraktura ng database. Ang tinukoy na patlang ay naglalaman ng block ng DDL (Data Definition Language) na ginamit upang ilarawan ang istraktura ng mga bagay sa database.

Ang paglalarawan ay itinakda gamit ang normal SQL syntax, ibig sabihin. Ang "CREATE TABLE" konstruksyon, na kung saan ay ginanap sa panahon ng pagsisimula ng database (sa panahon ng unang pagpapatupad ng sqlite3LocateTable function) ay ginagamit upang lumikha ng mga panloob na istruktura na nauugnay sa talahanayan sa memorya.

Ang ideya ay na bilang isang resulta ng pagpapalit ng "GUMAWA NG TABLE" at "LIKHA NG TINGNAN, posible na kontrolin ang anumang pag-access sa database sa pamamagitan ng kahulugan ng pagtingin nito.

Sa kabilang banda, gamit ang utos na "CREATE VIEW", isang operasyon na "SELECT" ang nakakabit sa talahanayan, na tatawag sa halip na "CREATE TABLE" at pinapayagan ang magsasalakay na ma-access ang iba't ibang bahagi ng interpreter ng SQLite.

Bukod dito, ang pinakamadaling paraan ng pag-atake ay ang tawagan ang "load_extension" na pagpapaandar, na nagpapahintulot sa magsasalakay na ma-load ang isang di-makatwirang library na may extension, ngunit ang pagpapaandar na ito ay hindi pinagana bilang default.

Upang magsagawa ng isang pag-atake sa ilalim ng mga kundisyon ng kakayahang magsagawa ng SELECT na operasyon, iminungkahi ang diskarte sa programa na nakatuon sa query na iminungkahi, na nagpapahintulot sa pagsamantalahan ng mga problema sa SQLite na humahantong sa katiwalian sa memorya.

Ang pamamaraan ay nakapagpapaalala ng Return Oriented Programming (ROP), ngunit gumagamit ng mga hindi umiiral na mga code ng machine code, ngunit naipasok sa isang hanay ng mga subquery sa loob ng SELECT upang makabuo ng isang kadena ng mga tawag ("gadget").

Fuente: https://threatpost.com/


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.