モバイルアプリケーションセキュリティアセスメント🔗
サービス概要🔗
お客様の全体的なリスクおよび関連する修復コストを削減するために、Secureworksは、モバイルアプリケーション全体、その関連する内部またはインターネットシステム、およびそれらの間の相互作用に対するセキュリティおよびコンプライアンスリスクを評価する、包括的かつ優先順位付けされたアプローチを用います。アセスメント中に使用される具体的な手法は、モバイルプラットフォーム、モバイルアプリケーションの目的、コーディングの実践および品質、そして独自の展開環境に基づいて異なります。
サービス手法🔗
モバイルアプリケーションのテストには、ソフトウェアエミュレーション、ソフトウェア開発環境、実際のハードウェアの組み合わせが使用されます。各モバイルプラットフォームの動作方法の違いにより、同様のテストを実施するためには各プラットフォームごとに異なる手法を用いる必要があります。Secureworksのテスト手法には、Open Web Application Security Project (OWASP) Mobile Security Projectの主要な脆弱性、その他の独自およびオープンな脆弱性情報源、未公開の脆弱性が含まれます。
アセスメントの範囲内で、Secureworksは以下のアクティビティを実施します。
モバイルセキュリティベストプラクティスレビュー🔗
このフェーズでは、Secureworksはアプリケーションが達成すべき目標を調査し、ユーザーインターフェースを通じて直接テストを行います。これら2つの観点は、最も迅速かつ高品質な結果をもたらすことが多いです。開発者がアプリケーションの目標を達成するためのアプローチをレビューすることで、リスクに関する意思決定を評価できます。このステップでは、実装が望ましい設計と一致しているかどうかの検証も可能です。テストは、ユーザビリティではなく、アプリケーションのセキュリティおよびセキュリティ関連の問題にのみ焦点を当てます。
コンサルタントは、モバイルアプリケーションを希望するハードウェアプラットフォームまたはエミュレータにインストールし、テストを開始します。このレベルのテストでは、デバイス上に存在するアプリケーションの静的解析を行い、通常のユーザーによる日常的なアプリケーション利用中や悪意のある攻撃者による不適切なアクセスにつながる可能性のあるコーディングやロジックの脆弱性が存在するかどうかを発見します。このテストシナリオでよく発見される望ましくないアクティビティの例は以下の通りです。
- 他のアプリケーションユーザーの個人識別情報(PII)へのアクセス
- ユーザー権限の昇格
- 基盤となるアプリケーションコードの露出
この最初の段階は、設計と目標に関する知識はあるものの、コードやサポートシステムに関する知識はほとんど、または全くない状態で実施されます。評価対象のアプリケーションに該当する場合、テストアクティビティには以下が含まれることがあります。
- アプリケーションの操作
- ユーザー入力フィールド
- エラーハンドリング
- アクセス制御
- 多要素認証
- 強力なパスワード要件
- アプリケーションのアップデート
- テザリング
- OTA(Over-the-air)
- トランザクション中断時の処理
- 接続の喪失
- トランザクション中のネットワーク切り替え
- 着信
- アプリケーションの終了
モバイルアプリケーションセキュリティアセスメント🔗
この段階では、詳細な手動セキュリティテストおよびデバイス上で動作するアプリケーションの詳細な分析を行い、エンドユーザーインターフェースのテストだけでは明らかにならない脆弱性を明らかにします。テストに必須ではありませんが、コンサルタントチームは、開発、プロジェクト管理、その他の特定されたビジネスグループなどの関係者と協力して、モバイルアプリケーションのさまざまな機能を調査することができます。この分析から得られる可能性のある発見事項の中で、一般的なものは以下の通りです。
- 「ロジック層」の脆弱性
- デバッグまたはバックドア機能の特定
- ベストプラクティスのギャップの特定(不適切なAPI、マネージド暗号化プロバイダーAPI、独自の暗号化方式の作成、リスクのあるID管理API、機密情報を含むグローバル共有変数など)
- 不適切なエラーハンドリングの特定(エラーが中央APIで適切に処理されているか、単発のデバッグ出力や情報漏洩があるか、障害検出時の環境クリーンアップやリカバリが適切に処理されているか)
- 資格情報や認証トークンの安全でない保存
- バックグラウンド動作中にデバイス上に機密情報を保存したり、アプリケーションから適切にログアウトしないなどの安全でないアプリケーション動作
- 通信の暗号化に使用する無効なSSL/TLS証明書の適切な処理の失敗
Secureworksのテスト手法は、ソフトウェアエミュレーション、ソフトウェア開発環境、実際のハードウェアの組み合わせを用いてモバイルアプリケーションのテストを実施します。同様のチェックを行うためには、各プラットフォームごとに異なる手法を用いる必要があります。これは、各モバイルプラットフォームの動作方法の違いによるものです。Secureworksのテスト手法には、Open Web Application Security Project (OWASP) Mobile Security Projectの主要な脆弱性、その他の独自およびオープンな脆弱性情報源、未公開の脆弱性が含まれます。Secureworksが実施するタスクは以下の通りです。
- アプリケーションのエミュレーション
- デバッグツールの使用
- ネットワークプロキシの使用
- 限定的なデバイスおよびアプリケーションのフォレンジック
Secureworksは、アプリケーションのアーキテクチャおよび設計に固有の問題を発見するために、自動および手動の両方の分析を用いて動的にアセスメントを実施します。以下のトピックは、評価対象となる項目の例です。
- アクセス制御
- セッション管理
- 最小権限アクセス
- 不適切な保存
- アプリケーションが保存すべきでないデータを保存していないか?
- パスワード
- パスワードハッシュ
- 機密情報
- ログ
- キー
- 安全でない保存
- アプリケーションが保存する必要のあるデータをどのように保存しているか?
- 暗号化と平文
- 暗号化実装
- 安全でないトランスポート層
- お客様はすべての通信でSSLを強制しているか?
- お客様は不正な証明書をどのように処理しているか?
- お客様はSSLを正しく実装しているか?
- その他のトランスポート層の問題(IPsecやVPNなど)
- アプリケーションのバッファオーバーフローや類似の脆弱性
- アプリケーションにデバッグやテスト用コードが残っていないか?
- 悪意のあるアプリ内広告を防ぐ仕組み
- データ漏洩
- 位置情報
- デバイスID
- 個人情報
- IPアドレス
- ジオロケーション
- プラットフォーム固有のテスト
- キーストロークキャッシュ
- スクリーンショット
- キーチェーンまたはパスワード保存
- SQLiteデータ保存
- キャッシュされたファイルおよびデータ
- UIPasteBoard
- バックグラウンド動作
- スナップショット
Web APIテスト🔗
WebサービスまたはAPIテストは、以下の領域に焦点を当てます。
- Simple Object Access Protocol("SOAP")/XML構造テスト
- Representational State Transfer("REST")/JavaScript Object Notation("JSON")パラメータ操作
- 入力値検証攻撃
- クロスサイトスクリプティング攻撃
- Cookieの窃取
- Webサーバーの脆弱性
- 認証方式への攻撃
- 水平および垂直の権限昇格
- サードパーティソフトウェアの脆弱性
- データベースの脆弱性
以下のサブセクションでは、Secureworksが顧客のWeb APIおよび/またはWebサービスをテストする際のプロセス内の各段階について説明します。
修復検証🔗
Secureworksは、最終レポートに記載された重大度「高」および「重大」の発見事項に対してのみ、1回の修復検証(RV)を実施します。最終レポートが納品された後、お客様は90日以内に問題を修復し、RVをスケジュールし、SecureworksにRVを実施させる必要があります。RVリクエストは、最終レポート納品から30日以内にWebサービステストのSecureworks担当者宛にメールで提出する必要があり、これを過ぎるとRVの権利は失効します。Secureworksは、RVの結果を要約した簡潔なレポートを発行し、問題が正常に修復されたかどうかの情報を含みます。
注意: Secureworksは、Webサービステストがオンサイトで実施されたかどうかに関わらず、RVはリモートでのみ実施します。
成果物🔗
Secureworksがまとめた発見事項および成果物は、レポートの形でお客様に提供されます。レポートには以下が含まれる場合があります。
- エグゼクティブサマリー
- 手法、詳細な発見事項、説明、および推奨事項(該当する場合)
- 関連する詳細および補足データのための添付資料
お客様は、レポート納品から1週間以内に、最終レポートに含めるコメントを提出することができます。レビュー期間満了前にお客様からコメントが提出されない場合、レポートは最終版とみなされます。
サービス完了時には、お客様が指定した連絡先に対して、Secureworksから安全/暗号化されたメールによる確認が送信されます。お客様指定の連絡先から書面による異議申し立てがない限り、そのメール確認から5営業日以内にサービスは完了したものとみなされます。
スコーピング情報🔗
| スコープ | 説明 |
|---|---|
| モバイルアプリケーションセキュリティアセスメント - 小規模 | 1つのモバイルプラットフォーム(iOSまたはAndroid)上での1つのモバイルアプリケーションのアセスメント |
スコーピングのヒント: 標準の8サービスユニットテストには、1つのハードウェアプラットフォーム(iOS または Android)にインストールされた1つのモバイルアプリケーションが含まれます。1つのモバイルアプリケーションについてiOS および Androidの両方のプラットフォームをテストするには、2つのモバイルアプリケーションセキュリティアセスメントが必要です。
作業はSecureworksコンサルタントの営業時間内に実施されます。時間外対応は追加費用で利用可能です。
このサービスの完全なサービス説明はこちらをご覧ください: モバイルアプリケーションセキュリティアセスメント