AIで高性能スパムフィルターを開発、言語モデルGPT-2がスパムを生成しアルゴリズムを教育

セキュリティの国際会議RSA Conference 2021(#RSAC)が2021年5月、バーチャルで開催された。今年は、AIを活用したセキュリティ技術に注目が集まり、多くのソリューションが登場した。一方、AIを実装したセキュリティ製品の効果は限定的で、市場の期待に沿うソリューションは少ないことも指摘された。米国でランサムウェアによる被害が拡大する中、AIがサイバー攻撃を防御できるのか、その実力が問われている。

出典: RSA

言語モデルとスパムフィルター

AI言語モデルの開発でブレークスルーが起こっている。OpenAIは大規模な言語モデル「GPT-3」を開発し、AIが言葉を理解し自然な文章を生成できるようになった。情報セキュリティ企業は言語モデルに着目し、AIでサイバー攻撃を防御する手法を開発している。セキュリティ市場のトップベンダーであるSophosはAI研究機関「Sophos AI」を設立し、機械学習や大規模AIの研究を進めている。Sophosは言語モデルで高精度なスパムフィルターを生成する技法を発表した。

Sophosの研究概要

この研究は、AIでスパムを生成し、これを使ってスパムフィルターのアルゴリズムを教育するというもの。スパムフィルターの開発では高品質な教育データの整備が必要であるが、人間に代わり言語モデルがスパムを生成する。AIが生成したスパムでAIアルゴリズムを教育すると、高精度でスパムを検知でき、開発プロセスが大幅に効率化される。この研究ではOpenAIが開発した中規模の言語モデル「GPT-2」が使われた。

スパムとは

スパムとは受信者の意向を無視して送られるメッセージで、大量に配信され、宣伝広告を目的とする。また、フィッシングやマルウェアを拡散する目的でも使われ、迷惑メールだけでなく、サイバー攻撃の媒体としても使われる。これらのスパムを収集して教育データとして使うが、SophosはこれをGPT-2で生成する技術を開発した。(下のテーブル: GPT-2で生成したスパム。)

出典: Younghoo Lee  

スパム検知技術

スパムフィルター開発の歴史は長く様々な技法が登場している。フィルターが誕生した当初は、特定用語や発信者のアドレスなどをキーにメッセージを選別した(Signature方式)。今では機械学習が主流となり、言葉の重みを統計的に査定する方式(term frequency–inverse document frequency)や異なる手法を併用するモデル(Random Forest Modelなど)が使われている。

ニューラルネットワーク

更に、ニューラルネットワークを使い、スパムフィルターの精度を上げる研究が進んでいる。ニューラルネットワークとして「LSTM(Long Short-Term Memory)」や「CNN(Convolutional Neural Network)」や「Transformer」が使われ、単語の関係を把握してスパムを判定する。特に注目されているのがTransformerで、単語の意味からその関係を把握する(Attentionベースと呼ばれる)。

Transformerベースの言語モデル

TransformerはGoogleが開発した技術でこれが言語モデルのブレークスルーとなった。GoogleはTransformerを実装した言語モデル「BERT」を開発し高度な言語機能を実証した。また、OpenAIはTransformerを実装した「GPT」を開発し、最新モデル「GPT-3」は人間レベルの言語能力を示した。Sophosはこの中で中規模モデル「GPT-2」を使ってスパムフィルターを開発した。

教育データの生成

スパムフィルター開発ではアルゴリズムを教育するためのデータの生成で時間を要し、システム開発で一番時間を要するステップとなる。スパムのデータ数が限られるため、通常は人間がサンプルを改造して件数を増やす(Data Augmentationと呼ばれる)。具体的には、スパムの文字を同意語で置き換え、また、文字をランダムに挿入・削除するなどの操作をする。このマニュアル作業に代わり、言語モデルGPT-2が高品質なスパムのサンプルを生成する。

GPT-2の制御技術

一方、GPT-2は文章を生成するAIであるが、生成された文章はランダムで、必ずしもスパムとして使えるわけではない。このため、言語モデルが生成する内容やスタイルを制御する技術が必要となる。Sophosは「PPLM (Plug and Play Language Model)」と呼ばれる技法を使い、目的に沿ったスパムを生成している。(下のグラフィックス、言語モデルのパラメータを変更し目的に沿った内容の文章を生成。下記はポジティブなトーンの文章を生成する事例。)

出典: Uber Research

PPLMとは

PPLMとはUberの研究所Uber Researchにより開発された技法で、GPT-2など言語モデルに制御機構(Attribute Models)を付加し、目的に沿った文章を生成する。制御機構でセンティメントを指定するとそれに沿った文章が生成される。(下のテーブル、Positive及びNegativeと示された文章で、ポジティブ・ネガティブなトーンとなる)。また、トピックスを指定するとこのテーマで文章が生成される。(下のテーブル、Science及びPoliticsと示された文章で、科学及び政治のテーマに沿った文章が生成される)。因みに、PPLMで何も指定しないとニュートラルな文章が生成される(下のテーブル、[-]と示された部分)。

出典: Uber Research

生成されたスパムとハム

SophosはGPT-2をPPMLで制御してスパム生成した(先頭から二番目のグラフィックス)。このケースではGPT-2は「Santa calling! Would your little」という文字に続くスパムを生成した。また、GPT-2はスパムだけでなく通常のメッセージ(Hamと呼ばれる)を生成することもできる(下のグラフィックス)。このケースではGPT-2に「A lot of this sickness」に続くハムを生成するよう指示した。

出典: Younghoo Lee

スパム検知アルゴリズムの教育

前述の通り、GPT-2はスパム検知フィルターとして機能する。同じアルゴリズムがスパムを生成すると同時にスパムを検知する。GPT-2にテキストを入力し、スパムかどうか尋ねると、その判定結果を回答する。生成したスパムでGPT-2のアルゴリズムを教育すると、人間が手作業で収集・編集したスパムで教育するより高い判定精度を示した。GPT-2で教育データの生成を自動化でき、また、検知精度も向上することが分かった。

AI対AIの戦い

今ではボットがスパムメッセージを生成し偽情報を拡散し消費者を攻撃する。これらのメッセージをGPT-2が解析し、スパムを見つけ出し、それをフィルタリングする。スパムフィルタリングはAIとAIの対決で、如何に高度なアルゴリズムを使うかで勝敗が決まる。このため、GPT-2を最新のスパムで教育しアルゴリズムをアップデートする必要がある。また、次のステップとしては、より高度な言語モデルを使いスパムフィルターの精度を上げることが重要となる。