GENZ, Inc.

モバイルアプリ運営向け モバイルアプリの脆弱性診断

決済や会員情報を扱う機能を追加したモバイルアプリで、端末内に残るデータと通信の暗号化、通信先のAPIでの権限の扱いを診断します。

支援事例

支援実績5,000件以上

支援実績を示す企業ロゴ 01
支援実績を示す企業ロゴ 02
支援実績を示す企業ロゴ 03
支援実績を示す企業ロゴ 04
支援実績を示す企業ロゴ 05
支援実績を示す企業ロゴ 06
支援実績を示す企業ロゴ 07
支援実績を示す企業ロゴ 08
支援実績を示す企業ロゴ 09
支援実績を示す企業ロゴ 10
支援実績を示す企業ロゴ 11
支援実績を示す企業ロゴ 12
支援実績を示す企業ロゴ 13

この記事はソフトウェアテストの専門家が監修しています

監修枡井 愼治株式会社GENZ 代表取締役

GENZは創業以来、5,000件以上のソフトウェアテスト・第三者検証を手がけてきたプロフェッショナルです。品質に関する課題やお悩みに、真摯に寄り添います。

代表取締役 枡井 愼治 株式会社GENZ 〒101-0062 東京都千代田区神田駿河台2-3-11 ヒューリック御茶ノ水ビル3F TEL:03-5244-4711
01 ISSUES

モバイルアプリでよくあるセキュリティ不備

問題が残っていないかという漠然とした不安は、どこで何が起きるのかを分けると輪郭が見えてきます。端末のなかに残るもの、通信の途中で起きるもの、通信先で起きるものに分けて、代表的な5つを挙げます。

認証トークンや個人情報が、端末内に平文で保存される

ログイン状態を保つ情報や個人情報が、読める形で端末内に残ることがあります。解析されれば内容まで届くため、保存先と形式を実機で確認します。

端末内の保存

通信先の証明書を確認せず、通信内容を盗み見られる

通信先が本物かを確かめないまま通信すると、途中に入り込んだ相手に内容を読まれたり書き換えられたりします。暗号化の設定と合わせて検証します。

通信の暗号化

アプリ間連携の口から、別のアプリに機能を呼び出される

ほかのアプリから呼び出せる入り口の保護が漏れていると、想定していないアプリから機能やデータへ届きます。呼び出せる口を列挙して確かめます。

アプリ間連携

通信先のAPIが認可の確認を欠き、他人の情報に届く

アプリの画面側で操作を制限していても、通信先のAPIが権限を確かめていない場合があります。識別子を書き換えるだけで他人の情報へ届きます。

API側の認可

解析対策が不十分で、アプリを改変して再配布される

アプリの中身が読み解きやすいと、機能を書き換えたものが正規を装って配布される場合があります。改変を検知する仕組みの有無まで確認します。

改変への耐性
02 RISK

脆弱性が残存することで起きる問題

ここまで挙げた不備は、技術の話だけでは終わりません。提携先との取引や、サービスを続けられるかどうかまで影響が連鎖していきます。

倉庫のバックヤードで担当者が在庫回収や棚卸差異の対応に追われている実写画像。
03 REVIEW

診断時におさえるべきセキュリティ観点

攻撃を模倣するツールの一括検査には、誤検出や検出漏れが生じる場合があります。アプリの作りに加えて、端末内に残るデータ、通信の経路、通信先のAPIまで、次の5つの観点で確かめます。

端末内に読める形で残るのを防ぐ

端末内のデータ保存と認証情報の保護状態の検証

どのデータが端末内のどこへ、どんな形式で保存されるかを実機で追いかけ、読める状態で残っていないかを検証します。データ保存の仕様と突き合わせ、一時的に作られるファイルも対象にします。

確認する資料
  • データ保存仕様
通信内容の盗み見と書き換えを防ぐ

通信の暗号化と、通信先が本物かを証明書で確かめる処理の検証

通信を中継する検証環境で、通信先を確かめる処理と暗号化の設定が実装どおり働くかを確認します。通信先の一覧と設計資料を照らし、内容を読まれたり書き換えられたりする余地をたどります。

確認する資料
  • 通信先一覧
  • 通信の設計資料
別のアプリからの呼び出しを防ぐ

アプリ間連携と外部からの呼び出し経路の検証

外部から呼び出せる入り口を列挙し、想定していない呼び出しで機能やデータへ届かないかを検証します。連携の仕様と実装を突き合わせ、ほかのアプリへ渡す情報と、受け取る情報の扱いまで確かめます。

確認する資料
  • アプリ連携仕様
APIから他人の情報へ届くのを防ぐ

通信先のAPI・バックエンドの認証と認可の検証

アプリを介さずAPIを直接呼び出し、認証と権限の確認が一貫して働くかを検証します。API仕様書と権限の一覧を突き合わせ、識別子を書き換えた要求や、画面に出ていない経路への呼び出しまで試します。

確認する資料
  • API仕様書
  • 権限一覧
改変したアプリの再配布を防ぐ

解析のしにくさとアプリ改変への耐性の確認

配布されるアプリの中身がどこまで読み解けるかを確認し、書き換えた状態で動かせるかを評価します。ビルドの設定と改変を検知する仕組みを照らし、再配布や課金の回避につながる余地を確かめます。

確認する資料
  • ビルド設定
  • 改変検知の仕様
04 TEST DESIGN

診断の進め方・具体的な診断内容

5つの観点を、予算・期限とリリースの予定に収まる計画へ組み立てます。範囲を決めるところから再診断まで、進め方は次の4段階です。

STEP 01 アプリと通信先を棚卸しし、診断する範囲を決めるアプリと通信先を棚卸しし合意
どう確かめるか

アプリと通信先を棚卸しし、診断する範囲を決める

アプリ本体、通信先のAPI、その先のバックエンドを一覧にして棚卸しします。提携先の要件と回答の期限、機能ごとの影響の大きさを照らして優先順位を決め、着手する範囲を合意してから始めます。

  • 01アプリ本体と通信先のAPIを一覧にする
  • 02その先のバックエンドまで対象に棚卸しする
  • 03提携先の要件と期限から優先順位を決める
OUTPUTアプリ・API対象一覧
STEP 02 リリース予定から逆算して、診断と改修の期間を設計するリリース予定から期間を逆算
どう確かめるか

リリース予定から逆算して、診断と改修の期間を設計する

ストアの承認は、提出してから時間を要することがあり、指摘があれば新しい版の提出でさらに延びます。リリースの予定から逆算し、診断の時期と、改修・再確認に必要な期間を計画へ組み込みます。

  • 01ストアの承認と再提出に要する時間を見込む
  • 02リリースの予定から診断の時期を逆算する
  • 03改修と再確認に必要な期間を計画へ組み込む
OUTPUT診断・改修の期間計画
STEP 03 ツール診断と手動診断を組み合わせて、実機で確かめるツールで広く実機で深く確かめる
どう確かめるか

ツール診断と手動診断を組み合わせて、実機で確かめる

既知のパターンはツールで広く洗い出しますが、ツールには誤検出や検出漏れが出る場合があります。アプリの作りに依存する不備は、実機と実際の通信を使った手動診断で深く確かめます。

  • 01既知のパターンはツールで広く洗い出す
  • 02ツールの誤検出や検出漏れを見分ける
  • 03作りに依存する不備を実機と実通信で確かめる
OUTPUT実機での診断記録
STEP 04 確かめた範囲と未確認範囲を分けて報告し、是正・再診断まで伴走する確かめた範囲と制約の残りを明記
どう確かめるか

確かめた範囲と未確認範囲を分けて報告し、是正・再診断まで伴走する

検証した画面と経路、呼び出したAPI、使用した端末とOSの版を明記し、確かめた範囲を報告書に残します。制約で手を入れられなかった範囲と残るリスクは切り分け、改修後の再診断まで伴走します。

  • 01検証した画面と経路と呼び出したAPIを明記する
  • 02使用した端末とOSの版まで書き残す
  • 03制約で手を入れられなかった範囲を切り分ける
OUTPUT検証範囲と端末・OS一覧
05 RATIONALE

私たちGENZが、このようなモバイルアプリのセキュリティ診断を代行します

固定費を抱えない人日単位のアサイン、監査にも使える独立した検証の記録、育成期間なしに活かせる専門ノウハウなど、第三者へのアウトソースには複数のメリットがあります。

OUTSOURCING RATIONALE THIRD-PARTY VERIFICATION

必要な時に必要な分だけ

人日単位のアサインで固定費を抱えず、繁忙期に増減できます。

独立した視点で品質を底上げ

独立した検証で偏りを排し、監査に使える客観的な記録を残せます。

専門ノウハウを即戦力で

JSTQB認定エンジニアが在籍し、対象領域固有の検証知見を育成期間なしに活用できます。

オフィスで担当者同士がノートPCを前に、在庫管理システムのテスト観点を相談しながら整理している風景。第三者視点のテスト支援を想起させる実写写真。

専門知識を持ったセキュリティエンジニアが、第三者の視点で診断するメリット

  • 開発側の思い込みや先入観に影響されず、設定や実装の不備を検出できる
  • 診断観点にもとづく網羅的な検査で、見逃しを減らせる
  • 開発チームが診断の工数から解放され、開発に専念できる
06 SERVICE

5,000件以上の実績に裏付けられた伴走型支援

GENZは、アプリの開発やストア申請の代行ではなく、できあがったアプリと通信先を第三者の視点で検証します。APIやWebアプリ、ネイティブアプリを手がけてきた経験をもとに、次の4点をお引き受けします。

SVC 01

アプリとAPIまで選べる診断範囲

棚卸しの結果をもとに、アプリ本体だけ、通信先のAPIまで含めるなど、対象を相談して決めます。まず範囲の整理から切り出すこともできます。

在庫のリスク要因を並べ、優先順位を高低で示した赤白紙カード基調の無文字図解。
SVC 02

リリース予定に合わせた診断計画

ストア申請とリリースの予定を伺い、診断を入れる時期と改修に必要な期間を計画に載せます。定期的な更新のサイクルにも合わせられます。

仕様変更に応じてリグレッションテストの対象範囲が更新される様子を示した赤白紙カード基調の無文字図解。
SVC 03

未確認範囲と残存リスクまで整理

検証した範囲を画面と経路の単位で記載し、手を入れていない範囲には理由と残るリスクを添えます。社内の稟議や提携先への回答にも使えます。

第三者の視点で計画・設計・実施・報告が一貫してつながる流れを示した赤白紙カード基調の無文字図解。
SVC 04

ソフトウェアテストと同じ窓口で伴走

ソフトウェアテストや第三者検証と同じ窓口でご相談いただけます。是正後の再診断は、範囲と条件を取り決めたうえで対応します。

機能テストと関連テスト(性能・セキュリティ等)を並べて区分した赤白紙カード基調の無文字図解。
07 FLOW

ご相談から納品までの流れ

対象範囲と判断基準を先に合わせ、進捗と残るリスクを共有しながら進めます。

ヒアリングで対象範囲を具体化する

対象システム、拠点、扱うデータ、連携先、業務フロー、リリース時期を確認し、未検証領域を可視化します。

診断計画と優先順位を合意形成

事故影響、変更量、利用頻度、代替手段の有無から優先順位を定め、必要な工数と計画を具体化します。

診断実施と進捗・課題を毎回共有

実施状況、発見事項、阻害要因、追加確認が必要な仕様を共有し、終盤のまとめ出しを避けます。

報告書納品と再診断支援まで実施

診断完了レポートに結果、証跡、未実施範囲、残留リスクを整理し、修正後の再診断条件まで引き継ぎます。

5,000件以上の対応実績

モバイルアプリの診断範囲と優先順位を、GENZに相談する

初回のご相談では、アプリ本体から通信先のAPIまでどこまでを診断するか、着手の順番、必要な工数の見立て、機能テストや負荷テストといった関連するテストの要否を一緒に整理します。