SECCON2016横浜大会で優勝した
先月、情報セキュリティーの技術を競う、SECCONの横浜大会で優勝してきました
そのメモとか書いておきます
なにか問題があれば Twitter で @bbottait まで連絡をください
背景
プログラミング歴: 1年強
セキュリティ歴: 5ヶ月
参加理由: セキュリティキャンプに向けての事前自主学習の一環として
といった具合でした
なぜ素人がSECCON地方大会で優勝できたのか?と不思議に思われるかもしれません
SECCON横浜大会
SECCON横浜大会とは、スマートフォンのゲームアプリに対してのチート技法、対策について競う大会です
予選で、実際にゲームアプリに対してチートを行い、決勝としてCEDECというゲーム開発者向けのカンファレンスでプレゼンを行います
SECCONのページ
CEDECのページ
問題は2問あります
1つめはNightmareというゲームです。オフラインゲームです
周囲から迫り来る敵がやってくるので、それに対して画面をタッチしてショットを打って倒していくゲームです
このゲームにかけられたチート対策は簡単なメモリの暗号化、Assembly-CSharp.dllというゲーム本体のdllの暗号化です
2つめはSUNIDRA2というゲームです。こちらはオンラインです
このゲームは2D場面と3D場面からなります
2D画面ではスタミナや攻撃力などのパラメータが表示されており、石を消費することによってパラメータを上昇させられます
炎やドラゴンに触れると3D場面に以降します
3D場面は下のような形です
画面をタップして敵に近づいて攻撃して倒せばクリアです
3D場面でのパラメータは2D場面のものが使われます
このゲームではチート対策として、il2cppでのビルド(armのstripped-binaryを吐く)、エミュレータ検知?(少なくともBluestacksで動かなかった)、サーバー上で値の検証などがありました
勝因
難しすぎて1名からの応募のみ #CEDEC2016 #seccon pic.twitter.com/7LLemSq0kG
— Yasuhiro Morishita (@OrangeMorishita) 2016年8月26日
勝因は参加者が一人だったから、以上です
今回の大会は
- 学生限定
- 個人戦
- 試験期間
- 昨年より若干問題が難しい
- Pokemon Go とかぶる
の5連コンボによって参加者が1名しかいませんでした
出場すれば優勝できるってお得ですね!
発表スライド
初心者なのでいくつか間違ってるとこがあります(・ω<) テヘペロ
0で埋めるのはnopじゃないです
デモ動画
SECCON横浜 Nightmareのスコア改ざん +不死身チート のデモ pic.twitter.com/Oty6bwdnZU
— totem@進捗ダメです (@bbottait) 2016年9月4日
SECCON横浜 攻撃力チートした SUNIDRA2 pic.twitter.com/0vRrRDbqFk
— totem@進捗ダメです (@bbottait) 2016年9月4日
やったこと
僕はこの大会までもちろんチートなどしたことがありませんでした
ですのでGoogle先生と相談してチートを行いました
実際にしたチートはスライドをサッと見てみてください
恐らく対策側の皆さんもチートする人はどのあたりの情報を見るのかということは気になるところだと思うので、一応どんなページを見たかなど書いておきたいと思います
来年以降の参加者の方もまずはこの辺から順に見ていくといいかもしれません。
- 2ch - チート板などで語句検索して流し見。無駄な情報が多いです
-
iAndroHacker - 2ch で how to decrypt Assembly-CSharpでググると幸せになる とだけ書かれてたのでググって幸せになりました
-
SECCON 2015 横浜大会 CEDEC CHALLENGE 開催 | SECCON 2015 Web - 去年の挑戦者の記録があってとても勉強になりました
- PokemonGoのチート関連のアメリカのページ - PokemonGoがil2cppを用いているのでil2cppを破るヒントがないか探しました
そもそものJavaのデコンパイル部分やapkを開いたり署名しなおしたりも含めて細かくあげるともっともっとたくさんあるのですが、基本的にはこのようなあたりをメインで参考にしつつ、他に気になった語句を検索してといった感じです
結構中国のサイトも機械翻訳を使って読みました
今回でだいぶGoogle先生と仲良くなった気がします
感想
出来る出来ないに関わらず、取り組むことは大事だと思いました(小並)
お客さんにはそれなりに喜んでもらえましたし、来年以降もこのような形の横浜大会が開かれてくれたらと思います
必要であればいくらでも協力させていただきたいです
また、SECCON運営事務局の方、審査員の方々、CEDECスタッフの方々、そして来場者の皆様ありがとうございました
p.s 一応プレゼンまでやれましたし、ポテンシャル(笑)を見込んでインターンとか採用してくれてもいいんですよ企業さん!(注:夏インターン全落ちしました)
Google力を見込んでCTFのチームとかにrecon枠とかで採用してくれてもいいんですよCTFerの皆さん!