スマートフォンアプリ脆弱性診断

リバースエンジニアリングによる脆弱性解析、ソースコードやアプリ間連携をチェック

サービス概要

スマートフォンアプリにセキュリティ上の問題点がないか、JSSECのセキュアコーディングガイドやOWASPMobileTop10に基づき診断します。
また、リバースエンジニアリングによるアプリの挙動解析の実施が可能です。診断後のセキュリティ強度評価や該当するリスク対策についてもレポートいたします。
スマートフォンアプリの問題点やリスクを認識することで、インシデント発生時に適切な対応を迅速に行えます。診断専門企業へセキュリティ診断を実施していることにより製品への付加価値を高めることが出来ます。

診断フロー

  • STEP1

    スマートフォンアプリ診断事前準備

    スマートフォンアプリの特性の理解と診断範囲の明確化

    スマートフォンアプリの特性を把握し、スマートフォンアプリ診断において重点的に行わなければならない箇所を特定いたします。

    1. スマートフォンアプリの構成をヒアリング

      仕様書や担当者様へのヒアリングを通してアプリの用途や実装機能を把握します。

    2. スマートフォンアプリ診断実施方針の策定及びお見積り

      対象アプリに合わせて重点的に行わなければならない項目を策定します。その後お見積りをお出しします。

  • STEP2

    スマートフォンアプリ診断

    完全手動によるスマートフォンアプリ診断

    完全な手作業で診断を実施します。基本的なチェックから高度なリバースエンジニアリングまで対応しています。

    1. 静的解析

      リバースエンジニアリングしたソースコードから脆弱性を調査します。必要に応じて実証コードを書き、想定した攻撃シナリオが成功するかを検証します。

    2. 動的解析

      アプリを動作させた際に生成されるファイルやログの内容、発生する通信の中身を調査します。

  • STEP3

    スマホアプリケーション診断報告及び改善案提出

    解析/診断実施結果報告

    検知された脆弱性や全体としてのセキュリティ強度、危険性、今後の対策まで触れていきます。

    1. 脆弱性の再現手順

      検知された脆弱性の再現手順を個別に明記します。また対策方法についてもご説明します。

    2. 総合評価

      全体としてのセキュリティ強度や、危険性についてコメントし、今後の対策まで触れていきます。

診断項目

Android

通信

不正通信の確認
アプリの通信をキャプチャし、外部サーバへ重要情報の不正送信の有無を確認します。
重要情報の送信方法
個人情報やパスワードなどの重要情報を暗号化して送信しているか確認します。
SSL/TLS証明書検証
SSL/TLS通信で利用している証明書の検証を適切に行っているか確認します。

端末内データ

重要情報の保持方法
端末内データ(File,Database,Preference)に重要情報などのデータを平文で保存していないことを確認します。
データ改竄による不正行為
端末内データを改竄することによる不正行為(チート、残高偽装、購入履歴偽装等)の可否を確認します。
パーミッションの設定不備
重要情報を含むファイルのパーミッションを確認します。
SDカードへの重要情報の出力
SDカード内へ重要情報を保存の有無を確認します。
ログへの重要情報の出力
ログに重要情報の出力の有無を確認します。

ロジック、ソースコード

コンテントプロバイダのアクセス制御不備
重要情報へアクセス可能なコンテントプロバイダが意図せず他のアプリから不正にアクセス可能かを確認します。
インテントによる重要情報の出力
インテントの出力ログによる重要情報の出力の有無を確認します。
WebView関連の脆弱性の有無
JavaScript連携やaddJavaScriptInterface機能による情報漏洩の有無を確認します。
耐タンパー性の確認
逆コンパイルの可否や難読化の有無等を確認します。
ソースコードへの重要情報の出力有無
ソースコード内に暗号化キーや隠し機能、隠しURL等の情報がハードコーディングされていないか確認します。
通信プロトコルの解析
HTTP以外のプロトコルが使われている場合は解析し、脆弱性の有無を確認します。
ロジック改ざん
バイナリパッチを当てることによって重要なロジックの改ざんが可能かを確認します。
リバースエンジニアリングによる脆弱性解析
リバースエンジニアリングによってその他の脆弱性解析を行います。

iOS

通信

不正通信の確認
アプリの通信をキャプチャし、外部サーバへ重要情報の不正送信の有無を確認します。
重要情報の送信方法
個人情報やパスワードなどの重要情報を暗号化して送信しているか確認します。
SSL/TLS証明書検証
SSL/TLS通信で利用している証明書の検証を適切に行っているか確認します。

端末内データ

重要情報の保持方法
端末内データ(File,Database,Preference)に重要情報などのデータを平文で保存していないことを確認します。
データ改竄による不正行為
端末内データを改竄することによる不正行為(チート、残高偽装、購入履歴偽装等)の可否を確認します。

ロジック、ソースコード

WebView関連の脆弱性の有無
他アプリ連携やWebView機能による情報漏洩の有無を確認します。
耐タンパー性の確認
逆コンパイルの可否や難読化の有無等を確認します。
ソースコードへの重要情報の出力有無
ソースコード内に暗号化キーや隠し機能、隠しURL等の情報がハードコーディングされていないか確認します。
通信プロトコルの解析
HTTP以外のプロトコルが使われている場合は解析し、脆弱性の有無を確認します。
リバースエンジニアリングによる脆弱性解析
リバースエンジニアリングによってその他の脆弱性解析を行います。

報告書サンプル

診断結果レポートでは発見された脆弱性が、クライアント企業にて迅速に修正できるように具体的な内容・再現方法・リスク・対策方法を報告します。
※お問い合わせページよりサンプル請求をご希望ください。2営業日以内に担当者より送付させていただきます。

CONTACT

お気軽にご相談ください

Webサービスやアプリにおけるセキュリティ上の問題点を解消し、収益の最大化を実現する相談役としてぜひお気軽にご連絡ください。
経験豊富なセキュリティエンジニアが診断を行います。