Edited at

スマホアプリの難読化/堅牢化について


はじめに

スマホアプリの難読化/堅牢化についてまとめてみた


ハッキングの現状


ハッキングに対してアプリ側は何を対策すべきか


  • アプリとサーバ間の通信傍受


    • SSL暗号化



  • データ格納場所の配慮


    • アプリケーション領域に格納



  • リバースエンジニアリング


    • 難読化/堅牢化




難読化/堅牢化とは?


  • 難読化


    • コードを読みづらくさせる

    • 簡単に解析ができないため、カジュアルハッカーレベルであれば諦めさせることができそう

    • プロハッカーが時間をかければ解読されてしまう



  • 堅牢化


    • 改竄を検知してアプリを停止させる

    • ロジック改竄検知、アプリ署名改竄検知、Root化/脱獄検知、デバッグモード検知、etc・・・




難読化/堅牢化ツールの紹介

サービス名
難読化
堅牢化
価格
備考

Android
iOS
Android
iOS

ProGuard
o
x
x
x
無料
これでは対策不十分という記事もある。※1

Dash O/PPiOS
o
o
x
x
安価
ツール開発元は、MicrosoftのVisualStudioに採用された難読化ツール「Dotfuscator」を開発している米のPreEmptive社。

DNP CrackProof
o
x
o
o
中高価
iOSのみ難読化がない。Androidの難読化はオプション機能レベル。

Arxan
o
o
o
o
高価
性能は良いが価格が高い。導入事例ではアメリカ政府や日本の医療機関、高価ソフトベンダー等。

性能的にはArxanがいいけど、結構な利益を出していないと導入できない?

どれもお金との相談と思われる。

※1 難読化していないAndroidアプリケーションは脆弱性か | 徳丸浩の日記


参考URL