Nisy teknika vaovao hitrandrahana ny vulnerability ao amin'ny SQLite.

Mpikaroka avy amin'ny Check Point haseho ao amin'ny fihaonambe DEF CON, ny antsipirian'ny teknika vaovao amin'ny fanafihana ny rindranasa amin'ny fampiasana ny dikan-teny vulnerable an'ny SQLite. Ny fomba Check Point dia mihevitra ny rakitra angon-drakitra ho toy ny fotoana iray hampidirana scenario amin'ny fitrandrahana ny vulnerabilities amin'ny subsystems SQLite anatiny isan-karazany izay tsy azo trandrahana mivantana. Ny mpikaroka koa dia nanomana teknika amin'ny fitrandrahana ny vulnerabilities amin'ny alΓ lan'ny fametahana ny fitrandrahana amin'ny endrika rojo fanontaniana SELECT ao amin'ny angon-drakitra SQLite, izay ahafahanao mandingana ny ASLR.

Ho an'ny fanafihana mahomby dia ilaina ny manova ny rakitra tahiry amin'ny rindranasa voatafika, izay mametra ny fomba fanafihana amin'ny rindranasa mampiasa ny angon-drakitra SQLite ho endrika fampitaovana sy fampidirana data. Ny fomba dia azo ampiasaina ihany koa hanitarana ny fidirana eo an-toerana efa misy, ohatra, mba hampidirana varavarana miafina amin'ny fampiharana efa nampiasaina, ary koa handosirana ny rafitra fiarovana rehefa mamakafaka ny malware ataon'ny mpikaroka momba ny fiarovana. Ny fandidiana aorian'ny fanoloana rakitra dia atao amin'izao fotoana izao ny fampiharana dia manatanteraka ny fangatahana SELECT voalohany amin'ny latabatra ao amin'ny angon-drakitra novaina.

Ohatra, nasehonay ny fahafahana mampandeha kaody amin'ny iOS rehefa manokatra boky adiresy, ny rakitra miaraka amin'ny tahiry "AddressBook.sqlitedb" dia novaina tamin'ny alΓ lan'ny fomba natolotra. Ny fanafihana dia nampiasa vulnerability tao amin'ny fts3_tokenizer function (CVE-2019-8602, pointer dereference capability), napetraka tao amin'ny Aprily SQLite 2.28 fanavaozana, miaraka amin'ny hafa Fahamoram-pahavoazana amin'ny fampiharana ny fiasan'ny varavarankely. Fanampin'izany, naseho ny fampiasana fomba fisamborana an-davitra ny server backend an'ny mpanafika iray voasoratra ao amin'ny PHP, izay manangona ny tenimiafina voasakana nandritra ny fampandehanana ny kaody ratsy (ny tenimiafina voasakana dia nampitaina tamin'ny endrika database SQLite).

Ny fomba fanafihana dia mifototra amin'ny fampiasana teknika roa "Query Hijacking" sy "Query Oriented Programming", izay mamela ny fitrandrahana olana tsy misy dikany izay mitarika ho amin'ny kolikoly fahatsiarovana ao amin'ny motera SQLite. Ny fototry ny "Query Hijacking" dia ny fanoloana ny votoatin'ny saha "sql" ao amin'ny latabatra serivisy sqlite_master, izay mamaritra ny firafitry ny tahiry. Ny saha voatondro dia misy sakana DDL (Data Definition Language) ampiasaina hamaritana ny firafitry ny zavatra ao anaty tahiry. Ny famaritana dia voafaritra amin'ny fampiasana syntax SQL mahazatra, i.e. ny fananganana "CREATE TABLE" dia ampiasaina,
izay tanterahina mandritra ny fizotran'ny fanombohana ny angon-drakitra (nandritra ny fandefasana voalohany
sqlite3LocateTable dia miasa hamorona rafitra anatiny mifandraika amin'ny latabatra ao anaty fitadidiana.

Ny hevitra dia ny hoe, vokatry ny fanoloana ny "CREATE TABLE" amin'ny "CREATE VIEW", dia lasa azo atao ny mifehy ny fidirana amin'ny angon-drakitra amin'ny alΓ lan'ny famaritana ny fomba fijerinao manokana. Amin'ny fampiasana ny "CREATE VIEW" dia mifatotra amin'ny latabatra ny hetsika "SELECT", izay hantsoina fa tsy "CREATE TABLE" ary ahafahanao miditra amin'ny faritra samihafa amin'ny mpandika teny SQLite. Manaraka, ny fomba fanafihana tsotra indrindra dia ny fiantsoana ny fiasa "load_extension", izay ahafahanao mametaka tranomboky tsy misy dikany miaraka amin'ny fanitarana, fa ity fiasa ity dia kilemaina amin'ny alΓ lan'ny default.

Mba hanatontosana fanafihana rehefa azo atao ny manatanteraka ny hetsika "SELECT", ny teknika "Query Oriented Programming" dia atolotra, izay ahafahana manararaotra ny olana ao amin'ny SQLite izay mitarika amin'ny kolikoly fahatsiarovana. Ny teknika dia mampahatsiahy ny fandaharana miverina miverina (ROP, Return-Oriented Programming), fa tsy mampiasa sombin-kaodin'ny milina efa misy mba hananganana rojo fiantsoana (β€œgadgets”), fa ampidirina ao anatin'ny andiana subqueries ao anatin'ny SELECT.

Nisy teknika vaovao hitrandrahana ny vulnerability ao amin'ny SQLite.

Nisy teknika vaovao hitrandrahana ny vulnerability ao amin'ny SQLite.

Source: opennet.ru

Add a comment