Admin
Администратор
Подборка материалов по архитектуре V8\Chrome - для исследователей уязвимостей
Хотите узнать, как взломать V8 или Chrome? У вас есть свободное время в дороге? Посмотрите эти доклады с конференций или прочтите эти статьи, чтобы узнать больше о V8 и внутреннем устройстве Chrome.
Видео
- Mathias Bynens - V8 internals for JavaScript developers - JSConf AU 18 - Mathias Bynens- Discusses how elements kinds and different data types are handled in V8. Covers the following topics:
- SMIs
- Doubles
- Regular Elements
- Packed Elements
- Holey elements
- Performance
- JavaScript Engines: The Good Parts - JSConf EU 2018 - Mathias Bynens & Benedikt MeurerIntroduction to the four main JavaScript engines. Covers JavaScript engine fundamentals such as:
- Representation of objects
- Transition trees
- High level comparison between the optimizing/JIT compilers in each JS engine.
- JavaScript engines - how do they even? - JSConf EU 2017 - Franziska Hinkelmann - Introduction to JIT, optimizing compilers and compiler differences in each JavaScript engine.
- A Tale of Types, Classes, and Maps - JSCamp Barcelona 2018 - Benedikt Meurer - Introduction to the main four JavaScript engines and how they work. Discusses optimixation, deoptimization fundamentals and differences in each engine.
- Escape Analysis in V8 - Google - Tobias Tebbi - Covers escape analysis in Turbofan. Escape Analysis is a compiler optimization that allows to remove or postpone the allocation of temporary objects, potentially storing the object fields in registers instead.
- Inside V8: The choreography of Ignition and TurboFan - Web Rebels 2018 - Sigurd Scheider
- Garbage Collection in V8 - React Vienna 2017 - Irina Shestak
- Orinoco: The new V8 Garbage Collector - NodeConf EU 2018 - Peter Marshall
- Memory Layout of V8’s Heap - dotJS 2016 - Fedor Indutny - Discusses core V8 concepts such as “SMIs” (Small Integers), Pointer Tagging, Boxing, “Maps” and the object layout in memory. Also introduces “llnode”, a lldb plugin for debugging NodeJS and V8.
- Breaking the JavaScript Speed Limit with V8
- Ignition: An Interpreter for V8
- Turbofan: A new code generation architecture for V8
- Mojo - Chrome’s IPC
- Security 101 (Chrome University)
- Security 201 (Chrome University)
- Anatomy of the Browser 101 (Chrome University)
- Anatomy of the Browser 201 (Chrome University)
- Life of a Process (Chrome University)
- Life of a Script (Chrome Univesity)
- JavaScript engine fundamentals: optimizing prototypes
- JavaScript engine fundamentals: Shapes and Inline Caches
- Elements kinds in V8
- Getting garbage collection for free
- Fast Properties in V8
- A tour of V8: full compiler
- A tour of V8: object representation
- Allocating Numbers
- SMIs and Doubles
- ELI5: v8 Isolates and Contexts
- JS Object Structure Analysis
- Chrome Sandbox Design
- The Security Architecture of Chromium Browser
- Chrome Security Arcitecture Diagram
- Chrome Site Isolation
- Chrome Partition Alloc
- Chrome Mojo IPC Style Guide
- Chrome Mojo Readme
- Intro to Mojo & Services
- How Blink Works
- Firing up the Ignition interpreter
- Ignition: Jump-starting an Interpreter for V8
- Ignition: An Interpreter for V8
- Ignition Design Document
- Ignition: Register Equivalence Optimization
- Understanding V8’s Bytecode
- Blazingly Fast Parsing, Part 2
- An Introduction to Speculative Optimization in V8
- Digging into the TurboFan JIT
- Deoptimize me not, v8
- How to start JIT-ting
- Sea of Nodes
- Turbofan Docs
- Hooking up the Ignition to the Turbofan
- Tale of Turbofan
- Ignition+TurboFan and ES2015
- CodeStubAssembler Redux
- Overview of the Turbofan Compiler
- Turbofan IR
- Turbofan’s JIT Design
- Fast Arithmetic for Dynamic Languages
- Deoptimization in V8
- Turbofan a new code generation architecture for V8
- An Internship on Lazyness Slides
- An internship on laziness: lazy unlinking of deoptimized functions
- Turbofan: Function Context Specification
- Turbofan: Rest Parameters and Arguments Exotic Objects optimization plan
- Turbofan Developer Tools Integration
- Turbofan Inlining
- Turbofan Inlining Heuristics
- TurboFan redundant bounds and overflow check elimination
- Turbofan Lazy deoptimization without code patching
- Turbofan Register Allocator
- Projection nodes in TurboFan
- Jank Busters Part Two: Orinoco
- Garbage Collection: V8’s Orinoco
- Trash talk: the Orinoco garbage collector
- V8 Homepage
- OmahaProxy
- V8 Github Mirror
- V8 / Chrome Source Browser
- Chromium Bug Tracker
- V8 Bug Tracker
- Google Groups V8
- Google Groups Chrome
- Chrome Status
- Chrome Release Schedule
- Chromium Blog
- Chrome Severity Guidelines
- Chromium Code Review Gerrit
- Chromium IRC
Общий анализ безопасности браузеров / для начинающих /
Как работает JS: о внутреннем устройстве V8 и оптимизации кода
Эксплуатация Chrome: как легко запустить цепочку эксплойтов Chrome RCE+SBX с помощью одной команды
Серия эксплуатации V8 - часть 1
Серия эксплуатации V8 - часть 2
Серия эксплуатации V8 - часть 3
Серия эксплуатации V8 - часть 4
Серия эксплуатации V8 - часть 5
Серия эксплуатации V8 - часть 6
Серия эксплуатации V8 - часть 7
Изучение эксплойтов V8 с нуля /начало/ (1)
Изучение эксплойтов V8 с нуля / первое погружение / (2)
Изучение эксплойтов V8 с нуля / starctf 2019 OOB / (3)
Изучение эксплойтов V8 с нуля / по колено в CVE-2020-6507 / (4)
Изучение эксплойтов V8 с нуля / плесни-ка, барин, CVE-2021-30632 / (5)
Изучение эксплойтов V8 с нуля / только смелым покорилось CVE-2021-38001 / (6)
Изучение эксплойтов V8 с нуля / Спасибо товарищу CVE-2021-30517 за наше счастливое детство! /(7)
Изучение эксплойтов V8 с нуля / Заклятие отравленной CVE-2021-21220 / (8)
Изучение эксплойтов V8 с нуля / Сбежавшая принцесса CVE-2021-21225 / (9)
Google Chrome V8 CVE-2024-0517 Out-of-Bounds Write Code Execution
Атака клонов: получение RCE в рендерере Chrome используя дублирующиеся свойства объектов
Аллоцируем новые эксплоиты, ломаем браузеры как ядро ОС, а также тщательно исследуем PartitionAlloc и движок Blink.
Эксплуатация браузера Chrome, часть 1: введение в V8 и внутреннее устройство JavaScript
Эксплуатация браузера Chrome, часть 2: Введение в Ignition, Sparkplug и JIT-компиляцию с помощью TurboFan
Тренировочные упражнения по поиску уязвимостей в Google Chrome
Patch-gapping Google Chrome
Не следуйте массам: поиск уязвимостей в JavaScript движках
Анализ первопричин ошибки или уязвимости Maglev Graph Builder?!
Разбираем V8. Заглядываем под капот Chrome на виртуалке с Hack The Box
Как работает баг CVE-2021-21112 (use after free) в Chrome в движке Blink
От JavaScript до Ядра - Google CTF 2021 Quals "Full Chain" Writeup
От утечки TheHole до Chrome Renderer RCE
CVE-2021-38001: краткое введение во встроенный кэш V8 и использование путаницы типов
Google Chrome V8 ArrayShift Race Condition и удаленное выполнение кода
Эксплуатация CVE-2020-0041 - Часть 1. Побег из песочницы Chrome
Эксплуатация CVE-2020-0041 - Часть 2: Эскалация до рута
Побег из песочницы Chrome через состояние гонки IndexedDB
Глубокое погружение в технику выхода из песочницы V8
Использование собственного указателя функции для обхода последней песочницы Chrome v8 (проблемы 1378239)
Используйте Wasm, чтобы снова обойти последнюю версию Chrome v8sbx
Злоупотребление Liftoff и эффективный побег из sbx
ЭЛЕКТРИЧЕСКИЙ ХРОМ - CVE-2020-6418 на Tesla Model 3