Hardening 1010 Cash Flowに参加した話

概要

去る23日、沖縄コンベンションセンターで10回目(記念回!)の「Hardening 1010 Cash Flow」が開催されており、そこに参加しました。チーム「術中Hack」のメンバーとして参加し、グランプリをいただきました。記念回に初参加で参戦できただけでなく、10時間という今までにない競技時間を体験できたり、ラスト(?)沖縄回に参加できたり、グランプリをいただけたりと、本当に参加できて良かったと思えました。運営の皆様、MPの皆様、術中Hackの皆様、その他すべての関係者の皆様に感謝しております。
本記事ではチームのことや僕が競技中にやったことのメモを残したいと思います。

チーム「術中Hack」グランプリ(੭ ᐕ)੭

Hardeningとは?

文字通り「堅牢化」を行う競技です。では何を堅牢化するのか?というと「ECサイト」やそれに関連する「サーバー」です。予め脆弱性の仕込まれた環境・ECサイトを安全な状態にし、攻撃者の手に落ちないよう守り、そして売り続ける――概要はこんな感じです。詳しい説明は公式サイトをご覧ください。

チーム「術中Hack」

6人で構成された今回のチームは、内4人が沖縄高専からの参加ということで社会人が多く参加されるこの大会においては平均年齢が若いチームでした。とはいえ社会人の方がチームのリーダーやまとめ役を引き受けてくださり、とても安心感のある、居心地の良いチームでした。
高専勢は比較的集まりやすかったこともあり、話し合いをしたり情報共有をしたりしました。チーム全員での集まりはHardening Day前日の22日に行われ、そこで翌日の競技に向けて懇親を兼ねて戦略を話し合いました。この時点でのチームの方針は「初手借金、投資重視」でした。
それ以前はチームリーダーが爆速で作ってくださったSlackで情報共有をやったり、trelloでタスクの整理をしていました。

競技中にやったこと

僕は競技中主に「Webコンテンツの管理、脆弱性修正」を担当していました。開幕後各サーバーに接続できてからはユーザー(root含めて7個くらい?)のパスワードをデフォルトから変更したり、ECサイトはどんな感じなのか実際に見てみたり、WordPressの管理者パスワードを変更したりしました。
またWordPressには今回出るかなーと思い予習していたWordPress4.7.1の権限昇格の脆弱性で話題になったバージョン4.7.1が使われていたので、WordPressのソースコードを改変して対応しました。多分、ちゃんとこの段階で作業をしたECサイトについては攻撃を先回りで回避できたと思います(真相は不明)。
ここまでは比較的平和でしたが、お昼を食べ終わってしばらくしてからバックドアが置かれていたり、修正漏れのあったサイトが改ざんされたりしました。不要なディレクトリの移動などはこの辺りで行ったと思います。
この後個人情報漏洩()があったりしましたが、MPの方が教えてくれた「OSコマンドインジェクション脆弱性を含むサイト」のソースコードを修正したり、ところどころCSSがおかしくて見にくくなっているサイトの修正を行ったりしました。
競技終了の数十分前からはMP製品画面、実際の画面、端末などとにらめっこするまさに死活監視を行っていました。
10時間の競技が終了した瞬間はかなりほっとしたような感覚になっていました。

良かったこと

脆弱性を予習していて良かったです。サイトが改ざんされたりシステムが壊されたときにどうしてそれが起こってしまったのか、あたりがつくかつけられないかでかなり気持ち的なところに差があったと思います。予習では実際に自分で環境を作り、脆弱性を検証し、ソースコードを修正して攻撃が通用しないことを確認、というところまでの一連の流れをやっていたので本番でも流れがなんとなくつかみやすく、それなりにスムーズに作業できたと思います。
また、お昼のバーガーが美味しかった点が挙げられます。

悪かったこと

サーバーのパス変更や脆弱性修正が漏れていた所がありました。中盤~になってその穴を突かれたりしてしまったので、競技環境資料をよく見ながら最初の段階で注意深く確認を行うべきだったと思います。また、脆弱性だけでなくサービス自体の使用を通してノウハウを増やしておけばよかったなと思いました。WordPressなど普段使わないサービスをもう少し触っておけば、管理者パスワードの変更やユーザー登録ボタンの削除などの作業がより円滑になったと思います。この他にも設定ファイルで失敗したり、コマンド慣れが足りなかったりとまだまだ技術的な部分やそうでない部分で自分は未熟だなぁと感じる点が多くありました。
また、お昼のバーガーを急いで食べてしまった点が挙げられます。

まとめ

チームメンバーに恵まれ、MP(製品と担当者の方々)に恵まれ、運にも愛され、グランプリという結果をいただきました。10時間という競技時間は今思えば長かったようで短かったですが、その中で得た学びはとても多かったし、何より楽しかったです。「売上を意識すべき競技」や、セキュリティベンダーの製品を実践的なシチュエーション下で使わせて頂ける、こんな体験はなかなか学生という身分ではできないなと思いました。
貴重な体験をさせてくださり、本当にありがとうございました。

Hardening 1010 Cash Flow参加できて良かったです、ありがとうございました!