「グリッチウォール」でフォールトインジェクションを発生させるデモを披露
中級者以上歓迎!デバイスの脆弱性を検出するBlackHat USA 2024 IBMブース
2024年11月07日 07時00分更新
IBM X-Forceのチームでは攻撃者の視点からシステムやネットワークの脆弱性を発見し、ペネトレーションテスト、レッドチーミング、IoTセキュリティ評価などを行なっている。この夏開催された「BlackHat USA2024」のビジネスホールにおいて、IBMはコマーシャルブースを出展。本記事は、その中で紹介したデモンストレーションに関しての解説である。
IBM X-Forceチームが脅威対抗のデモを披露
BlackHat USAとは毎年8月にアメリカのラスベガスで開催されるセキュリティイベントである。セキュリティ研究者、エンジニア、ハッカー、企業の専門家が集まり、最新の脆弱性や攻撃手法、セキュリティ技術について知見を共有。プレゼンテーションとディスカション、各ベンダーが営業活動などが盛んに行なわれるため、年々参加者が増え、2024年は2万人以上の参加があったと報告があった。
BlackHat USAはプレゼンテーションが行なわれているフロアとは別に、ベンダーが集まってブースを作るビジネスホールと呼ばれるエリアがあり、IBMはこちらにブースを作成し、いくつかのデモンストレーションを実施した。
IBM X -Forceチームはサイバーセキュリティの分野でさまざまな脅威に対処するための専門家チームで、主に以下の種類の活動を行なっている。
IBM X-Force Red:ペネトレーションテストとレッドチーム活動
X-Force Redは、攻撃者の視点からシステムやネットワークの脆弱性を発見し、ペネトレーションテスト、レッドチーミング、IoTセキュリティ評価などを行なう。
IBM X-Force Threat Intelligence:脅威インテリジェンスの収集と分析-
サイバー脅威に関する最新の情報を収集・分析しするなど世界中の脅威情報を監視し、新たな攻撃手法やマルウェアのトレンドを特定する。
IBM X-Force Incident Response (IR)-インシデント対応とリカバリ-
サイバー攻撃が発生した際に企業が迅速に対応し、デジタルフォレンジック調査、リスク評価、復旧計画の策定などに従事している。
「グリッチウォール」のデモで脆弱性検出を披露
X-Force RedではAIを使用したペンテストのデモンストレーションを行なったが、私はハードウェアペンテストに従事しているテスターを中心に「グリッチウォール」というデモンストレーションに参加し、ブースで紹介した。
グリッチウォールは、ハードウェアテストで知られているフォールトインジェクション(Fault Injection)という手法についてのデモンストレーションシステムである。フォールトインジェクションとは意図的に障害やエラーを発生させることでハードウェアやソフトウェアの振る舞いを確認し、異常が生じた場合はその原因を探る攻撃手法。ファジング技術の一部であり、異常動作を繰り返すことで脆弱性に起因する問題が見つけることができる。特にハードウェアセキュリティや耐障害性のテストにおいて広く利用されている。フォールトインジェクションによるシステム障害や故障を引き起こす代表的な例としては、具体的に以下のような手法がある。
1. 電圧グリッチ(Voltage Glitching): 短時間の電圧低下や上昇をチップに与えることで、プロセッサーの動作を一時的に撹乱し正しくない動作を引き起こす。これにより正常な動作ではアクセスできないメモリ領域にアクセスしたり、 特定の保護機構をバイパスすることができる。
2. クロックグリッチ(Clock Glitching): クロック信号にわずかな乱れを与えることでプロセッサーが指示された通りに命令を実行できなくする。この場合もタイミングエラーを誘発して異常な動作を引き起こすことを目的としている。
3. レーザーフォールトインジェクション:精密なレーザー光を使用して、チップ内部の特定の部分にエネルギーを注入し、その部分の回路を一 時的に無効化または変更する手法。レーザー照査に非常に高い精度が要求されるが、特定のビットやレジスタに狙いを定めた攻撃が可能となる。
4. 電磁波干渉(EMI):電磁波を使用して、デバイスの動作に影響を与える手法。チップの内部の電気信号を狂わせることでフォールトを誘発する。
今回のデモでは、参加者が手元のパネルのスタートボタンを押下すると、クロックグリッチ手法によるフォールトインジェクションが何度も実行され、実際に異常が発生。成功した場合にはライトパネルに“WIN“が表示されるように作り込まれている。なお、システム構成は以下のようになっている。
Raspberry Pi:基本的な制御基板として使用。Raspberry Piはシステム全体の指令を出す中枢として機 能し、接続されている他のデバイスやモジュールとの通信を行なう。
ライトパネル: Raspberry Piに直接接続されているディスプレイ装置。このパネルにはグラフィックス表示や光信号を出力する機能があり、システムのビジュアルフィードバックを提供。
SAM4S in OFN43 TargetBoard:ライトパネルの操作やグラフィックス処理に関与しているボード。SAM4SはARM Cortex-M4コアを搭載したマイクロコントローラーで高速なデータ処理やリアルタイム制御が可能になっている。
ChipWhisperer:セキュリティテストと解析のために接続されているツール。電磁波や電力消 費の観測を通じてフォールトインジェクション攻撃を行なう元となる装置。SAM4Sボードやシステム全体の耐久性を評価する。
Display:Raspberry Piに接続しておりユーザーインターフェイスとしてスタートボタンを通常は表示しているほか、システムデバッグの際はコンソール画面としても使用可能。
オシロスコープ:デモに直接関係しないが、クロックの波形をモニタすることでメモリの読み込みや再起動等が行なわれていることを確認することができる。
この構成により、システムはリアルタイムなデータ処理やグラフィック表示を行ないながら、セキュリティテストやフォールトインジェクションによる耐性評価も同時に行なえる設計となっている。
プログラムの簡単な仕様としては、モニタに表示されるボタンを来客者が押下することでゲームがスタートする。
マイクロコントローラーが10までのカウントを320回繰り返すようにプログラムされているので、このカウント最中にチップに故障を発生させるグリッチを行ない、その後正しくカウントが続けられているかを検証する。これを繰り返している間、オシロスコープを使って、配線上の信号、特にトリガーピンの状態とクロック信号を観察する。
しばらくプログラムを繰り返し、次第にカウントが正しく行なわれずカウントがスキップしたり、同じ値が繰り返し記録されるなどの異常が生じることがある。その結果に基づいてプログラムが正しく動作しない場合の「WIN」、もしくは正常に終了した場合「FAIL」かを判断しライトパネルに表示する仕組みになっている。
このようにフォールトインジェクションが成功するとマイクロコントローラーのプログラムカウンタやメモリアドレスレジスタが異常な値に設定され、本来読む取るべきアドレスとは異なるアドレスのデータにアクセスすることになる。このメモリの値によってはマイクロコントローラーの保護をバイパスし、通常実行されないエラーハンドリングコードやデバッグコードへ分岐するなどの可能性がある。
クレジットカードスキマーや認証回避、自動車のエンジン制御を想定
このようなシンプルなプログラムであっても、背後には非常に高度なセキュリティ解析の目的が存在する。実際にこの実験は、以下のような実世界のシナリオに基づいている。
クレジットカードスキマーへの攻撃:「スキマー」と呼ばれる不正なカード読み取り装置には、セキュリティが強化されたマイクロコントローラーが使用されている。フォールトインジェクションを用いることで、これらのマイクロコントローラーがデバッグモードに入り、通常ではアクセスできないメモリやデータにアクセスすることができ、最終的に過去に読み取ったカードデータの情報にアクセスできる可能性がある。
安全性認証の回避:ユーザーがシステムアクセス時にハードウェアによってセキュリティ認証を要求することがある。フォールトインジェクションを用いることで認証プロセスをバイパスし、未承認のままアクセスが可能になることがある。たとえば、デジタル著作権管理(DRM)を破る目的で、認証システムにエラーを注入し、正当な認証が行なわれたように見せかけ認証をバイパスするなどの動作である。
自動車のECU(エンジン制御ユニット)のエラー回避:自動車のECUにフォールトインジェクションを行なうことで、エンジンの動作を制御するソフトウェアにエラーを引き起こし、車両の動作を妨いだり、不正な挙動を誘発できる可能性がある。
来場いただいたお客様は多岐に渡り、実際に製造現場で働かれている方や実際にテストを行なっている同業の方、また物理警備を担当されている方からも施錠管理システム等の面から注目していただくなど、これまで接点のない業界のお話を伺うことができた。セキュリティに懸念をお持ちのお客様と一緒に懸念点を洗い出すことで、よりセキュアなシステムを作り上げていくことが可能ではないか感じた。
著者紹介
X-Force Redは、グローバルで活躍する経験豊富なハッカー200名以上から構成される、IBM サイバーセキュリティー・サービスのチームの一つです。ペネトレーションテスト、脆弱性診断、レッドチーム演習、脅威ベースのペネトレーションテスト、ソースコード検証などのオフェンシブ(攻撃的)セキュリティー・サービスをお客様に提供しています。「Hack anything to secure everything すべてをハックしてすべてを守る)」をスローガンに掲げ、日々、犯罪目的に悪用される可能性の高い危険な脆弱性を探しています。