モバイルアプリケーションの静的分析





モバイルアプリケーションをテストする段階の1つは、静的分析です。 アプリケーションの静的分析は、アプリケーション機能を実行しないアプリケーションの分析です。 オープンソースフレームワークから私にとって最も便利なのはMobSFです。 誰も気にしない、猫へようこそ。



MobSFは、Android、Apple iOS、およびWindows Phoneのアプリケーションの静的分析と、Androidアプリケーションのみの動的分析を実行します。 次のMobSFの記事では、動的分析の実行方法を説明します。 より詳細な説明とインストールマニュアルはこちらにあります



MobSFをインストールした後、次のバッチファイルを実行してサーバーを起動します(自分で作成したため、ドライブD)。



d: cd .\MobSF\ python .\manage.py runserver
      
      





次に、アドレスhttp [:] // 127.0.0.1:8000に移動する必要があり、メインページが開きます(図1)。 ここではあまり機能的ではありません:







1.メインページ



ファイルをダウンロードして分析すると、分析結果のページが表示されます(図2)。 左側には、ページ全体をすばやくジャンプできるメニューがあります(結果は単純に膨大です)。 このスクリーンショットにはどのような有用な情報がありますか:







2.分析の結果



さらに進みます。 図 図3は、アプリケーションが署名された証明書情報を示しています。





3.証明書情報



以下は、AndroidManifest.xmlファイル(図4)に記述されているアクセス許可の分析の説明です。 MobSFは、アプリケーションの権限を分析し、そのステータス、重要度、権限の説明を決定します。 ここでは、アプリケーションの実際の重要性について、Android OSのアーキテクチャを理解する必要があります。





4. Androidの権限の分析



[セキュリティ分析]-> [コード分析]タブ(図5)は、潜在的な脆弱性を特定し、その重大度とこのタイプの脆弱性が見つかったファイルを判断する静的アナライザーによるJavaコード分析の結果を示します。 多くの点で、これらの結果は偽陽性ですが、これらすべてを再確認する必要があります。





5.コード分析



次のタブ(図6)は、virustotal.comサービスのファイル分析です。 この場合、ファイルは感染として検出されませんでした。





6.ファイル分析



[URL]タブ(図7)には、URL、IPアドレス、およびそれらが保存または呼び出されるファイルのリストが表示されます。 このセクションでは、アプリケーションがデータを送信する場所または情報を保存する場所を分析します。





7.タブURL



「文字列」タブ(図8)は、resディレクトリにあるテキストファイルを分析します。 アプリケーションを分析するとき、これらのファイルにはハードコードされたアカウントやその他の機密データが含まれる場合があります。 私の記憶では、これはそうではありませんでした。





8.テキストファイルの分析



[コンポーネント]タブ(図9)には、拡張機能を定義せずに、コンポーネント(アクティビティ、サービス、コンテンツプロバイダーおよび受信)、インポートされたライブラリおよびファイルの完全なリストが表示されます。





9.コンポーネントのリスト



さらに、VCGスキャナー静的アナライザーを使用してソースコード分析を実行できます。 VCGにはソースコードが必要です。 ソースコードは、[Javaコードのダウンロード]ボタンからダウンロードできます(図10)。 ファイルはZIPアーカイブにダウンロードされます。 次に、アーカイブからファイルを含むフォルダーを抽出する必要があります(図11)。





10.ソースコードのダウンロード





11.ソースコードの抽出



ソースコードのスキャンは次のように行われます。



  1. 「設定」タブで「Java」を選択します-図12。
  2. [ファイル]タブで、[新しいターゲットディレクトリ]を選択します-図13。
  3. 「スキャン」タブで、「フルスキャン」を選択します-図14。




12.ソースコードの選択





13.ファイルを含むディレクトリのアップロード





14.スキャンを開始



スキャンが完了すると、スキャナーは脆弱性の名前、重大度、簡単な説明、ソースコード内の場所を表示します(図15)。 脆弱性の完全なリストを取得し、それらを重大度で並べ替えることができます(図16)。





15.脆弱性の説明





16.脆弱性の完全なリスト



おわりに



アプリケーションとソースコードの静的分析は、アプリケーションアーキテクチャと潜在的な攻撃ベクトルに関する基本的な概念を提供します。 Hackenが使用した方法論によれば、彼から、ペンテストに来たクライアントからのアプリケーションの分析が開始されます。



All Articles