チケットの集約: 効率的な管理のための脆弱性のグループ化
このセクションでは、チケット集約設定を使用して、複数のスキャンやアセット間で脆弱性をグループ化する方法について説明します。
チケットの集約を使用すると、類似の脆弱性を単一のチケットにグループ化することでワークフローを合理化し、セキュリティ問題の追跡と解決を容易にすることができます。 これは、複数のアプリケーション、プラットフォーム、環境(本番環境やテスト環境など)を扱う場合に特に役立ちます。
チケット集約の利点:
- 複数のスキャン、アプリケーションのバージョン、プラットフォームにわたって脆弱性のステータスを追跡できます。
- 重複や新規項目を特定したり、問題を例外や誤検知(フォールスポジティブ)として再マークしたりする手作業が不要になります。
- チケット管理システムとのシームレスな統合が可能です。
チケットをグループ化する主なモードには、次の2つがあります。
-
プラットフォームグループ:このオプションを使用すると、「Android File」と「Android Store」を単一の「Android」集約グループに結合するなど、プラットフォームのグループを定義できます。これは、特定のプラットフォームにデプロイされているすべてのアプリケーションに影響する脆弱性を管理するのに最適です。
-
アプリケーショングループ:このオプションを使用すると、「android:com.myapp.prod」や「android:com.myapp.test」などの特定のアプリケーション識別子(ID)に基づいてグループを定義できます。これは、同じアプリケーションの異なるバージョンや環境にまたがる脆弱性をグループ化するのに適しています。
例
AndroidとiOSの両方で利用できるモバイルアプリケーションがあるとします。 Android版の場合、Androidストア(「PlayStore」)からアプリケーションをスキャンし、開発中の内容を検証するために「Android File」(APKファイル)をスキャンする必要があります。 iOS版の場合、iOSストア(「AppStore」)からアプリケーションをスキャンし、開発中の内容を検証するために「iOS File」(IPAファイル)をスキャンする必要があります。
ここで、アプリケーション(AndroidとiOSの両方)に「Insecure Data Storage(安全でないデータ保存)」という同じ脆弱性がある場合を想定します。
オプション 1: 各プラットフォームのチケットを個別に集約したい場合。これは、Androidファイル、Androidストア、iOSファイル、およびiOSストアの4つのチケットが作成されることを意味します。
これを行うには、プラットフォームグループ化オプションを使用できます。4つのグループを定義する必要があります。
グループ1にはandroid、グループ2にはandroid_store、グループ3にはios、グループ4にはios_storeを含めます。
プラットフォームごとの集約チケットの設定方法を参照してください。 ファイルバージョンで問題を修正してスキャンすると、Ostorlabプラットフォームは問題が修正されたことを自動的に検出し、2つのチケットをFixed_verifiedとしてマークします。 その後、ファイルをストアにアップロードしてスキャンを実行すると、ストアのチケットも更新され、修正および検証済みとしてマークされます。
| アプリケーション ID | プラットフォーム | 脆弱性 | チケット ID |
|---|---|---|---|
android:com.myapp |
Android Store (PlayStore) | Insecure Data Storage | Ticket #001 |
android:com.myapp |
Android File (APK) | Insecure Data Storage | Ticket #002 |
ios:com.myapp |
iOS Store (AppStore) | Insecure Data Storage | Ticket #003 |
ios:com.myapp |
iOS File (IPA) | Insecure Data Storage | Ticket #004 |
オプション 2: ファイルまたはストアのどちらのものであるかに関係なく、Androidのスキャンを一緒に集約したい場合。また、ファイル、ストア、またはTestFlightのいずれからのものであるかに関係なく、iOSのチケットも集約したい場合。
これには、プラットフォームのグループ化オプションを使用できます。2つのグループを定義する必要があります。
グループ1にはandroidおよびandroid_storeを含め、グループ2にはios、ios_store、およびios_testflightを含めます。
異なるソースからアプリケーションをスキャンした場合、チケットは2つだけになります。Androidの1つのチケットは、ファイルとストアからの2つのスキャンを参照します。iOSのチケットについても同様です。
| アプリケーション ID | プラットフォーム | 脆弱性 | チケット ID |
|---|---|---|---|
android:com.myapp |
Android Store (PlayStore) | Insecure Data Storage | Ticket #001 |
android:com.myapp |
Android File (APK) | Insecure Data Storage | Ticket #001 |
ios:com.myapp |
iOS Store (AppStore) | Insecure Data Storage | Ticket #002 |
ios:com.myapp |
iOS File (IPA) | Insecure Data Storage | Ticket #002 |
APKファイルの問題を修正してスキャンした時点では、ファイルをストアにアップロードしてスキャンするまでチケットは開いたままになります。
ただし、ファイルよりも新しいバージョンでストアを直接スキャンした場合、プラットフォームはファイルを修正してより新しいバージョンをアップロードしたと解釈します。以前にファイルのスキャンを実行していなかった場合でも、チケットはfixed_verifiedとマークされます。
オプション 3: プラットフォームと環境ごとにモバイルアプリケーションを集約したい場合。
アプリケーションIDがそれぞれcom.company.myapp.prodおよびcom.company.myapp.testであるAndroidアプリの本番バージョンとテストバージョンがあるとします。 本番バージョンとテストバージョンのどちらをスキャンしても、またファイルとストアのどちらからスキャンしても、「Insecure Data Storage」の脆弱性に対して1つのチケットを用意したいとします。
このためには、アプリケーションIDのグループ化を使用する必要があります。次の項目を使用して1つのグループを定義できます:android:com.company.myapp.prod、android:com.company.myapp.test、およびandroid_store:com.company.myapp.prod。
正規表現を使用してさまざまな環境を定義することもできます:android:com.company.myapp.*およびandroid_store:com.company.myapp.*。
アプリケーションIDによる集約チケットの設定方法を参照してください。
この構成では、Androidファイルcom.company.myapp.prod、com.company.myapp.testing、またはAndroid Store com.company.myapp.prodの3つのスキャンに対して1つのチケットが作成されます。
| アプリケーション ID | プラットフォーム | 脆弱性 | チケット ID |
|---|---|---|---|
android:com.myapp.prod |
Android Store (PlayStore) | Insecure Data Storage | Ticket #001 |
android:com.myapp.prod |
Android File (APK) | Insecure Data Storage | Ticket #001 |
android:com.myapp.test |
Android File (APK) | Insecure Data Storage | Ticket #001 |
チケットが修正および検証済みになるには、両方の環境で問題を修正する必要があります。
重要な考慮事項:
「プラットフォームグループ」と「アプリケーショングループ」のどちらを選択するかは、組織の特定の構造と、脆弱性をどのように管理したいかによって異なります。
ある構成から別の構成に変更することは可能ですが、構成を変更するたびに古いチケットは閉じられ、新しい構成に一致する新しいチケットが作成されます。