Money Forward Developers Blog

株式会社マネーフォワード公式開発者向けブログです。技術や開発手法、イベント登壇などを発信します。サービスに関するご質問は、各サービス窓口までご連絡ください。

20230215130734

Hardening 1010 Cash Flow 参加レポート

6/23(金)~6/24(土)に開催されました、「Hardening 1010 Cash Flow」に参加してきました。

こんにちは、CISOの市川です。

(今回のエンジニアブログはセキュリティの話です、コードの話は出てきません)

Hardening Project(ハードニング プロジェクト) とは

  • WASForumさまのサイト 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だからこのツールが使えるだろう」と予想していたものが外れました。もう少し何パターンか用意しておくべきでした。
  • そんな対応を進めていると、運営側からの攻撃が始まってきます
    • 操作端末にログインができなくなる。
    • 複数あるECサイトのトップページが改ざんされECサイトのでの顧客の購買が停止
      • 対応としてコンテンツをバックアップからリストアし暫定対応
      • 攻撃方法を突き止め穴を塞ぎ恒久対応。
    • こんなことが起こりどんどん対応を進めます。
    • その日初めてログインした環境で、数十台の環境を把握しつつ脆弱な点を可視化し、2時間で全部塞ぐなんて到底無理。
    • 全部完璧に対応しようと思わず取捨選択しながら進むのが大事。
    • ちなみに、周りのチームと比較すると対応は出来ていたみたい。(後述)
    • お昼(ハンバーガーが配られた)を食べて、引き続きモクモクと15チームがそれぞれ競技を進めます。

午後〜夕方

  • MarketPlace がオープンします。
    • それは、売上や借入金を使って「自分たちで全部対応するのは無理なので、製品やサービスを導入してサイトを堅牢にする」というような考えで買うものです。
    • 正に実際の会社運営で判断するようなものですね。我々のチームはBarracuda様のWAFを購入しました。 
    • ちなみに仮想的に導入するのではなく、実際のWAF製品を競技環境内で動かして攻撃を遮断します。
    • そのため、会場内にはBarracuda様のWAF環境をセットアップ、メンテするエンジニアの方が張り付いています。
    • これは一例ですが、MarketPlaceでは沢山の製品やサービスが販売されていました。

  • ここで銀行からの1,000万円ほど借り入れを実施しました。今回のプロジェクトのテーマが「Cash Flow」であったため、熟練のチームメンバーが「お金を回して経済を活性化し、借り入れしたお金をうまく利用し製品や広告を打つことが評価の対象になるのではないか」と考えたためです。
    • ただし、実際にやってみたら広告の費用対効果をうまく感じることが出来なかったため、一旦止めることにしました。今思うとここの効果検証をもっと定量的に行えるように準備しておくべきでした。
    • どうしてもシステムを堅牢にするところに焦点をあててしまう為、ビジネス的な観点が後手後手に周り気味です。
    • 丁度この時うちのチームは、BINDの脆弱性対応をしていたと思います。その後対応出来ていないチームはDNSの停止で名前解決ができずECサイトでの購入ができなくなり、システムの稼働率がどんどん下がっていたようです。

  • 今回のプロジェクトの山場、謝罪会見です。
    • なんと他チームで、個人情報の漏洩事実が発覚。記者会見が開かれることになります。
    • ニュースで見るように深々と頭を下げるところから始まり、内容も非常にリアルで、本物の記者から厳しい問い詰めに対して詰まりながら回答を重ねるなど、自分たちの競技中でありながら思わず見入ってしまいました。
    • このように競技の進行各所において、いろいろな準備がされています。
    • おそらくこの記者会見の対応内容も点数をつけられ、また、並行して他メンバが顧客とやり取りしているメール対応の内容も評価されていることと思います。

夕方〜競技終了

  • 競技開始から8時間、だいぶ疲れてきました。(同チームの20代前半の若手有能メンバーはまだまだ元気そうです)
  • ここで売上順位を見ると、、、芳しくない。。。でもシステムの稼働率(SLA)はダントツ1位です。(主催者側のkuromame6は除外した順位)
    • つまり、堅牢化やサイトがダウンしないような対策を進めた一方、営業やマーケティング対応、売上が順調な他チームの分析を行う活動が弱く、「サイトは動いているが、購買が進まず会社の経営的にはイマイチ」という状況になっており、翌日の振り返りでも共有されますがSLAが高いだけでは高得点は狙えない。というものでした。
    • もうここからの売上の逆転は無理だな・・・そう思った時絶妙なタイミングでYouTubeの修造さんが会場全体に「あきらめんなよ!」と会場全体を活気づけます。w

  • カウントダウン
    • ラスト30分、これまでよりはるかに多いアクセスがECサイトに押し寄せ、セキュリティ観点だけではなく性能面(主にミドルウェアのパフォーマンス関連のコンフィグ見直し)での安定性も問われます。
    • 怒涛のアクセスも終わり、最後に10時間に起こったことの対応レポートを運営側に送り競技は終了しました。
    • カウントダウンは、みんなで実施。
    • この後運営チームにより、15チームの対応の点数付けなどが夜中まで行われ、翌日は結果発表と振り返り会になります。

その後、帰り道の泡盛倉庫でチーム内の対応振り返り会と、翌日のプレゼン資料の内容を相談を深夜1時過ぎまで実施。

二日目 Softening 振り返り

  • 二日目は、(一日目のハードニングに対し)ソフトニングです。
    • それぞれ15チームから各チームの振り返りなどを発表
    • 運営の kuromame6 川口さん より、昨日の脆弱性とその対応について細かく解説 (後にLACさんの記事になっています)
    • 昼食の美味しいカレーを食べて <中略> 「いよいよ結果発表」
    • 総合順位は15位中6位、Barracuda様のWAFのセットアップが一番早く活用できたことで、Barracuda賞を受賞!
  • 振り返り
    • いいチームメンバーが揃っていたのにECの購買関連の対応が十分にできなかったことは反省。
    • 競技としての順位はもっと上位は目指したかったですが、対応の訓練ができたことは非常に有益。
    • 次回は今回の悔しさをバネに優勝を目指したい。
    • そして最後に、 kuromame6を始めとする運営の皆様、ありがとうございました。
    • 今後もマネーフォワードは Hardening Project を応援したいと思います。

最後に

マネーフォワードでは、セキュリティに熱い想いをもつエンジニアを募集しています。 ご応募お待ちしています。

【採用サイト】 ■マネーフォワード採用サイトWantedly | マネーフォワード

【プロダクト一覧】 自動家計簿・資産管理サービス『マネーフォワード』 ■WebiPhone,iPadAndroid

ビジネス向けクラウドサービス『MFクラウドシリーズ』 ■会計ソフト『MFクラウド会計』確定申告ソフト『MFクラウド確定申告』請求書管理ソフト『MFクラウド請求書』給与計算ソフト『MFクラウド給与』経費精算ソフト『MFクラウド経費』入金消込ソフト『MFクラウド消込』マイナンバー管理ソフト『MFクラウドマイナンバー』資金調達サービス『MFクラウドファイナンス』

メディア ■くらしの経済メディア『MONEY PLUS』