300 likes | 511 Views
iPod に搭載. Maximillian Dornseif PacSec 2004. 議題. 自己紹介 Firewire の紹介 実演 Firewire によるハッキングの技術的詳細 Firewire によるフォレンジック 課題. 自己紹介. 独アーヘン工科大学( RWTH ) 高信頼性分散型システム研究室 研究員 Michael Becher Maximillian Dornseif Halvar Flake Christian Klein. Laboratory for Dependable Distributed Systems.
E N D
iPodに搭載 • Maximillian Dornseif • PacSec 2004
議題 • 自己紹介 • Firewireの紹介 • 実演 • Firewireによるハッキングの技術的詳細 • Firewireによるフォレンジック • 課題
自己紹介 • 独アーヘン工科大学(RWTH) • 高信頼性分散型システム研究室 • 研究員 • Michael Becher • Maximillian Dornseif • Halvar Flake • Christian Klein Laboratory for Dependable Distributed Systems
Firewire:歴史的背景 • 1985年、米Apple社により開発 • 1995年、米国でIEEE1394(公式規格)となる • 2000年、IEEE 1394a(‘95年版修正規格) をリリース • 2002年、IEEE 1394b (上位規格)をリリース • 米Apple社より「Firewire」 または 「FireWire」として市場へ • (株)ソニーが「iLink」という名前を付けて市場へ
Firewireの特徴 • USBと類似しているが、より高性能なシリアルバス(SB) • 高速 • コンピュータ不要のP2P • 強力
主な市場 • Apple社: FireWire のハードを推奨 • 1999年1月以降、デスクトップへ • 2000年1月以降、ノートへ • 2000年9月、最後のFireWire非搭載マシンが出荷 • 2001年10月、 FireWireのキラー・アプリケーションとしてiPodが登場 • (株)ソニー:次項で紹介 • 他社: 多くの上位システムでFireWireを搭載
その他FireWire採用製品 • オーディオ • プリンタ • スキャナ • カメラ • GPS • 実験用機器 • 産業用制御システム
OHCI • 非同期機能 • 拡張カード (PCI)でオンボードRAMやRAMにアクセスするのに使用される • 物理要求 - CSRレジスタ(OHCI規格セクション5.5)へのPhysical Read(物理読み取り)、Physical Write(物理書き込み)、およびロック要求を含む、物理要求は、システムソフトのアシストなしでホストコントローラによって直接処理される。(OHCI規格)
OHCIフィルタ • 「AsynchronousRequestFilters(非同期要求フィルタ)」“1394 OHCIはホストメモリと非同期受信(AR)に対する要求コンテキストへの選択的アクセスを可能にする。それによりソフトウェアがホストメモリの安全性を保つことが可能になる。選択的アクセスは2組の64-bitレジスタ、つまり物理要求フィルタと非同期要求フィルタによって提供される。これらのレジスタは、ノードIDに基づき物理メモリとAR要求コンテキストへのアクセスを可能にする。” (OHCI規格) • 「PhysicalRequestFilter」レジスタ (セットとクリア)“非同期要求を受信し、その要求がAsynchronousRequestFiltersを通過、さらにオフセットがPhysicalUpperBound以下である場合(OHCI規格セクション5.15) 、要求のソースIDはPhysicalRequestFilterへのインデックスとして用いられる。 PhysicalRequestFilterの対応ビットが0に設定されている場合、要求は非同期受信要求のDMAコンテキストへと転送される。反対にビットが1に設定されている場合、要求は物理応答ユニットへ送信される。” (OHCI規格)
Read機能の悪用 • 任意のメモリロケーションの読み取りが可能。そのため、以下が実行できる。 • スクリーンコンテンツの取り込み • 文字列のメモリ内検索 • 存在しうるキー マテリアルのスキャン • 論理メモリのレイアウトの理解を目的とした、物理メモリ全体の解析
Write機能の悪用 • 任意のメモリロケーションに任意のデータを書き込める。そのため、以下のことが実行可能。 • 破壊 • スクリーンコンテンツの変更 • 特定のプロセスのUID/GIDの変更 • プロセスへのコードの挿入 • 追加プロセスの挿入
フォレンジックの分裂 • ケーブルを抜き、ディスク分析(事後分析)を実行 • プロセス、Open接続などを見逃す原因となる • 実行中のシステムにおける情報収集、その後、クリーンなシャットダウンを行い、事後ディスク分析を実行 • 情報収集中に証拠を汚染する原因となる
実行中のメモリダンプ • ソフトウェアのサポートなしでメモリ全体をダンプ可能にすることで分裂を解決する • 「Tribble」は、PCIバスのDMA転送を介して物理メモリをダンプできる特殊のハードウェアである • Firewireを介して同様のことを実行できれば、ソフトウェアだけで解決できる
フォレンジックの課題 • 物理メモリのダンプから論理/仮想メモリを再構築する経験の欠如 • オープンネットワーク接続などを発見するには、一連のカーネル構造を解析することが必要
保護のために! • FireWireポートには必ず、完全に信頼できるデバイスのみを接続する • ドライバ/OSのベンダにFireWireフィルタリングを強く求める
フォレンジックに備える • インシデントの影響を受けやすいシステムでは、FireWireポートを確保しておいたほうが良い • ポートの物理的セキュリティを強化 • FireWireを介してメモリダンプを実行できるようソフトウェアを用意しておく