web-dev-qa-db-ja.com

セキュリティ対策の失敗はシステムにどのように影響しますか?

輸送システムなどの安全が重要なシステムのコンテキストでは、そのようなシステムが安全要件を満たしているかどうかを確認することが重要です。 ISO26262は、これらの要件を1時間の動作あたりの最大障害数として表現しています。これは、システムの最も重要なコンポーネントの場合、一般に非常に小さな大きさです。つまり、1時間の操作で10 ^ -9回の失敗最大でです。

相互接続された安全性が重要なシステムに向かう傾向があるため、そのようなシステムがリモートの攻撃者の標的になるリスクが高くなります。このコンテキストでは、リモートの攻撃者が最終的にシステムをリモートで制御できます(たとえば、カーシャーク攻撃またはジープチェロキーのリモートコントロール)。したがって、システムの安全性に影響を与える(システムの環境を危険にさらす)サイバー攻撃があります。

したがって、システム内にセキュリティ対策を追加することでシステム全体の安全性を高めることができるように、セキュリティと安全性を統合する作業がますます増えています。既存の作品では、私の知る限り、セキュリティメカニズムcanが他のコンポーネントと同じように失敗するという事実を誰も考慮していません。

皆さんへの私の質問は次のとおりです。コンポーネントまたはシステムの安全上のセキュリティ対策の失敗の結果が何であるかについて何か情報はありますか?たとえば、暗号化メカニズムが失敗した場合、DoS(またはその他)を(最終的に)誘発する可能性のあるメッセージのビットを反転させ、破滅的なイベントにつながる可能性があります(これも、最悪のイベントだと考えてください)場合)?これに関する議論/文書はありますか?

3
Jean Oudot

非常に未解決の質問をしているのですが、理論的すぎる状況にあると思いますが、外の世界では、重要なシステムがWindowsを使用していることがわかりますXP過去15年間にパッチが適用されました。

明らかに、セキュリティチェックの数が増えると、コード/デザインの「複雑さ」が増します。つまり、問題が発生する可能性のある表面が大きくなります。しかし、実際には、追加のチェックはシステム全体に利益をもたらすはずです。

対策が適切に設計されている場合、障害発生時のステータスが明確になります。たとえば、プレーンHTTPを介して利用できたシステムは、HTTPSを使用するように更新された可能性があります(セキュリティ対策)。その後、この対策に失敗しました(証明書の有効期限が切れています)。その結果、システムは使用できなくなります(フェールクローズ)。代わりに 致命的な失敗 に設計されている可能性があります。システムによって目標が異なる場合があります。重要なことは、そのような目標が文書化され、意識的に決定されることです。それだけでなく、「私たちが追加した対策が失敗した場合、誰もが死ぬとは誰も考えていませんでした」。

「暗号化メカニズムが失敗した場合、メッセージの一部が反転する」というケースは適切なシナリオではないと思います。誤って反転するビットがあり、暗号化レイヤーがそれを増幅する可能性があります(1ビットを間違えるのではなく、ゴミのブロック全体を取得します)。ただし、セキュリティ対策によって暗号化(機密性)のみが追加された場合、受信したものが正しいメッセージ(整合性)であることを認証する必要があるため、実装が不適切であると見なします。これは、このような障害で検出する必要があるものです。その出力状況を何らかの方法で定義する必要があります(車を停止し、インターネット接続を切断します...)。

IT以外のセキュリティ対策「失敗」として、次の実際のシナリオを参照してください。

  • 初期状態:テロリストは飛行機のコックピットとハイジャック飛行機に入ることができます
  • 安全対策:パイロットを保護するため、コックピットからしか開けられない安全扉を追加。
  • 最終状態:パイロットの1人が飛行機を乗っ取ることができますが、「良い」乗務員はセキュリティドアのために彼を止めることができません。

ここでは、意図したとおりに機能している(キャビンへの外部アクセスを許可していない)ため、セキュリティ対策の「失敗」ではありません。実際の問題は、それが機能していることがうまく機能していて、システム全体に別の問題が発生することです。

問題の部分は、対策の設計段階でそれを検出することです。 (そしてそれを軽減する方法を理解する)

purposeたとえそれが故意に行われたとしても、殺されるであろう人々はそれでもそのデザインに反対するかもしれません。

1
Ángel