みんなのセキュリティ

Vol.13 スマートフォンアプリの脆弱性診断を受ける際に必要な準備とは?

作成者: グェン トゥアン フン|Jul 21, 2024 3:00:00 PM

プロフィール

ミアミン

ホワイトハッカーを夢みて、セキュリティアカデミーでお勉強中のミーアキャット。心配性でやさしい性格で、「みんな無事ミア?」「危険はないミア?」が口癖。ちょっとしたことですぐに「キャッ!」と動揺しがち。

グェン トゥアン フン

アプリケーション開発、ゲームエンジニア、ブリッジエンジニア、セキュリティエンジニアなど、幅広い経験をした後、2023年にユービーセキュアへ入社。2児の父。

スマートフォンアプリの脆弱性診断を効果的に行うには?

ミアミン

フンさんこんにちは!今日のテーマは「スマートフォンアプリの脆弱性診断の準備」ですね。以前、スマートフォンアプリの脆弱性診断について教わったときに、スマートフォンアプリは開発期間や予算が限られていて、セキュリティ対策に十分なリソースを割けないことがあると聞いたミア。

フンさん

そうですね。そういった環境の中で、スマートフォンアプリの脆弱性診断というのは、アプリの安全性を確保し、ユーザーからの信頼を得るために重要なプロセスなのです。

ミアミン

時間のない中で、効果的に脆弱性診断を実施していくにはどうすればいいミア?

フンさん

適切な準備と注意点を押さえることですね。例えば、対象アプリの情報整理、診断の範囲や目的の明確化などが含まれます。

脆弱性診断を受ける際に必要な準備

フンさん

それでは、事前の準備について詳しく見ていきましょう。

診断会社の選定

脆弱性診断サービスの依頼先を選定するときは、以下のポイントをチェックしておくことが重要です。

 

  • 診断会社の実績
  • 診断会社が提供するサービスと、依頼したい診断内容がマッチしているか
ミアミン

「実績」はプラットフォーム診断でも重要だと教わりました。「依頼したい診断内容とマッチしているか」も、診断の目的や範囲がはっきりしていないと判断できないから、まずそこを整理するとよさそうミア!

フンさん

いいところに気が付きましたね!その調子で、次の準備も見ていきましょう。

開発スケジュールの調整

脆弱性診断を受ける前に、開発スケジュールについて診断会社と認識を合わせる必要があります。アプリの規模によっては脆弱性診断にかかる日数が長くなる可能性があるため、いつまでに脆弱性診断を完了させる必要があるか、診断会社とよく確認する必要があります。
また、脆弱性診断の結果によって、修正が必要な指摘が発生する可能性もあります。診断期間と開発スケジュールを事前に調整したうえで、リリース日に影響が出ないように進めなければなりません。

ミアミン

たしかに「修正が終わり次第リリースしますね~」というわけにはいかない……。でも、脆弱性診断や修正を急いで行うのにも限界があるから、結構難しいミア!

フンさん

そうなんです。だからこそあらかじめ開発スケジュールの調整が重要ということを知っておいてほしいのです。

診断に必要な情報の整理

脆弱性診断に必要な情報を整理し、診断会社に情報を提供するための準備を行います。具体的には、apkやipaファイルの送付などの方法でアプリそのものを診断会社へ提供します。本番環境に近い状態で脆弱性の確認を行うために、テストまで完了した、リリース可能な状態のアプリを用意することが望ましいです。
さらに、診断会社に診断対象とするべき箇所を判断してもらうため、設計書や画面遷移図などの資料も準備しましょう。また、診断実施時には診断対象へのアクセス情報やサンプルデータなど、操作可能なデータの準備も必要です。

脆弱性診断の範囲や目的、期待される結果の明確化

脆弱性診断を受ける際には、診断対象の画面や目的、期待される結果についても明確にしておくことが重要です。例えば、顧客の個人情報を取り扱うアプリの場合、「機微な情報が平文で端末内に保存されていないかを確認する」といったことが挙げられます。

ミアミン

キャッ!リスクのありそうなところをお任せで全部診てもらえるつもりになってました……たしかに「どう診断して、どんな結果を返してもらうか」は、受ける側も把握していないといけないミア。

フンさん

そうなんです。そういった目的を診断会社と共有しておくことで、より有意義な診断結果を得ることができますからね。

脆弱性診断を受けるときはどこに気を付けるべき?

ミアミン

先ほどのような準備を経て、いよいよ脆弱性診断を受けるときの準備にはどんなものがあるミア?

フンさん

これもいくつかありますから、一つずつ見ていきましょう。

実施環境の確定

Webサーバーと通信が発生するスマートフォンアプリの場合、開発環境・本番環境とは別に、これらを再現した「脆弱性診断用の環境」を用意することが望ましいです。もし脆弱性診断用の環境を用意できない場合は、以下のリスクに注意しましょう。

 

  • 本番環境での診断:実際のユーザーデータ漏えいや、意図しないデータの更新が発生する可能性
  • 開発環境での診断:開発者の実施するテスト内容が脆弱性診断の結果に影響する可能性
ミアミン

データ漏えいも意図しないデータ更新も、絶対避けたい……!開発環境での診断も、診断結果に影響するとなるとなかなか大変ミア。

フンさん

そうなんです。何かあったときの影響が大きいからこそ、脆弱性診断用の環境をおすすめしているんですよ。そして、次のような準備も欠かせません。

アクセス制限の解除

一般的なスマートフォンアプリの脆弱性診断は、外部のIPアドレスからアクセスしてアプリを動作させます。そのため、IPアドレスの制限がかかっている場合は、診断会社のIPアドレスからでもアクセスできるように調整する必要があります。

テストデータの準備

脆弱性診断をスムーズに実施するためには、診断対象画面を操作できる十分なデータが必要です。データが不足していると、脆弱性診断の精度や実施スケジュールに影響する恐れがあります。また、脆弱性診断の精度を高めるためには、テストデータの内容を事前に検討し、脆弱性診断の範囲や目的を網羅できるテストデータを準備することが重要です。

ミアミン

データ不足は精度に影響する!わかっているつもりでもついつい忘れがちミア。今日はいろいろ教えてくれてありがとミア!

フンさん

スマートフォンアプリの脆弱性診断は、セキュリティを確保するうえで非常に重要です。脆弱性診断を受ける際の準備や注意点を理解し、適切に対応することで、より効果的な結果を得ることができます。スマートフォンアプリの脆弱性診断を活用して、アプリのセキュリティを確保しましょう!

詳細はこちら