Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CVE-2022-47949について
Search
週末せっきゅ!
March 17, 2023
0
2.7k
CVE-2022-47949について
Security.Tokyoで発表させていただいた際のスライドです。
週末せっきゅ!
March 17, 2023
Tweet
Share
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
100
Designing for Timeless Needs
cassininazir
0
110
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
33
How to make the Groovebox
asonas
2
1.9k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
74
Are puppies a ranking factor?
jonoalderson
0
2.6k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
61
47k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
76
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
Transcript
一緒にプレイするだけで乗っ取り!? ~任天堂のバッファオーバーフロー脆弱性~ 小笠原 啓祐
目次 自己紹介 脆弱性の概要 デモ動画 バッファオーバーフローについて 脆弱性解説 補足
自己紹介 ・大学一年生 ・サークル「週末せっきゅ!」(2名)してます ・情報機器管理コンテスト出ます →インシデントレスポンス等 お話聞きたいです!! 週末せっきゅ!@yuluhack
3DS以降の任天堂ゲームの共通ネットワークコード(ENL)に存在する脆弱性 攻撃 者がオンラインゲームをしているだけで被害者のゲーム機で リモートコード 実行可能(RCE)な脆弱性(修正済) 対象となったゲーム(画像は全て任天堂公式 HPより) ・マリオカート7,8 ・スプラトゥーン1,2,3 ・あつまれ どうぶつの森 etc,,, ENLBufferPwn(CVE-2022-47949)の概要
実際の動画 以下の動画でのハッキング、チーティング おそらくこの脆弱性によるものと考えられる https://www.youtube.com/watch?v=nVCPjUrkfPg&ab_channel=%E3%81%8F%E3 %82%89%E3%81%86%E3%81%A9 攻撃者側の概念実証デモ https://www.youtube.com/watch?v=PLAVmp5ky-k&ab_channel=PabloMK7
バッファオーバーフローとは? 許容量を超えるデータを送信し、システム機能を停止 または悪意あるプログラムを実行する攻撃(画像はIPA)
ENL ENL・・・任天堂のゲームで(オンライン上で)用いられ るネットワークライブラリ。 peer to peerのプライベート通信フレームワーク。今回 の脆弱性の原因だった。 クラス、メソッドの実装→
setもaddも入力されたデータサイズが バッファ サイズに収まるかをチェックしていない!
やや詳しく,,, ENLネットワークライブラリは、非同期であり、データ がバッファに充填される間、ゲームは他の操作を行う ことが可能なダブル・バッファ技術が使われており、 ネットワークバッファオブジェクトとそのコンテンツは 隣接している。 また、ダブルバッファからの両方の バッファは、メモリ上で隣接している。 バッファ割り当て後のメモリの配置は右図。
画像上部のバッファは Buffer0 として参照され下部 のバッファは Buffer1 として参照される。攻撃者は Buffer0 のバッファオーバーフローを起点に、 Buffer1 の
dataptrメンバを含む属性を上書きする ことができる。3DSはアドレス空間配置のランダム 化( ASLR) を実装していないため(なんと!),被害 者のゲーム機内のすべてのメモリ配置を知ることが でき、dataptr は任意の場所を指定できる。ゲーム がバッファを交換すると、新しいデータは任意の場 所にコピーされる。 これを利用して,,,
1,被害者のゲーム機に バッ ファオーバーフローを 引き起こ し、dataptrを上書きする用の データ (ペイロード)を送 信する 2,Buffer1 の内容を任意の データで設定することで 被害 者のゲーム機のBuffer1の dataptrが指す任意のアドレス
にコピーされる。 1,2を繰り返す。
クレジット 元のPoC(パブリックドメイン) PabloMK7/ENLBufferPwn: Information and PoC about the ENLBufferPwn vulnerability
(github.com) 情報処理推進機構 安全なウェブサイトの作り方 https://www.ipa.go.jp/security/vuln/websecurity 任天堂公式HP https://www.nintendo.com
ありがとうございました!