Weird Wired World

Programming, Security

IoTとセキュリティ (日経BP)

「IoTとセキュリティ」(日経BPイノベーションICT研究所, 2016.6)を眺めたのでメモや感想を書きます。この本,実に30,000円+税もする( 税で他の本買えるぞ(^^;) )..。

全体的な感想

良かった点

上流から下流までの工程を具体例を交えて説明されている点。これはWebや他の書籍ではなかなか見つかりません。例えば,企画・立案の項目では「腕時計型ヘルス機器を使った健康促進システム」を例に,企画の際のポイントや注意点まで載っています。テストについても,やはり先述の例に沿って効率的を図る方法を紹介しています。「IoTとセキュリティ」の枠を超えてるのでは..とも思うところですが,他所では得られない情報が満載です。

残念だった点

実例がない点(当たり前か)。やはり具体的な構成(SW, MW, HW)の情報が少しでも欲しかった。良さげな図・表は「CSA版IoTセキュリティガイダンス」からの引用が多く,そちらの方が参考になるかも。

メモ

主に設計・開発の視点でのメモです...。

1-2. IoTの特性を考慮したガイドラインの整備が進む

国内でのガイドライン

つながる世界の開発指針 (IPA, 2016)
IoTシステムを開発する際に,セキュリティ面で注意すべき点や検討すべき点をまとめたガイドライン
第2版リンク: https://www.ipa.go.jp/files/000060387.pdf
IoT開発におけるセキュリティ設計 (IPA, 2016)
つながる世界の開発指針を踏まえて,具体的なセキュリティと実装を実現するための手引き。「デジタルテレビ」「ヘルスケア機器とクラウドサービス」「スマートハウス」「コネクテッドカー」の4分野を例に,具体的な脅威分析と対策等を図解している。
2016.12月版リンク: https://www.ipa.go.jp/files/000052459.pdf
IoTセキュリティガイドライン (CCDS, 2017)
車載機器,IoTゲートウェイ、ATM,決済端末の4分野に関して,想定されるセキュリティリスクや対策方法などをまとめている。
第1版リンク: https://www.ccds.or.jp/public/document/other/guidelines/CCDS_IoTセキュリティ評価検証ガイドライン_rev1.0.pdf

他にもクラウド利用者のためのガイドラインなど,設計者・管理者は大変...

3-2. IoTのセキュリティを守る7つの管理策

この章は全体的に「IoT 早期導入者のための セキュリティガイダンス」(https://www.cloudsecurityalliance.jp/newsite/wp-content/uploads/2016/02/Security_Guidance_for_Early_Adopters_of_the_Internet_of_Things_J_160224.pdf)がベースになっている模様。

認証

  • バイスのリソースが限られている場合,X.509証明書のサイズが課題となる。代替策としてIEEE1609.3証明書への移行を検討すべき。
  • IAM(Identity and Access Management)によってID,ロールと権限を一元管理する。

疑問点はプロトコルやライブラリのIEEE1609.3の対応状況。例えばSSL通信での利用は既にサポートされているのだろうか(handshakeの時に証明書はIEEE1609.3を使うよ~といったことを表明する等)。

IoTデバイスが最低限記録するべきデータ要素

IoTのセキュリティ課題9として「IoTコンポーネントに対する監査及びロギングの標準が未定義」を挙げた上で,最低限記録すべきデータ要素を記載しています。

独自の設計は大抵抜けがあるものなので,この情報は助かります。

記録するべきイベント: 権限昇格の失敗,デバイスへのログイン失敗,サービス事業者(クラウド)へのログイン失敗,デバイス間認証の失敗,データベースアクセスへの失敗,ポリシー変更,特権の使用,アカウントの作成,アカウントの変更,トンネリング接続の失敗,内部状態,電源オン/オフ,特定のファイルシステムにおける完全性の変更

ログに記録すべきメタデータ: (イベント)開始時刻、(イベント)終了時刻、(実行した)ユーザ,相手デバイスのID,宛先デバイスMACアドレスIPv6アドレス,ホスト名,トランスポートプロトコル,データリング取得場所

IoTのソフトウェア開発プロセス

アジャイル開発 or インクリメンタル開発

アジャイル開発は個々のデバイスやITシステムが動的に繋がり,要求や仕様が縦横無尽に変わるIoTシステムの開発に向いている。

IoT時代では,新しいアジャイル開発の方法論が求められる。従来のアジャイル開発は特定の1ユーザを対象としているが,IoT時代に対応するアジャイル開発では不特定多数のユーザ,不特定多数からの要求,不特定多数からの仕様のに対応しなければならないからだ。

4-3. IoT時代の企画・戦略,要求分析,アーキテクチャー設計

企画立案に使うモデル図

ピクト図

IoT時代のモデリング

今のところ良いモデル図はない。全体を俯瞰する静的なモデル図が重要になる。

4.6 IoT時代のソフトウェアテスト

テスト環境の整備について

テスト用のデータとマシン環境、ネットワーク環境を整備するためには,テストが有効になる程度に現実環境を模倣する必要がある。このためには,現実環境のデータマシン環境,ネットワーク環境を調査・分析してモデルを作り,このモデルに従ってテスト環境を構築する。

抽象的すぎます。モデルを作るとは何か。テスト有効かの検証も難しいのではないか。

組み合わせテストは従来のオンプレミスシステムと比べて膨大な数の組み合わせになるため,テストの計画と実施の難易度は上がる。だからこそIoTシステムのテストでは効率の良い組み合わせテストが必要になる。具体的にはオールペア法や直交表などのテスト手法によって,組み合わせ数を科学的に削減すると良い。もしくは,探索的テストを利用する。

これはIoTに限らず一般的に言えることですね。本書では先述の健康促進システムを例に,実際のデシジョンテーブルの例(一部)が載っています。

IoTシステムのセキュリティテストはまだ経験が少なく,ガイドラインやチェックリストも整備されていない。

暫くは先行する企業のノウハウがガイドラインになるのでしょう。