ハイライト
- Transformer モデルを使用してサイバー セキュリティの問題を解決するケース スタディを実施する
- 複数のトレーニング体制の下で悪意のある URL を検出するように Transformer モデルをトレーニングする
- 私たちのモデルを他のディープ ラーニング手法と比較し、他のトップ スコア モデルと同等のパフォーマンスを発揮することを示します
- 自然言語処理 (NLP) タスクでの Transformer トレーニングの基礎である、悪意のある URL の検出に生成的な事前トレーニングを適用する際の問題を特定します。
- 分類と生成損失のバランスをとる新しい損失関数を導入して、悪意のある URL 検出タスクのパフォーマンスを向上させます。
序章
過去 3 年間、Transformer 機械学習 (ML) モデル、略して「Transformers」は、さまざまなシーケンス モデリングの問題、特に自然言語処理 (NLP) において目覚ましい進歩を遂げてきました。たとえば、 OpenAI の最新のGPT-3 モデルは、文法的に正しい散文の長いセグメントをゼロから生成することができます。質問と応答のために開発されたモデルなどのスピンオフ モデルは、複数の文にわたってコンテキストを関連付けることができます。シングルおよびマルチプレイヤーのテキスト アドベンチャー ゲームであるAI Dungeonは、トランスフォーマーを使用して、さまざまなファンタジー設定でもっともらしい無制限のコンテンツを生成します。 Transformers の NLP モデリング機能は明らかに非常に強力であるため、 偽情報を広める潜在的な力という点で、それ自体がセキュリティ リスクをもたらしますが、コインの反対側では、偽情報を検出して軽減するための強力なツールとして使用できます。キャンペーン。たとえば、FireEye データ サイエンス チームによる以前の調査では、ソーシャル メディア サイトの偽情報を検出するように NLP Transformer が微調整されました。
これらの Transformer モデルの威力を考えると、自然言語自体が必ずしも関係しない他の種類のサイバー セキュリティの問題にモデルを適用できるかどうか疑問に思うのは当然のことです。このブログ投稿では、トランスフォーマーを悪意のある URL の検出に適用するケース スタディについて説明します。 URL 検出の問題に関する Transformer のパフォーマンスを調査することは、Transformer をより一般的なサイバー セキュリティ タスクに拡張するための最初の論理的なステップです。URL は技術的には自然言語シーケンスではありませんが、NLP といくつかの共通の特性を共有しているためです。
次のセクションでは、典型的な Transformer アーキテクチャの概要を説明し、文字に焦点を当てたトークン化を使用して URL に適応させる方法について説明します。次に、モデルのトレーニングをガイドするために使用する損失関数について説明し、最後に、トレーニング アプローチを従来の ML ベースのモデリング オプションと比較します。
URL へのトランスフォーマーの適応
URL Transformer は文字レベルで動作し、URL の各文字は入力トークンに対応します。 URL が Transformer に入力されると、特別なトークンが追加されます。これは、予測を生成するようにモデルを調整する分類トークン (「CLS」) と、入力を固定長に正規化して、パラレルトレーニング用。次に、入力文字列の各トークンが文字埋め込みスペースに射影され、その後に一連のアテンションレイヤーとフィードフォワード ニューラル ネットワーク (FFNN)レイヤーが続きます。このレイヤーのスタックは、元の Transformers ペーパーで紹介されたアーキテクチャに似ています。大まかに言えば、アテンション層は、人間の注意の概念と同様に、分類タスクにとって重要な他の文字の遠距離コンテキストに各入力を関連付けることができます。一方、FFNN 層は、間の関係を学習する能力を提供します。入力とそれぞれのコンテキストの組み合わせ。アーキテクチャの図を図 1 に示します。
さらに、URL トランスフォーマーは、左から右 (LR) への依存を強制する Attention 計算でマスキング戦略を採用しています。これは、特定の文字の左からの入力文字のみが、注意スタックの各レイヤーでのその文字の表現に影響を与えることを意味します。ネットワークは、入力文字ごとに 1 つの埋め込みを出力します。これは、入力のその時点までに文字シーケンスについてモデルによって学習されたすべての情報をキャプチャします。
モデルがトレーニングされると、URL Transformer を使用していくつかの異なるタスクを実行できます。たとえば、シーケンス埋め込み () を別のニューラル ネットワークへの入力として使用して、入力シーケンス内の次の文字を生成的に予測し、可能な限りのソフトマックス出力を使用できます。文字の語彙。この具体例を図 1 に示します。ここでは、入力「firee」() の埋め込みを取得し、それを使用して次に可能性の高い文字「y」を予測します。同様に、分類トークンの後に生成された埋め込みを使用して、悪意の可能性など、入力シーケンスの他のプロパティを予測できます。

損失関数とトレーニング レジーム
モデル アーキテクチャを手に入れたので、悪意のある URL を最も効果的に検出するためにモデルをどのようにトレーニングするかという問題に移りましょう。もちろん、他の教師あり深層学習分類器と同様の方法でこのモデルをトレーニングできます。(1) ラベル付けされたトレーニング セットからのサンプルで予測を行い、(2)損失関数を使用して予測の品質を測定し、( 3)バックプロパゲーションを介してモデル パラメーター (つまり、重み) を調整します。ただし、Transformer モデルの性質により、このトレーニング方式にはいくつかの興味深いバリエーションが可能です。実際、トランスフォーマーが NLP タスクで非常に人気になった理由の 1 つは、モデルが入力言語の一般的な特性を学習する前にモデルが学習するのを助けるために、大量のラベルなしデータを利用する、自己監視型生成事前トレーニングを可能にするためです。目の前の最終的なタスクを微調整する (例: 質問への回答、感情分析など)。ここでは、URL Transformer モデルのために調査したトレーニング体制の一部を概説します。
直接ラベル予測 (Decode-To-Label)
悪意のあるラベルと良性のラベルが付いた URL のトレーニング セットを使用すると、URL Transformer アーキテクチャを特徴抽出器として扱うことができ、その出力を従来の分類器 (FFNN やランダム フォレストなど) への入力として使用できます。 FFNN を分類器として使用する場合、分類器と Transformer ネットワークの両方を介して分類損失 (バイナリ クロス エントロピーなど) を逆伝播し、重みを調整して分類を実行できます。このトレーニング体制は、私たちの実験のベースラインであり、ほとんどのディープ ラーニング モデルが分類タスクのためにトレーニングされる方法です。
次の文字予測の事前トレーニングと微調整
NLP の文献では、ベースラインの分類トレーニング体制を超えて、次の文字予測タスクを実行するように Transformer をトレーニングし、学習した表現を分類問題のために微調整することで、入力シーケンスの自己教師付き埋め込みを学習できることが示唆されています。このアプローチの主な利点は、事前トレーニングに使用されるデータに悪意のあるラベルまたは無害なラベルが必要ないことです。代わりに、URL の次の文字は、シーケンス内の前の文字から予測されるラベルとして機能します。これは、埋め込み出力を使用して「fireeye.com」の次の文字「y」を予測する図 1 の例と似ています。全体として、このトレーニング体制により、サイバーセキュリティ関連の問題で通常利用可能な大量のラベル付けされていないデータを利用することができます.
この体制のアーキテクチャの全体的な構造は、前述のバイナリ分類タスクに似ており、分類のために FFNN レイヤーが追加されています。ただし、現在、複数のクラス (つまり、語彙の入力文字ごとに 1 つのクラス) を予測しているため、出力にソフトマックス関数を適用して、潜在的な出力文字の確率分布を誘導する必要があります。ネットワークの Transformer 部分がこのように事前トレーニングされると、文字予測に焦点を当てた FFNN 分類レイヤーを、decode-to-label の場合のように、悪意のある URL 分類問題のためにトレーニングされる新しいレイヤーと交換できます。
バランスの取れた混合目標トレーニング
以前の研究では、主要なタスク以外の追加の知識をトレーニング プロセスに吹き込むことで、学習プロセスを制約し、最終的にはより優れたモデルが得られることが示されています。たとえば、マルウェア分類器は、悪意のある/無害なラベルを分離して見るよりも、問題をより広く理解して分類器に提供するメカニズムとして、悪意のある/無害な分類、マルウェア ファミリの予測、およびタグ予測タスクをキャプチャする損失関数を使用してトレーニングする場合があります。
これらの調査結果に触発されて、URL Transformer に混合目的のトレーニング体制も導入しました。これにより、バイナリ分類と次の文字の予測を同時にトレーニングします。トレーニングの反復ごとに、逆伝播の前に各損失寄与が固定されるように損失乗数を計算します。これにより、トレーニング中にどちらの損失項も支配しないことが保証されます。具体的には、ミニバッチiについて、純損失L Mixedを次のように計算します。

a + b : = 1 のように定義されたハイパーパラメーターaおよびbが与えられた場合、定数aを計算して、 L CLSのL Mixedに対する正味の損失寄与がaになり、 L NextのL Mixedに対する正味の寄与がbになるようにします。私たちの評価では、 a := b := 0.5 を設定しました。これは、次の文字を生成する能力と悪意のある URL を正確に予測する能力のバランスをモデルが等しく取ることを効果的に要求するものです。
評価
URL Transformer モデルを評価し、前述の 3 つのトレーニング方式の影響をよりよく理解するために、100 万を超えるラベル付けされた悪意のある URL と無害な URL のトレーニング データセットを収集しました。これは、約 70 万のトレーニング サンプル、10 万の検証サンプル、および 20 万のテスト サンプルに分割されました。 .さらに、2,000 万の URL のラベル付けされていない事前トレーニング データセットも開発しました。
このデータを使用して、Transformer モデルに対して 4 つの異なるトレーニングを実行しました。
- DecodeToLabel (ベースライン):シーケンス全体にわたって埋め込まれた分類機能のバイナリ クロス エントロピー損失を厳密に使用して、トレーニング セットを使用して 15 エポックのモデルをトレーニングしました。
- MixedObjective:埋め込み分類機能と埋め込み次文字予測機能の両方を使用して、トレーニング セットで 15 エポックのモデルをトレーニングしました。
- FineTune:悪意のある/無害なラベルを無視して、トレーニング セットを使用して、次の文字予測タスクで 15 エポックのモデルを事前トレーニングしました。次に、モデルの最初の 16 層の重みを固定し、分類ラベルのバイナリ クロス エントロピー損失を使用して、追加の 15 エポックについてモデルをトレーニングしました。
- FineTune 20M: 20M URL データセットを使用して次の文字予測タスクの事前トレーニングを実行し、2 エポックの事前トレーニングを行いました。次に、Transformer の最初の 16 層で重みを固定し、バイナリ分類タスクで 15 エポックのトレーニングを行いました。
図 2 に示す ROC 曲線は、これら 4 つのトレーニング体制のパフォーマンスを比較しています。ここで、ベースラインの DecodeToLabel モデル (赤) は 0.9484 AUC の ROC 曲線を生成しましたが、MixedObjective モデル (緑) は 0.956 の AUC でベースラインをわずかに上回りました。興味深いことに、両方の微調整モデルで得られた分類結果は貧弱であり、これは NLP ドメインでのこれらの Transformer モデルの確立された慣行に反するものです。

このデータセットに対する Transformer モデルの相対的な有効性を評価するために、URL 分類用に開発された他のいくつかのタイプのベンチマーク モデルにも適合させます。(1) SME 由来の特徴に関するランダム フォレスト モデル、(2) 1D 畳み込みニューラル ネットワーク (CNN) ) 文字埋め込みに関するモデル、および (3) 文字埋め込みに関する長短期記憶 (LSTM) ニューラル ネットワーク。これらのモデルの詳細はホワイト ペーパーに記載されていますが、最高のパフォーマンスを発揮する Transformer モデルは、最高のパフォーマンスを発揮する非 Transformer ベースライン (1D CNN モデル) と同等のパフォーマンスを発揮することがわかりました。 Transformer モデルによって学習された情報は、悪意のある URL 検出の場合にはあまり役に立ちません。

概要
私たちの実験では、トランスフォーマーは URL 分類の他のトップ パフォーマンス モデルと同等またはそれ以上のパフォーマンスを達成できることが示唆されていますが、そのパフォーマンスを達成する方法の詳細は一般的な方法とは異なります。自己教師ありの事前トレーニングが微調整された分類タスクのパフォーマンスを大幅に向上させるという NLP ドメインの調査結果とは対照的に、同様の事前トレーニング アプローチは実際には悪意のある URL 検出のパフォーマンスを低下させます。これは、次の文字予測タスクが、有効な/安定した転送のための悪意のある/無害な予測のタスクとの明らかな相関関係が少なすぎることを示唆しています。
興味深いことに、悪意のある/無害な損失と組み合わせて、次の文字予測を補助損失関数として利用すると、ラベルを予測するためだけのトレーニングよりも改善されます。データセット内の URL のコンテンツがランダム化されているため、事前トレーニングが比較的貧弱な生成モデルにつながる一方で、悪意のある/無害な損失が、次の文字予測タスクによって学習された生成モデルをより適切に調整し、サブセットを抽出するのに役立つ可能性があるという仮説を立てています。関連情報の。 1D CNN モデルのパフォーマンスによって証明されるように、生成的な事前トレーニング タスクの鍵となる遠距離関係は、最終的な悪意のある URL の分類にとってそれほど重要ではない場合もあります。
この研究は主に損失関数とトレーニング体制に関係していたため、Transformer の厳密なハイパーパラメーター検索を実行しなかったことに注意してください。したがって、この分類タスク用に特別に設計されたより最適なアーキテクチャが、ここで説明したモデルよりも大幅に優れているかどうかについては、まだ未解決の問題です。
私たちの URL データセットはサイバー セキュリティ スペースのすべてのデータを代表しているわけではありませんが、自己教師ありの事前トレーニングから容易に微調整されたモデルを取得することの難しさは、このアプローチが、より長いシーケンスまたはシーケンスでの Transformers のトレーニングにはうまく機能しない可能性が高いことを示唆しています。自然言語 (例: PE ファイル) との類似性は低くなりますが、補助損失が機能する可能性があります。
この研究とその他の結果の詳細については、関連するホワイト ペーパーを参照してください。



Comments