ENGLISH

Android アプリケーションの難読化 –モバイルアプリケーションを保護するために –

モバイルアプリケーションをリリースする際には、セキュリティを十分に考慮する必要があります。最先端の機能を備えたアプリケーションを開発するだけでは、十分なセキュリティ対策とは言えません。安全性を確保することも同様に重要です。そのための手段として、Android アプリケーションの難読化が大変有効です。

Android アプリケーションの難読化

難読化はソースコードを外部から保護する目的で、ソースコードの一部を隠したり変更したりすることです。多くのデコンパイラは、アプリケーションのソースコードに対して容易にリバースエンジニアリングを行えますが、ソースコードが難読化されている場合、その解析が困難となります。これにより、ハッカー(クラッカー)から顧客データなどの機密情報を保護し、データ改ざんなどを防ぐことができます。よって、攻撃者によるリバースエンジニアリングから身を守るには、ソースコードの難読化が必須と言えるでしょう。

Android のソースコードを難読化する簡単な方法

Android のソースコードを難読化するのは簡単です。一番簡単な方法は、app/build.gradle ファイルを開き、minifyEnabled フィールドを true に設定することです。

(ソースコードのサンプル例)

android {
     buildTypes {
         release {
             minifyEnabled true
             proguardFiles getDefaultProguardFile(‘proguard-android.txt’)
         }
     }
 …
}

いくつかの proguard ルールを適用することで、さらに最適化を行うことができます。ただし、上記のような難読化を設定した場合でも、アプリケーションを強力に保護するには不十分です。その理由は、適用される設定が「名前の変更」に限定されるためであり、攻撃者がリバースエンジニアリングを行うと、ロジックを解析されてしまう恐れがあります。

難読化でセキュリティ事故を防止するためには

「名前の変更」を行うだけはなく、複数の難読化の機能を適用することで、ハッカーがロジックを理解したり、アプリケーションに侵入したりすることを困難にすることができます。市場にはそのような機能を有した様々なツールがありますが、ここでは弊社が販売している「DashO」を紹介します。

「PreEmptive Protection」のひとつ DashO とは?

DashO は、難読化ツールのパッケージ製品 PreEmptive Protection(※)のひとつであり、リネーム、文字列の暗号化、コントロールフロー、改ざん検知、デバッグ検知、電子透かしなど、proguard ではサポートされていない非常に多くの便利な機能を備えています。

また、技術サポートが受けられるのもライセンスソフトウェア(有料版)のメリットとして挙げられます。その他、煩雑になりがちな難読化の設定を、内部のルールにより迅速に設定を行うことができます。

※ PreEmptive Protection の詳細はこちら
https://www.agtech.co.jp/preemptive/product/#a03

まずは評価版をお試しください

DashO を使用したソースコードの難読化によって、大半のハッカー(クラッカー)は、ロジックを解析する作業を諦めるでしょう。また、デバッグや改ざんの検知機能により、アプリケーションへの静的な侵入だけでなく、動的な侵入も保護することができます。

実際に難読化の設定を行ってみたい場合は、ぜひ一度、DashO の評価版をお試しください。製品版と同様にすべての機能をご使用いただけます。

※ DashO 評価版の申し込みはこちら
https://www.agtech.co.jp/preemptive/dash_o/trial/

一覧に戻る

Contactお問い合わせ

お気軽にお問い合わせください。

お問い合わせ

    必須会社名

    個人のお客様は「個人」と入力してください。

    必須お名前
    必須メールアドレス
    必須メールアドレス(確認)
    必須ライセンス ありなし
    ダウンロード目的