Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
インサイド 関西
Slide 2
Slide 2 text
自己紹介 ● るくす ● 神戸大学大学院 ● 興味 ● 専門分野 ローラー 最近はチャージャーも勉強中
Slide 3
Slide 3 text
● 任天堂より 年 月 日に発売されたゲーム機 ● 初期は というコードネームで開発が進められていた ● 本体の左右両側に を接続、分離して遊べる ● ジャイロセンサーやタッチスクリーンも搭載 ● ドックを使うとテレビへの出力も
Slide 4
Slide 4 text
Type CPU Cortex-A57 Memory 4GB GPU 256-core Maxwell Storage Toshiba/Samsung 32GB eMMC Wifi/BT Broadcom BCM4356XKUBG
Slide 5
Slide 5 text
● は の を した物。マイクロカーネル。 ○ ではないので注意 の情報は間違ってます ● ブラウザは ベース に使用 ● 実行バイナリフォーマットも独自の を採用 ● アプリはロード後 と呼ばれるダイナミックリンカに よってアドレス再配置、及び のような初期化処理を行う。
Slide 6
Slide 6 text
バイナリフォーマット ● の独自実行バイナリフォーマット ● ゲームやアプリはこのフォーマット .text section ※各セクション本体は で圧縮されている パッキング
Slide 7
Slide 7 text
バイナリフォーマット ● 独自の動的リンクライブラリフォーマット の 、 の ● 署名された正規の のみロード可能 署名の検証は フォーマットを利 用
Slide 8
Slide 8 text
バイナリフォーマット ● や 内に埋め込まれているフォーマット ● 動的リンクに必要な情報を管理する専用領域 Header(NRO) .text .rodata .data Header(MOD) Module Objects... .dynamic unwind NRO Binary
Slide 9
Slide 9 text
ソフトウェア ● という海外のチームが アプリケーション開発用 の簡単なライブラリとエミュレータを公開 ● をポーティング ○ 個のシステムコールを実装しただけのプロトタイプ ● エミュレータは をベースとした簡易な物 ○ のフック機能を使って、システムコール発行等のイベントをキャッチして ログに出力するだけ。どちらかというと解析用途。 ReSwitched Team
Slide 10
Slide 10 text
解析ツール ● 実行バイナリ解析、変換ツール ○ 用の 実行バイナリを に変換するツール ● 逆アセンブラ ● 逆アセンブラ NRO support by @pancake NSO support by @RKX1209
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
セキュリティ事情 ● チームが エクスプロイトを公開 ○ 元々 氏がデモしていた物を として更に発展 ● カーネルエクスプロイト ○ 氏が 週間前に成功 技術的な詳細は不明 ○ デバッグ用のシステムコール発掘に成功し、デバッガの開発まで行っている ● 任天堂の公式情報によると、 の を利用している ○ 暗号化や署名検証等の な処理は で実行されている可能 性
Slide 13
Slide 13 text
セキュリティ事情
Slide 14
Slide 14 text
エミュレータ ● 現在 エミュレータ、 を開発中 ○ 現段階で公になっている エミュレータはまだ無い ● 進捗状況 ローダー完成。 エミュレータ を開発中 ● 基本的なエミュレーション方式は エミュレータの を参考 ● バイナリから への 変換方式 ● 勿論、法的にグレーな怪しい機能は実装しない
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
今後の課題 ● エミュレーション方式の検討と実装 ○ フォワーディング フルエミュレーション パススルー? ● その他周辺機器のエミュレーション ● デバッガ等の開発環境の整備 これにはカーネルエクスプロイトによるハックが必 要 ● をやめる