CTF参加者インタビュー〜ココンの情報をいつでも、どこでも。CTF参加者インタビュー〜ツイート広報の馬場です。CTF」にイエラエセキュリティのエンジニアが「binja」チームの一員として参戦し、586チーム(本戦は24チーム)中8位という成績をおさめました。CTFに参加した率直な感想を教えて下さい小池悠生さん(以下、小池さん):僕は今回3回目の参加で、初めて参加したのは中学3年生の時でした。過去2回の成績はあまり良くなかったので、今回は良い成績をとりたいと思って参加しました。CTFの運営が前回と変わっていて、正直な所、成績は運営との相性しだいのところもあって、、、。始まる前は不安でしたが、始まってから相性が悪いことが分かりました(苦笑)難しかった点をおしえてください中の人一号さん:今回のCTFに関して言えば、問題の傾向が過去と少し変わったところが難しかった点として挙げられます。2018は、ちょうど新しい運営者に変わってから最初の年で、問題の傾向が少し変わっており、新しいジャンルの問題が追加されました。そのような問題があるとは予想しておらず対策もしていなかったので、チーム内で対応に追われました。どんな問題が出題されたのでしょうか小池さん:今回はいつもと違って新しい傾向でした。Hill”という形式があって、二つの形式の合算でスコアを競っていました。Hill”は一つだけサーバがあって、その上で脆弱性が存在するアプリが動いてて攻撃すると侵入できます。サーバが一つしかないので他のチームに先に侵入されてしまうと、そのサーバ上で悪さをして他のチームの侵入を妨害されてしまう可能性があります。侵入した先でも、管理者権限や一般ユーザーなどいくつか権限があって、どのチームも侵入出来なかった問題が2つありました。それも苦戦しましたね。管理者権限を奪う多段階の形式は、日本のセキュリティカンファレンスのSECCONでよく見る形式ですね。Confusion(注2)”というのがありました。Freeとは、簡単に言うとプログラムに意図しないデータを読み込ませて誤作動させる為の攻撃手法です。Freeを許してしまう脆弱性を持ったプログラム上で特定の条件が揃うと、プログラムに意図しないデータを読み込ませられる状況を作り出せます。Freeと必要に応じて他の攻撃手法を組み合わせることで、プログラムを乗っ取れたりします。Confusionとは、プログラムがデータの種類を取り違えるバグを利用した攻撃手法です。データの種類に応じて異なる処理を実行するようなプログラムで、データの種類を取り違えるようなバグがあると、プログラムが本来意図しない挙動が引き起こされます。混同する)、意図しない挙動を引き起こして攻撃に利用します。Confusionでも、必要に応じて他の攻撃手法を組み合わせることで、プログラムを乗っ取れることがあります。攻撃コードを書くときは何度も書き直すのですか小池さん:実際に書いて修正してみてどんな感じか確認しながら書き直すことが多いですね。ローカルとか自分のサーバに同じ環境を作ってみて成功したら相手のサーバへ攻撃します。攻防戦だと、他のチームに送った入出力が記録されて後から公開されてしまうので、それを解析して攻撃をみつけても良いんです。いうことは、他のサーバにヘタに途中経過を送ってしまうと、それでバレてしまうことがある。その辺は慎重を期さないといけないですね。問題を解くのにどれくらい時間がかかりますか小池さん:CTFの問題なら簡単なものなら1時間くらいで、難しいものなら10時間くらいですね。現実だともっとかかるとは思いますが。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に出場することやそこで優勝することを夢にしている人が多い大会なんです。CTFに出るために勉強はしましたか千田さん:CTFのために勉強はしないですね。趣味として自分の興味のある範囲で調べたりすることはありますが。競技になると主催者が様々な分野で最先端にならった出題をするから幅が広がるということはあります。CTFは仕事に活かせますか?どんな所が活かせるのか教えてください中の人一号さん:「CTFは仕事に活かせる/活かせない」は人によって主張が分かれますが、僕自身は活かせていると考えています。CTFではときに、普段の業務では解析しないようなものを解析することになったり、未知の解析対象に対する試行錯誤の過程で新たなツール・手法を知ることがあります。そこで学んだことや試行錯誤の経験が後に仕事で役に立つことがしばしばありますし、その逆もあります。2020」参加レポート広報の馬場です。