組み込みシステムは、多くの場合、生命と安全が重要となる製品の中核を成します。そのため、安全性を規定するさまざまな規制や基準が適用されます。製造業者は、コンポーネントの信頼性の低さ、ユーザーの誤り、物理的な誤用、設計上の誤りなどの原因から生じるさまざまな潜在的な危険性を分析します。ただし、これらのデバイスにネットワークを追加すると、デバイスの安全性に対する新たなリスクとしてセキュリティが導入されます。
ネットワーク経由でリモートからアクセスできる組み込みシステムのセキュリティを確保することは、多くのメーカーにとって課題となります。従来の組み込みシステム開発者は、セキュリティ技術に精通しておらず、潜在的なハッカーがデバイスの脆弱性を悪用するリスクを評価することもできません。残念ながら、従来の情報技術 (IT) の世界はあまり役に立ちません。なぜなら、その分野の専門家は、リアルタイムの組み込み制御システム、安全リスク管理、または規制されたソフトウェア開発に精通していないからです。
アプローチ
組み込みシステムに「ネットワーク化」を追加すると、このシステムの範囲がネットワークに拡大し、潜在的にはネットワークに接続されているすべてのものに拡大します。このようなシステムを効率的かつ効果的に分析し、セキュリティの脅威に対処するための情報に基づいたインテリジェントな決定を下すために適用できるさまざまなプロセスが開発されています。アメリカ国立標準技術研究所 (NIST) は、SP-800-30とSP-800-39という2つのプロセスを公開しています。
セキュリティ分析は、システム全体のコンテキストにおける脅威、脆弱性、資産を列挙して作成された脅威モデルから始まります。次に、正式なリスク主導型アプローチを使用して、追加のセキュリティ制御が必要となる可能性のある場所と、システムのどの部分に最大のセキュリティ リスクが含まれているかに関する意思決定を導きます。セキュリティ リスクは、従来、「CIAトライアド」に沿って分析されます。CIAトライアドとは、機密性 (システム (データを含む) が定義された方法でのみアクセスされることを保証する)、整合性 (システムが定義された方法でのみ変更または操作されることを保証する)、および可用性 (必要に応じてシステムにアクセスして操作できることを保証する) です。
安全な組み込みシステムの開発には、リスクを継続的に管理するための安全な開発ライフサイクルを実装することも重要です。NISTのSP 800-39などでは、セキュリティ要件を確立することの重要性と、それをデバイスの初期段階およびライフサイクル全体にわたって実行することの重要性が認識されています。これは、攻撃者が試みる可能性があり、設計で拒否する必要があることを文書化した一連の「不正使用ケース」で通常の「使用ケース」を拡張する形を取る場合があります。
リスク分析と意思決定はライフサイクル全体を通じて継続する必要があります。ハードウェア/ソフトウェア アーキテクチャの弱点を分析し、潜在的な脆弱性を軽減するためのセキュリティ制御を導入する必要があります。コード分析、およびファズ テストや侵入テストなどのセキュリティ ベースのテストのための戦略を策定する必要があります。
セキュリティ リスクに対処する場合、デバイスが安全であることを証明することは不可能であることを覚えておくことが重要です。可能なのは、簡単な行為では成果が得られないという自信を高めるために、ハードルを上げることだけです。したがって、現場のデバイスから情報を収集して検出されていない脆弱性を特定する方法を設計し、新たに発見された問題が対応のリスクしきい値を超えたときにパッチを安全に展開するメカニズムを導入することが重要です。
例: 医療機器
上で説明した問題は、医療機器の場合に特に重要かつタイムリーです。2009年の経済的および臨床的健康のための医療情報技術 (HITECH) 法は、統合された電子医療記録システムの使用を奨励し、それに伴い、さまざまな医療機器をこれらの医療記録システムに統合する動きが活発化しました。
このような統合によって得られる機会は明らかです。たとえば、紙や転記のエラーの排除、臨床作業負荷の軽減、アラートによる継続的な監視などが挙げられます。リスクはそれほど明白ではないかもしれません。埋め込まれた電子医療機器は、患者の診断に使用される情報を収集するか(ベッドサイドモニターなど)、患者に直接治療を提供する(輸液ポンプなど)ため、電子医療機器が誤って機能すると患者に危害を及ぼす可能性があります。悪意のある(または無能な)ユーザーが患者に影響を及ぼす可能性があります。
具体的な例として、患者に測定された流量の薬剤を供給するように設計されたベッドサイドの薬剤注入ポンプを考えてみましょう。過剰摂取や過少摂取は危険であり、致命的となる場合もあります。実際、独立研究グループECRIは最近発表したレポート1で、「輸液ポンプの投薬ミス」を2014年の健康技術の危険の第2位に挙げています。スタンドアロン デバイスとして、安全上の危険の多くを軽減するために、不足/オーバーフロー/詰まり/補充が必要などのローカル アラームなどの多くの高度な機能が追加されています。
ローカルアラームを補完するために、リモート看護ステーションにアラームを伝達するためのネットワーク インターフェイスが追加されました。適切な薬剤/適切な投与量/適切な患者を投与する際のエラーを最小限に抑えるために、薬剤辞書、バーコード スキャナー、患者の体重や処方状況へのリモート アクセスが追加されました。CIAトライアドに戻ると、新しくネットワーク化されたデバイスが直面するいくつかの問題がここにあります。
機密保持
輸液ポンプには、患者の名前、患者の識別子(病院の記録IDなど)、投与される薬剤とその投与量に関する情報などの情報が含まれます。HIPAAプライバシー法により、この情報は保護対象健康情報 (PHI) であり、機密として保持する必要があります。明らかに、その情報がネットワーク経由で送信される場合、どちらの方向であっても、適切に暗号化される必要があります。分析は、特にポンプが患者から取り外され、保管場所または新しい患者に送られるときに、デバイスに保存されているデータにまで拡張する必要があります。
誠実さ
ポンプの整合性を確保するには、ネットワークからポンプへのアクセスを制御するメカニズムを分析する必要があります。明らかに、薬剤投与を促進する注入設定は保護する必要があり、変更は許可された手段を通じてのみ許可される必要があります。薬物辞書とそれを更新するプロセスも同様に保護する必要があります。患者の体重や処方薬などの患者情報にアクセスするためのプロトコルは、ポンプに誤った情報が提供されることを排除するように設計する必要があります。体重や患者、処方箋の間違いは患者に危害をもたらす可能性があるため、データのソースは適切に認証される必要があります。
信頼性を確保する必要があるあまり目立たない資産は、ポンプ ソフトウェア自体です。攻撃者がデバイスのソフトウェアを変更または置き換えることができる場合、正規のソフトウェアに組み込まれている保護は無関係になります。パッチ/再プログラミング機能へのアクセスを保護する認証メカニズムを使用する必要があります。Trusted Platform Module2 (TPM) などの低コストのハードウェア オプションを追加することで、起動プロセス中にソフトウェアの整合性を高い信頼性で確認できるようになります。
可用性
可用性の考慮事項には、悪意のある人物がネットワーク接続を妨害した場合でも、ポンプが通常の動作を継続できるようにするという点が含まれます。接続に対するサービス拒否攻撃により、ポンプを別の薬剤/別の患者に変更する機能が中断される可能性がありますが、堅牢な設計により、通常の操作でネットワークに依存する必要がなくなります。ネットワークをリモート アラーム レポートに使用する場合、下流のアラーム マネージャーとの安全な接続を維持できない場合は、デバイス上で警告を提供できます。
結論
このケーススタディが示すように、組み込み電子デバイスがネットワークに接続されると、セキュリティはデバイスの安全性に関する重要な考慮事項になります。同時に、システムの複雑さも劇的に増加します。幸いなことに、上記のNISTの例のように、システム内のセキュリティ リスクを評価し、それらのリスクに対処するための緩和策を優先順位付けするための正式な方法論を提供するプロセスと手順が利用可能です。