Перейти к основному содержимому

5 записей с тегом "безопасность"

Посмотреть все теги

Песочница V8

· 13 мин. чтения
Самуэль Гросс

Спустя почти три года после первоначального проектного документа и сотен CL за это время, песочница V8 — лёгкая песочница в процессе выполнения для V8 — достигла стадии, когда её больше не считают экспериментальной функцией безопасности. Начиная с сегодняшнего дня, Песочница V8 включена в Программу вознаграждений за уязвимости Chrome (VRP). Хотя ещё остаётся множество задач, которые нужно решить, прежде чем песочница станет надёжной границей безопасности, включение её в VRP является важным шагом в этом направлении. Таким образом, Chrome 123 можно рассматривать как своего рода «бета» выпуск песочницы. Этот пост в блоге использует эту возможность для обсуждения мотивации создания песочницы, демонстрации того, как она предотвращает распространение повреждения памяти в V8 внутри хост-процесса, и объяснения, почему это необходимый шаг на пути к безопасности памяти.

V8 быстрее и безопаснее, чем когда-либо!

· 7 мин. чтения
[Виктор Гомес](https://twitter.com/VictorBFG), эксперт по Глюхвейну

Добро пожаловать в захватывающий мир V8, где скорость — это не просто функция, а образ жизни. Наступил момент попрощаться с 2023 годом и отпраздновать впечатляющие достижения, которых V8 достиг в этом году.

Благодаря инновационным оптимизациям производительности V8 продолжает расширять границы возможного в постоянно меняющемся ландшафте Веба. Мы представили новый компилятор среднего уровня и реализовали множество улучшений в инфраструктуре компилятора высокого уровня, среде выполнения и сборщике мусора, что привело к значительному увеличению скорости работы.

Защита целостности управления потоком в V8

· 8 мин. чтения
Стивен Рёттгер

Защита целостности управления потоком (Control-flow integrity, CFI) — это функция безопасности, направленная на предотвращение атак, связанных с захватом управления потоком. Идея заключается в том, что даже если злоумышленнику удается повредить память процесса, дополнительные проверки целостности могут предотвратить выполнение произвольного кода. В этом посте мы обсуждаем нашу работу по внедрению CFI в V8.

Год с Spectre: взгляд команды V8

· 9 мин. чтения
Бен Л. Титцер и Ярослав Шевчик

3 января 2018 года Google Project Zero и другие раскрыли первые три уязвимости нового класса, которые затрагивают процессоры с механизмом спекулятивного исполнения, названные Spectre и Meltdown. Используя спекулятивное исполнение процессоров, злоумышленник мог временно обходить как явные, так и неявные проверки безопасности в коде, которые предотвращают чтение несанкционированных данных в памяти. Хотя процессорная спекуляция была задумана как микроархитектурная деталь, невидимая на уровне архитектуры, специально разработанные программы могли читать несанкционированную информацию во время спекуляции и раскрывать её через побочные каналы, такие как время выполнения фрагмента программы.

Временное отключение анализа выхода

· 2 мин. чтения
Матиас Биненс ([@mathias](https://twitter.com/mathias)), аналитик выхода из изолированной среды

В JavaScript выделенный объект выходит, если он доступен извне текущей функции. Обычно V8 выделяет новые объекты в куче JavaScript, но используя анализ выхода, оптимизирующий компилятор может понять, когда объект можно обрабатывать по-особому, так как его срок жизни доказано ограничен активацией функции. Когда ссылка на вновь выделенный объект не выходит за пределы функции, которая его создала, движки JavaScript не обязаны явно выделять этот объект в куче. Вместо этого они могут эффективно рассматривать значения объекта как локальные переменные функции. Это, в свою очередь, позволяет проводить множество оптимизаций, таких как хранение этих значений на стеке или в регистрах, а в некоторых случаях даже полное устранение этих значений. Объекты, которые выходят (точнее, объекты, для которых невозможно доказать, что они не выходят), должны выделяться в куче.