LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

ラックピープル | 

ハンズオンでIoTの脆弱性を発見!~セキュリティ・ミニキャンプ2024講義レポート

こんにちは、デジタルペンテスト部オフェンシブペンテストグループの田端です。

2024年4月27日・28日にセキュリティ・ミニキャンプ2024が開催されました。

セキュリティ・キャンプの地方大会にあたるセキュリティ・ミニキャンプは、若年層の高度IT人材を発掘・育成することを目的とした取り組みであり、25歳以下の学生を対象に開催されています。デジタルペンテスト部のIoTセキュリティテスト担当エンジニアである吉越 舟が講師を、今井 志有人、飯田 雅裕、今井 啓貴がチューターを担当しました。

この記事では、「IoTデバイスペネトレーションテスト」について一連の流れを学ぶ講義の概要と、当日の模様をレポートします。

IoTデバイスペネトレーションテストとは

IoTデバイスペネトレーションテストについて説明する前に、IoT機器へのサイバー攻撃による影響はどのようなことがあるのか、ペネトレーションテストとは何かについて解説します。

IoT機器を取り巻く環境

IoTデバイスを狙う攻撃は数多く発生しています。例えば、

  • マルウェアにより制御システムが稼働停止
  • 「Mirai(IoTデバイスを標的にするマルウェア)」によるDDoS攻撃の被害
  • 無線システムへのハッキングにより鉄道が停止

など、様々な被害が発生しています。このようなサイバー攻撃による被害からIoTデバイスを守るために、IoTデバイスはもちろん、関連するシステムにおいてセキュリティを意識した設計や開発が求められています。

IoTデバイスペネトレーションテストは、サイバー攻撃による被害を未然に防ぐために有効なセキュリティ対策になります。

サイバー攻撃の被害を未然に防ぐペネトレーションテスト

ペネトレーションテストとは、サイバー攻撃を再現した疑似攻撃を用いて、対象システムに対して「攻撃者の目的」が達成できてしまうか実証するテストです。

目的を達成するために必要な場合、システムへの侵入を試みる疑似攻撃も行われることや、「ペネトレーション(penetration)」の単語の意味が「侵入」であることから、「侵入テスト」と呼ばれることもあります。

IoTデバイスペネトレーションテストの実施内容

IoTデバイスペネトレーションテストは、「IoT機器およびそのシステム」を対象としたペネトレーションテストです。ハードウェアとソフトウェアだけでなく、Wi-Fiなどのインターフェースも主な調査対象範囲です。調査する範囲も広く、基本的にブラックボックスでの調査になります。

IoTデバイスペネトレーションテストの実施内容

下記のような流れで調査を進めていきます。

IoTデバイスペネトレーションテストの流れ

IoTデバイスペネトレーションテストでは潜在する脅威の調査と改善策を提案します。開発したIoTデバイスがサイバー攻撃を受けた場合にどのような影響があるかを把握できます。また、発見した問題を解決する対策を提案しますので、具体的な改善策を導き出せます。

IoTデバイスペネトレーションテストを実施することにより、実際のサイバー攻撃を想定した、より効果的なセキュリティ対策を立てることが可能になります。

今回の講義では、そんなIoTデバイスペネトレーションテストの一連の流れをハンズオンで学んでもらいました。

ハンズオンで脆弱性を見つける!IoTデバイスペネトレーションテスト体験

ハンズオン講座の様子

Wi-Fiルーターを対象に「IoTデバイスペネトレーションテスト」というセキュリティテストの流れをハンズオンで体験してもらい、IoTデバイスの「セキュリティの必要性」「調査対象機器の解析方法」「ハック技術」を学べる講義を実施しました。参加者には、3名~4名のグループに分かれて1.5日間講義に取り組んでもらいました。

講義内容全部をご紹介しようとするとボリューム満点なので、実施した内容の一部を紹介します。

機能確認

機器に関する情報をまとめる

攻撃できる脆弱性を発見するために、テスト対象の機器に関する情報をまとめます。既知の脆弱性はあるか、どんな機能があるのか、機器の基本情報などを列挙し理解します。

例えば、Web管理画面があるIoTデバイスであれば、admin/passwordでログイン可能かを調査したり、ブラウザの開発者ツールを使用してどのようなデータを送っているのか通信情報を調査したりします。気になった情報はたくさんメモしておくと、後の脅威分析に活かせます。

基板調査

基板から攻撃できる侵入口がないかなどを検討するために、基板から得られる情報をまとめます。

基板を目視で確認して主要ICチップの情報、IoTデバイスを動作させるうえで必要なコンポーネント(SoC、ROM、RAM、Wi-Fi)を調査します。合わせて非公開のインターフェースの存在についても調査します。講義では実際の基板を使って調査してもらいました。

基板調査のイメージ
※ 画像はイメージです

脅威分析

機器や基板についてまとめた情報をもとに、アタックサーフェス(攻撃される可能性がある領域のこと)を整理・評価します。また、IoTデバイスペネトレーションテストにおける「ゴール」を決定します。

  • データフローの可視化
    対象の機器と外部システムのデータがどのようにやり取りされているか可視化する
  • 脅威の洗い出し
    まとめた機器の情報や基板調査結果などをもとに、どんな脅威が潜んでいるかを考えて洗い出し、脅威シナリオを作成
    脅威シナリオの例:「第三者による通信の傍受、不正アクセス」「管理者権限の取得」など
  • 攻撃手法の列挙
    洗い出した脅威シナリオに対して、どのようなサイバー攻撃手段が実施できそうかを検討する
  • リスクの評価
    考えられる攻撃手段や脅威シナリオから、実際に攻撃が成功した場合のリスクを評価する

上記を実施し、リスク評価の結果を元に、調査する脅威を選定します。調査する脅威の例としては、「通信が盗聴できるか」「ファームウェアが改ざんできるか」などがあります。

シナリオ作成

今回の講義では、調査する脅威をOSコマンドインジェクション(外部からOSコマンドを実行できる脆弱性)として、OSコマンドインジェクションの発見をゴールに設定して、以降の作業に取り組んでもらいました。

調査/検証

ROMからのデータ抽出とシリアルコンソールへの接続

ROMライター(ROMを読み書きするためのツール)とROMを配線してバイナリデータを抽出する作業と、シリアルコンソールに接続して調査するハンズオンをしました。後に実施するファームウェア解析のための準備と、信号線の特定やブートローダーが操作できるかなどを調べることを目的に取り組みました。

通信の解析

不要な通信が流れていないか、データの盗聴や改ざんができる脆弱性がないかなどを調査するために通信の解析ハンズオンを実施しました。講義ではBurp Suite(Webアプリケーションの脆弱性診断ツール)を使用して通信解析をしました。

ファームウェア解析

ファームウェア解析とは、ROMから抽出したバイナリデータを解析し、脆弱性を見つけることです。ファームウェア解析はIoTデバイスペネトレーションテストにおいて重要な解析作業となります。今回の講義ではGhidra(リバースエンジニアリングツール)を使用して、静的解析のハンズオンをしました。

講義で学んだこれらの解析技術(シリアルコンソール操作、通信解析、ファームウェア解析)を使って、OSコマンドインジェクションを探してもらいました。参加者の皆さんは見つけられたでしょうか。

参加者の方々に自身のスキルを活かしてもらいながら、講師やチューター・同じグループのメンバーと協力しながら積極的に課題に取り組んでいました。講義は最初から終わりまで解析ハンズオンに取り組んでもらう内容でしたが、楽しんでもらえたでしょうか。参加してくれた方がこちらの記事を見て、感想や連絡をくれたら嬉しいです。

おわりに

セキュリティ・キャンプは、次世代を担う高度IT人材育成に向けた取り組みの一環として、セキュリティ分野の第一線で活躍する技術者を講師陣に迎えて、2004年度から経済産業省とIPA(独立行政法人 情報処理推進機構)が推進している事業です。その中でラックは、当社最高のエンジニアを講師として送りだすほか、セキュリティ・キャンプ活動の企画・運営するセキュリティ・キャンプ協議会事務局を受託し、後方支援も行っています。

今回は講師も担当させてもらい、このようなセキュリティ人材育成の取り組みに参加できて、とても貴重な経験となりました。当日参加してくれた方にとっても、学びになった経験だと感じてもらえたら嬉しいです。デジタルペンテスト部では今後もこのような活動を積極的に取り組みます。

講義に参加してくれた方はもちろん、この開催レポートを読んでくれた皆様が、今回紹介したIoTデバイスペネトレーションテストやペネトレーションテストのお仕事に興味を持ってくれたらとても嬉しいです。

プロフィール

田端 あやの

田端 あやの
ペネトレーションテストなどのセキュリティサービスのプロモーションを担当しています。
ラックのセキュリティエンジニアが執筆する、エンジニア向けの情報発信ブログ「ラック・セキュリティごった煮ブログ」の運営もしています。運動不足解消のためベリーダンスやテニスを習っています。

この記事は役に立ちましたか?

はい いいえ

関連記事

LAC WATCH

関連記事をご紹介します

  • IoTデバイス開発で重要なセキュリティ対策とは?~潜在する脆弱性を発見するセキュリティテストを疑似体験

  • ファームウェア更新機能が搭載されているだけでは安心できない!IoT機器のセキュリティを考える

  • 工場DXを支えるペネトレーションテスト~OTシステムに求められるセキュリティ対策