Një teknikë e re e shfrytëzimit të dobësive në SQLite është prezantuar

Hulumtuesit nga kompania Check Point zbuluan në konferencën DEF CON për detajet e një teknike të re sulmimi ndaj aplikacioneve që përdorin versione të pambrojtura të SQLite. Metoda e Check Point merr parasysh skedarët e DB si mundësi për integrimin e skenarëve të eksploatimit të mungesave në sub-sistemat e brendshme të SQLite, që nuk janë të aksesueshme për eksploatim direkt. Hulumtuesit gjithashtu përgatitën një teknikë për eksploatimin e mungesave duke koduar eksploitin në formën e një zinxhiri të pyetjeve SELECT në DB SQLite, e cila lejon anashkalimin e ASLR.

Për një sulm të suksesshëm është e nevojshme që të ketë mundësi për të modifikuar skedarët e DB të aplikacioneve në shënjestër, gjë që e kufizon metodën si një sulm ndaj aplikacioneve që përdorin DB SQLite si format për të dhënat e transitit dhe ato hyrëse. Metoda gjithashtu mund të përdoret për të zgjeruar qasjen lokale tashmë të fituar, për shembull, për të integruar backdoor të fshehura në aplikacionet në përdorim, si dhe për të anashkaluar mekanizmat e mbrojtjes gjatë analizës së softuerit të dëmshëm nga hulumtuesit e sigurisë. Eksploatimi pas zëvendësimit të skedarit ndodh në momentin kur aplikacioni bën pyetjen e parë SELECT ndaj tabelës në DB të modifikuar.

Si një shembull, është demonstruar mundësia e ekzekutimit të kodit në iOS kur hapet libri i adresave, skedari me DB 'AddressBook.sqlitedb' të cilin e ndryshoi duke përdorur metodën e propozuar. Për sulmin u përdor një mungesë në funksionin fts3_tokenizer (CVE-2019-8602, një mundësi për dereferencimin e treguesve), e korrigjuar në përditësimin e prillit të SQLite 2.28, së bashku me një mungesë tjetër mungese në zbatimin e funksioneve dritare. Për më tepër, u demonstrua aplikimi i metodës për kapjen e qeverisjes së një serveri backend shkruar në PHP nga keqbërësit, i cili kryente grumbullimin e fjalëkalimeve të kapura gjatë funksionimit të kodit të dëmshëm (fjalëkalimet e kapura u dërguan në formën e DB SQLite).

Metoda e sulmit bazohet në përdorimin e dy teknikave 'Query Hijacking' dhe 'Query Oriented Programming', që lejojnë eksploatimin e problemeve të rastit që çojnë në dëmtime të memories në motorin SQLite. Thelbi i 'Query Hijacking' është zëvendësimi i përmbajtjes së fushës 'sql' në tabelën e shërbimit sqlite_master, që përcakton strukturën e DB. Kjo fushë përmban një bllok DDL (Data Definition Language), i përdorur për të përshkruar strukturën e objekteve në DB. Përshkrimi jepet duke përdorur sintaksën e zakonshme SQL, pra përdoret struktura 'CREATE TABLE',
e cila ekzekutohet gjatë inicializimit të DB (në momentin e parë që
funksioni sqlite3LocateTable) për të krijuar struktura të brendshme të lidhura me tabelën në memorie.

Ideja është që, si rezultat i zëvendësimit të 'CREATE TABLE' me 'CREATE VIEW', të krijohet mundësia për të kontrolluar çdo referencë ndaj DB përmes definimit të pamjes së vet. Me 'CREATE VIEW', operacioni 'SELECT' anexohet tabelës, e cila do të thirret në vend të 'CREATE TABLE' dhe lejon qasjen në pjesë të ndryshme të interpretuesit SQLite. Më pas, mënyra më e thjeshtë e sulmit do të ishte thirrja e funksionit 'load_extension', i cili lejon ngarkimin e një biblioteke të rastësishme me një zgjerim, por ky funksion është i çaktivizuar si parazgjedhje.

Për të realizuar sulmin në kushtet e mundësisë për të ekzekutuar operacionin 'SELECT', është propozuar teknika 'Query Oriented Programming', që lejon eksploatimin e problemeve në SQLite, që çojnë në dëmtim të memories. Teknikat ngjan me programimin e orientuar pas kthimit (ROP, Return-Oriented Programming), por përdor për ndërtimin e zinxhirit të thirrjeve ('gadgets') pjesë të papërfshira të kodit makinerik, por inserte në grupin e nënpyetjeve brenda SELECT.

Një teknikë e re e shfrytëzimit të dobësive në SQLite është prezantuar

Një teknikë e re e shfrytëzimit të dobësive në SQLite është prezantuar

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster