YoVDO

Attacking Client-Side JIT Compilers

Offered By: Black Hat via YouTube

Tags

Black Hat Courses Cybersecurity Courses Javascript Courses Compilers Courses Browser Security Courses

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

Computer Security
Stanford University via Coursera
Cryptography II
Stanford University via Coursera
Malicious Software and its Underground Economy: Two Sides to Every Story
University of London International Programmes via Coursera
Building an Information Risk Management Toolkit
University of Washington via Coursera
Introduction to Cybersecurity
National Cybersecurity Institute at Excelsior College via Canvas Network