Hardening 100 Weakest Link に参加してみた
はじめに
エンジニアにとって、自分の学んだ知識を発信することは、多くのメリットがあると教わったのでブログを始めてみました。
まずは、11月1日に沖縄で開催されたHardening2016に参加したことについて書きたいと思います。
Hardeningとは?
簡単に説明すると、競技者はショッピングサイトを運営する会社の情シスになり、サイバー攻撃からサイトを守りながら、ショッピングサイトでの売上を競う競技です。
詳しくは下記サイトをご参照ください。
Hardening Project 2016 | Web Application Security Forum - WASForum
大会までの準備
チームメンバー(6人)は運営がランダムに決定するので、全員初対面です。そこで、Slackでメンバーとやり取りしつつ準備を進めました。
- マーケットプレイス主催の勉強会に参加
- Skype会議で大会当日の役割分担を決定
- 過去の大会の資料を読む
- 担当サーバの勉強
- 自動監視・再起動用のスクリプトを作成
- 報告書などのテンプレートを準備
- 前日入りし打ち合わせ兼飲み会 etc
大会当日の作業内容(ポイント抜粋)
大会当日は、チームメンバーと協力して戦い、優勝することができました。以下は、大会中に勝利につながったポイントです。
1.全サーバのバックアップ
攻撃によってシステム停止に陥っても復旧できる。ランサムウェアで攻撃された際、バックアップしてなかったチームは身代金(1台200万)を支払うことになった。
2.CTCの脆弱性情報共有サービスを購入
CTCのセキュリティエンジニアが見つけた脆弱性の情報を展開してくれる。この情報をもとに対策を行うことで多くの攻撃を防げた。
3.売上をUPさせられる広告だけを購入
前回の大会は広告を買うほど利益が上がるシステムだったが、今回は需要が高い時を見極めて買わないと利益はダウンしてしまうようになっていた。
4.新商品の追加
競技中に新商品の三線を販売可能になったメールが来た。三線は価格が高いので後々売上に大きな差が出た。
5.情報漏洩による謝罪会見
首位を走っていた2チームは、競技中に情報漏洩が発覚し、壇上で謝罪会見を行わなければならなくなった。謝罪会見が悪いと売上が落ちてしまうが、チームリーダの素晴らしい対応のおかげで回避できた。
6.マーケットプレイスのスタンプラリーを活用
マーケットプレイスでサービスを3つ購入すると、マーケットプレイスにいる技術力の高いエンジニアが一定時間(30分?)スケットに来てくれる。このサービスを利用して、システムに入り込んでいたマルウェアを駆除してもらった。
競技中に受けた攻撃
競技中は以下のような攻撃を受け、何度もサービス停止に陥りました。しかし、ほとんど攻撃の原因を特定できませんでした。次回参加する場合は、攻撃原因の特定方法(ログの読み方など)をもっと勉強しておきたいと思います。
- WEBサーバのパーミッションを書き換えられる(SQLインジェクション?)
- 踏み台サーバを再起動される(全権限許可のIISが起動してた?)
- WEBサーバをランサムウェアに感染させられる
- 踏み台サーバのWindowsFWを書き換えられる
- メール相手を装って標的型メールを送られる
- WEBサーバや、踏み台端末にマルウェアを仕込まれる etc
気づき
今回の大会においては、攻撃を予測して対策を講じるよりも、攻撃を受けた後に迅速な復旧と再発防止策を実施するほうが効果的でした。
競技中は序盤からたくさん攻撃がくるので、社内環境を調査して対策を講じるような時間はなかなか取れませんし、攻撃された時のログなどから攻撃の原因を調査して対策を講じる方が確実で早いと思います。
感想
とても楽しく勉強もになる素晴らしい大会でした!
セキュリティ機能・製品は、効果を実感することが殆どないので、イメージが沸かず、なかなか勉強するモチベーションが上がりにくいと思うんですが、Hardeningは本物のサイバー攻撃がバンバン飛んでくるので、準備段階から「どんな攻撃が来るだろう?」、「どうすれば防げるだろう?」と、わくわくしながら技術を学ぶことができたし、競技の中も「システム停止の原因は何なんだ!?」、「どうすれば対策できるんだ!?」など、インシデント切り分けや、フォレンジックなどのノウハウについても危機感をもって学ぶことができました。
ぜひ、Hardeningに興味をもった方は来年の大会に出場してみてほしいと思います。