攻めと守り

この記事はSLP KBIT Advent Calendar 2015の4日目の記事です。

私が今年はじめて出場したセキュリティコンテストの形式について紹介しようと思います。

attack & defense (攻防戦)とは

attack&defenseはCTFの一種です。CTFと聞くと主催者から幾つかの問題が出されて、解答となるflagを見つけると難易度に応じたポイントが貰えるという形式を思い浮かべると思います。これは、CTFの中のjeopardy(クイズ)形式と呼ばれるものです。世界各地で数多く開催されており、また多くはオンラインで開催されるため、気軽に参加することが出来ます。2015/12/05(土)15:00~このjeopardy形式でSECCON CTFのオンライン予選が開催されます。

これに対し、attack&defense形式は、主催者から各チームに同じ脆弱性を含んだシステムが配られます。参加者は、自分のチームのシステムの脆弱性を修正するなどして守りつつ、その脆弱性を利用して他のチームのシステムを攻撃し、システムを停止させたりその中にある情報を抜き出したりする形式です。

他のチームのシステムを攻撃し内部の情報を抜き出すことで攻撃点が、主催者によって定期的に行われるシステムチェックにクリアすることによって防御点が得られます。逆に、他のチームから攻撃を受けると、減点されてしまいます。

システムの脆弱性を見つけた参加者は、他のチームに対して攻撃をするとともに自分のシステムを修正する必要があり、チームでいかに役割分担ができるかが問われます。

この形式は、実際に攻撃を行うので閉じたネットワークでしか開催できないため、これまでは大きなセキュリティコンテストの決勝大会などでしか開催されていませんでした。しかし、今年はSECCONforビギナーズ 2015 博多、奈良、そしてSECCON 2015 九州大会でattack&defense形式によるCTF大会が開催されました。私はこの内CTF for ビギナーズ 2015 奈良に参加してきました。

感想

この形式の最大の特徴は実際にシステムを攻撃して情報を抜き出したり、逆に攻撃を受けたりといった流れが体験できることです。実際にシステムから情報が抜けたときは達成感がありますし、逆に攻撃を受けて慌てるのもスリルがあり非常に楽しかったです。例えば、実際に企業のシステムが攻撃を受けると一定の損害を受けます。ここでは減点という形でスコアに現れます。 また、攻撃を受けた際、脆弱性のあるシステムを一旦停止させるという判断もありますが、実際の企業でそれをやるとその時間の長さに応じて損害が生じます。これもディフェンスポイントが入らなくなるという形で再現されています。これにより、企業で実際にシステムを運用している際に迫られる判断なども体験できました。

さいごに

このような貴重な経験をさせて頂いたSECCON実行委員会の皆様には感謝しております。

来年も開催されるかわかりませんが、開催された場合は皆さんもぜひ参加してみましょう。