Hypervisor 101 in Rust
Введение в гипервизоры на Rust
1. Введение
- Предварительные требования
- Цели курса
- Мотивация
- Как достигаются цели
- Что вы изучите
- Дизайн фаззера
- Дизайн гипервизора
- Что этот курс НЕ охватывает
- Демо: фаззер на основе гипервизора
- Зачем использовать гипервизор для фаззинга
- Приложения UEFI
- Язык Rust
- Классификация гипервизоров
- Гипервизор vs хост, ВМ vs гость
- Типы гипервизоров
2. Настройка и цикл работы гипервизора
- Включение: активация аппаратной виртуализации
- Настройка: создание структуры контекста гостя
- Переключение: запуск в гостевом режиме
- Возврат: переход обратно в режим хоста
- Обработка: эмуляция событий
- Цели и упражнения главы
- Тестирование с Bochs
- Подготовка к упражнениям
- E#1: Включение VMX/SVM
- E#2: Настройка VMCS/VMCB
- E#3: Конфигурация гостевого состояния
- Причины VM-выходов
- Альтернативный дизайн гипервизора
3. Виртуализация памяти
- Терминология
- Традиционная страничная организация x64
- Вложенная страничная организация
- Связь с гипервизором
- Ошибки страниц во вложенной организации
- Структурные элементы вложенной организации
- Сравнение традиционного и вложенного подходов
- Цели и упражнения главы
- E#4: Включение вложенной организации
- E#5: Построение структур и трансляция адресов
- E#6: Реализация copy-on-write и быстрого восстановления памяти
- Продвинутые темы
4. Интроспекция ВМ для фаззинга
- Проблема 1: Ненужное выполнение кода
Комментарии (13)
- Пользователи высоко оценивают качество и полезность материалов по созданию гипервизора и операционной системы, связывая их с предыдущей работой автора.
- Высказывается критика в адрес формата материалов (Markdown/HTML) и пожелание иметь возможность скачивания в PDF для архивации.
- Отмечается, что материал представляет собой конспект/слайды курса и может быть сложен для понимания без предварительных знаний или посещения занятий.
- Возникает дискуссия о практической ценности таких материалов для самообразования без наличия глубоких базовых знаний.
- Упоминается растущий интерес к теме создания гипервизоров, о чём свидетельствует частое появление подобных руководств.
- Предлагаются технические решения для создания PDF-версии (например, печать в PDF через браузер).
- В комментариях присутствует лёгкое обсуждение терминологии (значение слова "hypervisor") и личный опыт работы в данной области.
Optimizing our way through Metroid
Почему мы играем в Metroid
Мы не используем Nintendo в качестве маркетингового трюка. Именно через игры мы научились строить Antithesis. Задаваясь вопросом «почему фаззер не может пройти Zelda», мы шаг за шагом вывели архитектуру платформы.
Красная дверь в Metroid
Автономная система Antithesis без труда проходит большую часть Metroid (1986), но застревает у красной двери. Анализ позиций Самус показывает, что исследована вся карта, кроме зоны за этой дверью.
Диагностика
Перезапуская любой момент кампании, мы видим: у Самус кончились ракеты. Чтобы открыть красную дверь, нужно 5 ракет. Система подбирает их, но тратит на врагов или случайные действия и больше никогда не возвращается с ≥5 ракетами к двери.
Комментарии (21)
- Участники вспомнили старый «лексикографический» солвер для NES-игр и обсудили, как fuzzer-компания Antithesis ищет баги в играх вроде Castlevania и Metroid.
- Отмечены проблемы с прокруткой и воспроизведением видео в Firefox (особенно в приватном режиме), которые частично решаются CSS-фиксом.
- Появилась идея использовать fuzzer для постановки новых TAS-рекордов; сама компания уже устраивает «человек против машины» на Mario 1-1.
- Несколько человек пожелали более краткого «введения для новичков» на сайте Antithesis, хотя документацию находят полезной.
Using AI to secure AI
Claude Code теперь умеет искать уязвимости: запускает специальный промпт, проверяет OWASP Top 10.
Проверил расширение Simple Wikiclaudia и сервис rsspberry2email — Claude сказал «всё ок».
Но доверять одному ИИ, который сам писал код, нельзя: нужны человеческий ревью, SAST, DAST, фаззинг.
Для контроля подключил Datadog:
- расширение — уязвимостей нет, зато куча логов (HIGH, но можно выключить);
- сервис — Datadog нашёл библиотеки с CVE, предложил кнопку «Remediate».
Claude подтвердил одну из находок; остальное — «приемлемый риск» для домашнего RPi.
Комментарии (26)
- Руководство верит, что «волшебная пыль ИИ» решает всё, включая проблемы самого ИИ.
- Найденные Claude и DataDog уязвимости выглядят тривиальными и легко детектируются статическим анализом.
- Компании устраивают «тест на компетентность»: удача руководителей вот-вот закончится.
- Пользователи готовы наблюдать, как ИИ удаляет ld, сносит контейнеры и плодит тонны мусорного кода.
- Скоро ИИ займёт ключевые бизнес-процессы, а после провалов и аудитов топ-менеджеры получат золотые парашюты.
- Всё напоминает «Новое платье короля»: все видят проблему, но молчат.