Уцечка дадзеных праз колцавую шыну CPU Intel

Група даследнікаў з Ілінойскага ўніверсітэта распрацавала новую тэхніку нападу па іншых каналах, якая маніпулюе ўцечкай інфармацыі праз колцавую шыну (Ring Interconnect) працэсараў Intel. Атака дазваляе вылучаць звесткі аб працы з памяццю ў іншым дадатку і адсочваць інфармацыю аб часе націску клавіш. Даследнікі апублікавалі інструментарый для правядзення спадарожных вымярэнняў і некалькі прататыпаў эксплоітаў.

Прапанавана тры эксплоіты, якія дазволяць:

  • Аднавіць асобныя біты ключоў шыфравання пры выкарыстанні рэалізацый RSA і EdDSA, уразлівых да нападаў па іншых каналах (калі затрымкі пры вылічэнні залежаць ад апрацоўваных дадзеных). Напрыклад, уцечкі асобных бітаў з інфармацыяй аб вектары ініцыялізацыі (nonce) EdDSA досыць для ўжывання нападаў па паслядоўным узнаўленні ўсяго зачыненага ключа. Атака цяжкарэалізаваная на практыцы і можа быць здзейснена пры вялікай колькасці агаворак. Напрыклад, паспяховая эксплуатацыя паказана пры адключэнні SMT (HyperThreading) і сегментаванні LLC-кэша паміж ядрамі CPU.
  • Вызначыць параметры аб затрымках паміж націскам клавіш. Затрымкі залежаць ад становішча клавіш і дазваляюць праз правядзенне статыстычнага аналізу з вызначанай верагоднасцю ўзнавіць уводныя з клавіятуры дадзеныя (напрыклад, большасць людзей звычайна набіраюць "s" пасля "a" значна хутчэй, чым "g" пасля "s").
  • Арганізаваць утоены канал сувязі для перадачы дадзеных паміж працэсамі з хуткасцю каля 4 мегабіт у секунду, у якім не выкарыстоўваецца падзяляная памяць, працэсарны кэш і спецыфічныя для ядраў CPU рэсурсы і працэсарныя структуры. Адзначаецца, што прапанаваны метад стварэння ўтоенага канала вельмі цяжка блакаваць існымі метадамі абароны ад нападаў па іншых каналах.

Эксплоіты не патрабуюць падвышаных прывілеяў і могуць быць скарыстаны звычайнымі непрывілеяванымі карыстачамі. Адзначаецца, што патэнцыйна атака можа быць адаптаваная для арганізацыі ўцечкі дадзеных паміж віртуальнымі машынамі, але дадзенае пытанне выйшла за рамкі даследавання і тэсціраванне сістэм віртуалізацыі не праводзілася. Прапанаваны код апрабаваны на CPU Intel i7-9700 у асяроддзі Ubuntu 16.04/XNUMX. У агульным выглядзе метад нападу пратэставаны на настольных працэсарах сямейства Intel Coffee Lake і Skylake, а таксама патэнцыйна дастасавальны да серверных працэсарам Xeon сямейства Broadwell.

Тэхналогія Ring Interconnect з'явілася ў працэсарах на базе мікраархітэктуры Sandy Bridge і складаецца з некалькіх закальцаваных шын, выкарыстоўваных для сувязі вылічальных і графічных ядраў, сервернага маста і кэша. Сутнасць метаду нападу ў тым, што з-за абмежаванні прапускной здольнасці колцавай шыны аперацыі з памяццю ў адным працэсе затрымоўваюць доступ да памяці іншага працэсу. Вызначыўшы дэталі рэалізацыі праз зваротны інжынірынг атакуючы можа генераваць нагрузку, якая прыводзіць да затрымак доступу да памяці ў іншым працэсе і выкарыстоўваць дадзеныя затрымкі ў якасці іншага канала для атрымання інфармацыі.

Напады на ўнутраныя шыны CPU абцяжараныя адсутнасцю інфармацыі аб архітэктуры і метадах працы шыны, а таксама высокім узроўнем шуму, які абцяжарвае вылучэнне карысных дадзеных. У прынцыпах працы шыны ўдалося разабрацца праз правядзенне зваротнага інжынірыга пратаколаў, якія прымяняюцца пры перадачы даных праз шыну. Для аддзялення карыснай інфармацыі ад шуму была прыменена мадэль класіфікацыі даных, заснаваная на метадах машыннага навучання. Прапанаваная мадэль дазволіла арганізаваць маніторынг затрымак пры вылічэннях у канкрэтным працэсе, ва ўмовах калі некалькі працэсаў адначасова звяртаюцца да памяці і вызначаная частка дадзеныя аддаецца з працэсарных кэшаў.

Дадаткова можна адзначыць выяўленне слядоў ужывання пры нападах на сістэмы Linux эксплоита для першага варыянту ўразлівасці Spectre (CVE-2017-5753). Уцечка інфармацыі па іншых каналах у эксплоіце выкарыстоўваецца для пошуку суперблока ў памяці, азначэнні inode файла /etc/shadow і вылічэнні адрасу старонкі памяці для вымання файла з дыскавага кэша.

Крыніца: opennet.ru

Дадаць каментар