Flow」に参加してきました。こんにちは、CISOの市川です。https://wasforum.jp/hardening-project/とある6人が1チームとなり、15チーム合計100人ぐらいが、1泊2日で一箇所に集まるサイバーセキュリティの競技プロジェクト。各チームで、仮想の会社とECサイト(脆弱なシステム)の運営を任せられ、チームプレイでシステムを堅牢化(ハードニング)しながら攻撃者からサイトを守りつつECの売上を争う。セキュリティ技術の競い合いだけではなく、技術はビジネスの手段であり、任された会社の価値をセキュリティを通じて最大化することが重要。競技中は、サーバーが落とされたりサイトが改ざんされるなど、事件が次々と発生し食事をゆっくり取る時間もないような状態でサバイバルする10時間耐久レースです。参加者は全員「仮想の攻撃者」にボコボコにされますそんな競技の何がいいか?まず、人がいい。会社や立場に縛られず、「個人」として純粋にセキュリティ関連の力を高めようとしている人が競技者として集まってきます。開催者もこのセキュリティ・プロジェクトを通じて日本のセキュリティを高めていこうと「実践的な競技」に力を入れていることが伝わってきます。全般的に「みんなでいいものを作っていこう」という雰囲気が、オープンソースのコミュニティに近いと感じました。次に、すごくいい訓練場所である。セキュリティやインフラに携わる人は、日々の業務では「攻撃者に乗っ取られないように」構築したり運営したりしています。乗っ取られた際の対応を実務の中では普通できません。よって、有事の際の訓練をCSIRTなど自組織内で実施していますが、自作の訓練の精度を上げるのは相当難しいです。そこで、このプロジェクトでは実践に近い形で訓練できる為、非常に有益です。最後に、技術だけではないところがいい。パッチ当て勝負、ミドルウェアのコンフィグの見直し勝負、FireWallのACL最適化勝負でも競技は成り立つかもしれません。このプロジェクトはもっと広い範囲を見ているため、ECサイトの顧客対応や警察との対応含め総合的な評価をされます。そのため、より実際の会社の運営に求められるような組織の運営という観点で取り組むことが出来、非常にリアルです。競技前日チームはランダムに決まるので基本的には初対面の人ばかり。全国から来るので作戦会や決起集会なども事前に実施するのは難しいです。我々のチームは、Slackで事前にある程度の作戦は立てましたが、競技前日夕方にサーバー構成などの情報が開示されるので、初対面の方と挨拶しつつ作戦を練りました。会場の看板マネーフォワードは、プロジェクトへの還元、セキュリティ関連エンジニアへの還元に貢献すべく、スポンサーもさせてもらいました。9:30に会場入りし、即競技がスタート。開始から1,2時間の午前中にやることはこんな感じです。外部の顧客や警察などとメールをやり取りする環境のセットアップどのサーバーで何が動いているか環境の把握ネットワークレベルで制御をかけるACLの見直しECサイトの運営準備(商品の在庫確認など)(その他、ネタバレになるのであまり細かくはかけません)振返ってみての反省点としては事前に準備していたもの(制御系スクリプトなど)が競技環境で稼働しているOSでは動かず、ネットワークの堅牢化がスムーズにできなかった点です。「多分このOSだからこのツールが使えるだろう」と予想していたものが外れました。何パターンか用意しておくべきでした。そんな対応を進めていると、運営側からの攻撃が始まってきます操作端末にログインができなくなる。攻撃方法を突き止め穴を塞ぎ恒久対応。こんなことが起こりどんどん対応を進めます。対応しようと思わず取捨選択しながら進むのが大事。ちなみに、周りのチームと比較すると対応は出来ていたみたい。(後述)お昼(ハンバーガーが配られた)を食べて、引き続きモクモクと15チームがそれぞれ競技を進めます。それは、売上や借入金を使って「自分たちで全部対応するのは無理なので、製品やサービスを導入してサイトを堅牢にする」というような考えで買うものです。実際の会社運営で判断するようなものですね。我々のチームはBarracuda様のWAFを購入しました。ちなみに仮想的に導入するのではなく、実際のWAF製品を競技環境内で動かして攻撃を遮断します。そのため、会場内にはBarracuda様のWAF環境をセットアップ、メンテするエンジニアの方が張り付いています。これは一例ですが、MarketPlaceでは沢山の製品やサービスが販売されていました。ここで銀行からの1,000万円ほど借り入れを実施しました。Flow」であったため、熟練のチームメンバーが「お金を回して経済を活性化し、借り入れしたお金をうまく利用し製品や広告を打つことが評価の対象になるのではないか」と考えたためです。実際にやってみたら広告の費用対効果をうまく感じることが出来なかったため、一旦止めることにしました。今思うとここの効果検証をもっと定量的に行えるように準備しておくべきでした。してもシステムを堅牢にするところに焦点をあててしまう為、ビジネス的な観点が後手後手に周り気味です。この時うちのチームは、BINDの脆弱性対応をしていたと思います。その後対応出来ていないチームはDNSの停止で名前解決ができずECサイトでの購入ができなくなり、システムの稼働率がどんどん下がっていたようです。今回のプロジェクトの山場、謝罪会見です。なんと他チームで、個人情報の漏洩事実が発覚。記者会見が開かれることになります。ニュースで見るように深々と頭を下げるところから始まり、内容も非常にリアルで、本物の記者から厳しい問い詰めに対して詰まりながら回答を重ねるなど、自分たちの競技中でありながら思わず見入ってしまいました。このように競技の進行各所において、いろいろな準備がされています。この記者会見の対応内容も点数をつけられ、また、並行して他メンバが顧客とやり取りしているメール対応の内容も評価されていることと思います。競技開始から8時間、だいぶ疲れてきました。(同チームの20代前半の若手有能メンバーはまだまだ元気そうです)ここで売上順位を見ると、、、芳しくない。システムの稼働率(SLA)はダントツ1位です。(主催者側のkuromame6は除外した順位)つまり、堅牢化やサイトがダウンしないような対策を進めた一方、営業やマーケティング対応、売上が順調な他チームの分析を行う活動が弱く、「サイトは動いているが、購買が進まず会社の経営的にはイマイチ」という状況になっており、翌日の振り返りでも共有されますがSLAが高いだけでは高得点は狙えない。ここからの売上の逆転は無理だな・・・そう思った時絶妙なタイミングでYouTubeの修造さんが会場全体に「あきらめんなよ!」と会場全体を活気づけます。wカウントダウンラスト30分、これまでよりはるかに多いアクセスがECサイトに押し寄せ、セキュリティ観点だけではなく性能面(主にミドルウェアのパフォーマンス関連のコンフィグ見直し)での安定性も問われます。怒涛のアクセスも終わり、最後に10時間に起こったことの対応レポートを運営側に送り競技は終了しました。カウントダウンは、みんなで実施。この後運営チームにより、15チームの対応の点数付けなどが夜中まで行われ、翌日は結果発表と振り返り会になります。その後、帰り道の泡盛倉庫でチーム内の対応振り返り会と、翌日のプレゼン資料の内容を相談を深夜1時過ぎまで実施。振り返り二日目は、(一日目のハードニングに対し)ソフトニングです。15位中6位、Barracuda様のWAFのセットアップが一番早く活用できたことで、Barracuda賞を受賞!振り返りいいチームメンバーが揃っていたのにECの購買関連の対応が十分にできなかったことは反省。競技としての順位はもっと上位は目指したかったですが、対応の訓練ができたことは非常に有益。次回は今回の悔しさをバネに優勝を目指したい。kuromame6を始めとする運営の皆様、ありがとうございました。応援したいと思います。最後にマネーフォワードでは、セキュリティに熱い想いをもつエンジニアを募集しています。ご応募お待ちしています。