LAC WATCH

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

RSS

株式会社ラック

メールマガジン

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

サービス・製品 | 

IoTセキュリティ検証でなぜファームウェア解析調査が必要なのか、8年の実績から見えたこと

こんにちは、ペネトレーションテストを提供しているデジタルペンテスト部の藤原です。

※ 疑似攻撃を用いて、調査対象に対して「攻撃者の目的」が達成できてしまうか実証するテスト

デジタルペンテスト部では、IoTデバイスやIoTシステムのセキュリティ対策の有効性や影響を検証する「IoTデバイスペネトレーションテスト」を提供しています。このサービスは、通信ネットワーク機器や車載ユニット、IoT Gatewayなど、様々なIoTデバイスに対して実施しています。

そんなサービスの実施内容の1つである「ファームウェア解析」の必要性について解説します。

IoTデバイスペネトレーションテストの相談を受けたら

最初にIoTデバイスやIoTシステムのセキュリティ検証として、IoTデバイスペネトレーションテストの相談を受けた時のラックの対応について説明します。

セキュリティ検証のイメージ

① お客様の相談内容についてヒアリングする打ち合わせを実施します。これにより、対象デバイス及びシステム構成の概要を、可能な範囲で確認します。ラックのエンジニアが内容を把握して、次の②、③を検討します。

② 攻撃者が侵入を考えるポイントについて検討します。
例えば、侵入ポイントは次のような部分になります。

  • メイン基板上のデバッグポート
  • 外部インタフェース
  • クラウドとの通信
  • スマートフォンアプリとの通信
  • 近距離無線通信

③ 各侵入ポイントから侵入された場合、どのような脅威が想定されるかを検討します。
例えば、次のような脅威が考えられます。

  • デバイスに格納されている機微情報が窃取される
  • ファームウェアが改ざんされる
  • 通信データを窃取される
  • なりすました攻撃者からの不正なデータを受け取ってしまう

④ ③までを踏まえた上で、検討したテスト内容、スケジュール、概算費用とともに提案書にまとめて提出します。

⑤ 提案書を提出後、その内容について説明する打ち合わせを開催します。その際に、お客様から「ファームウェア解析調査がなぜ必要なのか」という質問を受けることが多いです。

そこで、この記事では、IoTデバイスペネトレーションテストにおいて実施する「ファームウェア解析調査がなぜ必要なのか」について、これまでに多くのIoTデバイスとそのシステムに対応した実績に基づいて、説明しましょう。

IoTデバイスペネトレーションテストで実施する調査とは

IoTデバイスペネトレーションテストにおいて、潜在している脆弱性を見つけるために実施する調査の例として、次のものがあります。

  • デバイス内部のメイン基板にてデバッグポートの有無とアクセスの可能性を調査
  • クラウドとの通信をモニタリング調査
  • スマートフォンアプリを解析して攻撃のヒントを調査
  • スマートフォンアプリとの通信をモニタリング調査
  • 基板上のデバイスに格納されているファームウェアをお客様からご提供いただき、それを解析して調査

これらの調査結果から、点と点を結んでいくようなイメージで、IoTデバイスを含むシステム全体を把握していきます。そして、脆弱性となり得る問題が存在するか調査し、想定した脅威が現実のものになり得るものなのかを検証します。

IoTデバイス・システムを調査するイメージ

調査実績から分かった興味深いこと

これまでに約8年間、多くのIoTデバイスに対するペネトレーションテストを実施した実績から、検出された問題点を集計してみました。その結果、興味深いことが分かりました。

脆弱性となった問題の原因は、大きく次の3つに分けることができました。

  1. 設計の問題
  2. 実装(プログラミング)の問題
  3. デバッグ機能の削除忘れ(不正機能と言われても不思議でない機能も存在することがあります)

そして、これらの割合は、おおよそ、設計:20、実装:75、デバッグ機能の削除忘れ:5となることが判明したのです。

IoTデバイスペネトレーションテストで検出された脆弱性の原因
IoTデバイスペネトレーションテストで検出された脆弱性の原因

脆弱性の原因の8割はプログラミング時に作り込まれている!

すなわち、多くの脆弱性は機能の実装であるプログラミングにより作りこまれていることが分かりました。約8年間の実績から、デバッグ機能の削除し忘れを含めると、約8割がプログラミングに原因がありました。

例としては、次のようなものがありました。

  • 入力されたデータを適切にチェックしていない
  • 受信したデータの真正性(それが本物か)と完全性(それが改ざんされていないか)をチェックしていない
  • 認証に使っている情報が不適切である
  • 独自暗号仕様を実装している
  • 脆弱な暗号方式を使っている
  • 機微情報を平文で保存している
  • 暗号鍵やパスワードがハードコーディングされている
  • ある暗号鍵を持っている人のみが外部からアクセス可能な機能が存在する

ファームウェア解析調査はなぜ必要か

IoTデバイスペネトレーションテストを実施するにあたり、お客様からファームウェアを提供していただき、解析して調査します。

その必要性としては2つの理由があります。

解析のイメージ
  1. 1つは、前記のように、実装により作りこまれた脆弱性の存在を調査するためです。
    攻撃者は必ずファームウェアの解析を試みます。
  2. もう1つは、攻撃者と同様に、不正なデータ送信を試行することで脆弱性を想定し、問題を検証するためには非常に時間がかかるからです。ファームウェアを提供してもらえれば、テストを短期間で行えるようになります。

テストを実施するためにファームウェアを提供してもらう理由として、この2つ目の点をお客様に理解していただくことが重要になります。実際、「攻撃者はデバイスからファームウェアの抽出が困難なのに、提供する理由は何でしょうか?」と質問されることが多くあります。

攻撃者はIoTデバイスの通信をモニタリングして、仕様や実装の脆弱性を想定します。そして、その想定した脆弱性の有無を確認するために多くの不正なデータを送信します。

例えるなら、「見えない的」に対して、当たるまで闇雲にボールを投げるようなものです。

ある脆弱性を想定しては、その内容で何通りもデータを送信する必要があるため、実際に潜在する脆弱性を見つけるまで、非常に時間がかかります。

一方、ファームウェアを解析して調査することで、予め的の位置を確認できます。そして、その的に対して数回ボールを投げればよく、短期間で問題を検証できます

時間のイメージ

ただし、一般的には、ファームウェアを解析するには非常に多くの時間がかかります。そのため、短期間で可能な高度な解析力と調査力が必要になります。

IoTデバイスのファームウェアを解析する調査が、とても重要であることを理解していただけたでしょうか。ファームウェア解析調査を可能とする、非常に高度な解析力・調査力を持つメンバーが多く在籍していることも、ラックの強みの1つです

ぜひ、IoTデバイスやその構成するIoTシステムのペネトレーションテストをご検討の際は、お気軽にご相談ください。

IoTデバイスのセキュリティ対策に役立つホワイトペーパーを公開!

IoTデバイスのセキュリティ対策:開発者・品質管理者に知ってほしい有効な調査手法

IoTデバイスに対するセキュリティ対策の一助になるように、インタフェースごとに確認を推奨する項目をまとめました。開発・品質管理に関わる方のセキュリティ対策検討に活用していただける内容です。ぜひご覧ください。

IoTデバイスのセキュリティ対策:
開発者・品質管理者に知ってほしい有効な調査手法
ダウンロード

「IoTデバイスペネトレーションテスト」に関するお問い合わせ

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

はい いいえ

関連記事

LAC WATCH

関連記事をご紹介します

  • 効果的なペネトレーションテストの始め方~攻撃シナリオを作るコツ

  • 身近になったIoT機器の脆弱性を調べる!IoTデバイスペネトレーションテストの特別授業をレポート

  • IoT機器に保管される機密情報を守る!暗号方式と暗号鍵について考えよう