web-dev-qa-db-ja.com

攻撃ツリーと攻撃グラフの使用方法

セキュリティプロセスで攻撃ツリー/グラフを使用する方法を理解しようとしています。私はトピックとこの表現がどのように役立つことができるかを提示する多くの論文を読みましたが、私は本当にどのように理解していません。

たとえば here には、CVEを使用して脆弱性を収集する例があります。しかし、私のシステムが最新で、CVEの脆弱性が見つからない場合はどうなりますか?

しかし、私が here から理解していることは、攻撃者が(CVEの特定の脆弱性に対してではなく)ネットワークを危険にさらす可能性があるすべての方法について考えなければならないということです。

  • 対策を取る価値があるかどうか検討する
  • 攻撃が実行可能かどうかを確認します...これは侵入テストにつながります。

あれについてどう思う?

4
Federico

うん、あなたはアイデアを持っています。 「私が理解していることは何でも...」で始まる最後の段落は、その考えをよく捉えています。その通りです。

攻撃ツリーは、「アーキテクチャリスク分析」と呼ばれることもあるツールの1つです(Microsoftはこれを「脅威モデリング」と呼んでいます。2つの名前は同じです)。アーキテクチャリスク分析の考え方は、システムの設計とアーキテクチャの機能に基づいて、ソフトウェアシステムの潜在的なセキュリティリスクを特定することです。これは、セキュリティリスクの特定、ブレインストーミングの防御と緩和策、または脆弱性についてより綿密に調査する必要があるコードの領域の特定に役立ちます。攻撃ツリーは、誰かがあなたのシステムに対して試みる可能性のある攻撃の可能性の空間を通して思考のプロセスを体系化するのに役立ちます。

複雑なシステムの攻撃ツリーを自動的に生成する方法はありません。攻撃ツリーは、システムおよびコンピューターのセキュリティに関するドメイン知識の必要性を排除しません。それでも、システムを理解し、直面する可能性のある攻撃の種類を理解し、潜在的なリスクについて検討する必要があります。

攻撃ツリーの最大の制限は、それらが巨大になる可能性があることです。完全な攻撃ツリーの構築は非常に労働集約的であり、ほとんどの状況では、この努力がエキスパートの時間を最大限に活用できるとは考えられません。これがおそらく攻撃ツリーがあまり広く使用されていない理由です。アーキテクチャのリスク分析と脅威のモデリングに関するほとんどの作業は、考えられる最もリスクの高い攻撃を特定する方法を提供しようとしています。たとえば、STRIDEやその他の手法を参照して、最も重要なリスク要因にすばやく焦点を絞るようにしてください。

とにかく、あなたはそれの基本的な要点を理解したと思います。あなたの質問は正確には何ですか?

2
D.W.

攻撃ツリーは、特定の敵対的な目的/目標が防御できるかどうかを判断するのに役立ちます。これらは、脅威のモデリング中に、争議のある脅威を検証するのに特に役立ちます。たとえば、システムの弱点を特定できても、それが本当に気にする必要があるものかどうかはわかりません。弱点に関するコンテキストがあるので、弱点を悪用できるいくつかの目的を設定できます。システムや環境のコンテキストで攻撃ツリーを作成できます。これにより、次のような質問に答えることができます。この目標を達成するために何が必要か、私の既存の制御はどれほど効果的か、この目的が達成できる確率はどれくらいか。ツリーをしっかりと把握したら、スキル、ツールなどの属性で注釈を付けることができます。次に、敵対的なプロファイルを適用して、ツリーを剪定できます。これは、コントロールがさまざまな敵対クラスに対してどれほど効果的であるかを示します。

1
Marinus