AKATSUKA x HANEMAN TECH

コミュニティ、ワークスタイル、クラウドなどについておもいつくままに書きます

爆笑!!東京・名古屋・大阪・仙台 四つ巴の決戦!AWS Game Day Japan 2014 春 参加レポート

どうも、脱藩野郎アカツカです
仕事もせずにブログばっか書いてていいのでしょうか。。

今回はついにGame Dayに参加してきましたので、レポートしてみたいと思います。

What's AWS Game Day

なんとアメリカ大統領選挙オバマ候補陣営の選挙運動を支え続けたシステムがAWSでした。
このシステムの強化に使われたのが「Game Day」で、チームが敵味方に分かれてお互いのシステムを攻撃し、修復します。

オバマ・フォー・アメリカ(OFA)を指揮したMiles Ward氏
電気ブランとチューハイが大好きらしい。。 https://scontent-b.xx.fbcdn.net/hphotos-ash4/t1.0-9/1185919_464776210317998_1764363114_n.jpg

前回は2013年に行われて、あまりにエッジの効いたテスト手法に日本のトラディショナルなベンダーからは賛否の声が上がっていましたが、とにかくおもしろそうですよねw
そして今回「JAWS DAYS 2014」の前夜祭として、東京・大阪・名古屋・仙台の4拠点を結んだAWSエンジニアによる血で血を洗うクラッキング対決が行われたのです!

会場

データコム株式会社様
いつも本当にありがとうございます!
こちらの地主 雅信さんは、本編でRedShiftの講演もされました。

JAWS-UGの会場はここですね(ウソ) https://scontent-a.xx.fbcdn.net/hphotos-frc1/t1.0-9/1622625_464772743651678_802503660_n.jpg

流れ

https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/t1.0-9/1098160_464772940318325_1983897798_n.jpg

ルール

  • 対戦に用いるアカウントは、今回限りのアカウント(第三者に教えるので)。
  • 攻撃フェーズや修復フェーズで行った作業は、評価に使うのでメモしておく。
    地味で姑息な攻撃でも説明が面白ければ高得点もあるかも。

  • 相手に経済的な打撃を与える攻撃はNG。

  • AWS利用規約に反したり、法に触れる攻撃はNG。
  • インスタンスやAMIを消すのはカンタンすぎるので、その他の攻撃を考える。

構成

Imput Queueに手動で画像URLを何個か渡すと、とってきた画像をEC2上のPythonプログラムが一枚に合成してS3に保存、画像URLをOutput Queueに出力するシステム。

なんかこんな感じ https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-prn2/t1.0-9/1507021_465145693614383_2058484753_n.jpg

チーム分け

仙台は以下の2チームです
* チーム八重の桜(会津支部混合チーム)
* チームZAO(仙台・山形支部の共通点といえば蔵王でしょう!)

f:id:tech-haneman:20140318231340j:plain

圧倒的じゃないか、我が軍は!!だってcloudpackエバンジェリストの吉田さんクラスメソッドの大瀧さんですよ!
こんな方々と一緒にできるってエキサイティングです。いや〜来てよかったww
他の人が普段どんな感じで開発をしているのか、外の空気を吸う素晴らしい機会にもなりました。
ということで私は一旦笹カマでも食べてきます(うそです)

構築

90分でシステムを作るのはキツいかもと思ってましたが、経験者のサポートでスムーズに作れました(なんと60分ぐらいでできた)。
構成は昨年のものと同じとのことで、違う点はだいたい以下の通りです。

  • Management ConsoleにAuto Scalingの管理機能が追加されて楽チンになった。
  • 対戦相手を決めるのがWEBシステム上で出来るようになった。

大瀧さんがハマりそうなところを先回りしてヘルプしてくれたり、吉田さんがレビューしてくれるので私はひたすらManagement Consoleをいじるだけですw
マニュアルを見るとどうやら教材用の資料らしく、レベル的にはAWSのトレーニング資料をやっていれば問題ない感じでした。

二つの画像が合成された https://scontent-b.xx.fbcdn.net/hphotos-frc3/t1.0-9/10001419_464772846985001_2138355715_n.jpg

防衛のための主な仕組み

  • シェルスクリプトPythonプログラムのログを監視してエラーがある場合に通知メールを送る
  • CloudTrailで操作ログを残す。

壊されるのはあまり防げないので、早めに検知して対応できるようにする作戦です。

攻撃

さぁ、どんなイケナイことをしてやろうかとプランを立てます。

f:id:tech-haneman:20140318233016j:plain

GameDayでの模範的攻撃は以下です。

  • 相手先のシステムが止まるように攻撃。
  • できるだけ分かりにくく、修復しにくいのがいい。

いや〜、ワルいw
でもルールの制約があるので意外と難しいですね、
IAMパワーユーザーって出来ることは少ないですが、実際にこのくらいの権限の方が多いと思うと、わりと実践的なのかもしれませんね。

という事で、侵入者らしく相手のCloudTrailをオフ&ログを消して攻撃スタート

  • 挨拶代わりのふざけた画像アタック
  • どうやら相手チームの中に大瀧さんのお知り合いがいらっしゃるようで、恥ずかしい画像爆弾で動揺を狙います。。
  • システム起動のしきい値をあげて動かなくする
  • SecurityGroupのアウトバウンドを変更(ssh->all icmp) 地味に分かりにくい!
  • 画像をGlacierに保存(時間的な制約でできなかった)
  • インスタンス名を「baka」にする。。

もはや子供のけんかです...

途中で異変に気づく。

「我々以外もシステムをいじってない?? 」

そう、この標的は2チームから攻撃を受けていたのです。。
チーム分けのプログラムに日本語(マルチバイト)でエラーが出る不具合があったため、運営の方が途中でプログラムを修正されていたのですが、その辺でうまく行かなかったのかもしれません。

ということは、1チームだけ攻撃されていない可能性が出てきました。。

AWSの運営の方が画面越しに肩をふるわせて笑いをこらえているのが見えますww
全国規模でどんなふざけた攻撃が飛び交っているのでしょうか!!

修復

さー、どんなイタズラをされたのか楽しみです。
プログラムのデバッグとかシステムの問題を探すのは楽しいです(お客さんのだと青ざめますが。。)
https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-prn1/t1.0-9/1011452_464773070318312_2103899630_n.jpg

まずはざっくりとシステムテストで、攻撃されて問題ある事を確認します。
時間的にserverspecなどないので、人力&二分法でやっつけるしかないでしょう。

「あれ、動きますね。。」
もしかして攻撃されていないのはチームZAO!?

AWS荒木さんの写真を拝借。。

f:id:tech-haneman:20140318230846j:plain

「じゃあ攻撃されていないことを証明してください」
でた外資系のアタマいい人!!

「CloudTrailのログは?」
「時間的にも我々の操作履歴ぐらいしかないっすね」
つまり侵入されてないってことで!
CloudTrailさまさまですね★

いやー、いっぱいトラップ仕掛けたのに残念!
ウソです。。無事やり遂げてホッとしたぁ

表彰

「優勝したら何がもらえるんだろう。。」
「やっぱラスベガス行きのチケットでしょ」
Amazonギフト券いっぱいとか。。」

翌日の表彰風景

https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-ash3/t1/1510557_464776433651309_1663322284_n.jpg

https://fbcdn-sphotos-g-a.akamaihd.net/hphotos-ak-prn1/t1/10014998_464776460317973_548440978_n.jpg

https://scontent-a.xx.fbcdn.net/hphotos-ash3/t1.0-9/1901810_464776483651304_518579932_n.jpg

AWSの方が買ってきた「ういろう」や「ずんだ」でした。。
ケチ!!ありがとうございました!

感想

正直いって参加するまではけっこう不安で、久しぶりにCDPの本を引っ張りだして読んでました。
実際にやってみると、公式のトレーニング資料をこなしていれば、業務経験がない学生でも十分参加可能だと感じました。
しかも経験者がサポートにつくので、思い切って胸を借りるつもりで行けば大丈夫でしょう。
Go Game Day!!
AWS クラウドサービス活用資料集 | アマゾン ウェブ サービス (AWS 日本語)

いい勉強になりました! ! (AWS荒木さんの写真)

f:id:tech-haneman:20140318232639j:plain

さぁ!JAWS DAYS前夜祭 奥の細道はこれから始まりますよ。
つづく...