ブログ(脅威調査)

サイバーセキュリティ・タスクのためのTransformerトレーニング - 悪意のあるURL予測に関する事例研究

ハイライト

  • 「Transformer」モデルを用いてサイバーセキュリティ問題を解決するケース・スタディを実施
  • Transformerモデルをトレーニングして、複数のトレーニング体制下で悪意のあるURLを検知
  • このモデルを他のディープ・ラーニング手法と比較し、他のトップ・スコアリング・モデルと同等の性能を証明
  • 自然言語処理(NLP)作業におけるTransformerトレーニングの基礎である、悪意のあるURL検知への生成的事前トレーニングの適用に関する問題の特定
  • 悪意のあるURL検知作業の性能向上を達成するために、分類と生成的損失のバランスを取る新しい損失機能を導入

はじめに

過去3年間、Transformer機械学習(ML)モデル、すなわち「Transformers」は、さまざまなシーケンス・モデリング問題、特に自然言語処理(NLP)において驚異的なブレークスルーをもたらしました。たとえば、OpenAIの最新GPT-3モデルは、文法的に正しい手順の長いセグメントをゼロから生成できます。質問と回答のために開発されたSpinoffモデルは、複数の文章にわたってコンテキストを相関させることができます。AI Dungeonは、単一のマルチプレイヤー・テキスト・アドベンチャー・ゲームで、Transformerを使用し、さまざまなファンタジー設定の中で、果てしなく無尽蔵なコンテンツを生成します。TransformerのNLPモデリング機能が、自力でセキュリティ・リスクを止められるほど強力なのは明らかですが、逆転の発想をすれば、偽情報を拡散する可能性があるという点で、情報キャンペーンを検知して軽減する強力なツールとして使用することができます。例えば、FireEye Data Scienceチームによる以前の調査では、ソーシャル・メディア・サイト上の偽情報を検知するためにNLP Transformerが微調整されていました。

これらのTransformerモデルの能力を考えると、自然言語を必ずしも含まない他のタイプのサイバーセキュリティ問題自体に適用できるかどうか、不思議に思えるでしょう。このブログの記事では、Transformerを悪意のあるURL検知に適用するケース・スタディについて説明します。URLは技術的には自然言語列ではなく、NLPと共通の特徴を共有するので、URL検知問題に関するTransformer性能の研究は、Transformerをより一般的なサイバーセキュリティ・タスクに拡張するための最初の論理的手順です。

以降のセクションでは、典型的なTransformerアーキテクチャの概要を説明し、文字指向トークン化を使用してURLに適合させる方法について説明します。次に、モデルのトレーニングをガイドするために使用する損失関数について説明し、最後にトレーニング・アプローチを従来のMLベースのモデリング・オプションと比較します。

URLへのTransformerの適応

URL Transformerは文字レベルで動作し、URLの各文字は入力トークンに対応します。URLがTransformerに入力されると、特殊なトークン(モデルを条件として予測およびパディング・トークン("PAD")を生成し、入力を固定長に正規化して並列トレーニングを可能にする分類トークン("CLS")が付加されます。次に、入力文字列内の各トークンを文字埋め込みスペースに投影し、その後にAttentionFeed-Forward Neural Network(FFNN)層のスタックを投影します。この層のスタックは、オリジナルのTransformerの論文で紹介されているアーキテクチャに似ています。高レベルでは、Attention層は、人間におけるアテンションの概念と同様に、分類タスクにとって重要な他の文字の長距離コンテキストに各入力を関連づけることを可能にします。一方FFNN層は、入力とそれぞれのコンテキストの組み合わせの関係を学習するための容量を提供します。本アーキテクチャの図を図1に示します。

さらに、URL Transformerでは、左から右(L-R)の依存関係を強制するAttention算出にマスキング戦略が採用されています。つまり、Attentionスタックの各レイヤーでの文字の表現に影響するのは、特定の文字の左からの入力文字のみということです。ネットワークは、入力文字ごとに1つの埋め込みを出力します。これは、入力内のその時点までの文字シーケンスについてのモデルによって学習されたすべての情報をキャプチャします。

モデルがトレーニングされると、URL Transformerを使用して、可能な文字の語彙にわたってソフトマックス出力を持つ別のニューラル・ネットワークへの入力として列embedding()を使用することによって、入力列内の次の文字を生成的に予測するなど、いくつかの異なるタスクを実行できます。この具体的な例を図1に示します。ここでは、入力"firee"()の埋め込みを取得し、それを使用して次の最も可能性の高い文字"y"を予測します。同様に、分類トークンの後に生成された埋め込みを使用して、入力シーケンスの他のプロパティ(悪意の可能性など)を予測できます。


図1:URL Transformerアーキテクチャの概要

損失機能とトレーニング体制

モデル・アーキテクチャを元に、悪意のあるURLを最も効果的に検知するためにモデルをトレーニングする方法の問題を示します。もちろん、このモデルは、(1)ラベル付きトレーニング・セットからのサンプルの予測、(2)予測の品質を測定するための損失関数の使用、(3)バックプロパゲーションを介したモデル・パラメータ(つまり重み)のチューニングによって、他の監視されたディープ・ラーニング分類器と同様の方法でトレーニングすることができます。ただし、Transformerモデルの性質により、このトレーニング方式にいくつかの興味深いばらつきがうまれます。実際、TransformerがNLPタスクに対して非常に人気がある理由の1つは、それらが自己監視生成プレ・トレーニングを可能にするためであり、それは、モデルが手元の最終的なタスク(例えば、質疑応答、感情分析など)上で微調整される前に、入力言語の一般的な特性を学習するのを助けるために、大量のラベルなしデータを利用します。ここで、URL Transformerモデルのために探索したトレーニング方式のいくつかを概説します。

ダイレクト・ラベル予測(Decode-To-Label)

悪意があるが良性のラベルをもつURLのトレーニング・セットを用いて、URL Transformerアーキテクチャを特徴抽出器として扱うことができ、その出力は伝統的分類器(例:FFNNあるいはランダム・フォレスト)への入力として使用しました。FFNNをこの分類器として使用する場合、分類を行うために分類器とTransformerネットワークの両方を通して分類損失(例:バイナリ・クロスエントロピー) をバックプロパゲートし、重みを調整することができます。このトレーニング方式は、実験のベースラインであり、分類タスクのためにほとんどのディープ・ラーニング・モデルをトレーニングする方法です。

次キャラクター予測トレーニングと微調整

NLP文献は、ベースライン分類訓練方式を超えて、次キャラクター予測タスクを実行するためにTransformerをトレーニングし、分類問題のための学習表現を微調整することにより、入力シーケンスの自己監視埋め込みが学習できることを示唆します。このアプローチの主な利点は、事前トレーニングに使用されるデータが悪意のあるラベルや無害なラベルを必要としないことです。代わりに、URL内の次の文字が、シーケンス内の前の文字から予測されるラベルとして機能します。これは、「FireEye.com」の次の文字「y」を予測するために埋め込み出力が使用される図1の例に似ています。全体的に、このトレーニング方式は、サイバーセキュリティ関連の問題で一般的に利用可能な大量のラベルなしデータを利用することを可能にします。

この方式のアーキテクチャの全体的な構造は、前述のバイナリ分類タスクと同様であり、分類のためにFFNN階層が追加されています。しかしながら、複数のクラス(すなわち、語彙における入力文字ごとに1つのクラス)を予測しているので、潜在的な出力文字にわたって確率分布を引き起こすために、出力にsoftmax関数を適用しなければなりません。ネットワークのTransformer部分がこのように事前トレーニングされると、デコードからラベルへの場合のように、文字予測に焦点を当てたFFNN分類階層を、悪意のあるURLの分類問題のためにトレーニングされる新しい階層と交換することができます。

バランスのとれたミックス・オブジェクティブ・トレーニング

以前の研究では、一次タスク以外の追加知識でトレーニング・プロセスを埋め込むことは、学習プロセスを制約するのに役立ち、最終的にはより良いモデルをもたらすことを示しました。例えば、マルウェア分類器は、悪性/良性分類、マルウェアファミリー予測、およびタグ予測タスクを、分類器に、悪性/良性ラベルを分けて広い理解を与えるメカニズムとして捕捉する損失関数を使用してトレーニングすることができます。

これらの発見により、二分類と次の文字予測のために同時に訓練するURL変換器のための混合目標トレーニング方式を導入しました。トレーニングの各反復で、各損失寄与がバックプロパゲーションの前に固定されるように損失乗数を計算しました。これにより、トレーニング中にどちらの損失項も支配的にならないようにします。具体的には、ミニバッチiに対して、正味損失LMixedを次のように計算します。

a+b: =1と定義されたハイパーパラメータaとbを所与とし、LCLSLMixedへの正味の損失寄与度がa、LNextLMixedへの正味の寄与度がbとなるように定数aを算出します。この評価では、a: =b: =0.5を設定し、モデルが次の文字を生成し、悪意のあるURLを正確に予測する能力を均等にバランスさせることを効果的に要求します。

評価

このURL Transformerモデルを評価し、先に説明した3つのトレーニング・レジームの影響をより良く理解するために、1M以上のラベル付き悪性および良性のURLトレーニング・データセットを収集しました。それは、およそ700Kのトレーニング・サンプル、100Kの検証サンプル、および200kのテスト・サンプルに分割されました。さらに、20M URLのラベルなしの事前トレーニング用データセットも開発しました。

このデータを使用して、Transformerモデルに対して4つの異なるトレーニング・ランを実行しました:

  1. DecodeToLabel(Baseline): シーケンス全体にわたる埋め込み分類特性上の厳密なバイナリ・クロスエントロピー損失を利用し、トレーニング・セットを使用した15エポックのモデルをトレーニングしました。
  2. MixedObjective: 埋め込みの分類機能と次キャラクター予測機能の両方を使用して、トレーニング・セットの15エポックのモデルをトレーニングしました。
  3. FineTune: トレーニング・セットを使用して次キャラクター予測タスクの15エポックのモデルを事前トレーニングし、悪性/良性のラベルを無視しました。それからこのモデルの最初の16層にわたるウェイトを凍結し、分類ラベル上のバイナリ・クロスエントロピー損失を用いて追加の15エポックについてモデルをトレーニングしました。
  4. FineTune20M: 2エポックのためのプレトレーニングである20M URLデータセットを使用して、次キャラクター予測タスクのプレトレーニングを行いました。次に、Transformerの最初の16層にわたるウェイトを凍結し、バイナリ分類タスク上で15エポックのトレーニングをしました。

図2に示すROC曲線では、これらの4つのトレーニング方式のパフォーマンスを比較します。ここで、ベースラインDecodeToLabelモデル(赤色)は0.9484AUCのROC曲線を示していますが、MixedObjectiveモデル(緑色)は0.956AUCでベースラインをわずかに上回りました。興味深いことに、両方の微調整モデルは、NLPドメインにおけるこれらのTransformerモデルの確立されたプラクティスに反して、劣った分類結果となりました。


図2:4つのURL Transformerトレーニング・スキームのROC曲線

このデータセット上のTransformerモデルの相対的有効性を評価するために、URL分類のために開発された次に示すタイプのベンチマーク・モデルを当てはめます。

(1) SME派生特徴上のRandom Forestモデル
(2) 文字埋め込み上の1D Convolutional Neural Network (CNN)モデル
(3) 文字埋め込み上のLong Short-Term Memory (LSTM)ニューラル・ネットワーク

これらのモデルの詳細は、こちらのホワイトペーパーで見ることができますが、トップ・パフォーミングのTransformerモデルがベスト・パフォーミングの非Transformerベースライン(1D CNNモデル)と同等に機能することを発見しました。これは、Transformerモデルによって典型的に学習された長距離依存性が、悪意のあるURL検知の事例においてそれほど役に立たないことを示していると考えられます。


図3:URL Transformerを他のベンチマークURL分類モデルと比較したROC曲線

要約

この実験は、Trasformerが、その性能を達成する方法の詳細が一般的なプラクティスとは異なるものの、URL分類のための他のトップ・パフォーミング・モデルと同等以上の性能を達成できることを示唆しました。自己監視事前トレーニングが微調整分類タスクにおける性能を実質的に強化するNLPドメインからの発見とは対照的に、類似事前トレーニング・アプローチは、悪意のあるURL検知のための性能を実際に低下させます。これは、次キャラクター予測タスクが、効果的または安定した転送のために、悪性/良性予測のタスクとあまり明らかな相関を持たないことを示唆しています。

興味深いことに、補助損失関数として次キャラクター予測を悪性/良性損失と併せて利用すれば、ラベルを予測するためだけのトレーニングよりも改善されます。事前トレーニングは、データセット内のURL内のランダム化されたコンテンツのために比較的低い生成モデルを導く一方で、悪性/良性損失は、次キャラクター予測タスクによって学習された生成モデルをより良い状態にし、関連情報のサブセットを抽出するのに役立つであろうと仮定しました。また、生成的事前トレーニング・タスクの鍵となる長距離関係が、1D CNNモデルの性能によって証明されるように、最終的な悪意のあるURL分類にとってそれほど重要ではない場合もあります。

この調査は、主に損失関数とトレーニング方式に関係するもので、Transformerのための厳密なハイパーパラメータ探索を実行しなかったことに注意してください。したがって、特にこの分類タスクのために設計された、より最適なアーキテクチャが、ここに記述されたモデルを実質的に上回る可能性があるかどうかについては、依然として未解決の問題です。

URLデータセットは、サイバーセキュリティ空間におけるすべてのデータを代表するものではありませんが、自己監視事前トレーニングから容易に微調整されたモデルを得ることの困難性は、このアプローチがより長いシーケンス、または自然言語(例えば、PEファイル) と類似性の低いシーケンス上でTransformerをトレーニングする際ににうまく動作する可能性は低いですが、補助損失が動作する可能性があることを示唆しています。

この調査および追加の結果に関する詳細は、こちらのホワイトペーパーをご覧ください。

 

本ブログは機械翻訳(MT)を使用して翻訳しています。原文と翻訳版の意味、文言が異なる場合は原文を有効とします。

原文:January 21, 2020 「Training Transformers for Cyber Security Tasks: A Case Study on Malicious URL Prediction