今後、“モノのインターネット”(Internet of Things/以降IoT)を活用する動きはますます発展すると考えられ、各デバイスにおけるセキュリティを考えることのみならず、ネットワークやクラウドとの連携など俯瞰的な視野で構築することの重要性は増していきます。セキュリティ初学者のみならず、多様な経験やバックグラウンドを持つ方でも、基礎も含めて見直していただくことでIoTにおけるセキュリティに関する気づきがあることでしょう。
はじめに
IoTではセンサーや家電といったモノ(Things)がインターネットに繋がります。それに伴い、センサーのデータを活用したり、家電の自動制御を行ったりと、さまざまな活用方法が考えられます。ArduinoやRaspberry Piに代表されるようなシングルボードコンピュータの活用事例も増えており、こういった安価な基盤を用いて簡単にIoTが構成できることも技術的に発展が著しいと予測される理由でしょう。
もっと身近な例ではボタン1つで日用品を注文できたり、自動車の運転データが保険料に反映されるといった事例も見られます。また、クラウド事業者によるIoTサービスの提供も進んでいます。最近では、従量課金の安価なSIMも登場し、通信の敷居が大きく下がったことも記憶に新しいところです。
一方で、各デバイスにおけるセキュリティは十分でないケースもあります。安価なデバイスでIoTを構成する場合、SSLを利用した通信の暗号化処理による高負荷を避けるためAPIとの通信をHTTPで行っている、モジュールやカーネルのバージョンアップが不十分であるといったケースが考えられます。これらの脆弱性について再考したり気づいたりするためのきっかけとしても、OWASP IoT TOP 10が役に立ちます。
OWASP IoT TOP 10について
OWASP IoT TOP 10は2014年に公開されたものが現時点での最新版です。このドキュメントは構築者、設計者、ユーザのそれぞれにとっての基本をおさえており、幅広い読者にとって役立つことは間違いないでしょう。残念ながら現時点では英語版のみが公表されており、また、OWASP IoT TOP 10について言及されている日本語記事もそれほど多くはありません。しかしながら技術的な用語も多く、比較的理解しやすいかと思いますので、ぜひ一度目を通していただくことをお勧めします。
では早速ですが、OWASP IoT TOP 10で扱われている脆弱性を見てみましょう。
項番 | 英タイトル | 日本語タイトル |
---|---|---|
I1 | Insecure Web Interface | 安全でないWebインターフェース |
I2 | Insufficient Authentication/Authorization | 不十分な認証・認可 |
I3 | Insecure Network Services | 安全でないネットワーク環境 |
I4 | Lack of Transport Encryption | 転送における暗号化の未実装 |
I5 | Privacy Concerns | 個人情報の懸念 |
I6 | Insecure Cloud Interface | 安全でないクラウド・インターフェース |
I7 | Insecure Mobile Interface | 安全でないモバイル・インターフェース |
I8 | Insufficient Security Configurability | セキュリティを十分考慮されていない設定 |
I9 | Insecure Software/Firmware | 安全でないソフトウェア・ファームウェア |
I10 | Poor Physical Security | 貧弱な物理セキュリティ |
表1に示したそれぞれの脆弱性について、OWASP IoT TOP 10では詳細に説明しています。その章立ては、OWASPでビルトイン・セキュリティ第一回の記事で仲田さんが紹介されたOWASP TOP 10とほぼ同じとなっており、図1に示すような構成となっています。
項番 | 大項目 | 小項目 | 内容 |
---|---|---|---|
1 | 脆弱性の概要 | 脅威となる人 | この脆弱性を悪用されることでどのような人が被害を受ける可能性があるかを示しています。 |
攻撃手法 | 悪用可能な攻撃を成立させるための難易度を「EASY」「AVERAGE」「DIFFICULT」の3段階で定義しています。 | ||
脆弱性の普及度 | 脆弱性の作りこまれやすさを「COMMON」「UNCOMMON」の2段階で定義しています。 | ||
検出難易度 | テストまたはコード解析による脆弱性の検出の難易度を定義しています。現在のIoT Top 10では「EASY」「AVERAGE」のみですが、「DIFFICULT」含む3段階で評価されます。 | ||
技術的影響 | 脆弱性を利用して想定される被害の範囲を定義しています。現在のIoT Top 10では「SEVERE」「MODERATE」のみですが、「Minor」の3段階評価です | ||
ビジネスへの影響 | ビジネス上の評判の低下や、リカバリにかかるコスト増など考慮すべきビジネスへの影響を示しています。 | ||
2 | 脆弱性有無の確認 | 基本的にはテスター向けに脆弱性有無を確認するポイントを示していますが、開発者向けに脆弱性を作りこまないようにするための概念を示しているものもあります。 | |
3 | 防止方法 | 開発者向けに脆弱性を作りこまないようにするための具体的な方法を示しています。 | |
4 | 攻撃シナリオの例 | 想定される攻撃シナリオが示されています。OWASP TOP 10と同様に具体的な例が記載されており、開発者やテスターにとって攻撃がイメージしやすい形となっています。 | |
5 | 参考資料 | 関連するOWASPコミュニティの他の成果物に加え、他の団体などが公表している関連資料が掲載されています。 |
例えば「I1安全でないウェブインターフェース」では参考資料としてOWASP TOP 10の「A1 インジェクション」「A3 クロスサイトスクリプティング」「A8 クロスサイトリクエストフォージェリ」が挙げられており、複数の一般的な脆弱性が存在しうることが示されています。これらはいずれもOWASP TOP 10で紹介されているものであり、IoTにおいてもウェブセキュリティの知識が不可欠であることを示していると言えます。
加えて、IoTではクラウド、モバイルといった複数のインターフェースが存在することが想定されています。それぞれのインターフェースでセキュリティを担保する必要があることは、OWASP IoT TOP 10で複数のインターフェースにおける脆弱性(I1, I6, I7)が個別に取り上げられていることからも分かります。
また 「I5 個人情報の懸念」に関しては、 FTC(アメリカ連邦取引委員会)が発表しているレポートやガイダンスにリンクされており、IoTにおいて個人情報を適切に管理し、リスクに対する対策に取り組む必要性が示されています。これはOWASP TOP 10における 「A6 機密データの露出」に相当しますが、 API がシンプルに実装されることが多いなどの理由で、IoTではより重要度が高いと判断されています。一般的なウェブサービスと比較しても攻撃の難易度が低い傾向にあるため、より慎重に個人情報を守る必要があります。