Техникаи нав барои истифодаи осебпазирии Spectre дар Chrome

Як гурӯҳи муҳаққиқон аз донишгоҳҳои Амрико, Австралия ва Исроил як усули нави ҳамлаи паҳлӯиро барои истифода аз осебпазириҳои синфи Spectre дар браузерҳо дар асоси муҳаррики Chromium пешниҳод карданд. Ҳамла бо номи рамзии Spook.js ба шумо имкон медиҳад, ки тавассути иҷро кардани коди JavaScript аз механизми ҷудокунии сайт канорагирӣ кунед ва мундариҷаи тамоми фазои суроғаи раванди ҷорӣро хонед, яъне. дастрасӣ ба маълумот аз саҳифаҳое, ки дар ҷадвалҳои дигар кор мекунанд, аммо дар ҳамон раванд коркард мешаванд.

Азбаски Chrome сайтҳои гуногунро дар равандҳои гуногун иҷро мекунад, қобилияти анҷом додани ҳамлаҳои амалӣ бо хидматҳое маҳдуд аст, ки ба корбарони гуногун имкон медиҳанд, ки саҳифаҳои худро ҷойгир кунанд. Ин усул имкон медиҳад, ки аз саҳифае, ки ҳамлагар имкони ворид кардани коди JavaScript-и худро дорад, мавҷудияти саҳифаҳои дигареро, ки корбар аз ҳамон сайт кушодааст, муайян кунад ва аз онҳо маълумоти махфӣ, масалан, маълумоти эътимоднок ё реквизитҳои бонкии ивазшударо ба даст орад. аз ҷониби системаи автоматии пуркунии майдонҳо дар шаклҳои веб. Ҳамчун намоиш, нишон дода шудааст, ки чӣ гуна шумо метавонед ба блоги ягон каси дигар дар хидмати Tumblr ҳамла кунед, агар соҳиби он блоги ҳамлагаронро, ки дар ҳамон хидмат ҷойгир аст, дар ҷадвали дигар кушояд.

Варианти дигари истифодаи усул ин ҳамла ба изофаҳои браузер мебошад, ки имкон медиҳад ҳангоми насб кардани изофае, ки аз ҷониби ҳамлагар идора мешавад, аз дигар замимаҳо маълумот истихроҷ кунад. Ҳамчун мисол, мо нишон медиҳем, ки чӣ гуна тавассути насб кардани як замимаи зараровар шумо метавонед маълумоти махфиро аз мудири пароли LastPass истихроҷ кунед.

Тадқиқотчиён як прототипи эксплойтро нашр карданд, ки дар Chrome 89 дар системаҳои дорои CPUIntel i7-6700K ва i7-7600U кор мекунад. Ҳангоми эҷоди истисмор, прототипҳои коди JavaScript, ки қаблан аз ҷониби Google нашр шуда буд, барои анҷом додани ҳамлаҳои синфи Spectre истифода мешуданд. Қайд карда мешавад, ки муҳаққиқон тавонистанд эксплойтҳои кории системаҳоро дар асоси протсессори Intel ва Apple M1 омода кунанд, ки имкон медиҳад хониши хотира бо суръати 500 байт дар як сония ва дақиқии 96% ташкил карда шавад. Тахмин меравад, ки ин усул ба протсессори AMD низ дахл дорад, аммо омода кардани истисмори пурраи функсионалӣ имконнопазир буд.

Ҳамла ба ҳама гуна браузерҳо дар асоси муҳаррики Chromium, аз ҷумла Google Chrome, Microsoft Edge ва Brave дахл дорад. Муҳаққиқон инчунин бар ин назаранд, ки ин усулро метавон ба кор бо Firefox мутобиқ кард, аммо азбаски муҳаррики Firefox аз Chrome хеле фарқ мекунад, кор оид ба эҷоди чунин эксплойт ба оянда гузошта шудааст.

Барои муҳофизат аз ҳамлаҳои ба браузер асосёфта вобаста ба иҷрои тахминии дастурҳо, Chrome сегментатсияи фазои суроғаро амалӣ мекунад - ҷудокунии қуттии қум имкон медиҳад, ки JavaScript танҳо бо нишондиҳандаҳои 32-битӣ кор кунад ва хотираи коркардкунандагонро дар тӯдаҳои ҷудогонаи 4 ГБ мубодила кунад. Барои таъмини дастрасӣ ба тамоми фазои суроғаи раванд ва гузаштан аз маҳдудияти 32-бит, муҳаққиқон усулеро бо номи Type Confusion истифода бурданд, ки муҳаррики JavaScript-ро маҷбур мекунад, ки объекти навъи нодурустро коркард кунад, ки имкон медиҳад як 64-бит ташкил карда шавад. нишондиҳанда дар асоси омезиши ду арзиши 32-бит.

Моҳияти ҳамла дар он аст, ки ҳангоми коркарди объекти зараровари махсус тарҳрезишуда дар муҳаррики JavaScript шароите ба вуҷуд меояд, ки боиси иҷрои тахминии дастурҳое мегардад, ки ба массив дастрасӣ доранд. Объект тавре интихоб карда мешавад, ки майдонҳои аз ҷониби ҳамлакунанда идорашаванда дар минтақае ҷойгир карда шаванд, ки нишондиҳандаи 64-бит истифода мешавад. Азбаски навъи объекти зараровар ба намуди массиве, ки коркард мешавад, мувофиқат намекунад, дар шароити муқаррарӣ ин амалҳо дар Chrome тавассути механизми безараргардонии коде, ки барои дастрасӣ ба массивҳо истифода мешавад, баста мешаванд. Барои ҳалли ин мушкилот, рамзи ҳамлаи Type Confusion дар блоки шартии "агар" ҷойгир карда мешавад, ки он дар шароити муқаррарӣ фаъол нест, аммо дар ҳолати тахминӣ иҷро мешавад, агар протсессор шохаҳои минбаъдаро нодуруст пешгӯӣ кунад.

Дар натиҷа, протсессор ба таври тахминӣ ба нишоннамои тавлидшудаи 64-бит дастрасӣ пайдо мекунад ва пас аз муайян кардани пешгӯии ноком ҳолати худро бармегардонад, аммо нишонаҳои иҷро дар кэши муштарак боқӣ мемонанд ва онҳоро метавон бо истифода аз усулҳои ошкоркунии кэши паҳлӯии канал, ки тағиротро дар вақти дастрасӣ ба маълумоти кэшшуда ва кэшнашуда. Барои таҳлили мундариҷаи кэш дар шароити дақиқии нокифояи таймери дар JavaScript мавҷудбуда, усули пешниҳодкардаи Google истифода мешавад, ки стратегияи ихроҷи кэши Tree-PLRU-ро, ки дар протсессорҳо истифода мешавад, фиреб медиҳад ва имкон медиҳад, ки бо афзоиши шумораи давраҳо фарқияти вақтро дар вақти мавҷудбуда дар кэш ба таври назаррас зиёд кунед.

Манбаъ: opennet.ru

Илова Эзоҳ