Еще неделя, еще один BWAIN!
Как вы знаете, если вы слушали на прошлой неделе Подкаст (намекать, намекать!), BWAIN — это сокращение от Ошибка с впечатляющим названием:
Это прозвище мы применяем, когда те, кто обнаружил новую кибератаку, настолько взволнованы своим открытием, что дают ему удобное для пиара прозвище, регистрируют для него красивое доменное имя, создают для него собственный веб-сайт и создают для него специальный логотип.
На этот раз имя Столкновение+Сила включает надоедливый знак пунктуации, что является плюсом при именовании ошибок, но минусом при регистрации интернет-домена. (Как ни странно, доменные имена разрешено использовать -
, Но не +
).
Таким образом, доменное имя пришлось немного сократить до https://collidepower.com, но веб-сайт все равно даст вам общее представление о проблеме, даже если вычесть знак добавления.
Сопоставьте кэшированные данные и измерьте требуемую мощность
Исследователи, стоящие за этим новым бумаги это Андреас Коглер, Йонас Юффингер, Лукас Гинер, Мартин Шварцль, Даниэль Грусс и Стефан Мангард из Университета Граца в Австрии, а также Лукас Герлах и Михаэль Шварц из Центра информационной безопасности Гельмгольца CISPA в Германии.
Мы не собираемся подробно объяснять различные формы этой атаки, потому что технические детали того, как проводить измерения, и математическое моделирование, используемое для получения выводов из этих измерений, сложны.
Но суть проблемы, если вы извините за частичный каламбур, заключается в том, что кэш-память, спрятанная внутри чипов современных процессоров, предназначена для обеспечения невидимого и автоматического прироста производительности…
… не всегда настолько невидим, как вы думаете, и иногда может передавать часть или все свое содержимое даже тем процессам, которые не должны его видеть.
Как следует из названия, кэш-память (произносится наличные, как в долларах и центах, а не печать, как уважение и престиж, если вы когда-нибудь задумывались), хранит специальные копии значений данных из обычной оперативной памяти в скрытых местах внутри самого чипа ЦП.
Если ЦП отслеживает адреса ОЗУ (ячейки памяти), которые вы недавно использовали, и может достаточно хорошо угадать, какие из них вы, вероятно, скоро будете использовать снова, он может временно сохранить их в своей кэш-памяти и, таким образом, значительно ускорить ваш второй доступ к этим значениям, третий доступ, четвертый и так далее.
Например, если вы ищете ряд значений данных в таблице для преобразования пикселей изображения из одного цветового формата в другой, вы можете обнаружить, что большую часть времени таблица поиска говорит вам посетить любой адрес ОЗУ 0x06ABCC00 (который может быть там, где хранится специальный код для «черного пикселя») или адрес 0x3E00A040 (который может быть местоположением кода «прозрачного пикселя»).
Автоматически сохраняя значения из этих двух часто используемых адресов памяти в своем кэше, ЦП может закорачивать (фигурально, а не буквально!) будущие попытки доступа к этим адресам, так что нет необходимости посылать электрические сигналы за пределы процессора, через материнскую плату и в настоящие микросхемы ОЗУ, чтобы считать основную копию хранящихся там данных.
Таким образом, доступ к кэшированным данным обычно намного быстрее, чем к данным в оперативной памяти материнской платы.
Вообще говоря, однако, вы не можете выбирать, какие регистры кэша использовать для хранения адресов ОЗУ, и вы не можете выбирать, когда ЦП решает прекратить кэширование вашего значения «прозрачного пиксельного кода» и начать кэширование другой программы. вместо этого «сверхсекретный криптографический ключ».
Действительно, кеш может содержать произвольное сочетание значений из произвольного сочетания адресов ОЗУ, принадлежащих произвольному сочетанию различных учетных записей пользователей и уровней привилегий одновременно.
По этой причине, наряду с соображениями эффективности и производительности, даже программы уровня администратора не могут напрямую просмотреть список адресов, которые в настоящее время кэшируются, или получить их значения, чтобы защитить кэшированные данные от внешнего отслеживания.
Как программист, вы по-прежнему используете инструкцию машинного кода «считывать код прозрачного пикселя с адреса 0x3E00A040», и операционная система по-прежнему решает, должны ли вы иметь доступ к этим данным на основе числового адреса 0x3E00A040, даже если данные в конечном итоге поступают непосредственно из кеша, а не с истинного адреса ОЗУ 0x3E00A040.
Цена бит-флипа
Исследователи Collide+Power обнаружили, очень сильно упрощая, что, хотя вы не можете напрямую просмотреть временные данные в кэш-памяти, и, следовательно, не можете обойти защиту памяти, которая была бы применена, если бы вы использовали его официальный адрес ОЗУ. …
…вы можете догадаться, когда определенные значения данных будут записаны в определенные регистры хранения кэша.
И когда один уже кэшированный номер заменяется другим, вы можете сделать выводы об обоих значениях, измерив, сколько энергии использует процессор. в этом процессе.
(Современные процессоры обычно включают в себя специальные внутренние регистры, которые предоставляют вам показания энергопотребления, поэтому вам не нужно открывать корпус компьютера и подключать физический провод датчика где-то на материнской плате.)
Интересно, что энергопотребление самого процессора, когда он перезаписывает значение кэша новым, зависит от того, сколько бит изменилось между числами.
Если мы упростим дело до отдельных байтов, то перезапись двоичного значения 0b00000000
0b11111111
(изменение десятичного числа 0 на десятичное число 255) требует перестановки всех битов в байте, что потребляет больше всего энергии.
Перезапись символа ASCII A
(65 в десятичном формате) с Z
(90 в десятичном формате) означает изменение 0b01000001
в 0b01011010
, где четыре битовые позиции переворачиваются, что потребляет среднее количество энергии
И если числа совпадают, биты не нужно переворачивать, что потребляет наименьшее количество энергии.
В общем, если вы выполняете операцию XOR над двумя числами вместе и подсчитываете количество единичных битов в ответе, вы находите количество флипов, потому что 0 XOR 0 = 0
и 1 XOR 1 = 0
(так что ноль означает отсутствие флипа), а 0 XOR 1 = 1
и 1 XOR 0 = 1
(обозначает флип).
Другими словами, если вы можете получить доступ к группе выбранных вами собственных адресов таким образом, чтобы заполнить определенный набор регистров кеша внутри ЦП, а затем достаточно точно отслеживать энергопотребление, когда чужой код получает свои данные, назначенные этому кешу. локации вместо…
…тогда вы можете сделать выводы о том, сколько бит перевернуто между старым содержимым кэша и новым.
Конечно, вы можете выбрать значения, хранящиеся в адресах, которыми вы заполнили кэш-регистры, так что вы не только знаете, сколько битов, вероятно, было перевернуто, но вы также знаете, какими были начальные значения этих битов до того, как произошло переворачивание. место.
Это дает вам еще больше статистических данных, с помощью которых можно предсказать вероятные новые значения в кэше, учитывая, что вы знаете, что было там раньше, и вероятное количество битов, которые теперь изменились.
Возможно, вы не сможете точно определить, какие данные использовал процесс вашей жертвы, но даже если вы сможете удалить некоторые битовые шаблоны, вы только что узнали то, что вам знать не положено.
И если бы эти данные были, скажем, каким-то ключом шифрования, вы могли бы превратить невыполнимую атаку грубой силы в атаку, в которой вы могли бы просто добиться успеха.
Например, если вы можете предсказать 70 бит в 128-битном ключе шифрования, то вместо того, чтобы пробовать все комбинации из 128 бит, что было бы невыполнимой задачей, вам нужно попробовать 258 вместо этого используйте разные ключи (128 – 70 = 58), что вполне возможно.
Не нужно паниковать
К счастью, эта «уязвимость» (сейчас CVE-2023-20583) вряд ли будет использовано против вас в ближайшее время.
Это скорее теоретический вопрос, который производители чипов должны принимать во внимание, основываясь на прописной истине, что кибератаки «все лучше и быстрее становятся только лучше и быстрее», чем уязвимая дыра, которую можно использовать сегодня.
На самом деле исследователи признают, почти застенчиво, что «являетесь не нужно беспокоиться".
Они действительно писали являетесь выделено курсивом, а проклятие не беспокоиться жирным шрифтом:
В заключении статьи исследователи с сожалением отмечают, что некоторые из их лучших реальных результатов с этой атакой в идеальных лабораторных условиях утекали всего 5 бит в час.
Фактически, для одного из своих сценариев атаки они признали, что столкнулись с «практическими ограничениями, приводящими к скорости утечки более [одного] года на бит».
Да, вы правильно прочитали — мы несколько раз проверили это в газете, просто чтобы убедиться, что нам это не показалось.
И это, конечно же, поднимает вопрос: «Как долго вам нужно оставить набор тестов передачи данных запущенным, прежде чем вы сможете надежно измерить скорость передачи?»
По нашим расчетам, один бит в год дает вам около 125 байтов за тысячу лет. Такими темпами загрузка недавно вышедшего трехчасового блокбастера Оппенгеймер в качестве IMAX, который, по-видимому, занимает около половины терабайта, потребовалось бы примерно 4 миллиарда лет. Чтобы представить этот странный факт в перспективе, самой Земле всего около 4.54 миллиарда лет, плюс-минус несколько сотен миллионов месяцев.
Что делать?
Самый простой способ справиться с CVE-2023-20538 прямо сейчас — ничего не предпринимать, учитывая, что сами исследователи посоветовали вам не волноваться.
Если вы чувствуете необходимость что-то сделать, у процессоров Intel и AMD есть способы намеренно снизить точность своих инструментов измерения мощности, добавляя случайный шум в показания мощности.
Это оставляет ваши средние значения правильными, но изменяет индивидуальные показания в достаточной степени, чтобы сделать эту и без того не совсем осуществимую атаку еще труднее осуществить.
Смягчение измерения мощности Intel известно как фильтрация с пределом скользящей средней мощности (RAPL); AMD называется режим детерминизма производительности.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Автомобили / электромобили, Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- Смещения блоков. Модернизация права собственности на экологические компенсации. Доступ здесь.
- Источник: https://nakedsecurity.sophos.com/2023/08/03/performance-and-security-clash-yet-again-in-collidepower-attack/
- :является
- :нет
- :куда
- $UP
- 1
- 15%
- 25
- 70
- 700
- a
- в состоянии
- О нас
- Absolute
- доступ
- Учетная запись
- Учетные записи
- точность
- точно
- через
- фактического соединения
- добавить
- дополнение
- адрес
- адреса
- признавать
- признал
- снова
- против
- Все
- разрешено
- вдоль
- уже
- причислены
- Несмотря на то, что
- всегда
- AMD
- количество
- an
- и
- Другой
- ответ
- любой
- прикладной
- Применить
- примерно
- МЫ
- AS
- назначенный
- At
- прикреплять
- атаковать
- нападки
- попытки
- Austria
- автор
- автоматический
- Автоматический
- автоматически
- в среднем
- Фоновое изображение
- основанный
- основа
- BE
- , так как:
- до
- за
- не являетесь
- ЛУЧШЕЕ
- Лучшая
- между
- миллиард
- Немного
- блокбастер
- булавка
- граница
- изоферменты печени
- Дно
- грубая сила
- Ошибка
- строить
- Группа
- но
- by
- Кэш
- расчеты
- CAN
- случаев
- Центр
- менялась
- изменения
- персонаж
- проверил
- чип
- чипсы
- Выберите
- выбранный
- столкновение
- код
- лыжных шлемов
- цвет
- COM
- комбинации
- выходит
- комплекс
- компьютер
- заключение
- Условия
- потреблять
- потребление
- содержать
- содержание
- содержание
- обычный
- конвертировать
- Основные
- исправить
- может
- "Курс"
- чехол для варгана
- трещина
- В настоящее время
- изготовленный на заказ
- Информационная безопасность
- Дэниел
- данным
- сделка
- обозначает
- зависит
- Проект
- подробнее
- DID
- различный
- непосредственно
- открытый
- открытие
- Дисплей
- do
- долларов
- домен
- Имя домена
- ДОМЕННЫЕ ИМЕНА
- Dont
- дублированный
- земля
- затрат
- или
- ликвидировать
- Еще
- шифрование
- достаточно
- Даже
- НИКОГДА
- точно,
- пример
- возбужденный
- Объяснять
- и, что лучший способ
- факт
- быстрее
- выполнимый
- чувствовать
- несколько
- фигура
- Найдите
- кувырок
- Flips
- Что касается
- Форс-мажор
- формат
- формы
- 4
- Четвертый
- от
- будущее
- Общие
- Germany
- получить
- Дайте
- данный
- дает
- будет
- значительно
- было
- Половина
- происходить
- Сильнее
- Есть
- высота
- Скрытый
- Отверстие
- час
- зависать
- Как
- How To
- Однако
- HTML
- HTTPS
- сто
- идеальный
- if
- изображение
- что она
- впечатляющий
- in
- включают
- включает в себя
- individual
- информация
- информационная безопасность
- внутри
- вместо
- Intel
- предназначенных
- в нашей внутренней среде,
- Интернет
- в
- Как ни странно
- IT
- ЕГО
- саму трезвость
- всего
- Сохранить
- хранение
- Основные
- ключи
- Знать
- известный
- лаборатория
- Фамилия
- ведущий
- утечка
- узнали
- наименее
- Оставлять
- оставил
- Длина
- уровни
- Вероятно
- ОГРАНИЧЕНИЯ
- недостатки
- Список
- расположение
- места
- логотип
- Длинное
- искать
- поиск
- Низкий
- машина
- сделать
- Производители
- многих
- Маржа
- Мартин
- мастер
- математический
- Вопрос
- Вопросы
- макс-ширина
- Май..
- означает
- проводить измерение
- измерение
- размеры
- измерение
- Память
- Майкл
- может быть
- Тысячеле́тие
- миллиона
- смягчение
- смешивать
- смесь
- моделирование
- Модерн
- монитор
- месяцев
- БОЛЕЕ
- самых
- кино
- много
- имя
- имена
- именования
- Необходимость
- Новые
- нет
- Шум
- Ничто
- "обычные"
- ничего
- сейчас
- номер
- номера
- of
- от
- Официальный представитель в Грузии
- Старый
- on
- ONE
- те,
- только
- открытый
- операционный
- операционная система
- or
- Другое
- наши
- внешний
- внешнюю
- обзор
- собственный
- бумага & картон
- паттеранами
- Пол
- для
- производительность
- перспектива
- физический
- Pixel
- Часть
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- плюс
- должность
- Блог
- мощностью
- предсказывать
- Prestige
- цена
- привилегия
- вероятно
- зонд
- Проблема
- процесс
- Процессы
- процессор
- процессоры
- Программист
- Программы
- выраженный
- для защиты
- защиту
- обеспечивать
- цель
- положил
- вопрос
- повышения
- Оперативная память
- случайный
- Обменный курс
- Стоимость
- Читать
- реальный мир
- на самом деле
- причина
- причины
- недавно
- уменьшить
- назвало
- зарегистрироваться
- регистрирующий
- регистры
- относительный
- выпустил
- заменить
- требуется
- исследователи
- уважение
- Итоги
- правую
- Бег
- то же
- сообщили
- Сценарии
- Шварц
- Во-вторых
- безопасность
- посмотреть
- Отправить
- Серии
- набор
- несколько
- Короткое
- подпись
- сигналы
- упрощенный
- упростить
- сайте
- шпионящий
- So
- твердый
- некоторые
- Кто-то
- удалось
- где-то
- скоро
- Говоря
- особый
- конкретный
- скорость
- Начало
- Начало
- статистический
- По-прежнему
- Stop
- диск
- магазин
- хранить
- быть успешными
- Предлагает
- предполагаемый
- Убедитесь
- SVG
- система
- ТАБЛИЦЫ
- взять
- принимает
- Сложность задачи
- Технический
- говорит
- временный
- тестов
- чем
- который
- Ассоциация
- их
- Их
- сами
- тогда
- теоретический
- Там.
- следовательно
- они
- think
- В третьих
- этой
- те
- Таким образом
- время
- в
- сегодня
- вместе
- приняли
- инструменты
- топ
- трек
- перевод
- переход
- прозрачный
- правда
- стараться
- два
- В конечном счете
- под
- Университет
- вряд ли
- URL
- Применение
- использование
- используемый
- Информация о пользователе
- через
- обычно
- ценностное
- Наши ценности
- VANITY
- различный
- очень
- с помощью
- Войти
- законопроект
- Путь..
- способы
- we
- Вебсайт
- неделя
- ЧТО Ж
- пошел
- были
- Что
- когда
- будь то
- который
- в то время как
- ширина
- будете
- Провод
- слова
- беспокоиться
- бы
- записывать
- письменный
- год
- лет
- еще
- Ты
- ВАШЕ
- зефирнет
- нуль