見出し画像

小竹 泰一【CODE BLUE SPEAKER インタビュー】

[Speaker interview, English follows]

Ipa-medit: JailBreakの必要のないiOSアプリ向けメモリ改ざんツール

今回はBlueboxから「Ipa-medit: JailBreakの必要のないiOSアプリ向けメモリ改ざんツール」の講演をされる小竹 泰一氏のインタビューをお届けします。

https://codeblue.jp/2022/talks/?content=talks_23

講師の小竹氏は、脆弱性診断などを行うセキュリティ企業の副社長/CTO、ゲーム開発企業のセキュリティエンジニアとして活躍する人物。CODE BLUE 2020 Bluebox、BlackHat USA 2020-2021 Arsenalなどにも登壇しています。
講演のテーマは、モバイルゲーム向けに開発された iOS アプリ用メモリ編集ツールです。JailBreakが不要で、なおかつApple Silicon Mac上で動作するiOSアプリにも対応とのことで、ゲーム開発者やセキュリティの専門家などには有用でしょう。

―― 発表されるテーマを始めたきっかけは何ですか?

小竹氏:ゲームアプリを対象にした脆弱性診断では、一般的なアプリケーションに発生しうる脆弱性の有無に加え、各種チートが行えるか、行える場合は何らかの障壁が用意されているかを確認します。今回の講演で扱う、UI上の値をメモリから探し出し改ざんする「メモリ改ざん」は数あるチート方法の中で最も簡単で、最も有名な方法です。脆弱性診断でも、もちろんメモリ改ざんを行います。その際に使える良いツールが存在しなかったため、meditシリーズの開発を始めました。
CODE BLUE 2020では、Androidアプリを対象としたメモリ改ざんツール「apk-medit」を紹介しました。その後、iOSアプリを対象にしたバージョンを作れないかと考え始め、今回の研究を始めることになりました。カスペルスキーの支援を受け参加した2015年、学生スタッフとして参加した2016年より憧れていたCODE BLUEに2度も登壇できるのは感慨深いです。

―― この研究を行う上で、障害となったことは何ですか?

小竹氏:apk-meditを実装した際には、Linux向けのデバッガを作るのと同様の、よく知られているアプローチで実装できました。ipa-meditはiPhone上で動作するiOSアプリ、Apple Silicon Mac上で動作するiOSアプリを対象にしています。これらを対象には、Linux向けのデバッガを作るのと同様のアプローチでは実装できませんでした。特に、Apple Silicon Mac上で動作するiOSアプリを対象とした実装では、参考にできる実装があまりなく、使うべきApple独自のAPIを探し出すのに苦労しました。講演では、ツールの使い方の説明だけではなく、実装がそれぞれどのように異なるのかも解説します。システムプログラミングが好きな方はぜひ聞きに来てください。

―― この講演に参加しようと思っている人たちに一言お願いします。

小竹氏:ゲームアプリの脆弱性診断に取り組んでいる方は、使い勝手の良いツールが無い点や厄介なチート対策機構(厄介なのはいいことです!)に日々苦労していると思います。そのような方にmeditシリーズを知っていただきたいです。
日頃、脆弱性診断を行っている方の中でもゲームアプリの脆弱性診断を行ったことがある方は少ないと思います。ツールの説明だけではなく、ゲームアプリと一般的なスマホアプリを対象にした脆弱性診断ではどのような違いがあるのかも解説しますので、ゲームアプリに対する脆弱性診断の雰囲気を掴みたい方にも本講演はおすすめできます。
前回発表したapk-medit、今回発表するipa-meditは共にGitHub上で公開されていますので、私の講演をスケジュールの都合上聞けない方にも是非使ってみてほしいです。また、全く関係ないですが、渋谷でのランチにはもうやんカレー、築地寿司清、とらふぐ亭、おにやんまがおすすめです。会場で会えるのを楽しみにしています!


“Ipa-medit: Memory modification tool for iOS apps without Jailbreaking”

―― How did you get started in the topic that you are presenting?

The vulnerability assessment for game applications checks for not only vulnerabilities that can occur in general applications but also the ability to perform various cheats. If cheats are possible, we also check if any barriers exist.
In this presentation, we will discuss “Memory modification”, which is the method of finding and modification with values on the UI and is the easiest and most famous method among many cheat methods.
Vulnerability assessment also involves memory tampering, of course. Since no good tools were available for this purpose, we began developing the medit series.
At CODE BLUE 2020, we introduced apk-medit, a memory tampering tool for Android apps.After that, we began to wonder if we could create a version for iOS applications, which led us to start this research.
I am deeply moved to be able to speak twice at CODE BLUE, which I have admired since 2015, when I participated with the support of Kaspersky, and in 2016, when I joined as a student staff member.

―― What were some of the obstacles in doing this research?

When we implemented apk-medit, we were able to do so using the same well-known approach that we use to create debuggers for Linux.ipa-medit is intended for iOS apps running on the iPhone and iOS apps running on Apple Silicon Macs. These targets could not be implemented using the same approach as creating a debugger for Linux. In particular, there were few reference implementations available for iOS applications running on Apple Silicon Macs, and it wasn't easy to find Apple's APIs.The presentation will not only explain how to use the tools, but also how the implementation differs from each other. If you like systems programming, come and listen.

―― What would you say to the people thinking of attending this talk?

If you are working on vulnerability assessment for game apps, you probably struggle daily with the lack of easy-to-use tools and pesky anti-cheat mechanisms (pesky is good!). We want to let those people know about the medit series.
Few of those who perform vulnerability assessments daily have performed vulnerability assessments for game apps.This presentation is recommended for those who want to get a feel for vulnerability assessment for game apps, as it will explain the tools and the differences between vulnerability assessment for game apps and general smartphone apps.
Both apk-medit, which I presented last time, and ipa-medit, which I will give this time, are available on GitHub, so I would like to encourage those who cannot attend my lecture due to scheduling conflicts to try using them.
By the way, I recommend “Mouyan Curry", "Tsukiji Sushi Sei", "Torafugu Tei", and "Oniyanma" for lunch in Shibuya.Looking forward to seeing you at the Venue!

世界トップクラスの専門家による情報セキュリティ国際会議「CODE BLUE(コードブルー)」


インタビュイー
小竹 泰一 (Taichi Kotake)

GitHub : https://github.com/tkmru
Web : https://www.sterrasec.com

株式会社ステラセキュリティにて副社長/CTOを勤める。また、株式会社アカツキゲームスではセキュリティエンジニアとして勤務。
Webアプリケーション、モバイルゲームアプリの脆弱性診断や内部ネットワークへのペネトレーションテスト、研究開発に従事。
主な登壇にCODEBLUE 2020 Bluebox、BlackHat USA 2020-2021 Arsenal、セキュリティ・キャンプ全国大会2020-2021がある。
主な著書に「マスタリングGhidra ―基礎から学ぶリバースエンジニアリング完全マニュアル(オライリージャパン)」、「リバースエンジニアリングツールGhidra実践ガイド(マイナビ出版)」、「WEB+DB PRESS Vol.118 特集3 ツールで簡単! はじめての脆弱性調査(技術評論社)」がある。

English Profile

インタビュワー
斉藤健一(さいとうけんいち)Kenichi Saito

元ハッカージャパン編集長。現在フリーライター。CODE BLUEをはじめ、セキュリティ業界を徘徊しています。日本ハッカー協会や企業のオウンドメディアなどでも活動。
Twitter : @hj_saito