SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

連載記事

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CodeZine BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。

書籍に関する記事を見る

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
OWASPでビルトイン・セキュリティ

IoT時代において重要性が増すデバイスのセキュリティ

OWASPでビルトイン・セキュリティ 第5回

  • X ポスト
  • このエントリーをはてなブックマークに追加

 本稿ではOWASPコミュニティから公開されているOWASP IoT Top 10をご紹介したいと思います。2014年に公開されたものですが、ウェブサービス(OWASP Top 10)やモバイル(OWASP Mobile Top 10)のセキュリティと並び重要なものとして、注意すべき脆弱性がまとまっています。

  • X ポスト
  • このエントリーをはてなブックマークに追加

 今後、“モノのインターネット”(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で扱われている脆弱性を見てみましょう。

表1: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:I1 安全でないWebインターフェースの説明
図1:I1 安全でないWebインターフェースの説明
表2:図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ではより重要度が高いと判断されています。一般的なウェブサービスと比較しても攻撃の難易度が低い傾向にあるため、より慎重に個人情報を守る必要があります。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
リスクを理解したら

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
OWASPでビルトイン・セキュリティ連載記事一覧

もっと読む

この記事の著者

坪 和樹(OWASP Japan)(ツボ カズキ)

セキュリティ競技イベント MINI Hardening 主催。OWASP Japan Promotion Team にも所属しており、専門外ながらもセキュリティに携わる人のすそ野を広げるべく活動している。前職は新聞社だが現在はクラウド業界で技術サポート業務に携わっており、幅広い技術領域のサポートを行...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9232 2016/02/12 14:00
" ); }

おすすめ

アクセスランキング

  1. 1
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革 NEW
  2. 2
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  3. 3
    より使いやすくなったPHP 8.4の新機能──クラス定義や言語仕様とデータベース関連の強化ポイント
  4. 4
    Google、社内AIエージェント「Google Agentspace」発表 NEW
  5. 5
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  1. 6
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  2. 7
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  3. 8
    「イテレータ」 ~マンガでプログラミング用語解説
  4. 9
    Fish Shell 4.0 ベータ版リリース、C++からRustに移行
  5. 10
    Amazon ECSのオブザーバビリティが強化、監視に「Amazon CloudWatch Container Insights」の機能を利用可能に NEW

アクセスランキング

  1. 1
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革 NEW
  2. 2
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  3. 3
    より使いやすくなったPHP 8.4の新機能──クラス定義や言語仕様とデータベース関連の強化ポイント
  4. 4
    Google、社内AIエージェント「Google Agentspace」発表 NEW
  5. 5
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  6. 6
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  7. 7
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  8. 8
    「イテレータ」 ~マンガでプログラミング用語解説
  9. 9
    Fish Shell 4.0 ベータ版リリース、C++からRustに移行
  10. 10
    Amazon ECSのオブザーバビリティが強化、監視に「Amazon CloudWatch Container Insights」の機能を利用可能に NEW
  1. 1
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  2. 2
    「CUDA」 ~マンガでプログラミング用語解説
  3. 3
    ITエンジニア本大賞2025、投票締切直前! みんなで選んだ歴代の大賞本を振り返って一挙紹介
  4. 4
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  5. 5
    2024年12月に開催される注目のITエンジニア向けカンファレンス5選
  6. 6
    日本在住の英語を話すソフトウェア開発者、年収の中央値は950万円に
  7. 7
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  8. 8
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に
  9. 9
    VSCodeをドキュメント作成に活用――テキストエディタ、Markdownエディタの設定と拡張機能を解説
  10. 10
    2024年の提示年収が高いプログラミング言語は? paiza調査によるランキングが発表

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

メールバックナンバー

アクセスランキング

  1. 1
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革 NEW
  2. 2
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  3. 3
    より使いやすくなったPHP 8.4の新機能──クラス定義や言語仕様とデータベース関連の強化ポイント
  4. 4
    Google、社内AIエージェント「Google Agentspace」発表 NEW
  5. 5
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  1. 6
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  2. 7
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  3. 8
    「イテレータ」 ~マンガでプログラミング用語解説
  4. 9
    Fish Shell 4.0 ベータ版リリース、C++からRustに移行
  5. 10
    Amazon ECSのオブザーバビリティが強化、監視に「Amazon CloudWatch Container Insights」の機能を利用可能に NEW

アクセスランキング

  1. 1
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革 NEW
  2. 2
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  3. 3
    より使いやすくなったPHP 8.4の新機能──クラス定義や言語仕様とデータベース関連の強化ポイント
  4. 4
    Google、社内AIエージェント「Google Agentspace」発表 NEW
  5. 5
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  6. 6
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  7. 7
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  8. 8
    「イテレータ」 ~マンガでプログラミング用語解説
  9. 9
    Fish Shell 4.0 ベータ版リリース、C++からRustに移行
  10. 10
    Amazon ECSのオブザーバビリティが強化、監視に「Amazon CloudWatch Container Insights」の機能を利用可能に NEW
  1. 1
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  2. 2
    「CUDA」 ~マンガでプログラミング用語解説
  3. 3
    ITエンジニア本大賞2025、投票締切直前! みんなで選んだ歴代の大賞本を振り返って一挙紹介
  4. 4
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  5. 5
    2024年12月に開催される注目のITエンジニア向けカンファレンス5選
  6. 6
    日本在住の英語を話すソフトウェア開発者、年収の中央値は950万円に
  7. 7
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  8. 8
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に
  9. 9
    VSCodeをドキュメント作成に活用――テキストエディタ、Markdownエディタの設定と拡張機能を解説
  10. 10
    2024年の提示年収が高いプログラミング言語は? paiza調査によるランキングが発表