開発者じゃなくてもたった10秒で保安の心配無用! 

デモのお申し込み

[TECH] アンチタンパ機構攻撃方法、防御方法

この投稿では、モバイルアプリケーション(APP)がどのように改ざんされているか、またどのように優先的に対応すべきかについて説明します。

 

[TECH] アンチタンパ機構攻撃方法、防御方法

こんにちは、TEAM LIAPPです。
前回の投稿では、モバイルAPPの改ざんの深刻さと、実際の事例をもとに、現在の改ざんハッキングの潜在的な被害についてお話ししました。この投稿では、実際の改ざんプロセスと、限られたリソースで必要とされるさまざまな種類の保護について説明します。

- 用語定義

* 静的データ
アプリまたはアプリパッケージ内で宣言された情報です
ex) 接続するサーバの URL、DB クエリー、パッケージ内のファイルとして保存された情報、および String として宣言されたその他の情報を指定します

* 動的データ

アプリやアプリパッケージ内ではなく、サーバーとの通信を通じて受信した情報です
ex) 静的DATA以外のアプリケーション動作に必要な情報です

アプリの改ざんをハッキングするために、通常は次の順序で行われます:

 
1. コードを分析した後、ハッキングポイントをターゲットにします
2. 動的DATAを修正する必要がある場合は、APPデバッグを通じて次の方法で使用するDATAを確認します。
3. 対象のロジックが目的の動作を実行できるように、ロジックとDATAを変更します
4. パッケージを再作成して、変更されたアプリケーションをアクティブにします
5. ハッキングされたアプリを配布する方法を選択して配布します
 
 

最初,
ソースコードの分析後にハックするロジックを対象としています。

プログラミングやコード分析の基本知識なしに、単にハッキングのためのツールを使用する(技術的な難易度が低い)スクリプトのキディハッカーでない場合、ほとんどのハッキングの最初の順序はソースコードの分析です。

これは、PC、モバイルなどすべての分野に適用されます。 特にAndroidは、ソースコードの解析が難しいという点で、PCやiOSよりもはるかに脆弱です。なぜなら、このアプリは機械語よりも比較的解析が容易なJAVA ByteCodeで構成されているからです。

しかし、ハッキングはハッカーの能力に依存するため、バイナリコードを持つiOSがソースコード分析に絶対的に安全だと言うのは不適切です。
バイトコードのソース分析の難易度が低いため、iOSを攻撃しようとするハッカーよりアンドロイドを攻撃しようとするハッキングの試みが多いのは事実です。
(バイナリコードとバイトコードについては、今後の投稿でさらに議論します。)

 
優先順位は、ソースコードを分析して、ターゲットの変化点がどこにあり、その変化点を変更する必要があるかを確認することです。

ソースコードは、jasmin や dex2jar などのさまざまなツールを使用して分析されます。

第二に、です、
私が望むハッキング結果を得るためには、どのような価値やロジックを変更すべきかをチェックし、テストする必要があります。 必要な値を決定するには、フィールドの値をどのように変更する必要がありますか、またはどの「if」をジャンプする必要がありますか)。

これらの値がソース コード(Static DATA)内でスタティックに定義されている場合は、スタティック DATA を参照して値を変更できます。 ただし、これらの値がサーバとの通信や、APPが動作しているときにしか認識できない他のシステムとの接続によって受信された値である場合は、 ソースコードを変更するか、APP の実行とデバッグを通じてサーバ通信ポリシーと値の情報を受信して値をロギングする必要があります。

三番目、
解析したコードで、欲しい値を作るために修正すべき部分を決め、変更した値もデバッグで決定すれば、自己修正と適用を進めることができます。

 

四番目、
リパッケージとは、修正されたソースコードをAPPの形に変換して通常のAPPのように見せるプロセスを指します。

 

五番目、
リパッケージとは、修正されたソースコードをAPPの形に変換して通常のAPPのように見せるプロセスを指します。
前の投稿で述べたように、ハッキングの目的が顧客情報であれば、ユーザーが認識できない変調されたアプリに通常のアプリを変更するための悪性コードが使用されます。 または、サービス提供者が提供するコンテンツ(コンテンツの無料利用、ゲームキャラクターの変更など)をハッキングしたり、ハッキングされたアプリを掲示板に配布したり、ハッキングされたアプリのサービスレベルと需要が高い場合、 アプリを提供するサイトを通じて一定金額で配布されます。
現在、有料のハッキングアプリが活動しています。



 
 
サービスプロバイダにとって最大のセキュリティ上の脅威は、ハッキングされたアプリの配布によって発生するハッキングです。これは、注意すべき最も重要なセキュリティインシデントの1つです。
 

多くの企業が最初からあらゆる種類のハッキング防御を準備し、実行することは素晴らしいことですが、これは無数の限界を持つ中小企業にとって本当の挑戦です。

そこで、私たちが作ったサービスを安全に保護するために必要なのは、ハッキングの防止を優先することです。ハッキングの防止は、サービスに最も支障をきたす可能性があり、損害を与える可能性があります。

少し極端な例として、天才ハッカーが自分の満足のために自分でハッキングし、サービスの内容を無料で悪用しても、1人のユーザーが行うように、サービスに大きな被害を与えることはありません。
また、このようなタイプのユーザーは、DBまたはサービス監視および法的規制を通じて制裁を受けることができます。

しかし、逆にハッキングされたアプリが配布され、不特定多数のユーザーを獲得すると、正常なユーザーは被害を感じたり、不合理なことを感じ、ユーザーを遠ざけることになります。 ハッキングアプリのユーザーが多ければ多いほど、サービスの収益率は下がり、通常のユーザーはサービスを終了する速度が速くなります。

最後に、セキュリティは準備でできることではないので、最終的に私たちのサービスに害を及ぼす可能性のあるハッキングを成功的に防ぐことを目標に、一つ一つ優先順位を決めて準備することが重要です。

次の投稿では、改ざんを防止するテクノロジーとデュアルサービスの可用性とセキュリティの両方を満たすために、何に重点を置く必要があるかについて説明します。