[Перевод] Эксплойтинг браузера Chrome, часть 2: знакомство с Ignition, Sparkplug и компиляцией JIT в TurboFan
В моём предыдущем посте мы впервые погрузились в мир эксплойтинга браузеров, рассмотрев несколько сложных тем, которые были необходимы для освоения фундаментальных знаний. В основном мы изучили внутреннюю работу JavaScript и V8, разобравшись, что такое объекты map и shape, как эти объекты структурированы в памяти; мы рассмотрели базовые оптимизации памяти наподобие маркировки указателей и сжатия указателей. Также мы затронули тему конвейера компилятора, интерпретатора байт-кода и оптимизации кода.
Если вы ещё не прочитали тот пост, то крайне рекомендую это сделать. В противном случае вы можете запутаться и совершенно не разберётесь в некоторых из тем, представленных в этом посте, поскольку мы продолжаем изучение на основе знаний из первой части, расширяя их.
В сегодняшнем посте мы вернёмся к конвейеру компилятора и ещё глубже разберём некоторые из рассмотренных ранее концепций: байт-код V8, компиляцию кода и оптимизацию кода. В целом, мы рассмотрим происходящее внутри Ignition, Sparkplug и TurboFan, поскольку они критически важны для понимания того, как определённые «фичи» могут привести к появлению багов, которые можно эксплойтить.
Читать дальше →
Источник: Хабрахабр
Похожие новости
- Пентест на автопилоте: что доверить роботам, а что — нет?
- Ботнеты растут, стратегия DDoS — меняется? Аналитический отчет за первое полугодие 2025
- VI Форум «Мой бизнес» в Архангельске: предприниматели, эксперты и представители власти обсудят рост в новых условиях
- Утечка хендлов в IP Helper API: как мы нашли и обошли ещё один баг Windows
- Тайна замочной скважины — зачем ПК запирали на ключ
- [Перевод] Как ИБ-специалисты могут превратить шумиху в новые возможности
- Как настроить работу с ПД на сайте клиники: база и тонкости
- Политики безопасности k8s gatekeeper OPA. Интеграция с GO
- Почему фаундер — лучший маркетолог: история провалов и роста B2B-продукта
- От раздражения к лояльности: как UX влияет на бизнес-показатели