Песочница браузера
Что такое Песочница браузера?
Песочница браузераСлой изоляции уровня ОС, ограничивающий рендерер и вспомогательные процессы браузера, чтобы скомпрометированный веб-код не мог читать файловую систему или другие приложения.
Песочница браузера — это набор механизмов операционной системы, которыми браузер ограничивает менее доверенные дочерние процессы (рендереры, GPU-процесс, сетевой сервис) минимально необходимым набором возможностей. Chromium опирается на job objects и уровни integrity в Windows, Seatbelt в macOS, а также seccomp-bpf вместе с пользовательскими namespaces в Linux; Firefox использует схожие примитивы. Даже если JavaScript атакующего вызывает повреждение памяти внутри рендерера, песочница блокирует произвольный доступ к файлам, создание процессов и системные вызовы без второй уязвимости — sandbox escape.
Это требование двух уязвимостей наглядно проявляется на Pwn2Own. На мероприятии в марте 2024 года победная работа Манфреда Пауля по Chrome использовала CVE-2024-2887 — уязвимость типа type confusion в движке V8 WebAssembly — чтобы получить чтение/запись в рендерере, но само по себе это оставалось запертым внутри процесса. На том же конкурсе всплыли CVE-2024-2886 (use-after-free в WebCodecs) и CVE-2024-3159 (чтение за границами буфера в V8). Chrome добавляет ещё один уровень защиты через Site Isolation, помещающую каждый сайт в отдельный рендерер, чтобы притупить утечки спекулятивного выполнения в стиле Spectre, а также через кучу-песочницу V8 ("Ubercage"), которая сдерживает повреждение памяти ещё до того, как вступает в действие песочница ОС.
Меры, усиливающие модель: поддержание браузеров в автообновлении, включение Site Isolation и расширенных флагов песочницы, отключение ненужных плагинов и использование ограничений на процессы для каждого сайта, чтобы компрометация одного рендерера не могла охватить несколько источников.
flowchart TD
A[Вредоносная веб-страница] --> B[Процесс рендерера<br/>недоверенный, низкие привилегии]
B --> C{Уязвимость повреждения памяти?<br/>напр. CVE-2024-2887}
C -->|Нет| D[Атака сдержана]
C -->|Да| E[Произвольные чтение/запись в рендерере]
E --> F{Куча-песочница V8<br/>+ песочница ОС}
F -->|Нет уязвимости побега| G[По-прежнему заперто:<br/>нет файлов, нет системных вызовов]
F -->|Уязвимость sandbox escape| H[Достигнут брокер / ядро]
H --> I[Полное выполнение кода на хосте]● Примеры
- 01
Рендерер Chrome в Windows работает как low-integrity job object с ограниченным токеном.
- 02
Участники Pwn2Own связывают RCE в рендерере и sandbox escape для полного выполнения кода.
● Частые вопросы
Что такое Песочница браузера?
Слой изоляции уровня ОС, ограничивающий рендерер и вспомогательные процессы браузера, чтобы скомпрометированный веб-код не мог читать файловую систему или другие приложения. Относится к категории Безопасность приложений в кибербезопасности.
Что означает Песочница браузера?
Слой изоляции уровня ОС, ограничивающий рендерер и вспомогательные процессы браузера, чтобы скомпрометированный веб-код не мог читать файловую систему или другие приложения.
Как защититься от Песочница браузера?
Защита от Песочница браузера обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Песочница браузера?
Распространённые альтернативные названия: Песочница рендерера.