セキュリティにおける機械学習の静かなる勝利と偽りの約束

By 清水 孝郎 - SEPTEMBER 4, 2022

SHARE:

machine learning security

本文の内容は、2022年9月2日にAnna Belakが投稿したブログ(https://sysdig.com/blog/machine-learning-in-cybersecurity/)を元に日本語に翻訳・再構成した内容となっております。

以前インターネットで読んだ機械学習(ML)についての記述内容とは違って,機械学習は魔法の杖にはなりません。つまり、機械学習は統計的手法を用いた幅広いコレクションであり,正解を明示的にプログラムしていなくても,コンピュータに答えを推定するように学習させることができます。

一方、機械学習には得意分野があり、適切に設計された機械学習システムが適切なタイプの問題に適用される時に、他の方法では成しえなかったインサイトやスケールを引き出すことができるのです。

一般的に、MLは狭い範囲の問題、膨大なデータセット、そして、関心のあるパターンが高度に再現可能、または予測可能な場合に適したツールです。

MLをやるかやらないか、それが問題だ

MLは万能ではなく,ほとんどのセキュリティ問題はMLによる解決策を必要とせず、またその恩恵も受けていません。実際、Googleや他の大手ハイテク企業など、この分野の多くの専門家は、複雑な問題を解決しようと機械学習を適用する前に他のすべての可能なアプローチを使い果たすべきだ、と提案しています。

機械学習は、ヒューリスティックな手法に比べると比較的難しく、コストもかかるため、よりシンプルなアプローチで十分な場合には使用すべきではありません。脅威検知の一般的な例として、既知の悪いIPアドレスに接続が開始されたときに警告を出すルールがあります。これには、MLは必要ありませんし、使おうとしても効果がない可能性が高いです。

成功したMLの良い例は、自然言語処理(NLP)です。NLPはコンピュータに人間の言葉をテキストや音声で「理解」させるものですが、人間の言葉はとてつもなく複雑です。慣用句、皮肉、比喩、文法的な不規則性などをコンピューターに教えようとすることを想像してみてください。MLが「狭い範囲の問題」に向いていると言うのは、たとえスパムメールを識別するような非常に特殊なタスクであっても、ある言語のニュアンスをシミュレートするためにモデルの組み合わせが必要だという意味です。ほとんどのNLPは、言語の曖昧な性質に対処するために、手書きのルール、統計的手法、ニューラルネットワークやディープラーニングを含むハイブリッドなアプローチを採用しています。

多くの点で、サイバーセキュリティは言語処理と同じ課題に直面しています。攻撃者は慣用句を使わないかもしれませんが、彼らのテクニックの多くは同音異義語(他の言葉と似ている言葉)に類似しています。これは、システム管理者が良かれと思って行う行為に酷似しています。IT環境は、国によって言語が異なるように、組織によって目的、アーキテクチャー、優先順位、リスク許容度が異なります。そのため、MLやその他のアルゴリズムで、すべてのシナリオのセキュリティユースケースに幅広く対応できるものを作ることは不可能です。このため、MLをセキュリティに応用する際には、複数の手法を組み合わせて非常に特殊な問題に対処することが多くなっています。例えば、スパムフィルター、DDoSやボットの軽減、マルウェアの検出などがその例です。

ゴミを入れるとゴミが出てくる

どのようなMLを検討しているかにかかわらず、私たちが直面する最大の課題は、問題を解決するために十分な量の関連した、使用可能なデータを入手できるかどうかに関係しています。教師ありのMLでは、大規模で正しくラベル付けされたデータセットが必要です。例えば、猫の写真を識別するモデルを作りたい場合、「cat」とラベル付けされた猫の写真と、「not cat」とラベル付けされた猫以外の写真を多く含むデータセットで学習させる必要があります。もし、猫の写真が少なかったり、写真が正しくラベル付けされていなかったりすると、モデルはうまく動作しません。

教師ありMLの話

セキュリティの分野では,よく知られている教師ありMLのユースケースはシグネチャーレスマルウェア検出です。今日、最高のエンドポイントプロテクションベンダーは、この目的のためにMLを使用しています。彼らは、膨大な量の悪意のあるサンプル(またはそのようなデータセットをダウンロードする)と良性のサンプルにラベルを付けて、「マルウェアがどのように見えるか」のモデルを学習させることでこれを達成します。これは、回避的な変異型マルウェアや、シグネチャーに一致しなくなる程度にファイルが変更されても悪意があるマルウェアを正しく識別することができるため、素晴らしいことです。MLはシグネチャーにマッチしません。MLはシグネチャーにマッチしませんが、他の特徴セットを使って悪意を予測するため、シグネチャーベースの手法が見逃すマルウェアをしばしば捕らえることができます。

しかし、MLのモデルは確率的な仕組みです。つまり厳密ではないため、トレードオフの関係があります。MLは、シグネチャーが見逃すマルウェアを捕らえることができますが、シグネチャーが捕らえるマルウェアも見逃す可能性があります。このため、最新のエンドポイントプロテクションプラットフォーム(EPP)ツールでは、MLとシグネチャーベースの技術を組み合わせたハイブリッド方式を採用し、最適なカバレッジを実現しています。

教師なしMLの話

教師なしMLは、しばしば「異常検知」と呼ばれますが、異常検知の多くはMLではなく、基本的な統計学なのです。正しく使用されれば,教師なしMLは動的なベースラインを可能にし,それは静的な閾値よりもはるかに効果的であることが多いです。

教師なしMLのセキュリティ上の成功事例の1つは、ネットワークの異常検出です。最新のネットワークセキュリティツールは、暗号化されたトラフィックのパターンを識別して、潜在的な攻撃を捕らえることもできます。しかし、異常検知を機能させるためには、対象となるネットワークが非常に一貫性があり予測可能でなければならず、そうでなければ誤検知率は耐え難いものになります。さらに、教師なしの手法は、関連するパターンについて組織のデータに依存します。これは、ツールが正しく動作する前に、お客様の環境を学習するためにある程度の時間がかかることを意味します。また、ネットワーク上に既に存在する悪意のある活動を、ツールが意図せずして正常なものとして基準設定してしまい、検出が不可能になる可能性があることも意味します。

マルウェアの検出と同様に、ほとんどのネットワーク検出およびレスポンスツールは、MLやその他のさまざまな方法を組み合わせて、提供できる最高の検出を実現します。

どうしても紛れ込む偽陽性

適切なユースケースを選択し、見つけるのが難しい膨大なデータセットに良いモデルを合わせる苦労はさておき、MLは、出力の解釈に関して、いくつかの追加の課題を提示します。

結果は確率です。MLモデルは何かの可能性を出力します。ですから、もしあなたのモデルが猫を識別するために設計されているなら、”このものは80%の確率で猫である “というような結果を得ることになります。この不確実性は、この種のシステムの固有の特性であり、結果の解釈を難しくすることがあります。80%の猫で十分なのでしょうか?

モデルは(少なくともエンドユーザーが)調整することはできません。確率的な結果を扱うために、ツールにはベンダーが設定したしきい値があり、そのしきい値によって二値化された結果が得られる場合があります。例えば、猫識別モデルは、猫である可能性が90%以上のものは猫であり、それ以外のものは猫ではないと報告するように調整されている場合があります。問題は、あなたのビジネスやセキュリティチームの猫であることに関する許容範囲が、ベンダーが設定したものより高いか低いかということです。常にではありませんが、通常、この許容範囲はモデル開発時に調整されるため、変更することはできません。さらにこれらの閾値は、あまり優秀な脅威(あるいは猫)の専門家ではない人が設定した場合、恣意的なものと同じになる可能性があります。

偽陰性(FN)、つまり本当に怖いものに対して警告を発しないことは、MLモデル、特にチューニングが不十分なモデルの痛い結果の一つです。偽陽性(FP)については、時間を浪費し、チームの燃え尽きを助長し、一般的にイライラさせられるので、よく耳にします。しかし、FPとFN率の間には本質的なトレードオフがあります。MLモデルは通常、トレードオフを最適化するように調整されます。つまり、FPとFNの率ができるだけ「良い」モデルを選択するのです。しかし、このような最適化においてFPまたはFN率をどのように重み付けするかは、ユースケースに大きく依存します。これらのしきい値は、組織の種類によって、個々の脅威とリスク評価によって大きく異なる可能性があります。ML ベースの製品を使用する場合、FP および FN 率の許容範囲に関する情報は通常提供できず、ベンダーが適切な閾値を選択することを信頼する必要があります。

アラートのトリアージに十分なコンテキストがない。MLの魅力の一つは、データセットから有用な予測力を持つかもしれない「特徴」を抽出できることですが、人間が認識できるものでも、あまり意味のあるものでもないかもしれません。例えば、あるものが猫かどうかが、たまたま一番近い建物の色と高い相関があったとする。これは恣意的なことで、人間には「猫か猫じゃないか」の判断に建物の色を含めることなど思いもよらないでしょう。しかし、これはMLの目的の一つである,他の方法では見つけられないパターンを見つけること、そしてそれを大規模に行うことなのです。ここで2つの問題があります。ひとつは、モデルの利用者が特徴を知ることはほとんどないため、猫の予測が建物の色に基づくものであることを知ることすらできないことです。もうひとつは、たとえ予測の理由が明らかになったとしても、それは人間が読めるものでないか、あるいは一見恣意的で、実際のアラートのトリアージやインシデントレスポンスの場面では役に立たないことが多いということです。これは、MLシステムの判断を最終的に定義する「特徴」が、予測力のために最適化されており、そのモデルの出力を見るセキュリティアナリストにとって実用的な関連性がないためです。

他の名前の「統計学」は甘い香りがするのでしょうか?

長所と短所の他にもう1つ、「ML」のすべてが本当の「ML」ではない、ということがあります。統計学は手持ちのデータに対して何らかの結論を与えてくれます。MLは、あなたが持っていない関連データについて推定したり、あなたが持っているデータに基づいて予測したりするものです。マーケティングチームは、「機械学習」や「人工知能」という言葉を、現代的、革新的、高度なものであることを示す言葉として熱狂的に受け止めています。しかし、その技術が機械学習を使っているかどうか、そもそも機械学習が正しいアプローチであるかどうかについては、ほとんど考慮されていないことが多いのです。

MLには幅広い技術が含まれますが、その多くは何十年も前からある基本的な統計手法に依存しています(MLという用語は1950年代に生まれました)。線形適合は予測能力があるのでMLですが、その壮大なイノベーションにプレミアムを払いたいのでしょうか?本当の問題は、なぜそのツールがMLを使っている、あるいは使っていると主張していることを気にする必要があるのか、ということです。

では、MLは悪を検知できるのか、できないのか?

機械学習は、”悪 “がどのようなものかをよく理解し、その具体的な側面をキャプチャーするために問題の範囲を定義できる場合、悪のある側面を検出するのに役立ちます。また、予測可能性の高いシステムにおいて、期待される動作からの逸脱を検出するのにも役立ちます。問題の環境が安定していればいるほど、MLは正しく異常を特定できる可能性が高くなります。しかし、これはすべての異常が悪意あるものであることを意味しませんし、オペレータがアラートに基づいて行動するのに十分な文脈情報を備えていることを意味しません。

サイバーセキュリティの分野では、さらに多くの正当で優れた機械学習システムが普及していますが、真のイノベーションから最大の価値を引き出し、バズワードのノイズに時間とお金を無駄にしないために、組織をどのように位置づけることができるかを考えてみてください。他の優れたツールと同様に、ML ツールも既存のワークフローにシームレスに適合し、新たな摩擦を生じさせないようにする必要があります。MLは、既存の手法、システム、チームの能力を拡張し、最適な適用範囲と効率を実現するものであり、代替するものではありません。

原文はDark Readingに掲載されています。

Copyright 2022 Sysdig, Inc. / Sysdig Japan 合同会社 All Rights Reserved.