今回は、SQiP研究会「セーフティ&セキュリティ」の主査、「AI/IoTシステムのための安全性シンポジウム」のプログラム委員長をされている国立情報学研究所の金子朋子氏に講師をお願いしました。
これまでの安全分析手法は、構成機器の故障やオペレーションミスに起因して事故が起こると仮定されコンポーネント故障・異常の解析を行うものでした。しかし、昨今のシステムはソフトウェア、関係する人、組織を含めたコンポーネントで構成される複雑なものが出てきています。それぞれのコンポーネントに不具合がなくても、それらの相互作用によってハザードが発生するため、従来の分析手法にも限界があります。その問題に対応するための取り組みを以下のように説明いただきました。
■STAMP/STPA
まず、MITのNancy Leveson教授が提唱したSTAMP/STPA (Systems Theoretic Accident Model and Processes / System-Theoretic Process Analysis;システム理論に基づく事故モデルを用いた安全解析手法) が有効であることから、この手法を説明いただきました。この手法はIPA SEC(情報処理推進機構 ソフトウェア高信頼化センター)で金子氏らが4冊のガイドブックを執筆し、普及展開したものです。
STAMP/STPAは、MITのNancy Leveson教授により主に安全性(セーフティ)の分析に用いられてきましたが、セキュリティ、プライバシー、保守性や運用性なども含めたいかなる創発特性(コンポーネントが相互作用する時の「創発」する特性)にも適用できるため、STAMPモデルによるSTPAはサイバーセキュリティも含むいかなるシステム特性にも使用可能とのことです。従って、従来はシステムとコンポーネントに対してのみ有効な分析でしたが、この手法は運用系を含めたシステム、大規模・複雑なインターラクションの安全性やセキュリティが重要となるCyber-Physical System、IoTの範囲まで有効です。この手法によりシステム全体の振る舞いを確認しながら過去のアクシデント事例データに基づくガイドワードにより網羅的に分析することができるとのことです。
併せて、コンピュータシステムがSociety(社会)、Stakeholder, Service(業務)、System、Softwareの5層に分けて開発されるととらえた「5層レイヤモデリング」によって、利用される世界をシステム思考でとらえることの必要性を説明しました。これらが金子氏らの提唱する5階層モデルを用いてセーフティとセキュリティなどの品質を統合分析する手法であるSTAMP S&Sになります。STAMP S&SはSTPA-Secにセキュリティ上の脅威分析を加え、コンセプト・企画段階 でのセキュリティ要求分析(=セキュリティ・バイ・デザイン)も実施可能となっており、さらにセーフティ、プライバシー、保守性などの様々な品質分析を可能とするものです。
■FRAM
STAMP/STPAは、ハザード要因を探し対策を立てるものでしたが、成功から変更要因を探し対策を立てる「レジリエンスエンジニアリング」を用いたFRAM(Functional Resonance Analysis Method;機能共鳴分析技法)についても東京駅コンコースの安全性分析事例をもとに説明いただきました。多数の歩行者が自由に行動する現実空間では、危険状態を検知して積極的に制御をかけるなど外部から制約を与えるのではなく、それぞれの歩行者の行動によって創発的に戦術が練り上げられ安性が作り出されています。まず歩行者の「歩く」という機能とそれに関連した機能(ゴールを見つける、他の歩行者を観察する等)を洗い出しFRAMでそれらの機能の相互作用をシミュレーションします。ここでそれぞれの機能を戦略、戦術、監視、制御の4つのレイヤに分けてとらえると、「歩く」という制御レイヤの動きには、他のいろいろなレイヤから積極的に「歩く」という制御レイヤに働きかけられていることがわかりました。このような分析から成功要因やリスク要因を導き、解析開始前にははっきりとわからなかったハザードやハザード制御機能も識別することができたとのことです。
この手法はIoTシステムや、プレイヤーがインテリジェントに振る舞う人工知能システムの安全解析手法として有効であると期待されています。
■CC-Case
次に、IoT時代の複雑なシステムを可視化/AIのブラックボックス問題の解決によって、ミッションクリティカルなAIシステムを安全安心に利用可能とするためのセキュリティ要求分析と保証の統合開発方法論であるCC-Caseが説明されました。
今までセーフティとセキュリティが個別に語られていたことに対して、STAMP、STPA、FRAM、CC(コモンクライテリア)など8つのセーフティ技術をセキュリティに応用し、セーフティとセキュリティの統合開発を実現するものです。IoTやAIシステムは多様で複雑だからこそ、安全安心に利用するためにもこのような全体観にたったフレームワークが必要とのことです。前述のSTAMP S&SはCC-Caseの中の分析手法に相当します。
■機械学習と安全性
最後は「機械学習と安全性」というテーマでお話しいただきました。
まず、金子氏らが石川准教授、吉岡准教授とともに国立情報学研究所より提案したAIソフトウェア工学 (機械学習工学とも呼ばれる)について触れていました。これは、機械学習型のコンポーネントも含むAI応用システムを対象として、その安全性・信頼性を確保するための技術・方法論をAIソフトウェア工学として発展・確立させるものです。基礎研究の重要な4つの技術的チャレンジには「全体システムとしての安全性確保」も含まれています。
そして、自動運転の事例をもとにAIシステムの5つの重要な課題(①原因分析と対策ができない、②保証範囲が不明確、③重要な場面での動作を担保できない、④テスト/学習データの妥当性が不明、⑤不要動作を保証できない)に関して参加者と意見交換を行いました。
例会終了後には、金子氏を交えたオンライン懇親会を行いました。ここでは講演の内容についてざっくばらんなお話をさせていただき、講演内容を深めるとともに参加者どうしの交流を深めました。
以上のように、今回は盛りだくさんの内容を説明いただけた大変有意義な例会となりました。今回の内容を踏まえIPA SECの刊行物などを参考に具体的な適用方法をQuaSTomとして今後議論していきたいと考えています。