医療機器ソフトウェア開発の新しいFDAサイバーセキュリティガイダンスに備える

FDAが新しいソフトウェア検証ガイダンスにますます多くのサイバーセキュリティ要件を追加している今、医療機器メーカーは、安全性とセキュリティの問題に対処し、予測可能なソフトウェアを提供する最も効果的な方法として、静的分析に目を向けることができます。

数週間前のブログ投稿でも述べたように、今年のEmbedded Worldでは、これまでになく多くの医療機器メーカーの方とお話しする機会がありました。そこで今回は、サイバーセキュリティと静的分析を中心に、そのとき多く出た話題を取り上げたいと思います。(a)増大するセキュリティの脅威に対処すること、(b)より厳格になってきているFDAの要求を満たすこと、この2つを目的として、医療機器製造業者がソフトウェア開発プロセスの改善に注力していることは明らかです。

FDAの新しいサイバーセキュリティガイダンス

従来、FDAはシステムの機能安全面に焦点を当てていましたが、今はサイバーセキュリティも同じくらい重要な課題になっています。安全性とセキュリティは非常に似ていますが(そして、どちらも結局は、予測可能なソフトウェアを開発することだと言えるかもしれませんが)、今現在、FDAはサイバーセキュリティを特別な注意と対策を必要とするものとみなしています。

新しいFDA規格も発行される予定です。「Content of Premarket Submissions for Management of Cybersecurity in Medical Devices」(医療機器におけるサイバーセキュリティ管理のための市販前申請の内容)のドラフトには、次のように書かれています。

医療機器の機能と安全性を確保するための効果的なサイバーセキュリティの必要性は、ワイアレスでインターネット/ネットワークに接続される機器、携帯メディア(USBやCDなど)の使用、および医療機器に関連した健康情報の電子的交換が増えるにつれて、ますます重要になっています。

新しいFDAの要求とは

それでは、医療機器用のソフトウェアを開発する典型的な組織にとって、新しい要求では何が変わるのでしょうか?以前の医療関連規格の要求では、テストに関する推奨事項はそれほど具体的ではありませんでした。IEC 62304やFDAのソフトウェア妥当性検査の一般原則などの有名な規制文書をよく読んでも、静的解析またはコードカバレッジを伴う動的テストを行うという要求は見つかりません。新しい規格では、これがより明確になり、申請の一部となります。

「Content of Premarket Submissions for Management of Cybersecurity in Medical Devices」のポイントVII.Bには、信頼できる機器のリスク管理レポートの内容に関する推奨事項が記載されています。

4. サイバーセキュリティリスク管理の適切性を保証するために行われたテストの説明… c)「ハードコード」された、デフォルトの、推測が容易な、そして侵害が容易な認証情報のテストを含む静的および動的コード解析

これは静的解析プロセスを定義してそれに従うことを明確に推奨するものです。どうやって?それは、組織内の既存のプロセスや開発に使用されているテクノロジによっておおいに異なります。

新しいFDAのソフトウェア開発要件への対応として静的解析を導入する方法

Parasoftの医療機器関連の顧客の多くは、ゼロから始めて、次の手順に従ってC/C ++の静的解析を導入することに成功しています。

  1. 組織内の既存のガイドラインを確認し、手動で実施するように設計されている場合でも、静的分析ツールで提供されているチェッカーにできるだけそれらをマップします。成熟した静的解析ツールはその大半をカバーする可能性が高く、静的解析チェッカーにすぐにはマッピングできなかった残りのガイドラインについては、カスタムチェッカーを作成することを検討できます。
  2. 一般的なコーディング標準、特にセキュリティを考慮して作成された標準を確認し、チームが従うべきガイドラインのサブセットを選択します。ガイドラインを選択する際には、標準の分類に従って、最も重要であると分類されているガイドラインを選択するのが合理的です。たとえば、CERTガイドラインの場合はL1ガイドラインから始め、MISRA C 2012(改訂 1 を含む)の場合は必須ガイドラインを検討するとよいでしょう。
  3. 静的解析ツールの構成を定義し、組織固有のガイドラインと選択したガイドライン(CERTなど)を含めます。すべてのチェッカーを一度に有効にするのではなく、小規模なサブセットから始めて、開発者が違反に圧倒されないようにします。
  4. 開発者がコードを作成したらすぐにそのコードをスキャンできるようにしてください。CI/CDプロセスに静的解析を含めることも効果的です。
  5. 開発者が習熟してソースコードがきれいになるにつれて、リストからより多くのチェッカーを段階的に有効にするようにしてください。究極的には、選択したガイドライン全体を遵守しているという証拠を提供したいと考えるようになるでしょう(途中で投げ出していないかぎり)。プロセスをより適切に進め、現在の進捗状況を理解するために、テストデータを集約して開発者の作業をモニターするのに役立つ中央レポートシステムを配備できます。下の例を見てください。

静的解析ツールの適合性の証明(ツール認定)

静的分析レポートは品質管理システムの一部になるため、ただツールを使用するだけという訳にはいきません。FDAは、ソフトウェアの開発および検証に使用するすべてのツールが意図された使用に対して妥当であると確認することを要求しています。セーフティクリティカルな開発での使用に対するツールの適合性を実証するには、いくつかの方法があります。機器のリスクに応じて、コンプライアンス証明書を再利用するだけと簡単な場合もあれば、より長い期間をかけたツール認定プロセスを完了する必要がある場合もあります。

TÜV SÜD 認証の使用

エンドユーザーにとって最も便利なオプションは、ツールベンダーが行った作業を利用し、TÜV SÜDなどの外部認証機関によってテストツールに付与された認証を再利用することです。たとえば、 Parasoft C/C++testは、TÜV SÜD による認証でカバーされており、IEC 62304などの医療規格に従ったソフトウェア開発への適合性を証明するために認証を再利用できます。

ツール認定の実施

Class Cのようなリスクの高い機器の場合は、開発環境の中でツールを実際に検証する必要があるかもしれません。その意図は、ツールがその運用上の要件に従って機能しているという証拠をプロジェクトの開発環境内で収集し、提示することです。これは非常に面倒で時間がかかるプロセスです。

ツール認定のための文書はエンドユーザーが作成する必要がありますが、C++testはTÜV SÜDの認証を受けているため、文書作成の手間を削減することができます。

医療機器の強化

もちろん、静的解析の導入は容易ではない作業であり、開発者に時間とコストを要求します。しかし、悪意のある攻撃に対してシステムを強化するための確実な方法です。考え抜かれたセキュリティガイドラインを使用して静的分析を実施することで、将来の予期しない攻撃に耐え得るシステムを構築できます。

(この記事は、開発元Parasoft社 Blog 「Prepare your medical device software for the new FDA cybersecurity guidance」2019年4月4日の翻訳記事です。)

Top