Техникаи нави истифодаи осебпазирӣ дар SQLite ҷорӣ карда шуд.

Муҳаққиқон аз Check Point пӯшонидашуда дар конфронси DEF CON, тафсилоти техникаи нави ҳамла ба барномаҳо бо истифода аз версияҳои осебпазири SQLite. Усули Check Point файлҳои пойгоҳи додаҳоро ҳамчун имкони ҳамгироии сенарияҳо барои истифодабарии осебпазирӣ дар зерсистемаҳои гуногуни дохилии SQLite, ки мустақиман истифода намешаванд, баррасӣ мекунад. Муҳаққиқон инчунин як усули истифодаи осебпазириро тавассути рамзгузории эксплоит дар шакли занҷири дархостҳои SELECT дар пойгоҳи додаҳои SQLite омода кардаанд, ки ба шумо имкон медиҳад ASLR-ро аз байн баред.

Барои ҳамлаи бомуваффақият, қобилияти тағир додани файлҳои пойгоҳи додаҳои замимаҳои ҳамлашуда лозим аст, ки ин усулро ба ҳамлаҳо ба барномаҳое, ки базаи SQLite-ро ҳамчун формати транзитӣ ва вуруди додаҳо истифода мебаранд, маҳдуд мекунад. Ин усул инчунин метавонад барои тавсеаи дастрасии мавҷудаи маҳаллӣ, масалан, барои ҳамгироии пушти дарҳои пинҳонӣ ба замимаҳои истифодашуда, инчунин барои гузаштан аз механизмҳои амниятӣ ҳангоми таҳлили нармафзори зараровар аз ҷониби муҳаққиқони амният истифода шавад. Амалиёт пас аз иваз кардани файл дар лаҳзаи иҷро кардани дархости SELECT-ро дар муқобили ҷадвали пойгоҳи додаҳои тағирёфта иҷро мекунад.

Ҳамчун мисол, мо қобилияти иҷро кардани кодро дар iOS ҳангоми кушодани китоби суроғаҳо нишон додем, файл бо махзани "AddressBook.sqlitedb" бо истифода аз усули пешниҳодшуда тағир дода шуд. Ҳамла як осебпазириро дар функсияи fts3_tokenizer (CVE-2019-8602, қобилияти истинод ба нишондиҳанда), ки дар навсозии SQLite 2.28 апрели соли ҷорӣ муқаррар карда шудааст ва дар баробари дигар осебпазирӣ дар татбиқи вазифаҳои тиреза. Илова бар ин, истифодаи усули ба таври фосилавӣ ба даст овардани назорати сервери бефосилаи ҳамлагар, ки дар PHP навишта шудааст, нишон дода шуд, ки паролҳое, ки ҳангоми амалиёти коди зараровар боздошт шудаанд (паролҳои боздошташуда дар шакли пойгоҳи додаҳои SQLite интиқол дода мешуданд) ҷамъоварӣ мекунанд.

Усули ҳамла ба истифодаи ду техникаи "Таъмини дархостҳо" ва "Барномасозии ба дархост нигаронидашуда" асос ёфтааст, ки имкон медиҳанд мушкилоти худсаронаеро, ки боиси фасоди хотира дар муҳаррики SQLite мешаванд, истифода баранд. Моҳияти "Таъмини дархост" иваз кардани мундариҷаи майдони "sql" дар ҷадвали хидматрасонии sqlite_master мебошад, ки сохтори пойгоҳи додаҳоро муайян мекунад. Майдони муайян блоки DDL (Забони муайянкунии маълумот)-ро дар бар мегирад, ки барои тавсифи сохтори объектҳо дар базаи маълумот истифода мешавад. Тавсиф бо истифода аз синтаксиси стандартии SQL муайян карда мешавад, яъне. сохтори "ҶАДВАЛ офарин" истифода мешавад,
ки дар ҷараёни оғозкунии пойгоҳи додаҳо иҷро карда мешавад (ҳангоми оғози аввал
Функсияҳои sqlite3LocateTable барои сохтани сохторҳои дохилии ба ҷадвал алоқаманд дар хотира.

Идея дар он аст, ки дар натиҷаи иваз кардани "ҶАДВАЛ Эҷод кардан" бо "Эҷод кардани VIEW" имкон пайдо мекунад, ки ҳама гуна дастрасӣ ба пойгоҳи додаҳо тавассути муайян кардани назари худ назорат карда шавад. Бо истифода аз "CREATE VIEW" амалиёти "SELECT" ба ҷадвал вобаста аст, ки он ба ҷои "CREATE TABLE" номида мешавад ва ба шумо имкон медиҳад, ки қисматҳои гуногуни тарҷумони SQLite дастрас шавед. Минбаъд, соддатарин усули ҳамла даъват кардани функсияи "load_extension" хоҳад буд, ки ба шумо имкон медиҳад китобхонаи ихтиёриро бо васеъкунӣ бор кунед, аммо ин функсия бо нобаёнӣ ғайрифаъол аст.

Барои анҷом додани ҳамла, вақте ки имкони иҷрои амалиёти "SELECT" имконпазир аст, техникаи "Барномасозии ба дархост нигаронидашуда" пешниҳод карда мешавад, ки имкон медиҳад мушкилоти SQLite истифода шавад, ки боиси вайроншавии хотира мегардад. Техника барномасозии ба бозгашт нигаронидашударо ба хотир меорад (РОП, Барномасозии ба бозгашт нигаронидашуда), аммо порчаҳои мавҷудаи коди мошинро барои сохтани занҷири зангҳо ("гаҷетҳо") истифода мебарад, аммо ба маҷмӯи зерпурсишҳо дар дохили SELECT дохил мекунад.

Техникаи нави истифодаи осебпазирӣ дар SQLite ҷорӣ карда шуд.

Техникаи нави истифодаи осебпазирӣ дар SQLite ҷорӣ карда шуд.

Манбаъ: opennet.ru

Илова Эзоҳ