この記事は、エンドポイント セキュリティのプロダクト マーケティング マネージャーである Kelsey Pierce によるブログ「Demystifying: Machine Learning in Endpoint Security」(2018/6/28)の抄訳です。
エンドポイント セキュリティのベンダーを新しく選ぶのは、そう簡単なことではありません。検討を始めた当初から、さまざまな用語にさらされることになるでしょう。たとえば機械学習、人工知能、次世代のウイルス対策、ファイルレス マルウェア防御、脅威ハンティングなど、いくらでも例は挙げられます。その言葉が最先端で魅力的に聞こえることも、あるいは、その難しさから検討をやめてしまい、現行製品を使い続けることにもなるかもしれません。やがて、ベンダー同士の区別をつけるのが難しくなってきます。ましてや、よく耳にする「高度な脅威」というものからネットワークを保護するためのエンドポイント セキュリティ ソリューションを適切に選択することは、至難の業です。
私たちは、多くの展示会やお客様とのミーティングで受けてきた数えきれないほどの質問から、お客様がよく聞くであろう用語についてわかりやすく説明することが重要だという考えに至りました。なぜなら、それらの用語が示すコンセプトは、あいまいな「マーケティング用語」が与える表面的な印象以上に、実はとても重要なものだからです。ほとんどの用語は、ソリューションに求められる特徴や機能を表すものであり、最終的にはそのソリューションに投資することになります。その本当の意味や最終的な効果を把握できなければ、ツールへの投資が「中途半端なシナリオ」に終わってしまい、必要な機能が得られないばかりか、まったく使いものにならない場合さえあります。
そこで、現在のエンドポイント セキュリティにおいて最も濫用されていると思われる、「機械学習」という用語を取り上げてみます。
他のエンドポイント セキュリティ ベンダーと同様、私たちの元にも機械学習についてたくさんの質問が寄せられます。典型的なのは、「シスコでは、機械学習を使用してマルウェアを捕らえているのか」というような質問ですが、その答えはこうです。
機械学習単体でマルウェアを捕らえることはできません。
ごく簡単にいえば、エンドポイント セキュリティにおける機械学習とは、アルゴリズムを使用してエンドポイント セキュリティ ソリューションに「学習」させることを表します。ここでいう「学習」とは、過去に確認された悪意あるファイルの属性を基にして、悪意あるファイルやアクティビティを特定することを意味します。
そして、シスコの AMP for Endpoints では、それが可能なのです。詳細については、後でふれることにします。
機械学習とは
機械学習を使用すると、検知率の向上と時間の節約が可能になります(また、機械学習とはそうあるべきものとも言えます)。その一方で、機械学習単体ではマルウェアを捕らえることはできず、それを認識しておくことが重要です。その理由を理解するには、そもそも機械学習がどのような仕組みで行われているのかを理解する必要があります。この点については、シスコのGrowth Initiatives and Chief of Staff for the office
兼 CEO 室長である Ruba Borno が、最近のブログ でうまく説明しています。
「機械学習においては、大量のデータがアルゴリズムに投入され、その後、現実世界における最適な行動を、機械が自ら決定します(機械の動作の基準となるルールを専門家がコーディングするわけではありません)。
機械は、ある事物をさまざまな側面から見ることで、学習を行います。 たとえば、機械に犬と猫の違いを学習させるのであれば、前、後、側面、上方など、犬と猫を様々な角度からとらえた大量の画像を機械に見せる必要があります。 機械学習では、犬や猫について最も大量の「データ」を与えられた機械が、最も適切な区別方法を自ら開発することになります」。
エンドポイント セキュリティにおける機械学習
機械学習および人工知能の分野の第一人者である Andrew Ng 氏は、現在の教師あり機械学習機能の「アキレス腱」ともいうべき点を指摘しています。
「これには膨大な量のデータが必要になります。システムに対して、A、B 双方の例を大量に提示しなければなりません。たとえば、写真タグ付けシステムを作るのであれば、数万枚から数十万枚ほどの写真(A)のほか、その写真の中に人がいるかどうかを示すラベルやタグ(B)を用意する必要があります。音声認識システムを作るのであれば、数万時間単位の音声(A)と、それに伴うトランスクリプト(B)が必要です」。
つまり、悪意のあるファイルとそうでないファイルを高い精度で判別できる機械学習アルゴリズムを作るには、既知のマルウェアに関する膨大な量のデータを投入して学習させる必要があるのです。別の言い方をすれば、学習するマルウェアが増えれば増えるほど、機械学習アルゴリズムの精度が向上していくということになります。
数の力
シスコは、これまで 30 年間を費やしてインターネットのバックボーンを構築してきました。今では、1 日に 200 億個、年間で 7 兆個の脅威をブロックしています。これらの脅威がシスコの機械学習エンジンに投入され、詳細に解析されてアルゴリズムの学習に役立てられています。また、AMP for Endpoints には調査と有効性評価を担当する専任チームが設けられており、すべてのデータを活用して、保護性能の向上と検出時間の継続的な低減を図っています。これらの専門家による調査と脅威の解析を通じて機械学習アルゴリズムに学習をさせることで、新しい未知のタイプの脅威に対する防御が改善していきます。機械学習は、ツールが時間の経過とともに自ら学習することを特徴としていますが、業界有数の知見を継続的に機械学習に投入することで、ツールの精度はますます向上します。
このことは、エンドポイント セキュリティのごく基本的な内容について考えてみるとわかりやすくなると思います。エンドポイント セキュリティのツールは、ファイルやその他の観測情報を、次の 3 つのカテゴリに分類することができます。
- 見たことがあり、安全であると特定されているもの
- 見たことがあり、危険もしくは悪意ありと特定されているもの
- これまでに見たことがなく、安全か悪意があるのか特定できないもの
ファイルの分類に機械学習を役立てているソリューションは、より早く正確に判定を下すことができます。また、充分な良質のデータによる学習をアルゴリズムが行っていれば、新しい未知の脅威についても比較的容易に判別できるはずです。機械学習の性能は、モデルに投入されるデータ量に応じて決まります。したがって、機械学習アルゴリズムが学習するマルウェアが多ければ多いほど、ネットワークに侵入しようとするマルウェアを特定するエンドポイント セキュリティ ソリューションの能力は高まります。これらの処理はすべて自動で行われるべきです。もしも、機械学習ツールの生成したアラートを元に、人間がファイルの処置を決めているのであれば、ツールを有効に利用していることになりません。
ソリューションそのものではなく、ソリューションの一部として
機械学習に関するあらゆる会話の中で、早い段階から指摘しておくべきことがあります。それは、この機能によって検出時間、効率性、ソリューションの有効性が大幅に改善されるのは事実だが、万能のツールではないということです。機械学習はあくまでもソリューションの一部であり、ソリューションそのものではないと考える必要があります。これまでにない特性を持つ新しい種類のマルウェアの出現は、これからも常に起こり得ます。そのようなマルウェアが侵入を試みたとき、機械学習だけに依存したツールであれば、通過できる可能性は充分にあります。
この時点で、ある問題が発生します。機械学習で検出できなかった脅威を阻止するにはどうすればいいのだろうか、という問題です。そのような脅威は、確認することも難しいかもしれません。脅威がいったん環境内に侵入すると、機械学習機能はもはや役に立ちません。そして、機械学習アルゴリズムにとっては初見となる悪意あるふるまいを特定できるような、より包括的なツールを持っていればよかったと後悔することになるでしょう。
また、ファイルレス マルウェアについてはどうでしょうか。このアプローチを利用してネットワークへの侵入を図るケースが増加していますが、そこには理由があります。機械学習アルゴリズムは、悪意のあるファイルとないファイルを見分ける学習は可能ですが、解析(さらには実行時解析)の対象となるファイルがない場合は、あまり役に立ちません。従来とは異なるタイプのマルウェアを防御するには、多層的なアプローチによる保護、検出、対応が必要です。「特効薬」など存在しないのです。できる限り多くの脅威を早い段階でブロックできるようにすることが重要です。ご存じのように、最後の 1 % を防げなかったために、報道されるような事態になってしまうのが実情です。
シスコのアプローチ
シスコでは、特にエンドポイントにおいて、多層型のセキュリティ アプローチを採用しています。シスコの次世代エンドポイント セキュリティ ソリューションである Cisco AMP for Endpoints では、十数種類の検出/保護技術の 1 つとして機械学習を使用して、侵害防止を図っています。AMP における機械学習以外の検出/防御技術には、次のようなものがあります。
- 悪意のあるアクティビティに対する保護。実行ファイルのふるまいを継続的にモニタリングし、正当なものかどうかを評価して、ファイルから実行されるべきでないプロセスを強制終了します。
- エクスプロイト防止エンジン。メモリ内で実行されるすべてのものをモニタリングして、正当なアプリケーションやプロセスがマルウェアの配信に悪用されることのないようにします。
- AMP に内蔵されたシグネチャベースの検出エンジン。認識されたファイルが既知の悪意あるファイルかどうかを迅速に判別します。
多層型アプローチを構成する要素はこれだけにとどまらず、AMP for Endpoints は、機械学習を使用するシスコ製品の中の 1 つに過ぎません。また、Cisco Stealthwatch や Cognitive Threat Analytics にも機械学習機能は組み込まれています。シスコのセキュリティ製品における機械学習の使用方法についてさらに詳しく知りたい場合は、近日公開予定のこのブログのパート 2 をご覧ください。
AMP for Endpoints の各機能(機械学習が含まれているのはもちろんですが、それだけではありません)を、ご自身で試したい場合は、無料トライアル をチェックしてみてください。