Check Pointeko ikertzaileak
Eraso arrakastatsua izateko, beharrezkoa da erasotutako aplikazioen datu base-fitxategiak aldatu ahal izatea, eta horrek metodoa SQLite datu-basea igarotzeko eta sarrerako datuetarako formatu gisa erabiltzen duten aplikazioen aurkako erasoetara mugatzen du. Metodoa lehendik dagoen tokiko sarbidea zabaltzeko ere erabil daiteke, adibidez, ezkutuko atzeko ateak erabilitako aplikazioetan integratzeko, baita segurtasun-mekanismoak saihesteko segurtasun-ikertzaileek malwarea aztertzerakoan. Fitxategien ordezkapenaren ondorengo eragiketa aplikazioak lehen SELECT kontsulta exekutatzen duen unean egiten da aldatutako datu-baseko taula baten aurka.
Adibide gisa, iOS-en kodea exekutatzeko gaitasuna erakutsi genuen helbide-liburua irekitzean, "AddressBook.sqlitedb" datu-basea duen fitxategia proposatutako metodoa erabiliz aldatu zen. Erasoak fts3_tokenizer funtzioan ahultasun bat erabili zuen (CVE-2019-8602, erakuslearen deserreferentzia gaitasuna), apirileko SQLite 2.28 eguneratzean konpondutako beste batekin batera.
Eraso-metodoa "Kontsulta bahiketa" eta "Kontsulta-Orientatutako Programazioa" bi tekniken erabileran oinarritzen da, SQLite motorean memoria usteltzen duten arazo arbitrarioak ustiatzeko aukera ematen dutenak. "Kontsulta bahiketa"-ren funtsa datu-basearen egitura zehazten duen sqlite_master zerbitzu-taulan "sql" eremuaren edukia ordezkatzea da. Zehaztutako eremuak datu-baseko objektuen egitura deskribatzeko erabiltzen den DDL (Data Definition Language) bloke bat dauka. Deskribapena SQL sintaxi estandarra erabiliz zehazten da, hau da. "SORTU TAULA" eraikuntza erabiltzen da,
datu-basearen hasierako prozesuan exekutatzen dena (lehen abiaraztean
sqlite3LocateTable funtzioak memorian taularekin lotutako barne egiturak sortzeko.
Ideia da, "SORTU TAULA" "SORTU IKUSPEGIA"rekin ordezkatzearen ondorioz, datu-baserako edozein sarbide kontrolatzea posible dela zure ikuspegia zehaztuz. "SORTU IKUSPEGIA" erabiliz "SELECT" eragiketa bat lotzen zaio taulari, "SORTU TAULA"ren ordez deituko dena eta SQLite interpretearen atal ezberdinetara sartzeko aukera ematen du. Ondoren, eraso-metodorik errazena "load_extension" funtzioari deitzea izango litzateke, liburutegi arbitrario bat luzapen batekin kargatzeko aukera ematen duena, baina funtzio hau lehenespenez desgaituta dago.
βSELECTβ eragiketa egitea posible denean eraso bat egiteko, βConsulta Orientada ProgramaciΓ³nβ teknika proposatzen da, memoriaren ustelkeria dakarten SQLite-n arazoak baliatzea ahalbidetzen duena. Teknikak itzulera bideratutako programazioa gogorarazten du (
Iturria: opennet.ru