Ученые назвали свою атаку первой браузерной атакой по сторонним каналам, работающей даже при отключенном JavaScript.
Команда исследователей из университетов Австралии, США и Израиля представила атаку по сторонним каналам, которая осуществляется с помощью браузера и не требует использования JavaScript. Ученые протестировали атаку на широком спектре платформ, в том числе на устройствах с новыми защищенными чипами M1 от компании Apple.
Исследователи назвали свою атаку первой браузерной атакой по сторонним каналам, использующей только CSS и HTML и работающей даже при полностью отключенном JavaScript. Она базируется на методе Prime+Probe, позволяющем определять, к каким наборам кэша обращается атакуемая цель, и использовать эти сведения для вывода потенциально ценной информации.
Осуществление подобных атак в браузере как правило предполагает использование JavaScript-кодов и измерения времени. Производители браузеров активно работают над защитой от них, в частности путем ограничения или полной блокировки выполнения JavaScript-кодов, а также путем усложнения атакующим измерений времени. Однако международная команда исследователей разработала последовательность атак, в которой им удалось существенно снизить зависимость от JavaScript и обойти все реализованные производителями браузеров меры безопасности.
Атака была успешно протестирована (с различным уровнем успеха в зависимости от целевой архитектуры и существующих средств защиты) в защищенных средах браузеров (Tor, Chrome Zero, DeterFox) на устройствах с чипами Intel, AMD, Samsung и Apple.
Все затронутые вендоры были уведомлены. Как сообщили в Apple, публикация результатов исследования не вызывает у нее никакого беспокойства.
Prime+Probe — метод, позволяющий определять, к каким наборам кэша обращается атакуемая программа. Сначала атакующий должен заполнить определенную часть кэша, а затем передать управление атакуемой программе, после чего он сможет определить, какая часть заполненного кэша все еще принадлежит ему. Атакующий может сделать это с помощью измерения времени доступа к адресам, которые он использовал для заполнения кэша на первом этапе атаки. Таким образом, если программа-жертва будет использовать адреса, сопоставляемые с теми же областями кэша, что и злоумышленник, то она будет вытеснять данные атакующего из кэша, и он сможет отследить это на третьем этапе атаки.