Splunk脅威調査チーム(STRT)はこのたび、Splunk Attack Rangeのバージョン3.0をリリースしました。
Splunk Attack Rangeは、Splunkで使用する検出ルールの開発環境を構築して攻撃の動作をエミュレートし、生成されたテレメトリデータに基づいて検出ルールを作成するためのオープンソースプロジェクトです。このブログでは、検出ルールのレジリエンスと品質を向上させるためにバージョン3.0に追加された新機能をご紹介します。
Splunk Attack Range
Splunk Attack Rangeには、検出ルールを開発するための以下のような機能が備わっています。
- できるだけ本番環境に近い小規模なラボ環境をすばやく構築する
- さまざまなエンジン(Atomic Red Team、Prelude Operatorなど)を使って攻撃をシミュレートし、リアルな攻撃データを生成する
- CI/CD (継続的インテグレーション/継続的デリバリー)パイプラインにシームレスに統合して、検出ルールのテストプロセスを自動化する
新機能
構築プロセスの最適化
Packerツールで生成した事前構築済みのイメージを使用することで、Attack Rangeの構築にかかる時間が30分から5分に短縮されました。Packerを使えば、仮想マシンのテンプレートである「ゴールデンイメージ」の作成プロセスを標準化および自動化できます。以前は、SplunkサーバーとWindowsサーバーを1台ずつ含むAttack Rangeの構築に毎回30分ほどかかっていましたが、Packerでイメージを事前構築すれば、Attack Rangeの構築時間を5分以下に短縮できます。事前構築済みのイメージの生成にはサーバー1台あたり20分ほどかかりますが、この処理は最初に1回実行するだけです。それ以降は、Attack Rangeを5分以下で構築できます。
Apache Guacamole
お客様のフィードバックから、Attack Rangeがトレーニングやワークショップでもよく使われることがわかりました。この場合、講師が受講者のためにAttack Rangeを準備します。これまでは、受講者がそのAttack Rangeにアクセスできるようにするための手順が複雑でした。そこで、Attack RangeにApache Guacamoleを統合することで、その手順をシンプルにしました。Apache Guacamoleは、Splunkサーバーにインストールされるクライアントレスのリモートデスクトップアプリケーションで、SSHやRDPなどの標準プロトコルをサポートしています。Attack Rangeを構築するときにApache Guacamoleがインストールされ、適切に設定されます。これによってApache Guacamoleにポート8080でアクセスし、Attack Rangeのパスワードを使ってログインできるようになります。ログイン後は、RDP経由でWindowsサーバーにアクセスしたり、ブラウザからSSH接続でその他のサーバーにアクセスしたりできます。
EDRのサポート
検出ルールを開発しているなら、検出プロセスの実行中に特定のEDR (エンドポイント検出/対応)製品で特定の攻撃手法が検出されるかどうかを知りたいと考えるでしょう。Attack RangeにCrowdstrike FalconとVMware Carbon Black Cloudを統合することで、それを簡単に確認できるようになりました。Attack Rangeに統合されたこれらの製品を使用するときは、サブスクリプションが必要になります。Attack Rangeでいくつかの設定パラメーターを指定することで、自動的にWindowsサーバーにエージェントをインストールし、Splunkサーバーへのログ送信を設定できます。
Attack RangeへのAttack Range Localの統合
以前、私たちはAttack Range Localを独自のGitHubプロジェクトに分離する方針を固めました。Attack Range Localを使うと、コンピューターにインストールされたVirtualboxまたはVMware Fusion上にAttack Rangeを構築できます。構築と設定にはVagrantとAnsibleを使用します。
しかし、Attack Range Localは非常に重要だというフィードバックがお客様から数多く寄せられました。そこで、Attack Range Localの全機能をAttack Rangeに統合するように方針を変更しました。attack_range.ymlでcloud_providerをlocalに設定することで、ローカルのワークステーションまたはサーバー上にAttack Rangeを構築できます。
Attack RangeへのAttack Range Cloudの統合
Attack Range Cloudでは、アマゾン ウェブ サービス(AWS)やMicrosoft Azure向けの検出ルールを開発でき、クラウドプロバイダーからのログは自動的に収集されます。今回、これらの機能をAttack Rangeに統合しました。
Atomic Red Teamではクラウドアトミックの実行がサポートされており、クラウド環境に対して攻撃を実行できます。Atomic Red Teamを使ったクラウドアトミックの実行とクラウドログの収集の自動化が可能になったことで、Attack Rangeでクラウド向けの検出ルールをより効率的に開発できるようになりました。また、これらすべての機能を1つのプロジェクトに統合したことにより、エンドポイント、ネットワーク、クラウドすべての検出ルールをAttack Rangeで開発できるようになりました。
Attack Range 3.0の導入
今回のリリースではドキュメントを改訂し、Attack Rangeの導入に役立つ独自のドキュメントWebサイトを立ち上げました。お勧めの導入方法は、Dockerコンテナを使用し、Mac、Windows、またはLinuxで実行する方法です。
Packerによる事前構築済みのイメージを使用すれば、Attack Rangeの構築にかかる時間を大幅に短縮できます。Attack Rangeの構築から攻撃のシミュレーション、Attack Rangeの破棄までが15分程度で完了します。今後は、Attack Rangeで攻撃データを生成する手順を自動化したいと考えています。
Attack Rangeに追加してほしい機能がございましたら、Attack Range GitHubプロジェクトで機能リクエストのイシューを作成して、遠慮なくご意見をお寄せください。
このブログはこちらの英語ブログの翻訳、阿部 浩人によるレビューです。