DECEIVEのご紹介:AIを活用した概念実証ハニーポット

Security David Bianco

Splunk SURGeは、概念実証段階のオープンソースのハニーポット「DECEIVE (DECeption with Evaluative Integrated Validation Engine)」を公開しました。これは、AIを活用することで新しいサイバーセキュリティツールやソリューションを容易に開発できることを実証するためのものです。DECEIVEは実運用レベルのツールではありませんが、サイバーセキュリティの課題解決において、これまで実現不可能だった新しいアプローチをAIによって実現できることを示しています。

このプロジェクトは私たちにとっても実験的なものでした。私たちは、セキュリティチームが独自のAI対応ソリューションを開発するために何が必要かを学びたいと思っていました。この学びのプロセスを念頭に置いてDECEIVEを設計しました。このツールが、同様のインテグレーションを探求するきっかけになれば幸いです。

では、DECEIVEについて詳しくご説明しましょう。

AIで生成した忠実度の高いハニーポット

従来、インタラクティブ性の高いハニーポットを作成するには、現実的な環境をシミュレートするために、オペレーティングシステムをインストールし、ユーザーアカウントを設定し、リアルな偽データを入力するなど、多大な時間と労力を要しました。DECEIVEでは、AIを活用して、これらの作業をすべて動的に行います。SSH経由でLinuxサーバー全体をシミュレートすることにより、面倒な設定作業を省き、攻撃者の標的になる実物に近い環境を構築できます。人手で行う必要があるのは、シミュレートするシステムのタイプを説明するプロンプトを作成することだけです。たとえば、次のように指示します。

You are a video game developer's system. Include realistic video game source and asset files. (これはビデオゲーム開発者が使うシステムです。本物のようなビデオゲームのソースファイルとアセットファイルを含めてください。)

構築後は、AIによるバックエンドが、操作の流れに沿った自然で適切な応答を返します。これにより、忠実度の高いリアルなハニーポットを最小限の労力で展開できます。

AIを活用したセッションサマリー

従来のハニーポットを超える機能として、DECEIVEではAIを使って攻撃者の行動を分析し、サマリーを生成できます。SSHセッションが終了すると、以下のファイルが自動的に生成されます。

この分析結果は構造化されたJSONログファイルとして保存されます。これにはユーザーが実行したすべてのコマンドとシミュレートされた出力の完全な記録が含まれています。そのため、セキュリティの観点から注意が必要なセッションを見つけ出すために、すべてのセッションを手動で調べる手間を省くことができます。

対象プロトコルを増やすための概念実証

現バージョンのDECEIVEはSSHを対象としていますが、アプローチとしてはHTTPやSMTPなどのプロトコルにも適用できます。APIエンドポイントもシミュレーション対象として良い候補でしょう。対象プロトコルが増えれば、幅広い環境をシミュレートして、さまざまな攻撃対象領域について攻撃者の行動をより深く理解できます。また、AIプロンプトを更新することで、特定の脆弱性をシミュレートする新しいハニーポットをすばやく展開することもできます。これは、セキュリティ研究者やブルーチームが最新の脆弱性について理解し、対処するのに役立ちます。特に脆弱性の詳細がまだわからない段階で状況が急速に変化しているような場合に有用です。

学びと実験のためのツール

DECEIVEは、単に攻撃者を欺くだけのツールではなく、セキュリティチームが日々のワークフローにAIを組み込むために何が必要かを理解する手助けとなります。DECEIVEを開発することで、私たちは以下の点を探求しました。

責任ある使用

DECEIVEはあくまで 概念実証 であり、実運用レベルのソリューションではなく、Splunkがサポートする製品ではないことをご了承ください。可能性を探るための十分な機能は備えていますが、セキュリティの脆弱性に関する広範なテストは行われていません。SSHバックエンドがエミュレートされているため、ハニーポットを悪用する攻撃者に対して十分防御できますが(ただし、実際のシステムが動作しているわけではなく、現実世界からのネットワーク接続の送受信はできません)、ハニーポットのコード自体に欠陥がある可能性は完全には否定できません。攻撃を受ける可能性のある環境にDECEIVEを導入する場合は細心の注意を払ってください。

導入方法

DECEIVEはオープンソースのツールであり、実験に自由にご利用いただけます。導入手順は以下のとおりです。

  1. GitHubからリポジトリを複製します。
  2. READMESSH/config.ini.TEMPLATEファイル内のドキュメントに記載された設定手順に従って、SSHキーの作成、ユーザーとパスワードの設定、バックエンドLLMの変更などを行います(OpenAI、Google、またはAWS Bedrockモデルであればいずれも対応しています)。
  3. お使いのLLMバックエンドに必要な環境変数を設定します(デフォルトのGPT-4oバックエンドを使用するためのOPENAI_API_KEYなど)。
  4. SSH/prompt.txtファイルを変更して、エミュレートするシステムの種類を指定します。
  5. ラボ環境で実行し、やり取りがシミュレートされ、詳細なセッションサマリーが生成されることを確認します。

デフォルトでは、システムはポート8022/TCPで受信SSH接続をリッスンします。UNIXまたはLinuxシステムでは、次のようなコマンドを使ってログインできます。

ssh guest@localhost -p 8022

設定ファイルではゲストアカウントに空のパスワードが指定されているため、パスワードの入力は求められません。必要に応じて設定ファイルでパスワードを指定してください。

次のステップ

DECEIVEは、AI対応セキュリティソリューションに向けた私たちの取り組みにおける、心躍る一歩です。このプロジェクトを構築し共有することで、サイバーセキュリティコミュニティの皆様がヒントを得て、これまで解決不可能または解決策を実行不可能と考えられていた問題をAIで解決する方法を探っていただければ幸いです。

DECEIVEは、AIと従来の技法を組み合わせることによって、よりインテリジェントで適応性の高いソリューションを構築できることを証明しています。この取り組みを進めれば、高度な偽装技術を展開し、AIを活用した革新的なセキュリティツールを開発するためのハードルはますます下がっていくでしょう。この心躍るフロンティアを一緒に探検しましょう!

このブログはこちらの英語ブログの翻訳、山村 悟史によるレビューです。

関連記事

Splunk主催のCTFイベント “Boss of The SOC v8” 開催レポート
セキュリティ
3 分程度

Splunk主催のCTFイベント “Boss of The SOC v8” 開催レポート

Boss of the SOC (通称BOTS) とは、その名の通りSOCのボスは誰か?を競うSplunk主催のCTFイベントです。BOTSでは、Blue Team(防御側)を想定したシナリオに沿って、Splunkを使ってセキュリティインシデントの調査を行います。今年行われたBOTSv8の内容、当日の様子などをご紹介します。
今日のデータセキュリティ:脅威、手法、ソリューション
セキュリティ
8 分程度

今日のデータセキュリティ:脅威、手法、ソリューション

データセキュリティがかつてないほど重要になっています。機密情報の取り扱いをテクノロジーに大きく依存する中、データ漏えいのリスクは高まり続けています。
サイバーフォレンジックとは?
セキュリティ
6 分程度

サイバーフォレンジックとは?

サイバーフォレンジックとは、テクノロジーが関与する犯罪活動に関する情報を収集して分析し、インテリジェンスを取得する調査のことです。この記事では、その方法について説明します。