IoTのセキュリティガイドラインまとめ

自分用にIoTのセキュリティのガイドラインに関するまとめ。少なからず技術的な参考になるものをまとめ。

# [IPA (情報処理推進機構)](https://www.ipa.go.jp/security/iot/index.html)
- [IoTのセキュリティ] (https://www.ipa.go.jp/security/iot/index.html)
- [IoT開発におけるセキュリティ設計の手引き](https://www.ipa.go.jp/security/iot/iotguide.html)
 - 技術的な内容を含むハイレベルなガイドライン
- [IPA ニューヨーク事務所：米国におけるIoT基盤の動向調査](http://www.ipa.go.jp/files/000052087.pdf)　・・・PDF。
 - アメリカでのIoTの動向全般

# 総務省
- [IoTセキュリティガイドライン ver1.0 概要](http://www.meti.go.jp/press/2016/07/20160705002/20160705002-2.pdf) ・・・PDF
 - 技術的な内容なし。注意喚起？啓蒙活動？
- [IoTセキュリティのコンセプトと対策](http://www.soumu.go.jp/main_content/000415666.pdf)　・・・PDF

# [DHS (Department of Homeland Security: アメリカ合衆国国土安全保障省)](https://www.dhs.gov)
- [Securing the Internet of Things](https://www.dhs.gov/securingtheIoT)
 - [Internet of Things Fact Sheet](https://www.dhs.gov/sites/default/files/publications/IOT%20fact%20sheet_11162016.pdf) ・・・PDF
 - [Strategic Principles for Securing the Internet of Things](https://www.dhs.gov/sites/default/files/publications/Strategic_Principles_for_Securing_the_Internet_of_Things-2016-1115-FINAL_v2-dg11.pdf)　・・・PDF
 * ハイレベルな要件('Suggested practices')あり

# [NIST (National Institute of Standards and Technology: アメリカ国立標準技術研究所)](https://www.nist.gov) 
- [NIST Cybersecurity for IoT Program](https://www.nist.gov/programs-projects/nist-cybersecurity-iot-program/)
- [CPS(Cyber Physical System) PWG Library](https://pages.nist.gov/cpspwg/library/)

# OWASP
- [OWASP Internet of Things Project](https://www.owasp.org/index.php/OWASP_Internet_of_Things_Top_Ten_Project)
    - 技術的な観点たくさん
- Top 10 Iot Vulnerabilities
    1. 安全でないWebインターフェース
        - 初回ログイン時，デフォルトのユーザー名，パスワードを変更させる
        - パスワード回復時に攻撃者に情報を提供しない
        - XSS，SQLi, CSRF対策ができている。
        - 認証情報が伝送路に露出しない(認証情報が暗号化されている)
        - 弱いパスワードを設定させない
        - 3-5回程度の認証失敗でアカウントをロックする。
    - 不十分な認証
        - 強いパスワードが必須になっていること
        - アクセスコントロールの粒度(granular)が適切であること
        - 認証情報が適切に保護されていること
        - 必要な場所に二要素認証が実装されていること
        - パスワード回復メカニズム(パスワードを忘れたとき)がセキュアであること。
        - 機密性の高い機能では再度認証を求めること。
        - Ensuring options are available for configuring password controls
        - 認証情報を取り消すことができること。
        - The app authentication is required
        - The device authentication is required
        - The server authentication is required
        - Manage authenicated user id(credential info.) and the user's device id, the user's app id mapping table in the authentication server
        - クライアントに発行されるトークンやセッションキーがユニークであること。
        - ユーザーID，アプリケーションID，デバイスIDが世界中でユニークであること(universally unique)。
    - セキュアでないネットワークサービス
        - 必要なポートのみ開放されている
        - バッファオーバーフロー，ファジング対策がされている
        - DoS攻撃対策がされている
        - 異常なリクエストを検知してゲートウェイで通信をブロックできる。
    - 伝送路の暗号化，完全性の確認不足
    - プライバシーの懸念
    - 安全でないクラウドインターフェース
        - 初回ログイン時，デフォルトのユーザー名，パスワードを変更させる
        - Ensuring user accounts can not be enumerated using functionality such as password reset mechanisms
        - 3-5回程度の認証失敗でアカウントをロックする。
        - WEBインターフェースがXSS，SQLi，CSRF対策がされていること
        - 認証情報がインターネット越に露出しない
        - 必要な場所に二要素認証が実装されていること
        - 異常なリクエストを検知またはブロックできること
    - 安全でないモバイルインターフェース
        - 初回ログイン時，デフォルトのユーザー名，パスワードを変更させる
        - Ensuring user accounts can not be enumerated using functionality such as password reset mechanisms
        - 3-5回程度の認証失敗でアカウントをロックする。
        - 認証情報がワイヤレス越に露出しない
        - 必要な場所に二要素認証が実装されていること
        - Apply mobile app obfuscation techinque
        - モバイルアプリケーションに耐タンパメカニズムが実装されていること
        - メモリハッキングができないこと
        - モバイルアプリケーションは耐タンパOSに限定すること
    - 不十分なセキュリティ設定
        - 一般ユーザーと管理者ユーザーを分離する機能を持つこと
        - データを暗号化する機能を持つこと
        - 強固なパスワードを強制する機能を持つこと
        - セキュリティイベントをロギングする機能を持つこと
        - セキュリティイベントをユーザーに通知する機能を持つこと
    - 安全でないソフトウェア・ファームウェア
        - デバイスを更新する機能を持つこと
        - 更新ファイルは暗号化されていること
        - 更新ファイルは暗号化されて転送されること
        - 更新ファイルは機密情報(Sensitive data)を露出しないこと
        - Ensuring the update is signed and verified before allowing the update to be uploaded and applied
        - 更新サーバーはセキュアなこと
        - セキュアブートを実装すること
    - 貧弱な物理セキュリティ
        - データを保存するメディアが容易に取り外せないこと
        - 蓄えられたデータが暗号化されていること
        - USBやその他外部ポートが悪意を持ってデバイスにアクセスするために利用されないこと
        - デバイスが容易に分解されないこと
        - USBポートなど外部ポートが製品の機能ためだけに利用されること。
        - Ensuring the product has the ability to limit administrative capabilities

# oneM2M
- [Standards for M2M and the Internet of Things](http://www.onem2m.org/technical/published-documents)

# [OTA (Online Trust Alliance)](https://otalliance.org/)
- [Internet of Things](https://otalliance.org/initiatives/internet-things)
- IoT Trust Framework v2.0
 1. 暗号化プロトコル。個人を特定可能なデータは，伝送路とストレージ上ともに暗号化されていること。
 2. デバイスとバックエンドサービス間の通信において，ユーザーセッションが暗号化されていること。HTTPS，HSTS，AOSSL
 3. 定期的にセキュリティ観点で改善を行うこと。最低1年に1回ペネトレーションテストを実施すること。
 4. Establish...
 5. ソフトウェア・ファームウェアの自動アップデート
 6. Ensure....
 7. クラウドプロバイダーのリスクアセスメント
 8. ソフトウェア，ファームウェア，ハードウェア，3rdパーティーソフトウェアのBOM("Bill of Materials"=部品表)を作成し，保守する。
 9. オペレーションに必要な要件にそって設計すること。例えば，オペレーションや保守に必要なポートのみ有効にする。不要なものは無効化する。
 10. 強固な認証方法。ワンタイムパスワードなど
 11. ソフトウェアの回復メカニズムとマルチファクター認証を用いた認証情報のリセットを提供すること。
 12. ブルートフォース攻撃に備える。既定回数を超えて認証に失敗したらロックするなど。
 13. パスワードのリセットまたは変更に関するユーザー通知を提供すること。
 14. 認証情報はソルト，ハッシュ化した上で暗号化する。
 15. 利用者が購入前，アクティベート前，ダウンロード前にセキュリティポリシー，サポートポリシーを見つけやすいこと。
 16. セキュリティパッチの提供期間，サポート終了時期を開示すること。
 17. どのような個人情報が収集，利用されるか開示すること。
 18. 通信やバックエンドのサービスが停止したら，どの機能がどのように失敗するのか開示すること。
 19. 情報(データ)の保持期間を開示すること。
 20. IoTデバイスが他のデバイスとペアリングを行うとき，利用者に確認を求めること。
 21. デバイス，プロダクト，サービスの所有権やデータが移ることがあるか？どのように移転するか明確にすること。(例えば，スマートホームが新しい所有者に売られた時など)
 22. 消費者が認めた場合に限り，第三者と個人情報を共有すること。第三者は(サービス提供者と)同等のポリシーでデータを扱うこと。
 23. Provide controls and/or 
 24. Commit to
 25. Provide ...
 26. Whenever...
 27. Comply...
 28. Publicly
 29. Provide
 30. デバイスをファクトリーリセットする機能を提供すること。
 31. End-user  communications...
 32. For email communications
 33. Eメールを利用するIoTベンダーはトランスポート層(TCP層)での機密性を確保すること。
 34. デバイスの物理的な改ざんの予防を行う，または改ざんの証拠を残す。
 35. アクセスビリティ(ハンディキャップのある人の利用)に配慮する。
 36. Develop
 37. 内部のシステム変更，技術的，運用の変更に基づき，責任の所在を少なくとも毎年再評価して更新する。

# [GSMA](http://www.gsma.com/)
- [GSMA IoT Security Guidelines](http://www.gsma.com/connectedliving/future-iot-networks/iot-security-guidelines/)

# ベンダ
## トレンドマイクロ
- [IoT Security headlines](https://www.trendmicro.com/jp/iot-security/)
 - Blog，ニュース的なサイト
 
## シマンテック
- [IoT（モノのインターネット）](https://www.symantec.com/ja/jp/iot/)
 - 自社製品，ソリューションの紹介のみ

## シスコ
- [Internet of Things（IoT）：セキュリティ](http://www.cisco.com/c/ja_jp/solutions/internet-of-things/iot-security.html)