Attacking Client-Side JIT Compilers
Offered By: Black Hat via YouTube
Course Description
Overview
Explore the security aspects of JavaScript JIT compilers in this Black Hat conference talk. Delve into the challenges faced by these compilers and the solutions implemented by prominent engines. Examine JavaScript values, type information, speculation guards, and the JIT compiler pipeline. Investigate bug categories, optimization techniques, and potential vulnerabilities. Learn about shape guards, arrays, objects, and abstract interpretation. Analyze practical examples and demonstrations, including a calculator exploit. Gain insights into new trends in browser exploitation and understand the implications for client-side security.
Syllabus
Intro
JavaScript Values
JIT Compilers
JavaScript
Type Information
Example
Speculation Guards
Speculation All
JIT Compiler Pipeline
Summary
Bug Categories
Lowpass handlers
Takeaway
Optimization
Optimizations
bounds checking
check bounced
range analysis
speed analysis
bounce check
what could go wrong
NVH
Exploit
More examples
What is redundancy
How would you do this
The function
Shape guards
Arrays
Objects
Pseudocode
Abstract Interpreter
CreateThis
Graph Building
Check Hoisting
Demo
Calculator
KXTed
Conclusion
Taught by
Black Hat
Related Courses
Attack on Titan M, Reloaded - Vulnerability Research on a Modern Security ChipBlack Hat via YouTube Attacks From a New Front Door in 4G & 5G Mobile Networks
Black Hat via YouTube AAD Joined Machines - The New Lateral Movement
Black Hat via YouTube Better Privacy Through Offense - How to Build a Privacy Red Team
Black Hat via YouTube Whip the Whisperer - Simulating Side Channel Leakage
Black Hat via YouTube