Отладочный механизм в процессорах Intel имеет серьезную уязвимость

Отладочный механизм в процессорах Intel имеет серьезную уязвимость

Отладочный механизм в процессорах Intel имеет серьезную уязвимость

Современные процессоры Intel позволяют использовать отладочный интерфейс через доступный на многих платформах порт USB 3.0 для получения полного контроля над системой, что дает возможность проводить атаки, которые не отслеживаются современными системами безопасности.

Доклад об этих механизмах, а также о способах защиты от подобных атак, был представлен экспертами Positive Technologies 28 декабря на конференции Chaos Communication Congress (33C3) в Гамбурге. 

«Зачастую подобные аппаратные механизмы используются как вполне легальные инструменты, которые внедряются еще на стадии производства − например, специальные отладочные возможности, оставленные разработчиками для настройки аппаратуры и других "благих целей". Однако сейчас такие механизмы оказываются доступны и для злоумышленников, причем цена вопроса настолько низка, что для организации подобных атак уже не нужно быть государственной спецслужбой и иметь специальное оборудование», − прокомментировали в докладе эксперты Positive Technologies Максим Горячий и Марк Ермолов.

Один из таких механизмов они подробно проанализировали и показали в своем исследовании. В качестве опасной возможности, оставленной производителем, здесь фигурирует отладочный интерфейс JTAG (Joint Test Action Group), доступ к которому теперь открыт через USB-интерфейс. Данный способ доступа к процессору работает «ниже» всего программного обеспечения, позволяя осуществлять аппаратную отладку гипервизоров, ядра ОС и драйверов. Однако тот же механизм может использоваться и для несанкционированных вторжений. 

В старых процессорах Intel доступ к JTAG требовал подключения специализированного устройства через отладочный разъем на некоторых системных платах (ITP-XDP). Это усложняло доступ к данной технологии, в том числе, и для злоумышленников. 

Однако, начиная с процессоров семейства Skylake, запущенных в производство в 2015 году, компания Intel внедрила технологию Direct Connect Interface (DCI), которая предоставляет доступ к JTAG через популярный порт USB 3.0. При этом на целевом компьютере не требуется каких-либо программных или аппаратных агентов − необходимо лишь, чтобы интерфейс DCI был активирован. Как выяснили исследователи, это можно сделать несколькими способами, и на множестве современных компьютеров этот функционал оказался доступен буквально «из коробки» − то есть по умолчанию возможность активации DCI не заблокирована.

В докладе также был представлен видеоролик, показывающий, насколько легко злоумышленники могут получить полный доступ к процессору с помощью такого механизма. По мнению исследователей, данный бэкдор в процессорах Intel может привести к целому классу новых атак типа «Bad USB» – но уровень проникновения будет гораздо глубже. 

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

Правила обработки запросов при этом добавляются динамически, а фильтрация осуществляется по регулярным выражениям, соответствующим подмножествам знаков, которые могут присутствовать на определенных позициях в URL.

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

В Google подтвердили возможность подобной атаки по стороннему каналу, но заявили, что решить проблему нереально.

RSS: Новости на портале Anti-Malware.ru