フィッシング検出の課題 (パート3 ):ハイブリッドモデルで精度を向上

これは、大規模なフィッシング攻撃を検出する際に、精度とランタイムパフォーマンスに強い制約があるためにVadeが直面した課題について書かれた、4部シリーズの3番目の記事です。

最初の記事では、メールストリーム内の不審なリンクを識別する方法と、それに関連するWebページのコンテンツを取得してURL/Webページのペアを形成する方法をご説明しました。2番目の記事では、URL/Webページのペアがさまざまな検出レイヤーによってどのように分析されて評価されるかをご紹介しました。これに関連して、教師あり学習設定における特徴量エンジニアリング、モデルフィッティング、ランダムフォレスト分類器の学習と評価について説明しました。 

この記事では、まず、ドメイン知識に最も依存して特徴を抽出する従来のアルゴリズムから、自然言語処理とディープラーニングモデルを組み合わせた最新の技術まで、長年にわたるマシンラーニング技術の進化を紹介します。次に、両方のアプローチの長所を組み合わせたハイブリッドモデルを取り上げてハイブリッドモデルのアーキテクチャを取り上げます。そして最後に、このモデルによって精度がさらに向上する理由を説明します。 

従来のマシンラーニングアルゴリズム

従来型あるいは古いマシンラーニングアルゴリズムとは、分類のタスクに広く使用されており、今日でも非常に人気のあるモデルのことを指します。その例として、ランダムフォレストサポートベクター マシン(SVM)、およびロジスティック回帰が挙げられます。これらのモデルには重要な特性があります。まず、これらのモデルには大規模な学習データが必要ありません。小規模な学習データセットで十分に機能します。その結果、データの可用性にあまり依存しないため、教師あり学習の観点においてラベル付けコストが削減されます。次に、これらのモデルは説明可能です。つまり、人間がモデルの予測を理解できます。

ただし、これらのモデルの主な欠点は、生データを処理できないことです。しかも、生データを関連性のある適切な数値表現に変換するには、専門知識と慎重なエンジニアリングが必要です。実際に、アルゴリズムの精巧さや学習と評価に用いられるデータセットのサイズに関係なく、特徴量が適切に選択されていなければ、モデルのパフォーマンスは低下します。

前回の記事で、合計52個の異なる特徴量がURL/Webページのペアから抽出されており、これらの特徴量選択は私たちの経験と専門知識に基づいていると述べました。これらの特徴量を手作業で作成することで、基本的に当社の専門知識を伝達しました。言い換えれば、フィッシング検出タスクの意思決定プロセスで当社が使用する手がかりをプログラム形式に変換しました。分類タスクに関連性の高い少数の特徴量セットを作成できるため、専門家が行う場合は手作業での特徴量エンジニアリングを強く推奨します。

ただし、他の特徴量を自動的に検出することで、専門の特徴量セットを改善することは可能です。人間が認識するには信号が弱すぎて専門家が気付かない特徴量があるかもしれませんが、コンピュータプログラムは生データから統計的相関関係を発見することがあります。さらに、分類タスクによっては、1回限りの手作業による特徴量エンジニアリングタスクでは不十分な場合があります。これは、本来敵対的である脅威の情勢が動的であるため、攻撃者の技術が時間とともに進化するのに合わせて特徴量エンジニアリングを定期的に実行しなければならないというサイバーセキュリティの状況下に置かれている場合に当てはまります。手作業による特徴量エンジニアリングにはコストと時間がかかりますが、自動特徴量エンジニアリングはギャップを埋めるのに役立ちます。

テキストから特徴を抽出するためのよく知られた従来の方法は「Bag of Words」(BoW)モデルです。これは、テキストドキュメントのコレクションから抽出された単語から語彙を作成し、次に、ドキュメント内の各単語の重要性を評価することにより、テキストドキュメントをモデル化します。この単純で直観的なモデルには多くのバリエーションがあります。単語の重要度は、単語数のカウント単語の使用頻度、または単語頻度―逆文書頻度(TF-IDF)によって計算できます。ドキュメントの数に応じて語彙の量が急速に増えるため、大文字と小文字の区別や句読点を無視したり、ストップワードを削除したり、単語を語幹のみにしたりまたは見出し語に置き換えたりするなど、テキストの前処理を実行するのが通例です。最も使用頻度の高い単語のみが保持されるように語彙の量を制限することもできます。

直観的で多用途ですが、BoWモデルには重大な弱点があります。まず、単語の順序が切り捨てられるため、文脈と意味内容の一部が失われます。次に、テキストドキュメントの疎らな数値表現しか生成しないため、計算の観点からは適切ではありません。実際、自動特徴量エンジニアリングは、従来のマシンラーニングアルゴリズムがうまく機能しない疎な高次元データを生成する傾向があります。最近のディープラーニングと自然言語処理の飛躍的進歩を受けて、サイバー攻撃の検出機能を向上させるために、これらの技術を探求するサイバーセキュリティコミュニティも自ずと進化しました。

自然言語処理およびディープラーニングを基本とする方法

ディープラーニングは表現学習のサブセットであり、モデルが生データから分類タスクに必要な表現や特徴を自動的に発見します。ディープラーニングモデルは、相互接続されたノードから成る複数の処理レイヤーで構成され、次第に抽象化されていく生データの表現を抽出します。たとえば、生の入力データが画像の場合、ディープラーニングモデルは通常、画像から表現エッジの最初のレイヤーで抽出します。表現の第2レイヤーは、これらのエッジの特定の配置から生じる小さなモチーフを検出します。第3レイヤーでは、これらのモチーフの組み合わせを抽出し、次第に抽象化されていく画像の表現を構築します。関連のある表現を発見するこの機能は不可欠であり、理論上は、ドメインの専門家が関連する機能を作成する必要がなくなります。

ディープラーニングのもう1つの利点は、大規模なデータセットで学習することによってモデルの精度が向上することです。一方、従来のマシンラーニングアルゴリズムは、パフォーマンスがすぐに頭打ちになる傾向があります。ただし、ディープラーニングには限界があります。まず、ディープラーニングモデルは小規模な学習データセットではパフォーマンスが低下するため、この設定においては、従来のマシンラーニングアルゴリズムの方が優れたパフォーマンスを発揮します。学習データにラベル付けが必要な場合、このデータ量への依存はコストがかかる可能性があります。次に、ディープラーニングモデルは解釈が困難です。最後に、ディープラーニングモデルの調整は複雑になることがあり、良い結果を得るには、かなりの専門知識が必要です。

フィッシング検出の観点からは、最初にURL/Webページのペアをディープラーニングモデルで処理できる形式に変換する必要があります。URL/Webページのペアは、本来テキスト要素で構成されているため、自然言語処理技術を使用するのが自然です。先述したBoWモデルは最初の単純なアプローチですが、重大な限界があります。そこで、より洗練されたモデルが提案されました。まず、Word2vecのような「単語の埋め込み」モデルでは、各単語は実数値の特徴量の単一ベクトルで表され、類似する意味を持つ単語は特徴空間内で近接しています。図1は、t-SNEアルゴリズムを使用して2次元空間に投影した後、特徴空間で単語ベクトルがどのように表現され、相互に関連付けられるかを示しています。Capture d’écran 2022-11-28 à 14.11.10

図1. 単語の埋め込み:意味的に関連のある単語は、特徴空間で互いに近接(出典:「ディープラーニング」)

「単語の埋め込み」を基本とする技術の主な利点の1つは、高密度で低次元のベクトルを生成できることです。これにより、特にディープラーニングの観点で、計算が非常に効率的になります。このアプローチの主な限界は、単語が単一のベクトルで表されるため、多義語、つまり文脈によって異なる意味を持つ単語を正しく処理できないことです。「単語の埋め込み」モデルは、特定の単語の文脈が考慮されないため、「コンテキストフリー」として知られています。

多義語の曖昧性解消問題を克服するモデルが開発されました。これらのモデルは「文脈に合った」モデルとして知られており、最先端の言語モデルを構成します。このようなモデルの一例にBERTがあります。このモデルでは、単語に割り当てられた単語ベクトルは文脈に依存しています。Word2vecやBERTなどの言語モデルはゼロから学習できますが、事前に学習されたモデルを使用し、最終的に追加データを用いて特定のタスクでモデルを微調整するのが通例です。学習費用が大幅に削減されるため、事前学習済みのモデルを使用することを強く推奨します。事前学習済みのBERTモデルの例は、英語用の大文字と小文字を区別するBERTベースモデルで、これはGoogleが影響力のある出版物「BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding(言語理解のためのディープ双方向トランスフォーマーの事前学習」で紹介されました。様々な言語とタスクをカバーする多種多様な事前学習済みの言語モデルを利用できます。

ハイブリッドモデル

 両方のアプローチの長所を組み合わせるために、OzcanらAfzalなどによって提案されたようなハイブリッドモデルが導入され、これらにより、非ハイブリッドモデルよりも精度が向上しました。ハイブリッドモデルの背後にある重要なアイデアは、専門家によって手作りされた特徴や自然言語処理技術で抽出された特徴など、さまざまな特徴を使ってこれらの特徴をディープラーニングモデル内で結び付けることです。特定のドメインに関するすべての専門知識が自動的に発見されると仮定するのは誤解です。これは、DNSレコード、WHOIS情報、または地理位置情報を使ってURLから導出できるホストベースの特徴など、さまざまな種類のデータを組み合わせて複雑な特徴が作成され得るサイバーセキュリティなどの高度に技術的なドメインに特に当てはまります。

ハイブリッドモデルを開発したとき、ランダムフォレストの分類器用に既に計算したURL/Webページの特徴を再利用し、URLに自然言語処理技術を適用して別の特徴量セットを計算するという考えがありました。次に、この結合された特徴量セットにディープラーニングを適用することで、新しいパターンを発見し、ハイブリッドモデルがランダムフォレストの分類器よりも優れた精度をもたらすと期待していました。したがって、ランダムフォレストの分類器とハイブリッドモデルをチェイニングすることで、信頼度が十分に高くない場合にハイブリッドモデルを使って前者の決定を裏付けることができ、フィッシング検出テクノロジの全般的な精度を向上させることができます。図2は、ハイブリッドモデルのアーキテクチャを示しています。

 Capture d’écran 2022-11-28 à 14.13.21

図2. ハイブリッドモデルのアーキテクチャ

ハイブリッドモデルは、2つの異なる部分で構成されています。左側では、URL/Webページのペアから抽出され、ランダムフォレストの分類器によって使用される52個の手作業で作られた特徴の異種セットが、一連の異なる処理レイヤーによって16次元のベクトルに変換されています。処理パイプラインにはドロップアウトレイヤーが含まれています。これは、オーバーフィッティングを減らし、モデルの一般化を改善するのに役立つ正則化手法です。このテーマについては、前回の記事で説明しています。ドロップアウトの重要なアイデアは、着信接続と発信接続とともに、ニューラルネットワークからユニットをランダムかつ一時的にドロップすることです。図3は、2つの隠れ層(中間層)ニューラルネットワークでのドロップアウトの例を示しています。

Capture d’écran 2022-11-28 à 14.15.25

図3. 2つの隠れ層ニューラルネットワークでのドロップアウトの使用(出典:「Dropout:A Simple Way to Prevent Neural Networks from Overfitting(ドロップアウト:ニューラルネットワークのオーバーフィッティングを防ぐ簡単な方法)」)

右側では、URLが多数のレイヤーによって処理され、128次元のベクトルが生成されています。まず、自然言語処理の最近の進歩を基に、URLはBERT WordPieceトークナイザーを使って、3万522個のサブワードという限定された語彙サイズから一連のサブワードに変換されます。BERT WordPieceトークナイザーが語彙インデックスのスパースベクトルを生成すると、埋め込みレイヤーとその後に続くドロップアウトレイヤーによって密なベクトルに変換されます。次のレイヤーは畳み込みニューラルネットワーク(CNNまたはConvNet)アーキテクチャの典型であり、一連の畳み込みレイヤープーリングレイヤーを使って、データの抽象的な表現を徐々に構築していきます。図4は、画像認識のための典型的なConvNetアーキテクチャを示しています。入力は画像の3つのRGBカラーチャネルで示され、出力は各クラスに関連付けられた確率で示されています。

Capture d’écran 2022-11-28 à 14.16.57図4画像認識のための典型的なConvNetアーキテクチャ(出典:CS231n Convolutional Neural Networks for Visual Recognition(CS231n視覚認識のための畳み込みニューラル ネットワーク))

畳み込みレイヤーの役割は、データからローカルモチーフを抽出することです。このレイヤーでデータは n次元配列の形式を取ることができます。たとえば、テキストを含む信号とシーケンスは1次元(1D)配列で表すことができますが、画像とビデオには、それぞれ2次元(2D)と3次元(3D)配列が使われます。図4では、画像が2次元であるため、2D畳み込みレイヤーが適用されます。Vadeの場合、テキストを処理するときには、サイズ6の畳み込みウィンドウやカーネルで1次元畳み込みレイヤーを使用します。プーリングレイヤーは畳み込みレイヤーの後に適用され、その目的は表現をダウンサンプリングすることです。

プーリングの利点は2つあります。まず、特徴マップのローカル領域に存在する特徴をまとめます。そうすることで、小さな局所変化に対するモデルの回復力が向上します。次に、パラメーターの数が減るため、必要な計算量が減ります。図5は、 各局所領域の最大値のみが保持される、画像認識のための2次元最大プーリングの例を示しています。繰り返しになりますが、Vadeはテキストを処理する際には、1次元プーリングレイヤーを使用します。

Capture d’écran 2022-11-28 à 14.18.26図5. 2次元最大プーリング(出典:CS231n Convolutional Neural Networks for Visual Recognition(CS231n視覚認識のための畳み込みニューラル ネットワーク))

畳み込みとプーリングを数回繰り返すと、URLの表現は128次元のベクトルに縮小されます。次に、2つのベクトルは144次元のベクトルにマージされて、全結合層に入力され、その後に最終的なシグモイド関数が使われます。最終的な出力値は、考慮されたURLが悪意のあるものである確率を示します。 

影響

VadeのURLスキャナーには、複数の検出技術が組み合わせられています。最初のレイヤーであるスマートパターンは、既知の脅威と既知の脅威の亜種を検出します。2つ目のレイヤーは、その一般化機能のおかげで、多くの未知の脅威を検出できるランダムフォレストモデルを基本としています。3つ目のレイヤーは、先述したハイブリッドモデルであり、ディープラーニングは従来のマシンラーニングアルゴリズムでは検出できない相関関係を見抜けるため、さらに複雑な脅威を検出できます。そして最後の砦は、最も複雑な脅威をブロックし、さまざまなレイヤーを更新して脅威の状況の進化に適応できるSOCアナリストです。

 SOCアナリストの作業負担に対するハイブリッドモデルの影響は絶大です。アナリストは、年間25万件以上の不審なURLを監視しなければなりませんが、ハイブリッドモデルを導入することで不審なURLの量が約30%削減されました。さらに、ハイブリッドモデルは平均15ミリ秒で決定を下しますが、アナリストがURLをブロックする必要があるかどうかを決定するには、より多くの時間がかかります。サイバーセキュリティではタイミングが重要ですが、ハイブリッドモデルは最も高度な攻撃の一部をほぼ即座にブロックするのに役立ちます。次回の最後の記事では、引き続きディープラーニングモデルについてご説明します。特に、画像内のロゴを検出するという特定のタスクのためにVGG-16ResNetモデルをどのように特殊化したかについてご説明します。