読者です 読者をやめる 読者になる 読者になる

とてむのログおきば

だらだらとパソコンを触る大学生のブログ

SECCON2016横浜大会で優勝した

先月、情報セキュリティーの技術を競う、SECCONの横浜大会で優勝してきました 
そのメモとか書いておきます

なにか問題があれば Twitter で @bbottait まで連絡をください

背景

プログラミング歴: 1年強

セキュリティ歴: 5ヶ月

参加理由: セキュリティキャンプに向けての事前自主学習の一環として

といった具合でした
なぜ素人がSECCON地方大会で優勝できたのか?と不思議に思われるかもしれません

SECCON横浜大会

SECCON横浜大会とは、スマートフォンのゲームアプリに対してのチート技法、対策について競う大会です

予選で、実際にゲームアプリに対してチートを行い、決勝としてCEDECというゲーム開発者向けのカンファレンスでプレゼンを行います

SECCONのページ

2016.seccon.jp

CEDECのページ

cedec.cesa.or.jp

問題は2問あります

1つめはNightmareというゲームです。オフラインゲームです

f:id:bbottait:20160910055918p:plain

周囲から迫り来る敵がやってくるので、それに対して画面をタッチしてショットを打って倒していくゲームです

このゲームにかけられたチート対策は簡単なメモリの暗号化、Assembly-CSharp.dllというゲーム本体のdllの暗号化です

2つめはSUNIDRA2というゲームです。こちらはオンラインです

このゲームは2D場面と3D場面からなります
2D画面ではスタミナや攻撃力などのパラメータが表示されており、石を消費することによってパラメータを上昇させられます
炎やドラゴンに触れると3D場面に以降します

f:id:bbottait:20160910060242p:plain

3D場面は下のような形です
画面をタップして敵に近づいて攻撃して倒せばクリアです
3D場面でのパラメータは2D場面のものが使われます

f:id:bbottait:20160910060255p:plain

このゲームではチート対策として、il2cppでのビルド(armのstripped-binaryを吐く)、エミュレータ検知?(少なくともBluestacksで動かなかった)、サーバー上で値の検証などがありました

勝因

勝因は参加者が一人だったから、以上です
今回の大会は

  1. 学生限定
  2. 個人戦
  3. 試験期間
  4. 昨年より若干問題が難しい
  5. Pokemon Go とかぶる

の5連コンボによって参加者が1名しかいませんでした

出場すれば優勝できるってお得ですね!

発表スライド

初心者なのでいくつか間違ってるとこがあります(・ω<) テヘペロ

0で埋めるのはnopじゃないです

デモ動画

やったこと

僕はこの大会までもちろんチートなどしたことがありませんでした
ですので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の皆さん!