ココンの情報をいつでも、どこでも。ココントコ。

イベントインタビュー広報 2018.09.07

“ハッカーの祭典”DEFCON 26 〜DEFCON CTF参加者インタビュー〜

広報の馬場です。
先日、アメリカ・ラスベガスで開催された情報セキュリティに関する世界最大級の国際会議「DEFCON 26」。
その中で、世界中の腕に覚えのあるハッカーが集まる世界最高峰のハッキングコンテスト「DEFCON CTF」にイエラエセキュリティのエンジニアが「binja」チームの一員として参戦し、586チーム(本戦は24チーム)中8位という成績をおさめました。
今回、「binja」チームとして参戦したイエラエセキュリティのエンジニア3名に、今回の「DEFCON CTF」についてインタビューしました!

◆小池悠生(こいけ・ゆうき) さん
◆千田雅明(ちだ・まさあき)さん
◆中の人一号さん

今回のDEFCON CTFはどんな内容だったのか

DEFCON CTFに参加した率直な感想を教えて下さい

小池悠生さん(以下、小池さん):僕は今回3回目の参加で、初めて参加したのは中学3年生の時でした。過去2回の成績はあまり良くなかったので、今回は良い成績をとりたいと思って参加しました。DEFCON CTFの運営が前回と変わっていて、正直な所、成績は運営との相性しだいのところもあって、、、。始まる前は不安でしたが、始まってから相性が悪いことが分かりました(苦笑)

難しかった点をおしえてください

中の人一号さん:今回のCTFに関して言えば、問題の傾向が過去と少し変わったところが難しかった点として挙げられます。DEFCON CTFでは定期的に運営者が交代するのですが、今回のDEFCON CTF 2018は、ちょうど新しい運営者に変わってから最初の年で、問題の傾向が少し変わっており、新しいジャンルの問題が追加されました。そのような問題があるとは予想しておらず対策もしていなかったので、チーム内で対応に追われました。

どんな問題が出題されたのでしょうか

小池さん:今回はいつもと違って新しい傾向でした。今まで”アタック&ディフェンス”と言って、各チームがサーバを持ってその上でアプリケーションをホスティングして、そこに脆弱性があってお互いを攻撃し合いつつ、脆弱性を見つけたらパッチするという形をとっているんですけど、今回はもう一つ別の”King of the Hill”という形式があって、二つの形式の合算でスコアを競っていました。”King of the Hill”は一つだけサーバがあって、その上で脆弱性が存在するアプリが動いてて攻撃すると侵入できます。ただ、サーバが一つしかないので他のチームに先に侵入されてしまうと、そのサーバ上で悪さをして他のチームの侵入を妨害されてしまう可能性があります。侵入した先でも、管理者権限や一般ユーザーなどいくつか権限があって、どのチームも侵入出来なかった問題が2つありました。それも苦戦しましたね。管理者権限を奪う多段階の形式は、日本のセキュリティカンファレンスのSECCONでよく見る形式ですね。その他に”Use After Free(注1)”と、”Type Confusion(注2)”というのがありました。

(注1)Use After Freeとは、簡単に言うとプログラムに意図しないデータを読み込ませて誤作動させる為の攻撃手法です。Use After Freeを許してしまう脆弱性を持ったプログラム上で特定の条件が揃うと、プログラムに意図しないデータを読み込ませられる状況を作り出せます。場合にもよりますが、Use After Freeと必要に応じて他の攻撃手法を組み合わせることで、プログラムを乗っ取れたりします。

(注2)Type Confusionとは、プログラムがデータの種類を取り違えるバグを利用した攻撃手法です。データの種類に応じて異なる処理を実行するようなプログラムで、データの種類を取り違えるようなバグがあると、プログラムが本来意図しない挙動が引き起こされます。Type Confusionでは、プログラムのバグを利用してあえてデータの種類を混同させ(confuse = 混同する)、意図しない挙動を引き起こして攻撃に利用します。場合にもよりますが、Type Confusionでも、必要に応じて他の攻撃手法を組み合わせることで、プログラムを乗っ取れることがあります。

攻撃コードを書くときは何度も書き直すのですか

小池さん:実際に書いて修正してみてどんな感じか確認しながら書き直すことが多いですね。ローカルとか自分のサーバに同じ環境を作ってみて成功したら相手のサーバへ攻撃します。攻防戦だと、他のチームに送った入出力が記録されて後から公開されてしまうので、それを解析して攻撃をみつけても良いんです。ということは、他のサーバにヘタに途中経過を送ってしまうと、それでバレてしまうことがある。その辺は慎重を期さないといけないですね。

問題を解くのにどれくらい時間がかかりますか

小池さん:CTFの問題なら簡単なものなら1時間くらいで、難しいものなら10時間くらいですね。現実だともっとかかるとは思いますが。

DEFCON CTFに参加を続ける理由とは

CTFに参加したきっかけは何ですか

千田雅明さん(以下、千田さん):人に誘われて参加したのがきっかけですね。初めて参加したのは2011年頃。
小池さん:中学生の時、ハッキングに対する憧れからセキュリティの勉強を始めてみて、なんとなくできるようになってきた時にCTFという競技の存在を知って参加してみました。CTFの良いところって、問題が出題されて必ず解けるようになっているんですよ。つまり、絶対にハッキングができる何かしらの脆弱性とか不具合があってそれが攻撃できて実際にサーバに侵入できる、みたいな成功体験が得られる。これってすごい大事で、現実世界だとバグとか脆弱性がないソフトかもしれないし、要は答えがないわけじゃないですか。それに対してCTFは絶対答えがあって、楽しい体験もできるし勉強になる。解けるように作られている。普通のソフトウェアだと専門家の方が1週間とか1ヶ月、ヘタしたら1年とかかけて解析している。CTFは長くても、48時間から72時間程度で普通の人は解けるように作られている。そういった点でも学習に最適。あとは、単純に楽しいからですね。攻撃ってパズルのような要素があるんですよ。プログラムの実装の不具合をみつけて、うまいこと利用しないといけない。工夫しないとうまくいかないようなことが多くて、そこにパズルの要素を感じますね。

なぜCTFに参加するのですか

千田さん:CTFは競技であって参加していて楽しいから。別にCTFである必要はなくて、限られた時間内に限られたリソースで同一のルール上でみんなで競うから面白い。それに、自分の興味のある分野で競いあえるところや、様々な分野が出るところも面白いと思うところの一つですね。
中の人一号さん:パズルを解くような面白さを求めてCTFに参加しています。どこの分野でも同じかと思いますが、セキュリティと一口に言っても関連する技術の範囲は多岐に渡り、それぞれが発展を続けているので、CTFの問題も少しずつ変わり続けています。
小池さん:DEFCONはCTFの中では一番大きく権威がある大会で、CTF強豪チームがこぞって絶対参加する大会です。今回は、予選に586チームが参加して、24チームが本戦へ出場しています。年によっては、1,000チーム以上が予選に参加している年もありますね。CTFをしている人間からすると、DEFCON CTFに出場することやそこで優勝することを夢にしている人が多い大会なんです。

CTFに出るために勉強はしましたか

千田さん:CTFのために勉強はしないですね。趣味として自分の興味のある範囲で調べたりすることはありますが。競技になると主催者が様々な分野で最先端にならった出題をするから幅が広がるということはあります。

CTFは仕事に活かせますか?どんな所が活かせるのか教えてください

中の人一号さん:「CTFは仕事に活かせる/活かせない」は人によって主張が分かれますが、僕自身は活かせていると考えています。CTFではときに、普段の業務では解析しないようなものを解析することになったり、未知の解析対象に対する試行錯誤の過程で新たなツール・手法を知ることがあります。そこで学んだことや試行錯誤の経験が後に仕事で役に立つことがしばしばありますし、その逆もあります。

ありがとうございました!そして長時間の戦いお疲れ様でした!

イベント 2018.12.06

手に汗握る!デジタルイラストグランプリ開催

Panda Graphics株式会社の塩田です! Panda Graphicsは、主にスマートフォン向けのソーシャルゲームを中心…

エンジニア 2018.11.14

競馬予想AI再び -後編- 〜アンサンブル学習編〜

AI戦略室の坂本です。 あまりに気合いを入れて作成すると、社内での自分の評価が「競馬予想の人」になって…

エンジニア 2018.11.14

競馬予想AI再び -前編- 〜LambdaRank編〜

AI戦略室の坂本です。 元はといえば忘年会の余興から始まった競馬予想AIですが、ブログ記事のアクセス数も…