Hardening Zero、開催しました!!
皆さんこんにちは、川口です。最近、このコラムの更新頻度を落として何をやっているんだと気になっている方もいるかもしれませんが、記念すべき第40回目のコラムのために、実はこんなイベントに関わっていました。
4月はこのイベントにかかりっきりで、終わった後はしばらく燃え尽き症候群になっていました。ようやくこのイベントの開催報告のコラムを書くことができました。今回はHardening Zeroの企画から開催までの経緯について、裏話も交えながら解説します。
「運用」に光を――Hardening Zeroにかける思い
「Hardening Zero」とは、WASForumが主催する、最高の「守る(Hardening)」技術を持つトップエンジニアを発掘、顕彰するための競技大会(イベント)です。今回は今後継続して実施していく意図を持ったこのイベントにおける「第ゼロ回」であるため、「Hardening Zero」という名前にしました。
参加者は2人〜6人で1つのチームを作り、チーム対抗で、脆弱性のあるECサイトのハードニング(堅牢化)力の強さを総合的に競います。参加チームはStarBED内に構築された、仮想のネットワーク環境で競技を行います。
この環境にはECサイトが用意されます。ECサイトにはショッピングサイトとしての一般的な機能が備わっており、かつ一定のペースでアクセス数があり、それに応じて売上が上がるという設定です。8時間の競技時間中には、さまざまなインシデントが発生します。参加チームは8時間という限られた時間の中で、このECサイトの管理体制を整え、脆弱性を探し、必要な修正を施し、また、不意に発生する“インシデント”に対応しつつ、ECサイトの売上確保を狙います。
もともと「システム運用に関わる人と技術にもっとフォーカスを当てたい」という思いから今回のイベントは実施されました。システムを止めると叱られるけれど、うまく動かしたところで褒められることがあまりないシステム運用に関わる人や技術にもっとスポットライトを当て、眠っているHardening技術の発掘や研鑽につなげることを目的としています。
同時に、参加する人だけではなく、観戦している人も楽しめるイベントにしたいという思いもありました。そのため、Hardening Zeroは競技を実施する「Hardening Day」に加え、成果発表と表彰を行う「Softening Day」の2本立てで行いました。
開催に向けた準備
最初にこのHardening Zeroの話が持ち上がったのは2011年6月末のことです。弊社の武智から、
NAISTの門林さんと守る技術に焦点を当てた競技会をやりたいから手伝ってくれないか。CTFとは違う形のイベントにしたいと思っている。仕事ではないので、ボランティアになるんだけど、技術的な部分の担当をやってほしい。
と依頼があり、面白そうだと思ったのでほいほいと参加したのが、大変な思いをすることになったイベントの幕開けでした(笑)。
6月末に初めての会合が行われた後、技術的なところを一緒に検討してくれる味方がほしいと思った私は、トライコーダの上野さんとNECネクサソリューションズの中西さんに声をかけました。技術力だけでなく心意気もナイスガイの2人は、即答でOKしてくれました。
私にとっては、お2人を誘ったことがこのイベントの一番の成功要因だったと思っています(お2人は“だまされた”と思っているかもしれませんが、そこは触れないでおきましょう)。もともと上野さんや中西さんとはさまざまなコミュニティでご一緒することが多かったのですが、Hardening Zeroにお誘いしてからはさらに頻繁に会うことになり、毎週のようにミーティングと称して飲みに行っていました。
2011年7月頃から本格的な検討段階に入りましたが、いかんせん、これまでまったくやったことのないイベントです。どういう競技形態にするかが決まらないと、いろいろなアイデアも出てきません。今回は「ECサイトという環境で売上を競う」という設定に決めて、アイデアを詰めていきました。
システム運用というテーマに合わせた環境を作るためには、1チーム当たり複数のサーバを組み合わせて用意する必要がありました。幸いなことに情報通信研究機構(NICT)関係者にスタッフに入ってもらうことで、NICTのStarBEDを競技環境として使用させてもらうことができました。このStarBEDには、多数のサーバ機器と柔軟に設定できるネットワーク環境があり、競技環境としてこれ以上ないほど最適な環境でした。
こうしてスタッフも競技環境もそろっていったのですが、今度は私が本業の忙しさに追われることになりました。環境構築作業がずるずると遅くなってしまい、気がつけば今年の3月も後半になっていました。4月に入ってから大急ぎで環境構築を進めました。そしていざ環境構築という段階になったわけですが、慣れないStarBEDという環境に大苦戦しました。その時の中西さん、上野さんとの会話の内容から、われわれの奮闘ぶりが伝わるのではないでしょうか。
「うわー、VPNつながらない」
「PPTPってNATの下だと1セッションしかつなげないんだっけ?」
「WindowsでPPTPはどうやるんだ」
「Macだとあっさりつながったよ」
「VPNとインターネット接続の切り替えがめんどくさい」
「ハードウェア管理画面につなげる経路はどれ?」
「宮地さ〜ん(*)、助けて〜(泣)」
「この管理画面はJavaとFlash Playerが必要なのか。入れたくないなあ」
「これ、名前解決ができない気がする」
「えー、全然つながらない」
「少なからずネットワークに触れてきたと思うけど、これだけできないのはショック」
「踏み台のIPアドレス何だっけ」
「あのサーバにつなぐためにSSHのポートフォワードが必要なのか」
「何段もポートフォワードするのが大変」
「宮地さん、Skypeにいるかなあ」
「参加者がいきなり“さくっ”とVPNつないだら凹むね、これは」
「やっぱり参加者にも苦労してもらうしかないな」
「なぜかECサイトの動作が重い」
「DBサーバへの接続があまりに遅い」
「StarBED内から直接インターネットにつながらないのか」
「宮地さん、このパッケージ入れてください。明日までに」
*情報通信研究機構 北陸StarBED技術センター所属の、Hardening Zeroスタッフの1人
今となっては大したことはない問題ですが、当時は、時間に追われる焦りとうまくいかない設定に泣きそうになりました。北陸StarBED技術センターの宮地さんには大変お世話になり、われわれのむちゃくちゃな要求に迅速に対応してもらったおかげで、何とか競技環境を構築することができました。
実は、宮地さんのメール返信と対応があまりに速いため、「宮地さんは実は3人くらいいるんじゃないのか」と噂されるほどでした。いまだその謎は解けていません。
技術チームが競技環境構築にはまっている一方で、門林さん&岡田さん&武智さんのオヤジチームは、参加者募集の準備を進めました。第ゼロ回目でまだ知名度のないイベントだったため、スタッフの知っている範囲で声をかけて、何とか8チームが集まりました。当初は社会人参加者が少ないのではないかと予想しましたが、集まってみれば学生の方が少ない状況で、実際にシステム運用の現場で戦っている人が多く集まりました。
Hardening Day、始まる
いよいよHardening Zeroの本番、4月21日(土)のHardening Dayがやってきました。今回の競技は「株式会社ハードニング」という架空の会社が運営する架空のECサイト「ハードニングゼロショップ」のシステム運用という設定です。この架空のECサイトのシステム担当者が急きょ交代し、参加者チームにバトンタッチする……というハプニングを乗り越え、売上確保のためにシステムを安定運用してもらいました。
ルールは、「競技終了時点で売上が最も多いチームが優勝」というシンプルなものにしました。ECサイトが安定稼働すればするほど売上がアップしますが、システム障害やハッキングなどのセキュリティインシデントが発生し、ECサイトが停止すると、売上は伸びません。情報漏えいやシステムの脆弱性が発見された場合には、売上がダウンするというルールもあります。
競技環境にはいくつものイベントが仕込んであり、参加チームはこれらのイベントに対応しつつ、ECサイトを安定運用することが求められます。
- VPN接続に苦労する
- システム稼働に必要な情報が不足している
- パスワードが分からないシステムがある
- 突然システムがリブートする
- Webアプリケーションが攻撃される
- 設定に不備がある管理画面が悪用される
- 引き継ぎ漏れによってシステムが停止する
- 外部から脆弱性の存在を指摘される
- ECサイトが原因不明のエラーを出力する
- ECサイトのお客様から問い合わせメールが送られてくる
……などなど
イベント運営側として最も頭を悩ませたのは、これらの競技の「難易度調整」でした。参加者が容易にシステム設定できる環境を提供すれば堅牢なシステムとなるため、何もセキュリティインシデントが発生せず、競技会としての盛り上がりに欠けてしまいます。その半面、脆弱なシステムにし過ぎると現実のシステムとのかい離が大きくなります。このあたりのさじ加減がとても悩ましいところです。
シナリオには、いままでJSOC(Japan Security Operation Center)で対応したお客さまのインシデント事例を取り込み、「意外にケアされていない問題点」を作り込みました。このようなイベントでは、この「リアリティがあるシナリオの作りこみ」が重要なポイントになりそうです。
競技ルールや会場使用に関するルールを一通り説明した後に、Hardening Zeroの競技が開始されました。各チームは各自持ち込んだ機材をセットアップして、対象となるシステムへの接続と、対策に乗り出しました。
Index
川口洋のセキュリティ・プライベート・アイズ(40)
実録、「Hardening Zero」の舞台裏
Page1
Hardening Zero、開催しました!!
「運用」に光を――Hardening Zeroにかける思い
開催に向けた準備
Hardening Day、始まる
Page2
Ustream中継のかたわらで進む競技
競技結果を振り返るSoftening Day
対応に現れた各チームの特色
Hardening Oneに向けて
求む、次なる挑戦者!
Copyright © ITmedia, Inc. All Rights Reserved.