🧠 Skills: Branch Target Reuse — свежий вариант Spectre v2 крадёт хеш root за 3–5 минут. Дежурный sysctl не спасёт
Коллеги, среда — время хардкорных разборов. Сегодня погружаемся в фундаментальные проблемы кремния, которые нельзя решить галочкой в GUI.
📌 ФАКТЫ (исследование VUsec + Scuola Superiore Sant'Anna)
Механика Branch Target Reuse: когда JIT-компилятор переиспользует память под новые инструкции, аппаратный предсказатель ветвлений процессора (Branch Target Buffer) продолжает помнить старые адреса ветвлений. Атакующий манипулирует спекулятивным исполнением и читает память соседних процессов.
Масштаб по кремнию: уязвимы актуальные архитектуры Intel, AMD и Arm. На уровне микроархитектуры современных CPU банально нет механизма мгновенной синхронизации предсказателя с динамически генерируемым кодом.
PoC на Linux: непривилегированный пользователь через классический cBPF считывает хеш пароля root прямо из процесса
Идентификаторы:
Софт под ударом: затронуты не только ядра ОС, но и рантаймы: Oracle уже рандомизирует кэш кода в GraalVM, а Mozilla экстренно ужесточает изоляцию сайтов в SpiderMonkey/Firefox. Патчи для ядра Linux уже в апстриме.
⚠️ ГЛАВНЫЙ НЮАНС (почему старые рецепты не работают)
Многие админы выставляют
🛠 АУДИТ ХОСТА ЧЕРЕЗ ТЕРМИНАЛ
Bash
💡 В ЧЁМ СУТЬ И ГДЕ РЕАЛЬНЫЙ РИСК
Атака локальная, и наружу улетает хеш, а не открытый пароль.
Где риск минимален: на изолированном сервере или одиночном гипервизоре, где в консоль ходите только вы по ключам.
Где горит: любые многопользовательские среды, где чужой/недоверенный код запускается рядом с привилегированными процессами:
Общие терминальные Linux-серверы и VDI;
CI/CD раннеры с общим ядром (shared Docker-хосты без изоляции гипервизором);
Jump-хосты и бастионы с пулом из десятков инженеров.
Если пароль root у вас до сих пор захэширован в устаревший MD5 или сотрудники авторизуются через интерактивный
🛡 ЧЕКЛИСТ ДЕЙСТВИЙ
Обновить ядра: в первую очередь накатить свежие сборки ядра на shared-хостах, терминалах и сборочных нодах CI/CD.
Аудит
Отказ от
#skills #linux #kernel #security #spectre #cpu #bpf #cve #sysadmin #admin_future
Коллеги, среда — время хардкорных разборов. Сегодня погружаемся в фундаментальные проблемы кремния, которые нельзя решить галочкой в GUI.
📌 ФАКТЫ (исследование VUsec + Scuola Superiore Sant'Anna)
Механика Branch Target Reuse: когда JIT-компилятор переиспользует память под новые инструкции, аппаратный предсказатель ветвлений процессора (Branch Target Buffer) продолжает помнить старые адреса ветвлений. Атакующий манипулирует спекулятивным исполнением и читает память соседних процессов.
Масштаб по кремнию: уязвимы актуальные архитектуры Intel, AMD и Arm. На уровне микроархитектуры современных CPU банально нет механизма мгновенной синхронизации предсказателя с динамически генерируемым кодом.
PoC на Linux: непривилегированный пользователь через классический cBPF считывает хеш пароля root прямо из процесса
su. Скорость утечки — около 8 байт/с (~3 минуты на ядрах Raptor Cove и ~5 минут на Lion Cove).Идентификаторы:
CVE-2026-64507 — внедрение IBPB-flush при выделении памяти под BPF JIT.CVE-2026-64508 — защита от JIT spraying.Софт под ударом: затронуты не только ядра ОС, но и рантаймы: Oracle уже рандомизирует кэш кода в GraalVM, а Mozilla экстренно ужесточает изоляцию сайтов в SpiderMonkey/Firefox. Патчи для ядра Linux уже в апстриме.
⚠️ ГЛАВНЫЙ НЮАНС (почему старые рецепты не работают)
Многие админы выставляют
kernel.unprivileged_bpf_disabled, будучи уверенными, что закрыли тему. Но этот параметр режет только современный eBPF.Вектор эксплойта опирается на классический cBPF, который по умолчанию открыт любому пользователю системы через штатные сокет-фильтры (
SO_ATTACH_FILTER).
Режим
net.core.bpf_jit_harden=2(constant blinding) исследователи также обошли: атака замедляется, но всё равно занимает смешные 5 минут. Единственное реальное лечение — ядро с патчем.
🛠 АУДИТ ХОСТА ЧЕРЕЗ ТЕРМИНАЛ
Bash
# 1. Смотрим текущую версию ядра
uname -r
# 2. Проверяем состояние BPF и механизмов защиты
sysctl net.core.bpf_jit_enable net.core.bpf_jit_harden kernel.unprivileged_bpf_disabled
# 3. Проверяем, можно ли в теории отключить BPF JIT (если =y — флаг зашит намертво)
grep CONFIG_BPF_JIT_ALWAYS_ON /boot/config-$(uname -r)
# 4. Проверяем алгоритм хеша root в /etc/shadow:
# $y$ = yescrypt (хорошо), $6$ = SHA-512 (нормально), $1$ = MD5 (катастрофа)
awk -F: '$1=="root"{print substr($2,1,3)}' /etc/shadow
# 5. Проверяем доступность обновлений ядра в дистрибутиве
apt update && apt list --upgradable 2>/dev/null | grep -E 'linux-image|proxmox-kernel'
💡 В ЧЁМ СУТЬ И ГДЕ РЕАЛЬНЫЙ РИСК
Атака локальная, и наружу улетает хеш, а не открытый пароль.
Где риск минимален: на изолированном сервере или одиночном гипервизоре, где в консоль ходите только вы по ключам.
Где горит: любые многопользовательские среды, где чужой/недоверенный код запускается рядом с привилегированными процессами:
Общие терминальные Linux-серверы и VDI;
CI/CD раннеры с общим ядром (shared Docker-хосты без изоляции гипервизором);
Jump-хосты и бастионы с пулом из десятков инженеров.
Если пароль root у вас до сих пор захэширован в устаревший MD5 или сотрудники авторизуются через интерактивный
su с общим паролем — вам не нужен никакой Spectre, чтобы получить инцидент.🛡 ЧЕКЛИСТ ДЕЙСТВИЙ
Обновить ядра: в первую очередь накатить свежие сборки ядра на shared-хостах, терминалах и сборочных нодах CI/CD.
Аудит
/etc/shadow: убедиться, что пароли хешируются современными функциями (yescrypt или SHA-512), а устаревшие алгоритмы выпилены из PAM.Отказ от
su: окончательно заблокировать прямой вход под root и перевести администрирование на персональные учетки с гранулярным sudo и логированием.#skills #linux #kernel #security #spectre #cpu #bpf #cve #sysadmin #admin_future