ソフトウェアの品質を学びまくる

ソフトウェアの品質、ソフトウェアテストなどについて学んだことを記録するブログです。

「モノのインターネットのテスト」 #IoTテストアドカレ(18)

はじめに

 この記事は、IoTのテストに関するネットの記事を読んでいく、「IoTテスト アドベントカレンダー」の18日目です。17日目はコチラ。

kzsuzuki.hatenablog.com

プロファイル

ポイント

  • 自律システムのソフトウェアのV&V*1には、英国のTSI*2によるPAS 754:2014という規格がある。この中で、Trustworthinessは以下の5つからなる。

    • 安全性(Safety)
    • 信頼性(Reliability)
    • 可用性(Availability)
    • レジリエンス(Resilience)
    • セキュリティ(Security)
  • Trustworthinessの中でも特に、安全性とセキュリティが重要になってくる。
    安全性の規格には、たとえば以下のようなものがある。

    • IEC61508: 電気・電子・プログラマブル電子の機能安全に関する国際規格
    • DO178: 航空機搭載システム・設備のソフトウェア考慮事項に関する認証
    • EN50128: 鉄道制御・保護システムのソフトウェア
    • IEC60880: カテゴリーA機能を実行するためのコンピュータベースのシステムのソフトウェア面*3
    • IEC62304: 医療デバイスのソフトウェアとライフサイクルプロセス
    • ISO26262: 自動車の機能安全
  • IoTデバイスは現在、ほとんどがセキュアでない。最初の攻撃はおそらく、もともと知られた方法(認証に対する攻撃、コードインジェクション、オーバーフローなど)で行われるだろう。新しい技術にはすぐに新しい攻撃が続き、新しい防御はその後になる。

  • 防御策として、セキュアな設計やコーディングプラクティス、セキュリティのテスト、ネットワーク境界での防御、セキュアな技術・プロセス・人間などがある。
  • IoTビジネスの参入障壁が低くなることで、セキュリティスキルの低い人間がたくさん参入してくることになる。脅威に対するアセスメント*4が重要である。

    所感

     ほぼ、安全性とセキュリティに特化した内容です(スライド資料なので、単語の羅列がどうしても多いのですが)。規格がたくさんありますが、まずは自分の分野に関するものを押さえることですね。
     セーフティとセキュリティについては、2017年1月13日に日科技連で「「IoT時代」のセーフティ&セキュリティbyデザイン ~アシュアランスケースとコモンクライテリア(ISO/IEC 15408)によるセキュリティの品質保証を考える」という長いタイトルの特別講義を行うみたいですよ。

    www.juse.or.jp

     さて、最初に紹介されているPAS 754(Publicly Available Specification)という規格について、軽くググっただけでは日本語の資料が見当たりませんでした。
     Wikipediaから引用(鈴木参考訳)してみます。

    The PAS defines the overall principles for effective software trustworthiness, and includes technical, physical, cultural and behavioral measures alongside effective leadership and governance. It also identifies the necessary tools, techniques and processes and addresses safety, reliability, availability, security and resilience issues.[2]
    PASは、効果的なソフトウェア信頼性のための全体的な原則を定義している。これには、効果的なリーダーシップとガバナンスとともに、技術的、物理的、文化的、そして行動的な対策を含む。また、必要なツール、技法、プロセスを特定し、安全性、信頼性、可用性、セキュリティ、レジリエンスの問題を扱う。

     困ってしまうのは、Trustworthinessという言葉ですね。
     まず信頼性といえば、Reliability。ISO/IEC25010の品質モデルにおける主特性である「信頼性」は、Reliabilityです。一方SQuBOKでは、副知識領域として「ディペンダビリティ」を紹介しています。JIS Z 8115:2000では

    ディペンダビリティは、Availability、Reliability、Maintenabilityを含む包括的な概念で、定性的な意味での総称として用いられる。

    としています。
     で、PASにおけるTrustworthinessはReliabilityを含む、と。普通の英語では、ReliableもDependableもTrustworthyもそれほど変わらないようなのですが。また規格によってもそれぞれの言葉の位置づけが違ったりするようなので、注意が必要です。

     19日目はコチラです。(12月19日の0時に公開されます)

    kzsuzuki.hatenablog.com

    *1:Verification and Validation: 検証と妥当性確認

    *2:Trustworthy Software Initiative

    *3:原子力発電所におけるセーフティレベルがA、ということのようです

    *4:ここでは、2日目の記事で紹介したOWASPがリンクされています。

kzsuzuki.hatenablog.com