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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
週末せっきゅ!
March 17, 2023
0
2.8k
CVE-2022-47949について
Security.Tokyoで発表させていただいた際のスライドです。
週末せっきゅ!
March 17, 2023
Tweet
Share
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.6k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
270
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Crafting Experiences
bethany
1
86
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
87
The World Runs on Bad Software
bkeepers
PRO
72
12k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
The Curse of the Amulet
leimatthew05
1
10k
Test your architecture with Archunit
thirion
1
2.2k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
640
Mobile First: as difficult as doing things right
swwweet
225
10k
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
ありがとうございました!