はじめに
女神転生Vで最初のヒュドラにボコボコにされて仕事のやる気がおきない岩間です。
今回は、2021/11/19に行われたBoss of the SOC v4.1 Japanの参加レポートになります。
Boss of the SOC v4.1 Japanについて
Boss of the SOC(BOTS)は、Splunk社のSplunkや関連製品を使って、現実にありそうなセキュリティインシデントをログデータから分析し、インシデント調査を行っていくJeopardy式CTF形式の競技イベントです。 毎年不定期で行われているようで、今回参加したv4.1は去年の内容(v4.0)とシナリオは同じままで問題がリニューアルされたようです。
過去のバージョンのデータセットも公開されているため、環境を整えれば自身で問題を解くこともできます。
BOTSの特徴
CTF形式という点で、他のCTFと比べた時のBOTSの特徴を挙げてみたいと思います。
Splunk製品の利用を前提とした問題
Splunk Enterprise Security (ES)、Splunk User Behavior Analytics (UBA)、Splunk Phantomなどを利用して問題を解く必要があり、他のCTFと最も異なる点です。
商用製品を利用するので、触ったことがないユーザには敷居が高いようにも見えますが、未経験の方にも参加できるような仕組みになっており、BOTSをきっかけに触り始めるのも全然大丈夫だと思います。
ちなみに私自身、今回のBOTSを機にSplunkを初めて触りました。
問題シナリオが複数用意されている
ただ問題を解くCTFではなく、ちゃんとしたシナリオが設定されています。
今回の競技参加者は、とある企業のアナリストとして参加するシナリオになっています。
この企業は過去に何度かAPTグループから攻撃を受けており、攻撃が相次ぐためREDチームによるペンテストを依頼した背景があります。
また、別の企業を買収したために、買収した企業が持っていたシステムのインシデントも対応することになっていました。
このようなシナリオをもとに問題構成も以下の4つに分けられています。
- シナリオ1: Splunk製品になれてもらうためのチュートリアル的な問題
- シナリオ2: REDチームによる攻撃の調査
- シナリオ3: APTグループの攻撃調査
- シナリオ4: 買収した企業で起きたインシデント調査
単純に問題を解くうえではシナリオは不要ですが、シナリオがあることで本当に起きたインシデントのような臨場感があるので解いていて面白かったです。
問題数がかなり多い
各シナリオ毎に問題がいくつか用意されています。
競技開始後、問題は全て公開されていました。途中で追加された問題があったかは確認していませんが、無ければ全部で89問ほどありました。
それぞれの問題ごとに基本ポイントが異なっており、簡単な問題は50pt~100pt、難しい問題は1000ptや1500ptといった具合でした。
スピードボーナスと減点、ヒントがある
基本ポイントとは別に、早く問題を解くほどスピードボーナスが得られるようになっているのも特徴的です。
送信する答えが不正解の場合、獲得できる基本ポイントから-10ptの減点が入るため、当てずっぽうや総当たり戦法は使えません。
また、各問題にはヒントが最大で3個用意されています。ヒントを開放するごとに基本ポイントから減点が入ります。減点量は問題やヒントによって異なります。
問題は好きな順番で解くことができますが、前の問題を解いている想定の問題もあるため、自力で解けないようなら潔くヒントを使うのもいいかもしれません。
練習方法
前述した通り、過去のバージョンのデータセットが公開されているため、メンバーに環境を建ててもらって練習してました。SplunkのSearch Tutorialを終えた後、Githubで公開されているBOTSv1.0を使って練習しました。
が、量が多くて全てのシナリオを触る時間はありませんでした。それでも簡単なSplunkの操作方法は、理解できたので非常に有用でした。なによりも楽しかったです。
また、SplunkのSPL(Splunkでログを検索する際のコマンド)が全然分からなかったので、よく使いそうなSPLをリストにしてチートシート化してました。
BOTSv1ではOSINT問題もあったため、利用したツール類もまとめていました。本番では全部の問題を見ていないのでOSINT問題があったかどうか分かりません。
成績
会社のメンバー4人(岩間, 西尾(swime), 羽鶴(sst-hazuru), 非公開)でチーム名「最速のCache-Control野郎」で参加しました。
ちなみに、岩間を含む内2名はSplunk完全に初心者でした。UBAやPhantomに至っては触ってすらいません。
結果は全27チーム中8位でした。
感想
ポイントとしては7989pt(スピードボーナス含む)で、初参加+Splunk超初心者の割には奮戦できたんじゃないかなと思います。 Splunk経験者による貢献が大きいですが、完全初心者勢もそこそこ解けてたので多分貢献できたと思います。多分。
統合ログ管理と言えばSplunkは有名ですが、競技を通して実際にログ分析してみるとログを統合することで分かる発見があり、非常に勉強になりました。
CTFのゲーム性においても、シナリオ1のようなチュートリアル問題やヒントのシステムがあるおかげで、Splunk未経験者もしくは初学者でもそれなりに解けるようになっているので「人権なかった・・・」みたいな状況にならないので良いですね。
また、臨場感あるログを分析するので未経験者でも楽しいです。
次回は過去のBOTSをもっと解いて、SPLやUBA、Phantomの使い方を理解してリベンジできればと思います。