Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Complete Overview of Generative & Predictive AI for Application Security

2025年09月24日に「Dev.to」が公開したITニュース「Complete Overview of Generative & Predictive AI for Application Security」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

生成AIと予測AIがアプリのセキュリティを大きく変えている。昔のシンプルなテストから進化し、脆弱性発見や自動テスト、リスク評価にAIが活用される。誤検出や未知の脅威は課題だが、AIはセキュリティ専門家の強力な味方となり、将来は自律的な防御も期待できる。責任ある運用が不可欠だ。

ITニュース解説

アプリケーションのセキュリティ(AppSec)は、現代のソフトウェア開発において非常に重要な分野だ。近年、人工知能(AI)がこのAppSecの世界を大きく変えようとしている。AIは、アプリケーションの脆弱性(バグやセキュリティ上の弱点)を見つけたり、セキュリティテストを自動化したり、さらには攻撃を受ける可能性のある部分を自律的にスキャンしたりする能力を高めている。この解説では、機械学習やAIを活用したソリューションがAppSecの分野でどのように機能するのか、その歴史から最新の動向、そして未来までを初心者にも分かりやすく説明する。

AIが注目されるずっと前から、情報セキュリティの専門家たちは、セキュリティ上の欠陥を見つける作業を自動化しようと試みてきた。1980年代後半には、バートン・ミラー氏が「ファズテスト」という画期的な手法を考案した。これは、プログラムにランダムな入力を与えてクラッシュさせることで脆弱性を発見する方法で、後のセキュリティテスト技術の基礎を築いた。1990年代から2000年代初頭にかけては、スクリプトやツールを使って広く知られた脆弱性を見つけるようになった。初期の静的解析ツールは、コードの中から危険な関数や秘密の情報が埋め込まれているパターンを探すようなものだった。しかし、これらのパターンマッチングに頼る手法は、コードの文脈を考慮せず、似たようなパターンをすべて指摘してしまうため、「偽陽性」(本当は問題ないのに問題だと判断されること)が非常に多かった。

その後、セキュリティモデルは進化し、ルールを厳密に適用するだけでなく、文脈を理解して解釈する方向へ進んだ。機械学習がAppSecに徐々に導入され始めた。初期には、システムトラフィックの異常を検出するディープラーニングモデルや、スパムやフィッシングメールを検出するベイジアンフィルターなどがあった。これらは直接AppSecではないが、AI活用の兆候を示していた。静的解析ツールも、データの流れや実行パスを追跡することで、ソフトウェアシステム内でのデータの動きを監視し、より高度な解析ができるようになった。この時期に、「コードプロパティグラフ(CPG)」という重要な概念が生まれた。これは、コードの構造、制御の流れ、データの流れを一つの包括的なグラフとして統合するもので、より文脈を考慮した脆弱性評価を可能にした。このCPGによって、単純なパターンチェックでは見つけられない複雑な欠陥も特定できるようになった。2016年には、DARPAが主催したサイバーグランドチャレンジで、人間が介入することなくリアルタイムで脆弱性を見つけ、悪用し、修正する完全に自動化されたハッキングシステムが実演された。これは、自律的なサイバーセキュリティにおける画期的な出来事だった。

より優れた学習モデルと膨大なデータセットの登場により、AppSecにおけるAIの利用は急速に拡大した。特に注目すべきは、機械学習モデルがソフトウェアの脆弱性やその悪用方法を予測するようになったことだ。例えば、「エクスプロイト予測スコアリングシステム(EPSS)」は、数千もの要因を分析して、実際にサイバー攻撃で悪用される可能性が高い脆弱性を予測する。これにより、防御側は最も深刻な弱点に集中して対策を講じることができる。ソースコードのレビューにおいても、ディープラーニングモデルは大量のコードベースで学習し、安全でない構造を特定するようになった。Googleのセキュリティチームは、大規模言語モデル(LLM)を活用して、オープンソースプロジェクトのファズテストを自動生成し、手作業を減らしつつ、より多くの脆弱性を発見することに成功している。

今日のソフトウェア防御では、AIは主に二つのカテゴリーで活用されている。「生成AI」は、新しいテスト、コード、または攻撃などを生み出すもので、「予測AI」は、データを分析して脆弱性を特定したり予測したりする。これらの機能は、コードレビューから動的テストまで、AppSecのあらゆる段階で利用されている。

生成AIは、脆弱性を明らかにするための攻撃データやコードスニペットなど、新しいデータを生成する能力を持つ。例えば、AIを活用したファズテストがそうだ。従来のファズテストがランダムなデータや既存のデータの変異に依存するのに対し、生成AIモデルはより戦略的なテストケースを作成できる。GoogleのOSS-Fuzzチームは、テキストベースの生成システムを用いて、オープンソースコードベースのファズターゲットを自動生成し、脆弱性発見の効率を向上させた。また、生成AIは、脆弱性が公開された後に、そのエクスプロイト(攻撃コード)の概念実証(PoC)ペイロードを作成するのにも役立つ。攻撃側(レッドチーム)は生成AIを使って悪意のあるタスクを自動化することもあるが、防御側は生成AIでエクスプロイトを構築し、自社のセキュリティ体制を検証し、対策を強化するために活用している。

予測AIは、情報を詳細に分析し、悪用される可能性のある脆弱性を特定する。静的なルールやシグネチャに頼るのではなく、何千もの安全な機能と脆弱な機能を比較学習することで、ルールベースのシステムでは見逃す可能性のあるパターンを認識できる。このアプローチにより、疑わしいロジックを特定し、新たに見つかった問題の悪用可能性を評価することが可能になる。また、セキュリティ上のバグに優先順位を付けることも予測AIの重要な用途だ。EPSSのように、機械学習モデルが既知の脆弱性を、実際に悪用される可能性に基づいてスコアリングする。これにより、セキュリティチームは最も深刻なリスクをもたらす脆弱性に絞って対応できる。最新のAppSecプラットフォームの中には、コミットデータや過去のバグデータを機械学習モデルに投入し、システムのどの領域が新たな脆弱性に最も影響を受けやすいかを予測するものもある。

従来のセキュリティテストツールである「静的アプリケーションセキュリティテスト(SAST)」「動的アプリケーションセキュリティテスト(DAST)」「インタラクティブアプリケーションセキュリティテスト(IAST)」も、AIを統合することで処理能力と精度を向上させている。SASTはソースコードを静的にスキャンしてセキュリティ欠陥を見つけるが、文脈が不足すると多くの偽陽性を生じがちだ。AIは、スマートな制御フロー分析を通じて、実際には悪用できないアラートを選別し、偽陽性を減らすのに貢献する。DASTは稼働中のアプリケーションをスキャンし、攻撃ペイロードを送信して応答を監視する。AIは自律的なクローリングやインテリジェントなペイロード生成を可能にすることでDASTを強化する。AIシステムは、複雑なマルチステップのワークフローやRESTful API呼び出しをより正確に解釈し、テストのカバレッジを広げ、見落としを減らす。IASTは実行時にアプリケーションを監視し、関数呼び出しやデータフローを記録する。AIモデルはこの大量のデータを解釈し、ユーザー入力がフィルタリングされずに重要な機能に到達する危険なフローを特定する。IASTと機械学習を組み合わせることで、重要でない検出結果がフィルタリングされ、真の危険だけが浮き彫りになる。

最新のコードスキャンツールは、これらの技術を組み合わせて使用している。既知の問題に対してはシグネチャベースの手法を用いつつ、より深い洞察を得るためにコードプロパティグラフを用いた解析を加え、さらに機械学習でアラートの優先順位付けを行っている。

コンテナベースのアーキテクチャが普及するにつれて、コンテナやオープンソースライブラリのセキュリティが非常に重要になった。ここでもAIが役立つ。AI駆動型のコンテナ分析ツールは、コンテナビルドを検査して既知の脆弱性、設定ミス、秘密情報を見つける。また、機械学習ベースのランタイム監視は、異常なコンテナ動作(予期しないネットワーク呼び出しなど)を検出し、シグネチャベースのツールでは見逃す可能性のある侵入を捕捉する。サプライチェーンリスクに関しては、数百万のオープンソースパッケージが存在するため、手動での検証は不可能だ。AIはパッケージの動作を分析して悪意のある兆候を見つけたり、特定の依存関係が悪用される可能性を評価したりできる。これにより、リスクの高いサプライチェーン要素を特定し、正当なコードと依存関係のみが本番環境にデプロイされることを確認する。

AIはAppSecに強力な機能をもたらすが、万能ではない。誤分類、悪用可能性分析の難しさ、モデルの偏り、未公開の脅威への対応といった問題点を理解する必要がある。自動化されたセキュリティテストは、偽陽性(問題ないコードを問題だと判断すること)と偽陰性(実際の脆弱性を見落とすこと)という課題を常に抱えている。AIは文脈を追加することで偽陽性を軽減できるが、不適切に訓練されたモデルは新たな誤りを生じさせたり、深刻なバグを見逃したりするリスクがあるため、最終的な診断には専門家による検証が不可欠だ。

AIが安全でないコードパスを特定したとしても、それが実際にハッカーに利用可能であるとは限らない。現実世界での悪用可能性を評価することは複雑だ。多くのAI駆動型の検出結果は、その深刻度を判断するために依然として人間の判断を必要とする。AIアルゴリズムは収集されたデータから学習するため、データが特定のコーディングパターンを過度に代表していたり、新しい脅威の事例が不足していたりすると、AIはその脅威を認識できない可能性がある。データセットの頻繁な更新とモデルの監査は、この問題を軽減するために不可欠だ。機械学習は過去に見たパターンに対しては優れているが、完全に新しいタイプの脆弱性は、既存の知識と一致しないためAIの目を逃れる可能性がある。また、攻撃者も「敵対的AI」を使って防御メカニズムを欺く。そのため、AIベースのソリューションは常に更新される必要がある。

AIの世界で最近注目されているのが「エージェントAI」という概念だ。これは、単に結果を生成するだけでなく、自律的に目標を実行できる自己指向型のプログラムを指す。サイバー防御においては、AIが多段階の操作を管理し、リアルタイムの状況に適応し、最小限の人間の監視で意思決定を行うことを意味する。エージェントAIソリューションは、「このシステムのセキュリティ上の欠陥を見つけなさい」といった高レベルの目標を与えられると、データの収集、ツールの実行、発見に応じた戦略の調整など、その方法を自ら決定する。これは、AIが単なる補助ツールから、自律的な存在へと進化することを示唆している。

攻撃側(レッドチーム)では、エージェントAIが自律的に侵入テストを開始できる。例えば、「PentestGPT」のようなオープンソースソリューションは、大規模言語モデル(LLM)を活用して、多段階の侵入攻撃における攻撃手順を連鎖させる。防御側(ブルーチーム)では、AIエージェントがネットワークを監視し、不審なイベント(侵害されたホストの隔離、ファイアウォールルールの更新、ログ分析など)に自動的に対応できる。セキュリティオーケストレーションプラットフォームの中には、AIが静的なワークフローを実行するだけでなく、動的に意思決定を行う「エージェントプレイブック」を統合しているものもある。完全に自律的な侵入テストは、多くのセキュリティ専門家の究極の目標であり、最小限の人間による指示で脆弱性を包括的に列挙し、侵入経路を構築し、それを実証するツールは現実のものになりつつある。しかし、高い自律性は危険も伴う。エージェントAIが誤って本番環境に損害を与えたり、悪意のある第三者によってシステムが操作され、破壊的な行動が引き起こされたりする可能性がある。堅牢な安全対策、安全なテスト環境、危険なタスクに対する人間による承認が不可欠となる。

AIのAppSecへの影響は今後も拡大するだろう。今後数年間で、企業はAI支援コーディングやセキュリティをより頻繁に採用するようになる。開発ツールにはAIモデルによるセキュリティチェックが組み込まれ、潜在的な問題をリアルタイムで指摘するようになるだろう。インテリジェントなテスト生成が標準化され、自律的なスキャンによる継続的なセキュリティテストが普及する。攻撃者も生成AIを悪用して巧妙なソーシャルエンジニアリング攻撃を行うため、防御側のフィルターも学習し続ける必要がある。規制当局や政府機関も、サイバーセキュリティにおけるAIの倫理的な利用に関する枠組みを策定し始めるだろう。

5年から10年後には、AIはDevSecOps(開発・セキュリティ・運用を統合する文化)を完全に再構築する可能性がある。AIがコードの大半を生成し、セキュリティを組み込みながら開発を進めたり、脆弱性を指摘するだけでなく自律的に修正し、その修正の有効性を検証するツールが登場したりするかもしれない。常にアプリケーションを監視し、攻撃を予測し、リアルタイムで対策を展開するプロアクティブで継続的な防御が実現する可能性もある。AIがサイバー防御において中心的な役割を担うにつれて、コンプライアンスフレームワークも拡大するだろう。PCI DSSやSOC 2のような規制遵守をリアルタイムで自動的に監査するAI駆動型のコンプライアンスチェックや、AIモデルの学習データ追跡、モデルの公平性の検証、AIによる行動の記録などが義務付けられる可能性もある。また、AIエージェントが封じ込め措置を実行した場合、誰が責任を負うのかといった、AIの誤判断に対する責任の所在を定義することは、コンプライアンス機関が取り組むべき難しい問題となる。

責任ある導入という点では、AIが内部脅威検出に使われることでプライバシー侵害を引き起こす可能性や、AIが悪用された場合に命に関わる意思決定をAIだけに依存することの危険性も考慮する必要がある。また、攻撃者はAIを使って悪意のあるコードを隠蔽したり、AIの学習データを汚染したり、プロンプトインジェクションで防御AIシステムを騙したりする「敵対的AI」という脅威も存在する。将来的に、機械学習コードのセキュリティを確保することがサイバー防御の重要な側面となるだろう。

生成AIと予測AIは、AppSecを革命的に変え始めている。AIは、脆弱性をより早く発見し、最大の脅威に優先順位を付け、煩雑な作業を処理するのに役立つ強力な味方だ。しかし、AIは万能ではない。偽陽性、学習データの偏り、未知の脆弱性(ゼロデイ)への対応には、熟練した人間の監督が依然として不可欠だ。攻撃者と防御者の間の競争は続いており、AIはその最新の戦場に過ぎない。AIを専門家の分析、コンプライアンス戦略、継続的な更新と組み合わせることで、組織は常に変化するAppSecの状況で優位に立つことができる。最終的に、AIの可能性は、セキュリティ上の欠陥が早期に発見され、迅速に対処される、より安全なデジタル環境の実現に貢献する。継続的な研究、コミュニティの努力、そしてAI技術の進化があれば、このビジョンは予想よりも早く実現するかもしれない。

関連コンテンツ

関連IT用語

関連ITニュース