生成AIがサイバーセキュリティに及ぼす影響

生成AIについては、著作権や人権にかかわる問題の他、サイバーセキュリティにも影響を及ぼしている。身近な例では、生成AIによるフェイク動画やマルウェア生成がニュースにもなっている。

フェイク動画は、SNS等におけるPV、インプレッション狙い(インプレゾンビ問題)のものから、政府が関与していると思われる世論操作(2022年ゼレンスキー大統領の偽動画)まで広がっている。マルウェア生成については、以前から可能性が指摘されていたが、日本では2024年5月に、専門知識のない人間が生成AIによってランサムウェアを作成したと逮捕される事案が発生している。

セキュリティ業界では、もはやAIは攻撃者側にメリットのある存在なのだろうか。

防御側のAI活用の歴史は長い

セキュリティの歴史を振り返ると、AIや人工知能との接点は少なくとも1990年代までさかのぼることができる。AIとセキュリティの定義によっては1990年代、あるいはもっと前といえるだろう。たとえば、ネットワークでは、経路判定やループの検知プロトコルにエキスパートシステムなどを応用したものがある。直接のセキュリティ対策ではないが、障害予防・検知という側面では広義のセキュリティ分野への人工知能技術の応用である。

サイバーセキュリティの世界でいえば、アンチウイルスソフトの判定にシグネチャのマッチングでなく、発見的アルゴリズムを適用したのが1992年創業のESET(スロバキア)である。製品の元になるアンチウイルスソフト(NOD)は1980年代後半に創業者によって開発されている。

その後、2010年代半ばには、ディープラーニングによる機械学習(ML)技術の発達によって、AIによるマルウェア判定を行うアンチウイルスソフトやエンドポイントセキュリティ製品が増えていった。

スパム判定も、特定ワードや送信元などのブラックリスト方式からベイジアンフィルタ(確率論を利用した判定。これもAI技術のひとつ)の採用が広がり、現在はディープラーニング等によるスパム判定、フィッシング判定は一般的になっている。

他にも、ログ解析、SOC(セキュリティオペレーションセンター)のトリアージ(優先順位付け)、指紋・顔写真による認証にもさまざまなAI技術が使われている。ログやトラフィックの解析にAIを応用すると、特定パターンや閾値のみの機械的な検知から前後の操作や長期的なコンテキストを考慮した異常検知が可能になる。顔認証、音声認識はAIの発達によってスマートフォンにも搭載可能になり、デバイス側での認証精度を向上させている。アンチウイルスのシグネチャマッチングやブラックリスト・ホワイトリスト判定が廃れたわけではなく、これらとAIを併用することで、高度なセキュリティ機能を実現している。

このように、AI技術はサイバー攻撃側だけが活用しているわけではない。

攻撃側のAI利用はシグネチャ偽装から本格化

攻撃側のAI活用にはどんなものがあるのだろうか。Black HatやCODE BLUEのようなセキュリティカンファレンスでは、研究者による攻撃者視点からの、AI利用の論文やレポートが数多く出されている。半面、攻撃者側は、どのような用途でAIを使っているか、どんな技術を開発したのか、彼らが手の内を明かすはずはないので、これら研究者の調査や実際の被害事例から分析するしかない。

2010年代には、AIによるマルウェア亜種の開発事例が報告されている。マルウェアそのものを開発するのではなく、シグネチャ検知対策のため、同じ機能を持つが別のシグネチャになるコードを短時間に自動生成するために機械学習を使うという研究だ。別の研究では、AI利用のマルウェア判定(コードの特徴をAIが分析)には良性の実行ファイルに見えるマルウェアの生成にAIを利用するというのもある。

画像に別の情報を忍ばせる技術、ステガノグラフィーにAIを活用する技術もある。画像ファイル(ビットマップデータ)に、分解したマルウェアコードを忍ばせる、画像認識にエラーを起こさせる特殊な画像生成といった用途にもAIが利用可能だ。どちらも生成される画像は人間にはエラーや改ざんは認識できない。後者は、たとえばAIによる画像判定で、別人または別の写真で認証をパスさせるような偽装画像だ。人力でこのような画像を作成するのはほぼ不可能だが、AIならばできるという研究も行われている。

GAN(敵対的生成ネットワーク)と呼ばれる敵対的機械学習の手法では、たとえばゲームのAIに意図的に負けさせる(プレーヤーのスキルやレベルを短時間で向上させる)動作をさせる研究もされている。現在のコンピュータゲームは、敵の動きやモブキャラの動き、自然現象・物理現象の再現にAIシミュレーションが使われている。この制御やAIのパターンを解析し、誤作動や本来の動きとは違う反応を引き出す状況や操作をAIによって導き出すというものだ。

参考:ゲームに対するAIチートプレーヤーの論文
GAN-Aimbots: Using Machine Learning for Cheating in First Person Shooters
https://www.semanticscholar.org/reader/fbf859ec0e9c18bc71e6b7202bbdaee306baa875

生成AIではマルウェアを直接生成できる?

そして現在、生成AIの出現が、詐欺やフェイクに威力を発揮している。ノーコードローコードのようにプログラミングの知識がない人でも、処理内容を指示すれば任意の処理プログラムを出力してくれる機能は、マルウェアの作成も半自動化してくれる。フィッシングメールやランサムウェアを作ってくれとAIに指示すれば、そのプログラムコードを出力してくれる。このような指摘は2020年ごろにはすでに存在した。

このような研究結果と、AIが著作物を勝手に学習している(学習結果はAIの出力に反映される)ことなどが問題となり、現在の主だったAIは、学習データの権利・許諾をクリアするようになっている。また、悪用を防ぐため「ランサムウェアを生成して」「○○企業の従業員向けのフィッシングメールを作成して」といった指示にはフィルタがかけられている(エシカルフィルタ)。

そのようなAIに対して、ファイルを暗号化するプログラム、指定の外部サーバーと通信するプログラム、という形で必要なモジュールを得る工夫をしているとされる。アンダーグラウンドでは、エシカルフィルタを回避するための質問やAIの誘導方法が議論されている。さらに、エシカルフィルタをかけない独自のAIプラットフォームも、アンダーグラウンドには存在するという報告もある。

いうほど万能ではないAIマルウェア作成

サイバー空間の攻防は、すでにAIによる攻防と言っていい状態である。かといって、この状況に過剰反応する必要はない。

たとえば、2024年5月に話題になった生成AIによるランサムウェアを作ったという事件では、プログラミングの知識がなく、単にお金がほしいという動機だったという。しかし、新聞などは生成AIを使えば簡単にマルウェアが作れてサイバー攻撃が可能になったとした。

参考:「AIなら何でもできる」「楽して稼ごうと」ウイルス作成容疑の男(朝日新聞 2024年5月28日)
https://www.asahi.com/articles/ASS5X3HCHS5XUTIL00HM.html

GitHub CopilotやChatGPTは動くソースコードを生成してくれるとはいえ、現状簡単に出力できるのは実行可能なバイナリーコードではない。実際の環境で稼働させるには、コンパイルやリンク、さらにOSに依存した実行可能形式のファイルにする必要がある。いわゆるビルドという作業だ。

Geminiでフィッシングメールのベースに使えるメールの作成指示
ランサムウェアの暗号化モジュールにできるコードの生成例

一般的なソフトウェア開発がそうであるように、目的の動作をする完成品を作るとなると、実はAIですべてが完結するわけでもない。現状のAIは、暗号化プログラム、通信プログラム、脅迫画面や偽のログイン画面を表示するプログラム、暗号化するファイルをサーチするプログラム、など単体機能のモジュールを生成することは可能だが、これらを組み合わせてひとつのソフトウェアとして仕上げるには、平均的な開発環境、ソフトウェアの設計・要件定義ができるスキル、完成品としてビルドするスキルなどが必要となる。

犯人は、生成したランサムウェアを知り合いに試したがうまくいかなかったという報道もある。警察は「機能することは確認した」とするが、暗号化モジュールだけが機能した、画面表示が機能した、だけだとしたら、不正指令電磁的記録作成罪(通称、ウイルス作成罪)の逮捕は筋がいいとは言えない。

生成AIは、フェイク動画作成やマルウェア作成において機能する。これは間違いではない。だが、現実にはちゃんと機能するランサムウェアが誰でも簡単に作成できるかといえば、条件付きでイエスと言える状態だろう。ニュースに惑わされることなく、AI技術は同時にサイバー防御にも役立っている事実もしっかり認識しておきたい。