前回に引き続き、ITシステムのセキュリティ脅威分析についてお話します。
前回はセキュリティ脅威分析の流れについてお話しました。今回はその中でリスク評価につかう手法の1つである「DREAD」についてお話します。
少し復習もかねて、セキュリティ脅威分析の流れを説明すると、最初が脅威分析対象の決定と守るべき資産の洗い出し、2番目がデータの流れの可視化、3番目が脅威の洗い出し、4番目が脅威を実現する攻撃手法の特定、5番目が脅威対策の優先度をつけるためのリスク評価となります。
DREAD
この5番目のリスク評価の手法の1つが「DREAD」です。評価軸の5つの頭文字をとったものです。マイクロソフト社が利用していた手法で、それぞれの軸で3段階から10段階程度のレベルを設定して評価します。なお、点数については、5つの評価軸への重要度に応じて、配分を変える場合もあるようです。では、1つずつの評価の内容を説明します。
最初のDがDamage potential(損害の可能性)です。つまり、脅威を実現する攻撃によって、どの程度の損害が出るのかを予測して、その損害に応じて、レベルを設定します。システム自体が全く使えなくなるならば、レベルは高く評価し、ユーザーにあまり影響しない機能が使えなくなるとか、軽微な情報が漏えいするとかは低く評価します。
次にRがReproductivity(再現可能性)です。攻撃の再現性の容易さを評価します。言い換えると攻撃の再現性が高いということは、攻撃しやすいと考えて、リスクを高く評価します。いつでも攻撃ができるレベルは高く、特定の情報と特定な脆弱性を知っていても攻撃しづらいのであれば、低く評価します。
次のEはExploitability(攻撃利用可能性)です。本来の意味は開発可能性ですが、リスク評価の観点から、悪用のしやすさを評価します。初心者でも悪用できる攻撃であれば、高く評価することになります。専門知識や特殊なテクニックがなければ、実現できないような攻撃は低く評価します。
次のAはAffected users(影響ユーザー)です。その名の通り、どの程度のユーザーに影響を与える攻撃かを考えます。一般的には影響するユーザー数を考えます。一番リスクが高いのは関係する全ユーザーに影響を与える攻撃ということになります。特定の条件を満たすごく少数のユーザーに影響を与えるだけなら、低い評価ということになります。その方には迷惑かもしれませんが、あくまで評価ですので・・。
最後のDはDiscoverability(発見可能性)です。その攻撃自体の知名度のようなもので、容易に知ることができる攻撃ほど、その攻撃を利用される可能性が高いので、リスクが高いということです。まだ、知られていなかったり、知るためには中身に詳しい人でその発見自体が非常に困難な場合は低く評価されます。
最終的には5つの評価点数を合計して、一番高い脅威の対策から優先的に検討するということです。対策には費用が掛かることが多いので、優先順位をつけることは大切です。
この手法は専門家でない人にはわかりやすいのですが、評価が評価者によって、ばらつきが出るあいまいさがあるために、最近はあまり使われていないそうです。とはいえ、社内のメンバーでリスク評価をするのであれば、十分有効だと思います。ぜひ、チャレンジしてみてください。