最終更新日時:2026.08.06 (公開日:2026.08.06)

スマホアプリ脆弱性診断の手法と費用相場は?ベンダーの選び方も解説

スマホアプリの脆弱性診断とは、iOS・Androidアプリのクライアント側・サーバーAPI・通信経路・端末内データを対象に、セキュリティ上の弱点を検出・評価するプロセスです。

スマホアプリは決済情報や認証トークン、個人情報など価値の高いデータを扱うため、攻撃者に狙われやすい領域となります。IPAの「情報セキュリティ10大脅威 2026」でも「システムの脆弱性を悪用した攻撃」が組織向けランキングに継続的に選出されており、脆弱性への対処は一過性ではなく継続的に取り組むべき課題です。

そこで本記事では、スマホアプリの開発・運用に携わる担当者の方が安心してセキュリティ対策に取り組めるよう、脆弱性診断の手法やその費用相場について解説します。

スマホアプリ脆弱性診断とは?対象範囲とWebアプリケーション脆弱性診断との違い

スマホアプリ脆弱性診断は、iOS・Androidアプリが抱えるセキュリティ上の弱点を洗い出すプロセスです。診断対象は、アプリそのもの(クライアント)にとどまらず、アプリが通信するサーバーAPI、その通信経路、端末内に保存されるデータまで、4層にわたって検査します。

この4層という視点が、Webアプリケーション脆弱性診断との根本的な違いを生み出します。Webアプリケーション脆弱性診断はブラウザとサーバーの間のやり取りを中心に検査しますが、スマホアプリではアプリのバイナリ自体を解析する手法や、端末のローカルストレージに機密情報が残っていないかを確認する手法が加わります。

診断の対象範囲(クライアント・API・通信経路・端末内データ)

スマホアプリ脆弱性診断の対象は、大きく4つの層に分類されます。それぞれの層で発見される問題の性質が異なるため、診断範囲を事前に確認することが欠かせません。

  • クライアントアプリ層:アプリのバイナリやソースコードに相当する領域を解析します。ハードコードされた認証情報の埋め込み、デバッグモードの残存、コード難読化の不備といった問題が検出対象です。AndroidではAPKを逆コンパイルする手法、iOSではIPAファイルを解析する手法を採ります。
  • API通信層:アプリとサーバーの間でやり取りされるリクエスト・レスポンスの検査領域です。認証トークンの扱いや、APIエンドポイントへの不正アクセスの可否を確認します。
  • 通信経路層:TLSの実装状況や証明書の検証ロジック(証明書ピンニングの有無など)を調べ、通信の盗聴・改ざんに対する耐性を評価する層です。
  • 端末内データ層:SharedPreferences(Android)やKeychain(iOS)、SQLiteデータベース、ログファイルなど、端末上に残るデータの保管方法が検査対象です。パスワードや個人情報が平文で保存されていないかを確認します。

iOSとAndroidでは、OSのアーキテクチャの違いから診断アプローチが異なります。Androidは比較的APKの解析が容易な一方、iOSはサンドボックス制約が強く、脱獄端末や特定の解析ツールを用いた検証が必要になる場面があります。

Webアプリケーション脆弱性診断との主な違い

Webアプリケーション脆弱性診断とスマホアプリ診断は、対象・手法・リスクの観点で明確に異なります。以下の対比表を参考にしてください。

比較軸Webアプリケーション脆弱性診断スマホアプリ診断
主な診断対象サーバーサイドのロジック、HTTPリクエスト、API(ブラウザ・Webシステム経由のAPI通信が対象)クライアントアプリ、API(スマホアプリ経由のAPI通信が対象)、端末内データ、通信経路
主な診断手法プロキシを使ったHTTPトラフィック解析バイナリ解析、APK/IPA解析、動的解析
固有リスクSQLインジェクション、XSS、CSRF等リバースエンジニアリング、ローカルデータ漏洩、証明書検証不備等
対応基準OWASP Top 10(Webアプリ版)OWASP Mobile Top 10

Webアプリケーション脆弱性診断を実施済みの企業であっても、スマホアプリにはバイナリ解析やローカルデータの検査といったスマホアプリ固有の観点が必要です。2つの診断は補完関係にあり、どちらか一方で代替することはできません。

スマホアプリが狙われる理由と実際の被害事例

「システムの脆弱性悪用」は、IPAが毎年発表する「情報セキュリティ10大脅威」の組織向けランキングに継続的に選出されている脅威のひとつです。2025年には3位、2026年には4位と高順位が続いており(出典:IPA「情報セキュリティ10大脅威 2026」2026年)、脆弱性を突いた攻撃が一時的なトレンドではなく、組織が継続的に対処すべきリスクであることを示しています。

スマホアプリも例外ではありません。正規アプリであっても、実装上の脆弱性があれば攻撃者の入口になります。なぜスマホアプリは脆弱性を狙われやすいのでしょうか。

スマホアプリが攻撃対象になる3つの構造的理由

第一の理由は、ユーザーが端末とアプリを無意識に信頼する点です。スマートフォンは個人の所有物であるため、ユーザーはアプリが要求するアクセス許可を深く確認せず許可しがちです。この無意識の信頼が、脆弱性を突かれたアプリからの偽通知や不正な誘導を見逃す原因になります。

第二の理由は、アプリ内に機密情報が集中している点です。決済情報、医療記録、認証トークン、位置情報など、攻撃者が価値を認める情報がアプリと端末内に集約されています。一度アプリの脆弱性を突ければ、大量のデータに一括アクセスできる可能性があります。

第三の理由は、常時接続かつバックグラウンド動作という特性です。スマートフォンは電源が入っている限り通信し続け、アプリはバックグラウンドでも動作します。攻撃者にとっては、ユーザーが気づきにくいタイミングで情報を収集できる環境が整っています。

脆弱性を突かれた情報漏洩の実例

2025年1月、ハンズが運営するハンズクラブアプリで、ソフトウェアの脆弱性を突いた不正アクセスが発生しました。影響を受けたユーザーアカウントは約12万1,886人にのぼり、氏名・メールアドレス・電話番号・住所・生年月日などの個人情報が漏洩した可能性が確認されています(出典:ITmedia「ハンズに不正アクセス、『ハンズクラブアプリ』利用者12万人超の個人情報が漏えい」2025年)。

この事案で注目すべきは、「ソフトウェアの脆弱性」が直接の原因として公表されている点です。利用されたアプリのコンポーネントに既知の脆弱性が存在し、それが攻撃の入口となりました。

定期的な脆弱性診断を実施していれば、問題のあるコンポーネントを事前に検出し、パッチ適用や設計変更につなげられた可能性があります。企業への影響は情報漏洩そのものにとどまらず、ユーザーへの通知対応、メディア報道による信頼毀損、問い合わせ対応コストなど、広範に及びます。

診断手法の種類と主な診断項目

スマホアプリの脆弱性診断には、自動化ツールによる検査と、専門家が手作業で行う手動診断の2種類があります。何を・どこまで検査するかを決める際の共通フレームワークとして広く採用されているのが、OWASP Mobile Top 10です。

OWASPはWebセキュリティの分野でも知られる非営利団体ですが、モバイル向けに別途Top 10を策定しています。2024年版は2016年版から8年ぶりに改訂され、サプライチェーンセキュリティやプライバシー管理など、現在の脅威環境を反映した内容に刷新されました。

手動診断とツール診断の違い・使い分け

ツール診断と手動診断はそれぞれ得意領域が異なります。実際の診断では、両者を組み合わせたハイブリッド方式が一般的です。

比較軸ツール診断手動診断
検出精度既知パターンの網羅は得意。ロジック系の脆弱性は検出困難複雑なビジネスロジックや文脈依存の脆弱性も検出可能
コスト低め(ライセンス料のみのケースもある)高め(専門家の工数に依存)
所要時間短時間でスキャン完了数日〜数週間
得意領域設定ミス、既知CVE、静的コード解析認証ロジックの欠陥、アクセス制御の不備、ビジネスロジック攻撃

ツール診断だけでは見落としが生じやすく、手動診断だけではコストと時間がかかります。信頼性の高い診断を得るには、ツールで広範なスキャンをかけつつ、専門家が重点領域を手動で掘り下げるハイブリッド方式が適しています。

クライアントサイドの主な診断項目

OWASP Mobile Top 10(2024年版)は、2016年版と比較して項目の粒度と視点が大きく変化しました。2016年版は「安全でないデータストレージ」「安全でない認証」など技術要素を直接列挙する構成でしたが、2024年版はサプライチェーン(M2)やプライバシー管理(M6)のように、開発プロセス全体を射程に入れた内容になっています(出典:OWASP Foundation「OWASP Mobile Top 10 2024」2024年)。

クライアントサイドで主に検査される項目は以下のとおりです。

  • バイナリ保護の不備(M7: Insufficient Binary Protections): コードの難読化が施されているか、デバッグ情報が残っていないか、改ざん検知の仕組みがあるかを確認します。
  • 不安全なデータストレージ(M9: Insecure Data Storage): SharedPreferences、SQLite、ログファイル、クリップボードなど、端末内の各保存領域に機密情報が平文で残っていないかが検査対象です。
  • 不十分な暗号処理(M10: Insufficient Cryptography): 脆弱な暗号アルゴリズムの使用や鍵の管理方法に問題がないか、暗号実装全体を検証する項目です。
  • プライバシー管理の不備(M6: Inadequate Privacy Controls): 不必要な権限要求、個人情報の過剰収集・送信がないかを確認します。
  • サプライチェーンのリスク(M2: Inadequate Supply Chain Security): 利用しているサードパーティライブラリやSDKに既知の脆弱性が含まれていないかを調べる、2024年版で新設された観点です。

これらはアプリのバイナリや端末内データに直接アクセスして検査する項目であり、サーバーサイドの診断とは別工程で実施されます。

サーバーサイド(API)の主な診断項目

スマホアプリのAPI診断は、Webアプリケーション脆弱性診断と重なる部分が多い領域です。ただし、スマホアプリ特有の認証フロー(OAuth 2.0のモバイル実装、生体認証との連携など)や、モバイルクライアントからのリクエストパターンに起因する問題が加わります。

API診断で主に確認される項目は以下のとおりです。

  • 認証・認可の不備(M3: Insecure Authentication/Authorization): セッショントークンの有効期限管理、アクセス制御の粒度、権限昇格の可否を検査します。
  • 入力値検証の不足(M4: Insufficient Input/Output Validation): SQLインジェクション、コマンドインジェクション、パラメータ改ざんなど、不正な入力データに対するサーバー側の耐性を検証する項目です。
  • 通信の安全性(M5: Insecure Communication): TLS設定の適切さ、証明書の検証ロジック、平文通信の有無が検査対象です。
  • 認証情報の扱い(M1: Improper Credential Usage): APIキーやトークンがレスポンスに含まれて漏洩していないか、アプリ内にハードコードされていないかを確認します。

クライアントサイド診断とAPI診断は別工程で実施されるのが一般的であるため、発注時には両方の範囲を明確にしておく必要があります。

診断の進め方(タイミング・流れ・費用相場)

スマホアプリ脆弱性診断をいつ・どのように・どのくらいの費用で実施するかは、セキュリティ担当者にとって最も実務的な関心事です。「いつ依頼すべきか」を誤ると、リリーススケジュールに影響が出ることもあります。

診断を実施すべき3つのタイミング

スマホアプリの脆弱性診断には、最低でも3つの実施タイミングがあります。

第一は開発中(シフトレフト)のタイミングです。開発の早い段階で診断を行うほど、修正コストは低くなります。設計・実装フェーズで脆弱性が発見されれば、根本的な改修が可能であり、リリース後の緊急対応を避けられます。

第二はアップデートリリース前のタイミングです。機能追加や改修のたびに新たな脆弱性が混入するリスクがあります。メジャーアップデートを控えている場合は、変更範囲を中心とした診断の実施が推奨されます。

第三は定期診断です。アプリに変更がなくても、利用しているサードパーティライブラリや外部API側で新たな脆弱性が発見されることがあります。年1回程度の定期診断を実施することで、脅威環境の変化に追随できます。

リリース直前に初めて診断を依頼するケースでは、問題が発覚した際の修正期間が確保できず、リリース延期につながる可能性があります。診断は早めに計画に組み込むことが得策です。

発注から報告書受領までの一般的な流れ

スマホアプリ脆弱性診断の発注から完了までには、概ね以下の5つのステップを経ます。

  1. ヒアリング・スコープ確認(1〜3営業日): 診断対象OS(iOS・Android・両方)、診断範囲(クライアントのみか、APIも含むか)、アプリのバージョンや機能範囲をベンダーと確認します。発注者側はアプリのテスト環境とテストアカウントを準備します。
  2. 診断計画の策定・見積(3〜5営業日): スコープをもとに診断項目、工数、スケジュール、費用の見積書が提出されます。
  3. 診断実施(5〜15営業日): ベンダーの環境でアプリのバイナリ解析、動的テスト、API通信のインターセプトなどを行います。発注者は診断期間中、テスト環境を維持します。
  4. 報告書作成(3〜5営業日): 発見した脆弱性を深刻度別に整理し、再現手順と改善策を記載した報告書を作成します。
  5. 報告書納品・説明(1〜2営業日): 報告書を受領し、必要に応じてベンダーから内容の説明を受けます。改修後の再診断が必要な場合は、別途スケジュールを調整します。

発注者側が事前に用意すべきものは、アプリのAPK(Android)またはIPA(iOS)ファイル、テスト用アカウント、テスト環境へのアクセス情報です。これらの準備が遅れると、診断開始が後ろ倒しになります。

費用相場と価格を左右する要因

スマホアプリの手動診断費用は、1OSあたりおおよそ50万円〜300万円が相場の範囲です。この幅が大きい理由は、以下の要因によって費用が大きく変動するためです。

  • 診断対象OS数: iOS・Android両方を診断する場合は単純に費用が増加します。
  • APIを含むかどうか: クライアントサイドのみか、バックエンドAPIも診断範囲に含めるかで工数が大きく変わります。
  • アプリの機能複雑度: 画面数や機能数が多いほど、診断に必要な工数が増えます。
  • 手動診断の深度: ツール診断のみか、専門家による深い手動検証を加えるかによって費用が変わります。
  • 再診断の有無: 修正後の確認診断が初回費用に含まれるか、別途請求されるかも確認が必要です。

費用を抑えつつ品質を確保したい場合、ツール診断と手動診断を組み合わせたハイブリッド方式が現実的な選択肢です。バルテスでは、ホワイトハッカーとツールを組み合わせた独自の診断手法と、オフショアを活用したコスト最適化の体制により、品質とコストのバランスを取った脆弱性診断を提供しています。詳細はバルテスの脆弱性診断サービスで確認できます。

診断ベンダーを選ぶ際の3つの確認ポイント

スマホアプリ脆弱性診断のベンダーを選定する際は、価格だけで判断するのは避けるべきです。診断の品質が低ければ、発見されるべき脆弱性が見逃されたまま本番環境に出ることになります。以下の3点を確認軸として活用してください。

1. 準拠基準と診断手法の透明性

診断がどのフレームワークに準拠しているかを確認します。OWASP Mobile Top 10(2024年版)への対応が明示されているか、クライアントサイドとAPIの両方をカバーする範囲か、手動診断とツール診断の比率はどのくらいかを事前に確認してください。

「何を検査するか」の診断項目リストを開示しているベンダーは、手法の透明性が高いと判断できます。逆に診断内容の詳細を開示しないベンダーは、実際に実施される作業範囲が不明確になるリスクがあります。

2. 報告書の品質と改修支援体制

報告書に「脆弱性の詳細説明」「再現手順」「改善策の具体的な提示」の3要素が含まれているかを確認します。脆弱性の深刻度(Critical・High・Medium・Lowなど)が明示され、開発チームが実際に修正できる粒度で記載されていることが必要です。

また、報告書納品後に質問やフォローアップに対応しているかも確認ポイントです。報告書を受け取っても「何を修正すればよいか分からない」という状況は、診断の効果を半減させます。

3. 実績・費用体系・スケジュール対応力

スマホアプリ脆弱性診断の実績件数と、スケジュールの柔軟性を確認します。リリース日程が決まっている場合、診断期間と報告書納品までの日数が自社のスケジュールに合うかどうかは、見落としがちながら決定的な判断基準です。

バルテスの脆弱性診断サービスは、ホワイトハッカーとツールを組み合わせた独自手法により、精度の高い検査を提供しています。脆弱性の詳細・再現手順・改善策を含む報告書は10〜15営業日で納品され、1,000社以上の導入実績をもとにした体制が整っています。詳細はバルテスの脆弱性診断サービスからご確認ください。

スマホアプリ脆弱性診断の導入に向けて

スマホアプリ脆弱性診断は、クライアント・API・通信経路・端末内データの4層を対象とし、Webアプリケーション脆弱性診断では検出できないモバイル固有のリスクを扱います。

診断手法としてはOWASP Mobile Top 10(2024年版)が業界標準のフレームワークです。手動とツールのハイブリッド方式が精度の観点から推奨されており、まず自社アプリの診断スコープを明確にし(iOS・Androidの対象OS、クライアントのみかAPIも含めるか)、複数ベンダーから見積もりを取得することをお勧めします。

バルテスでは、ホワイトハッカーとツールを組み合わせた独自の手法でスマホアプリの脆弱性診断を提供しており、2,000社以上の導入実績があります。オフショアを活用したコスト最適化により、品質を落とさずリーズナブルな費用での実施が可能です。詳細はバルテスの脆弱性診断サービスからご確認ください。

Copyright © VALTES CO.,LTD. All Rights Reserved.