LINUX.ORG.RU

Выявлен новый вид JavaScript-атак на кэш-память процессора

 , javascript. intel,


1

1

Исследователи из Колумбийского университета опубликовали отчет об успешном получении детальных сведений о действиях пользователя по содержимому кэш-памяти центрального процессора.

Созданный ими эксплоит требует для работы компьютер с одним из современных процессоров Intel - Ivy Bridge, Sandy Bridge и Haswell (отмечается, что из-за особенностей архитектуры процессоров AMD проведение атаки на них крайне маловероятно), а также браузер с поддержкой HTML5. Вредоносный код в виде JavaScript подгружается через баннерные сети. Атака заключается в измерении времени, требуемого для доступа к кэш-памяти (кэш L3 является общим для всех ядер процессора и его совместно используют все процессы, включая ядро).

Сам код сначала сбрасывает кэш, ждёт действие пользователя, и замеряет время, потребовавшееся для запроса к памяти. Если искомые данные уже в кэше, запрос выполняется существенно быстрее. Из этого злоумышленник может вычислить соответствие запрашиваемых областей памяти с нажатиями клавиш и движениями мыши.

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

>>> Подробности

anonymous

Проверено: fallout4all ()
Последнее исправление: fallout4all (всего исправлений: 1)
Ответ на: комментарий от g1966464

это РЕАЛИЗАЦИЯ кэширования от линукс

от ИНТЕЛ<-фикс(просто думал об одном во время написания)

g1966464
()
Ответ на: комментарий от deep-purple

Когда окно (вкладка где будет выполняться мой скрипт) браузера в фокусе — я всю твою подноготную могу забрать на любой (свой) хост, куда ты мышой водил на сайте, что кликал, какие кнопы нажимал.

Пример нужен?

Пример кейлоггера браузера? Нет, не нужен из-за тривиальности.

И вообще с таким раскладом — причем тут архитектура процов, если это уже лет сто можно было кейлоггить?

Почитай статью - там всё написано.

tailgunner ★★★★★
()
Ответ на: комментарий от TDrive

Тебе принципиально нужен пример который умеет отправлять данные на почту хакера?)

Мне принципиально нужен пример, который из картины промахов кэша умеет восстанавливать последовательность нажатых клавиш. Или хотя бы объяснение того, как это будет делаться.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от devl547

У AMD будут те же проблемы

У AMD ВНЕЗАПНО другая архитектура кэшей - эксклюзивная против инклюзивной у Intel.

Веско.

tailgunner ★★★★★
()
Ответ на: комментарий от g1966464

но входящие данные-типо нажатий клавиш сдвигают/частично стирают старые данные,и каждая клавиша накладывает СТАТИЧНОЕ время чтения старых данных,тоесть считая время чтения/загрузки(из памяти) блока делают вывод о последней нажатой клавише)

С этим более менее понятно. Не понятно, что тогда эксплоит должен читать данные всего кеша, так как туда же приходят данные и от других действий компа, и они тоже должны сдвигать/страть старые данные. Как он это различит? И с какого ему вообще будет дозволено читать все данные кеша?

anonymous
()

Помнится, некто К.Касперски N лет назад обещал поломать современные камни кодом на JS. Это оно? Чем дело-то закончилось?

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

Помнится, некто К.Касперски N лет назад обещал поломать современные камни кодом на JS. Это оно?

Это не оно.

Чем дело-то закончилось?

По слухам, Intel выпустил патчи к микрокоду.

tailgunner ★★★★★
()

А ещё на Intel-е флеш крешится при перемотке видео. Потому что инженеры из Intel отправили в Glibc код, оптимизирующий memcpy() с помощью SSE 4.1. На AMD SSE 4.1 нет, поэтому там не крешится.

Чтобы начало крешиться, нужно выполнить sudo mkdir /etc/adobe && sudo echo -e "EnableLinuxHWVideoDecode = 1\nOverrideGPUValidation = 1" | sudo tee /etc/adobe/mms.cfg. Видимо, для дефолтного флешплеера вставили костыль, а недефолтный проверить забыли.

Вот бы патч для отката того самого коммита в Glibc... Никаких алиасов вокруг memmove() не надо - просто откатить тот ненужный коммит!

ZenitharChampion ★★★★★
()
Ответ на: комментарий от anonymous

С этим более менее понятно. Не понятно, что тогда эксплоит должен читать данные всего кеша, так как туда же приходят данные и от других действий компа, и они тоже должны сдвигать/страть старые данные. Как он это различит? И с какого ему вообще будет дозволено читать все данные кеша?

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

но уязвимость есть

g1966464
()
Ответ на: комментарий от ZenitharChampion

Потому что инженеры из Intel отправили в Glibc код, оптимизирующий memcpy() с помощью SSE 4.1. На AMD SSE 4.1 нет, поэтому там не крешится.

или потому что флеш использует утечки памяти как «фичу»,и программисты «флеша» просто даже не заметили ошибок в коде с утечкой памяти-но работает(пока чтото в вышестоящих либах не поменять,чтоб утечки сменили адреса(или перестали быть предсказуемыми)-и все)

тоесть во флеше memcpy и чтение дальше-идет без выделения памяти,а просто срет в оперативку и на лету читает(опятьже по адресам памяти а не по выделенным переменным для libc)-работает,работает...любой студент знает что будет если не инициализировать массив и срать в память -массив будет рабоать,но с багами-вот это флеш

только раньше запись чтение и адреса куда писать не надо были предсказуемыми-и захажеными в код флеша-щас они не работают-и там мусор(по тем адресам),вот флеш и крашит

g1966464
()
Ответ на: комментарий от fludardes

жизни без NoScript давно уже нет

Я не доверяю его автору. Чем заменить?

anonymous
()
Ответ на: комментарий от NeverLoved

А вообще - что такого особенного в AMD, что это не работает?

Кэш маленький, похоже. Не знаю про последние модели, но долгое время у AMD кеши всегда были меньше, чем у равных по производительности Intel.

anonymous
()

Сижу уютно и спокойно с установленным в Firefox noscript....

Odalist ★★★★★
()
Ответ на: комментарий от ZenitharChampion

А ещё на Intel-е флеш крешится при перемотке видео. Потому что инженеры из Intel отправили в Glibc код, оптимизирующий memcpy() с помощью SSE 4.1

нада же какие инжерены Intel — нехорошие ! ускорять вздумали понимаешь ли производительность!

(сарказм)

user_id_68054 ★★★★★
()

Сам код сначала сбрасывает кэш

яваскрипт этого напрямую не умеет

Из этого злоумышленник может вычислить соответствие запрашиваемых областей памяти с нажатиями клавиш и движениями мыши.

только какие именно клавиши нажимает пользователь и в какие координаты передаёт мышь (сенсорный экран, и т.д.) так не вычислишь. вывод — это не кейлоггер, а определитель наличия пользователя за ПК, так я и так могу определить его наличие — просто по факту запуска скрипта.

в общем, пшик.

next_time ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Посмотрел по таблице фич GCC - и правда уже есть.

Зенитарушка, верни криокамеру на место.
SSE4.2, AVX и FMA4 пришли с AMD FX ещё в конце 2011 года)

devl547 ★★★★★
()
Ответ на: комментарий от devl547

Вот оно что. У меня Phenom II 1100T, и я не обновляюсь в знак протеста - AMD не надо было запиливать Hyper Threading! Я думал, они только и делали, что моделировали «прирост производительности» засчёт роста числа фейковых ядер, а реальные дела перестали делать. А оно вон оно что, SSE4 сделали. Молодцы!

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Гипертридинг — в два раза увеличивает число регистров процессора (регистр это самая быстрая память в процессоре — думаешь это не влияет на производительность?)

На халяву так лишнии регистры — не плохо помоему

anonymous
()
Ответ на: комментарий от e7z0x1

Вредоносный код в виде JavaScript

замеряет время

Что-то с трудом верится.

Для измерения времени используются средства JavaScript для доступа к системному таймеру с высоким разрешением с оглядкой на фиксированные задержки в JavaScript runtime.

http://www.opennet.ru/opennews/art.shtml?num=42092

anonymous
()
Ответ на: комментарий от anonymous

Ты чо у АМД вообще кеша нет, и работают они на дровах, это тебе любой subwoofer скажет

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.