OWASP Risk Rating Methodology(Japanese)

This is a Japanese version and the original version is here: OWASP_Risk_Rating_Methodology

OWASPリスク格付手法
脆弱性を発見することは重要ですが、ビジネスに関連するリスクを見積もることも同様に重要です. ライフサイクルの早い段階で、脅威モデリングを行う事で、アーキテクチャまたは設計におけるセキュリティ上の問題を特定することができるかもしれません. またライフサイクルの後段では、コードレビューや侵入テストを実施し、セキュリティの問題を見つけることができるかもしれません. 場合によっては、アプリケーションが本番運用され、実際に侵害されるまで、問題は発見されないかもしれません.

ここで紹介するアプローチを用い、これらのリスクのすべてについてビジネスに対する重大度を見積もり、それらのリスクについて何をすべきか、意思決定をすることが可能です. リスク評価のための体制を整えることで、時間が節約され、優先順位に関する論争を解消できます. この仕組みは、よりマイナーなリスクに気を取られ、あまり理解されていない、より深刻なリスクを無視してしまう事を防ぐのに役立ちます.

理想的な世界には、すべての組織のすべてのリスクを正確に見積もる普遍的なリスク評価システムが存在するでしょう. しかし、ある組織にとって重要な脆弱性は、他の組織にとってあまり重要ではないかもしれません. ここでは、特定の組織に合わせてカスタマイズする必要がある基本的なフレームワークを示します.

著者らは、このモデルが簡単に使えるようにしつつも、十分に詳細な情報を提供し正確なリスクの見積もりが出来るように善処しました. 特定の組織で使用するためにモデルをテーラリングする方法については、カスタマイズに関する以下のセクションを参照してください.

アプローチ
リスク分析にはさまざまなアプローチがあります. 最も一般的なものについては、以下の「参照」のセクションをご覧ください. ここに示すOWASPのアプローチは、これらの標準的な方法論に基づいており、アプリケーションセキュリティのためにカスタマイズされています.

標準的なリスクモデルから始めましょう：

リスク = 発生可能性 * 影響度

以下のセクションでは、アプリケーションセキュリティの為の "発生可能性" と "影響度" を構成する要素が細分化されています. それらを組み合わせてテスターがリスクの総合的な重大度を判断する方法が示されています.


 * 
 * 
 * 
 * 
 * 
 * 

ステップ1：リスクの特定
第1のステップは、評価する必要があるセキュリティリスクを特定することです. テスターは、関係する脅威エージェント、使用される攻撃、関連する脆弱性、およびビジネス上、不正利用が成功した時の影響についての情報を収集する必要があります. 可能性のある複数の攻撃者グループ、または可能性のある複数のビジネスへの影響が存在する可能性があります. 一般的に、最も悪い場合の選択肢を使用することで、総合的なリスクが最も高くなるため、慎重に選択することをお勧めします.

ステップ2：発生可能性を見積もるための要素
テスターが潜在的なリスクを特定し、それがいかに深刻であるかを把握したい場合は、最初に "発生可能性"を見積もると良いでしょう. 最高レベルでは、これは、この特定の脆弱性がどの程度攻撃者によって発見され、不正利用される可能性があるかの大まかな尺度です. この見積もりで過度に正確である必要はありません. 一般に、発生可能性が低、中、高のいずれかが識別出来れば十分です.

発生可能性を判断するために役立ついくつかの要素があります. 最初の要素群は、関係する脅威エージェントに関連しています. この分析の目標は、可能性のある攻撃者のグループからの攻撃が成功する事象の発生可能性を見積もることです. 特定の脆弱性を悪用できる複数の脅威エージェントが存在する可能性があるので、通常、最悪の場合のシナリオを使用することをお勧めします. 例えば、様々な要因によりますが、内通者は匿名の部外者よりもはるかに可能性のある攻撃者かもしれません.

各要素には、選択肢が複数あり、各選択肢は、それに関連付けられた0から9までの発生可能性に関する評価があります. これらの数値は、後程、総合的な発生可能性を見積もるために使用されます.

脅威エージェントの要素
最初の要素群は、関与する脅威エージェントに関するものです. ここでの目標は、この脅威エージェントのグループによる攻撃成功となる事象の発生可能性を見積もることです. 脅威エージェントは最悪のケースを想定します.


 * スキルレベル
 * この脅威エージェントのグループは、どの程度技術的に熟練しているか？ セキュリティ侵入スキル有（9）、ネットワークとプログラミングスキル有（6）、高度なコンピュータユーザ（5）、いくつかの技術スキル有（3）、技術スキルなし（1）


 * 動機
 * この脅威エージェントのグループは、当該脆弱性を見つけ悪用する事をどう動機つけられるか？ 報酬が低いもしくは無い（1）、ある程度の報酬がある（4）、報酬が高い（9）


 * 機会
 * この脅威エージェントのグループが当該脆弱性を見つけ悪用するには、どのようなリソースと機会を必要とするか？フルアクセス権または高価なリソースが必要（0）、特別なアクセス権またはリソースを必要とする（4）、いくつかのアクセス権またはリソースを必要とする（7）、アクセス権またはリソースが必要ない（9）


 * 規模
 * この脅威エージェントのグループの大きさはどの程度か？ 開発者（2）、システム管理者（2）、イントラネットユーザ（4）、パートナー（5）、認証済みユーザー（6）、匿名インターネットユーザー（9）

脆弱性の要素
次の要素は、関与する脆弱性に関するものです. ここでの目標は、特定の脆弱性が発見され、悪用される事象の発生可能性を見積もることです. 上記で選択した脅威エージェントを想定します.


 * 発見の容易性
 * この脅威エージェントのグループが当該脆弱性を発見するのはどのくらい容易か？ 実質的に不可能（1）、困難（3）、容易（7）、自動化されたツールあり（9）


 * 悪用の容易性
 * この脅威エージェントのグループが実際にこの脆弱性を悪用するのはどのくらい簡単か？ 理論的に可能（1）、難しい（3）、容易（5）、自動化されたツールあり（9）


 * 認知度
 * この脅威エージェントのグループに当該脆弱性は、どの程度知られているか？ 知られていない（1）、隠されている（4）、明白（6）、一般常識（9）


 * 侵入検知
 * 不正利用を検出できる可能性はどれくらいか？ アプリケーション内で検出している（1）、ログを取得し観察している（3）、ログの取得はしているが観察していない（8）、ログに残らない（9）

ステップ3：影響度を見積もるための要素
成功した攻撃の影響を考察する上で、影響には、2種類あることを認識することが重要です. 1つは、アプリケーションへの「技術的影響度」、つまりアプリケーションが使用するデータと提供する機能です. もう1つは、ビジネスそのものと、そのアプリケーションを運用している企業への「ビジネス的影響度」です.

最終的には、ビジネス的影響度がより重要になります. ただし、悪用された場合に、ビジネス上生じる事を把握するために、必要なすべての情報にアクセスすることはできるとは限りません. この場合は、技術リスクに関する詳細情報を提供することにより、しかるべきビジネス担当者がビジネスリスクについての決定を下すことができるようになります.

この場合も、各要素には一連の選択肢があり、各選択肢には0〜9の影響評価が関連付けられています. これらの数値を後で使用して総合的な影響度を見積もります.

技術的影響度の要素
技術的影響度は、従来のセキュリティ分野（機密性、完全性、可用性、アカウンタビリティ）に沿った要素に分解することができます. この分析の目標は、脆弱性が悪用される場合のシステムへの影響の大きさを見積もることです.


 * 機密性の欠如
 * 開示され得るデータ量とその機密性は、どの程度か？限られた範囲の重要でないデータ（2）、限られた範囲の重要なデータ（6）、広範囲におよぶ重要でないデータ(6)、広範囲におよぶ重要データ（7）、すべてのデータ（9）


 * 完全性の欠如
 * 破損され得るデータ量と損害は、どの程度か？限られた範囲でデータがわずかに破損する（1）、限られた範囲でデータが深刻に破損する（3）、広範囲で、データがわずかに破損する（5）、広範囲で、データが深刻に破損する（7）、すべてのデータが完全に破損する（9）


 * 可用性の欠如
 * どの程度のサービスが提供不能となり、どの程度致命的か？ 限られた範囲で、二次的なサービスが中断（1）、限られた範囲で、主要なサービスが中断（5）、広範囲で、二次的なサービスが中断（5）、広範囲で、主要なサービスが中断（7）、全てのサービスが完全に提供不能(9)


 * アカウンタビリティの欠如
 * 脅威エージェントの行動は個人レベルまで追跡可能か？ 完全に追跡可能（1）、追跡可能なこともある（7）、完全に匿名（9）

ビジネス的影響度の要素
ビジネス的影響度は、技術的影響度に起因しますが、アプリケーションを運用する企業にとって何が重要なことかを深く理解する必要があります. 一般的には、特に、聴衆がエグゼクティブレベルの場合、ビジネスへの影響を考慮してリスク対応することを目指すべきです. ビジネス上のリスクは、セキュリティ上の問題を解決するための投資を正当化する事ができます.

多くの企業では、ビジネスにとって重要なことを形式化するのに役立つ、資産分類ガイドやビジネス的影響度のリファレンスがあります. これらの基準は、セキュリティにとって本当に重要なことに焦点を当てる為に役立ちます. これらが利用できない場合は、ビジネスを理解している人と話し合って、重要とされるものを見つけて取り組む必要があります.

以下の要素は多くの企業にとって共通の関心事ですが、これらは脅威エージェント、脆弱性、および技術的影響度に関連する要素よりも、企業毎にさらに独自性が強くなります.


 * 金銭的損害
 * 不正利用によってどれだけの金銭的損害が生じるか？ 脆弱性の修正コスト未満（1）、年間利益へ軽微な影響（3）、年間利益へ重大な影響（7）、破産（9）


 * 信用喪失
 * 不正利用された結果、ビジネスに害を及ぼすような信用喪失が生じるか？ 最小限の被害（1）、主要顧客の喪失（4）、好意の喪失（5）、ブランドの損害（9）


 * コンプライアンスの欠如
 * コンプライアンスの欠如によりどの程度問題が起こるか？ マイナーな違反（2）、明確な違反（5）、高い注目を集める違反（7）


 * プライバシー侵害
 * どの程度の個人情報が開示され得るか？ 一個人（3）、数百人（5）、数千人（7）、数百万人（9）

ステップ4：リスクの重大度の判断
このステップでは、発生可能性の見積もりと影響度の見積もりを合わせて評価し、当該リスクの総合的な重大度を計算します. まず、発生可能性が低、中、高のいずれかであるかどうかを把握します、同じ事を影響度についても行います. 程度を表す0〜9の数値は、以下に示す3つの要素に分類されます：

非公式の方法
多くの環境では、要素を評価して、単純に答えるだけで何も問題はありません. テスターは、要素を熟考し、結果に影響ある重要な駆動要因を特定する必要があります. テスターは、当初明らかではなかったリスクの、様々な側面を検討することによって、第一印象が間違っていたことを発見するかもしれません.

反復可能なメソッド
評価の正当性を守ったり、反復可能にしたりする必要がある場合は、要素の評価や結果の計算について、より正式なプロセスを策定する必要があります. そもそも、これらの見積もりにはかなりの不確実性があり、それぞれの要素は、テスターが道理にかなった結果に到達するのを助けることを意図していることに留意する必要があります. このプロセスは計算をより簡単に行えるよう自動化されたツールで支援する事が出来ます.

最初のステップは、各要素に関連する選択肢の1つを選択し、関連する番号をテーブルに記入することです. 次に、スコアの平均を取って総合的な発生可能性を計算します. 例えば：

次に、テスターは総合的な影響度を把握する必要があります. そのプロセスは先ほどと同様です. 多くの場合、答えは明らかですが、テスターは要素に基づいて見積もりを行うか、要素ごとに平均をとることができます. 再掲として、3未満は低、3以上は6未満は中、6〜9は高. 例えば：

重大度の決定
それなりにテスターは発生可能性と影響度の見積もりが出来たので、それらを組み合わせてこのリスクの最終的な重大度を得ることができます. ビジネス的影響度の情報が適切な場合は、技術的影響度の情報の代わりにその情報を使用する必要があります. しかし、テスターがビジネスに関する情報を持っていなければ、技術的影響度が次善のものとなります.

上記の例では、発生可能性は中であり、技術的影響度は高となります. 純粋に技術的な観点からは、総合的な重大度は高に見えます. ただし、ビジネスへの影響は実際には低いので、総合的な重大度は低くすることをお勧めします. このように、評価している脆弱性のビジネスコンテキストを理解することは、優れたリスク判断を下す上で非常に重要です. このコンテキストを理解できないと、多くの組織にあるビジネスチームとセキュリティチーム間の信頼関係の欠落を誘発する可能性があります.

ステップ5：解決するものを決める
アプリケーションのリスクが分類された後、解決する項目の優先順位リストが出来ます. 原則として、最も重大なリスクを最初に解決する必要があります. たとえ簡単もしくは安価に解決することができるとしても、重要性の低いリスクを解決する事は総合的なリスク管理 の役に立ちません.

すべてのリスクに解決する価値があるわけではなく、一部の損失は予測可能なだけでなく、問題を解決するコストに基づいて正当化出来る事を覚えておく必要があります. 例えば、年間2,000ドルの詐欺行為を防止するための管理策を導入するために10万ドルの費用がかかる場合、その損失を打ち消す投資回収に50年必要となります. 一方で、詐欺による信用喪失は、組織にはるかに多くのコストをもたらす可能性がある事を留意しておく必要があります.

ステップ6：リスク評価モデルのカスタマイズ
ビジネスにとってカスタマイズ可能なリスク評価のフレームワークを採用することは非常に重要です. テーラーメイドモデルは、深刻なリスクについて、関係者の認識に合う結果を導ける可能性がより高くなります. 本モデルのように、カスタマイズがサポートされていない場合、リスク評価について議論が過熱しより多くの時間が浪費される可能性があります. 本モデルを組織に合わせるにはいくつかの方法があります.

要素を追加する
テスターは、特定の組織にとって重要なことを、よりよく表す様々な要素を選ぶ事ができます. 例えば、軍事用途では、人命や機密情報の喪失に関連する影響要素が追加される可能性があります. テスターはまた、攻撃者の攻撃チャンスや暗号化アルゴリズムの強さなどの発生可能性に関する要素を追加することもあります.

選択肢をカスタマイズする
各要素にはいくつかのサンプルとなる選択肢がありますが、テスターがこれらの選択肢をビジネスに合わせてカスタマイズすると、モデルはより効果的になります. たとえば、異なる分類の情報に対して、異なるチーム名と会社名を使用します. テスターは、選択肢に関連するスコアを変更することもできます. 適切なスコアを決める最良の方法は、モデルによって生成された評価を専門家のチームによって作成された評価と比較することです. スコアが一致するように慎重に調整して、モデルをチューニングすることができます.

重みづけ要素
上記のモデルは、すべての要素が同じように重要であると仮定しています. 特定のビジネスにとってより重要な要素を強調するために要素を重み付けすることができます. これは、テスターが加重平均を使用する必要があるため、モデルが少し複雑になります. しかし、それ以外はすべて同じように使う事ができます. ここでも、ビジネス上の合意とリスク評価とが正確となるよう整合性を取ってモデルをチューニングすることが可能です.

参照

 * Managing Information Security Risk: Organization, Mission, and Information System View
 * Industry standard vulnerability severity and risk rankings (CVSS)
 * Security-enhancing process models (CLASP)
 * Cheat Sheet: Web Application Security Frame - MSDN - Microsoft
 * Threat Risk Modeling
 * Pratical Threat Analysis
 * Application Security Risk Assessment Guidelines
 * A Platform for Risk Analysis of Security Critical Systems
 * Model-driven Development and Analysis of Secure Information Systems
 * Value Driven Security Threat Modeling Based on Attack Path Analysis
 * Risk Rating Template Example in MS Excel