見出し画像

【CODE BLUE 2024】スンヒョン・イ / Seunghyun Lee - 講演関連資料 / Presentation resources -


●講演概要 / Abstract

[ja] 必要なのはWebAssemblyだけ:WASMを使ってChromeとV8サンドボックスを10回以上エクスプロイトする

ブラウザーは複数のコンポーネントが統合された複雑なソフトウェアであり、個々のコンポーネントとそれそれの統合レイヤーはバグの潜在的な原因となり得る。しかし、すべてのバグが同等に危険であるわけではなく、初期のバグの悪用可能性が疑わしい場合もある。また、完全に任意のコード実行を実現するためには、しばしば緩和策の回避が必要となる。Chromeでは、この緩和策がV8サンドボックスとして知られており、V8サンドボックス領域内で発生するメモリ破損が他のメモリ領域に影響を与えないようにすることを目的としている。これにより、初期のバグを任意のコード実行にまで発展させることが非常に困難になる… と考えられてきた。
本講演では、WebAssembly(WASM)が依然として強力な攻撃ベクターであり、初期のバグおよびV8サンドボックスの回避策を提供する優れた手段であることを示す。まず、TyphoonPWN 2024でWASMのバグを見つけ、それをV8でのVariant Analysisを通じて悪用した経緯を紹介し、このバグの修正がv8CTFでさらに簡単に悪用できるvariant-of-a-variant bugを明らかにした過程を説明する。また、無害なタイプミスにより発生したWASM TurboFanコンパイラの別のバグを紹介し、一見悪用不可能に見えるバグが、特定の構成やプラットフォームでは重大な悪用可能性を持つことを示す。さらに、WASMにおける10件以上のV8サンドボックス回避事例をリストアップし、これにより完全な修正が困難な新しい回避技術のパラダイムが開かれたことを示す。この研究は約2ヵ月という短期間で行われたが、複数のハッキングコンテストやVRP(Vulnerability Rewards Program)で合計25万ドル以上の賞金を獲得することができた。
講演を通じて、ChromeのWASM実装におけるバグの発見方法や、最新のChrome環境でそれらを悪用する手法について、全体像と技術的な詳細を提供する。ブラウザーのバグは「発見が難しい」という一般的な誤解に挑戦し、実際にはいくつかのバグが簡単に発見され、悪用可能であることを示す。講演の締めくくりとして、他の主要ブラウザーにおけるWASM実装に関する今後の研究やエクスプロイトのデモンストレーションを紹介する。

codeblue.jp

[en] WebAssembly Is All You Need: Exploiting Chrome and the V8 Sandbox 10+ times with WASM

Browsers are a complex piece of software with multiple components integrated together. Every one of these components, as well as the integration layers between them, are potential sources of bugs. However, not all bugs are equal - exploitability of the initial bug is sometimes questionable, and mitigation bypasses are often required to obtain fully arbitrary code execution even within the renderer. In Chrome this mitigation is known as the V8 Sandbox, which attempts to prevent any memory corruption within the V8 Sandbox region from affecting any other memory region. This makes exploiting the initial bug to a fully arbitrary code execution much more challenging… or so was considered as such.
In this talk, I demonstrate how WebAssembly still serve as a great attack vector that provide troves of both the initial bug and V8 Sandbox bypass. I first share the story behind finding a WASM bug in V8 through variant analysis and exploiting it at TyphoonPWN 2024, and show how fixing this bug revealed another stunningly simple variant-of-a-variant bug exploited in v8CTF. I also introduce another bug in WASM TurboFan compiler caused by an innocent typo, and show how analyzing a seemingly unexploitable bug can reveal significant exploitability in some configurations and platforms. I continue on to a massive list of 10+ V8 Sandbox bypasses in WASM, opening up a whole new paradigm of bypass techniques that require significant efforts to fully patch. This research, while spanning over only a short period of approximately 2 months, enabled me to win multiple hacking competitions and VRPs for a total of $250K+.
Throughout the talk, I provide both the big picture and detailed technical walkthrough on finding bugs in Chrome’s WASM implementation and exploiting them in the modern Chrome environment. I challenge the common misconception that “browser bugs are hard”, whereas quite a few of them can be found and exploited without breaking a sweat. The talk will conclude with a sneak peek of future works on WASM implementation in other major browsers and a demonstration of the exploits.

codeblue.jp

●略歴 / Bio

[ja] スンヒョン・イ

スンヒョン・イ(別名:Xion、@0x10n)は、カーネギーメロン大学のコンピューターサイエンス学科に所属する博士課程の学生である。KAISTでコンピュータサイエンス・電気電子工学の学士号を取得し、在学中はハッキングラボの研究インターンとして活動していた。彼の研究は、システムセキュリティ、バイナリ解析、自動脆弱性発見およびエクスプロイト生成に焦点を当てている。
最近の研究では、ブラウザーやLinuxカーネルの脆弱性調査とエクスプロイトに取り組んでおり、ハッキング競技で複数の脆弱性を発見し、エクスプロイトに成功している。特筆すべき成果としては、Pwn2Own バンクーバー 2024において2つのブラウザーエントリーでの優勝、TyphoonPWN 2024におけるChromeエントリーでの最高賞金獲得、さらにGoogle kernelCTFやv8CTFでの複数のエントリーでの勝利が挙げられる。彼は国内外のセキュリティカンファレンスで研究を発表しており、POC2023でも講演を行った。また、時折CTF競技にも参加しており、Maple Mallard Magistratesの一員としてDEF CON CTF 2023および2024で優勝し、DEF CON Black Badgeを受賞している。

codeblue.jp

[en] Seunghyun Lee

Seunghyun Lee, a.k.a. Xion (@0x10n), is a Ph.D. student in the Computer Science Department at Carnegie Mellon University. He received his bachelor’s degree in CS/EE at KAIST, where he worked as a research intern in Hacking Lab. His research focuses on system security, binary analysis, automatic vulnerability discovery and exploit generation.
His recent works involve vulnerability research and exploitation of browsers and the Linux kernel, and have found and exploited multiple vulnerabilities in hacking competitions. His notable achievements include winning two browser entries in Pwn2Own Vancouver 2024, winning the top payout on TyphoonPWN 2024 with a Chrome entry, and winning multiple entries in Google kernelCTF and v8CTF. He has presented his research in domestic and international security conferences including POC2023. He is also an occasional CTF player and has received the DEF CON Black Badge for winning DEF CON CTF in '23/'24 as part of Maple Mallard Magistrates.

codeblue.jp

●講演動画 / Presentation video

●講演スライド / Presentation slide

画像をクリックすると外部リンクでPDFが開きます
(Click the image to open the PDF via an external link)

●写真 / Photo

スンヒョン・イ氏(Seunghyun Lee)