マイライブラリ
マイライブラリ

+ マイライブラリに追加

電話

お問い合わせ履歴

電話(英語)

+7 (495) 789-45-86

Profile

ニュース一覧に戻る

コラム : アンチウイルス導入によるセキュリティリスクの発生確率の検証

2018年3月16日

株式会社Doctor Web Pacific


ご存知のように、確率論は、正確な測定に基づく統計を扱って作り上げられた理論であるため、これより正確なものはありません。

18世紀の長老派の牧師で数学者であるトーマス・ベイズの名前にちなんでつけられたベイズの定理は、利用可能な最良の証拠(観測、データ、情報)に基づいて、信念(仮説、主張、命題)の妥当性を計算する方法です。 わかり易く説明すると、「初期の信念と新しい証拠=新しい信念と改善された信念」となります。

新しい証拠が与えられれば、信念が真である確率は、その証拠にかかわらず信念が真実である確率と等しくなります。信念が本当であるかどうかにかかわらず、確信が真である証拠が真実である確率で割った確率となります。

確率をP、信念をB、証拠をEとすると、基本となる数式は、P(B | E) = P(B) × P(E | B) / P(E)となります。P(B)はBが真である確率であり、P(E)はEが真である確率です。P(B | E)は、Eが真であればBの確率を意味し、P(E | B)はBが真であればEの確率です。

前述の内容で定義の意味を理解できなかった場合は、もう一度読んでみてください。

では次に、定理がどのように働くのか、例を使って見てみましょう。

アンチウイルス1 アンチウイルス2 アンチウイルス3
Virus Bulletin(1998年5月〜2009年12月)の全マルウェア検出 75% 97% 94%

そしてその選択はかなり明白になっているように思えます。ベイズの定理について説明したテキストに当てはめて考えてみましょう。

システムにマルウェアが侵入していないかどうかを確認し、システムに問題がない確率は1%とします。

私たちのアンチウイルスの信頼性を約99%と評価してみましょう。

質問:アンチウイルスによって、システムがクリーンであると判明した場合、その後、感染する可能性はどの程度になるでしょうか?

ほとんどの人は、その答えが99%かそれに近いと想定していますが、ベイズの定理から導き出された正解はわずか50%でした。

P(B | E)を解くには、データをベイズ方程式の右辺に差し込みます。P(B)は、システムがスキャンされる前に感染している可能性が1%、つまり.01です。感染が検出される確率もP(E)です。

分母P(E)はどうですか?ここは慎重に考えていきましょう。P(E)は、あなたのシステムが感染しているかどうかをテストする確率です。言い換えれば、真陽性だけでなく偽陽性も含みます。

偽陽性の確率を計算するには、偽陽性率を1%、すなわち感染していないシステムの割合の99倍に.99倍します。 合計は.0099になります。 あなたがした素晴らしい99%正確なテストは、本当のポジティブ1と同様に多くの誤検出をもたらします。

計算を終了しましょう。P(E)を得るためには、.0198の合計に対して真陽性と偽陽性を加えます。これは.0099に分割されたときに.5になります。 もう一度、P(B | E)、システムが実際に感染する確率は50%となります。

これを簡単な言葉で言いましょう。システムを1回しかスキャンしなかった場合、コンピューターがクリーンになる確率は50-50です。 これは奇妙に聞こえるかもしれませんが、これは、アンチウイルスが未知のマルウェアを認識できないため正確と言えます。しかし、スキャンを再実行するとすべてが変わります。

テストをもう一度行った場合、システムが感染する確率P(B)は、現在1%ではなく50%となっているため、不確実性を大幅に減らすことができます。2回目のスキャンが陽性になると、ベイズの定理は感染確率が99%、つまり99であることを示しています。この例が示すように、ベイズの定理を反復することで、非常に正確な情報を得ることができます。

つまり、一方では、ウイルス対策ソフトウェアがそれ以降のアップデートで、それ以前に知られていないマルウェアに関する情報を受け取り、他方でダウンロードする可能性があるため、システムが感染する可能性は後のスキャンごとに減少します。そして幸運なことに、未知のマルウェアを定期的にダウンロードする可能性は低いです。

#anti-virus_scan #security

Tell us what you think

To ask Doctor Web’s site administration about a news item, enter @admin at the beginning of your comment. If your question is for the author of one of the comments, put @ before their names.


Other comments