- スキャン
- スキャンを実行
- モバイルスキャンの前提条件
モバイル スキャンの前提条件
概要
Ostorlabは、モバイルアプリケーションの静的、動的、および動作分析を実行します。 これらの機能は、多種多様なエンジン、ツール、および技術を使用して、本番アプリの制約を回避し、そのセキュリティを評価します。
動的分析では、インストルメント化されたサンドボックスでアプリを実行し、アプリがネットワーク、ファイルシステム、キーチェーン、APIとどのようにやり取りするかを追跡します。検出を参照してください。
これらの保護の影響を検証するために、すべての保護を有効にしてアプリケーションをテストすることをお勧めします。また、保護を無効にして、これらの保護のために追加の検出事項が報告されたり見逃されたりしていないかを比較することも推奨します。
サポートされているアプリ形式
Android、iOS、HarmonyOSのアプリファイルをアップロードできます。iOSのファイルは暗号化されていないIPAである必要があります。
| プラットフォーム | アップロード形式 | 備考 |
|---|---|---|
| Android | .apk, .aab |
New Scan で Android App を選択します。 |
| iOS | .ipa |
iOS App を選択します。IPAは暗号化されていない必要があります。 |
| HarmonyOS | .apk, .aab, .rpk, .app, .hap |
HarmonyOS App を選択します。 |
アップロードの手順については、ファイルからモバイルアプリケーションをスキャンを参照してください。アセットタイプの完全な一覧はマルチアセットでサポートされるアセットタイプにあります。
SBOMまたはロックファイル(lock file)を追加して、依存関係の検出を拡張することもできます。サポートされているファイルについては、SBOMまたはLockfileを使用したスキャンを参照してください。
ソースコードは、Gitリポジトリまたはアップロードされたアーカイブ(.zip、.tar.gz、.tgz、.7z)から別途スキャンされます。ソースコードのスキャンを参照してください。
ストアおよびTestFlightからのスキャン
公開されているアプリをそのストアから選択するか、iOS TestFlightビルドの公開リンクを指定できます。
ストアから:
- Androidの場合は PlayStore、iOSの場合は AppStore、HarmonyOSの場合は AppGallery を選択します。
- アプリ名、パッケージ名、バンドル名、またはバンドルIDでアプリを検索します。
- アプリが一部の国でのみ利用可能な場合は、Country メニューで国を選択します。
ストアからモバイルアプリケーションをスキャンを参照してください。
TestFlightから:
- iOS TestFlight を選択し、TestFlightの公開 URLを入力します。
TestFlightを使用してiOSモバイルアプリケーションをスキャンを参照してください。
フレームワークのサポート
サポートは、フレームワークと分析の種類によって異なります。完全な表はプラットフォームサポートを参照してください。
- Xamarin: 静的分析、動的分析、行動分析、バックエンド分析はサポートされていますが、分析環境はサポートされていません。
- Framework7: 動的分析、行動分析、バックエンド分析に加え、分析環境もサポートされていますが、静的分析はサポートされていません。
- Apache Weex: 動的分析、行動分析、バックエンド分析に加え、分析環境もサポートされていますが、静的分析はサポートされていません。
テストに影響を与える保護メカニズム
1. 難読化 (Obfuscation)
コードの難読化は、読み取り可能なソースコードを機能的に同等だが理解しにくいバージョンに変換し、リバースエンジニアリングをより困難にします。
テストへの影響: コードが難読化されると、開発者がスタックトレースを読み取って修正を適用する場所を特定することが困難になります。
2. TLSピンニング
証明書のピン留め (TLS Pinning) は、想定されるサーバーの証明書または公開鍵をハードコードすることで、アプリが正当なサーバーと通信していることを検証します。
テストへの影響: トラフィックの傍受を妨げる可能性があります。
3. ランタイム保護
ランタイム保護メカニズムは、アプリケーションの実行中に改ざん、デバッグ、またはインストルメンテーションの試みを検出して防止します。
テストへの影響: 動的分析のためのアプリケーションのインストルメンテーションやパッチ適用を防止します。
4. 開発者モードの防止
アプリケーションの分析に使用される可能性のある、開発者向け設定、USBデバッグ、デバッグ接続の検出とブロック。
テストへの影響: アプリケーションのインストルメンテーションにデバッグプロトコルが使用されるのを防ぎます。
5. スクリーンショットの無効化
アプリケーション画面のスクリーンショットのキャプチャを防止するセキュリティ機能。
テストへの影響: スクリーンショットの撮影を妨げ、アプリケーションの自動探索やクローリングにわずかな支障をきたす可能性があります。
推奨されるテストアプローチ
- すべての保護を有効にして実行する
- 開発者モードの検出を無効にして実行する (該当する場合)
- すべての保護を無効にして実行する
3回の実行結果を比較して、保護によって検出事項が隠されていないかを確認します。
保護自体がどの程度機能しているかを測定するには、Mobile Shielding Scanを実行します。難読化、改ざん防止、デバッグ防止、およびroot化とジェイルブレイクの検出をチェックし、最後のチェックではroot化またはジェイルブレイクされた環境でアプリを実行します。これは保護を測定するものであり、脆弱性スキャンではありません。Mobile Deep Agentic Scanは、脆弱性テストに加えて同じチェックを実行します。スキャンタイプの比較を参照してください。
既知の制限事項
- マルチアセットスキャンに含めることができるモバイルアプリは最大1つです。
- TLSピンニング、ランタイム保護、開発者モードの防止などの保護により、動的分析が制限される場合があります。テストに影響を与える保護メカニズムを参照してください。
- 動的分析のコールトレースは、Java、C、Flutter、Swiftをサポートしています。IDEの使用: 検索と分析を参照してください。