リリースノート
1.0.0 (Required minimum CE version for this is 6.0.0)
Added
- 初回リリース。
- プル:Yes (IPv4、MD5、SHA256)
- Push: No
- プルによる取り消し:はい(設定可能な時間枠に基づく)
- 押し込み式格納:なし
このドキュメントでは、Cloud ExchangeプラットフォームのThreat ExchangeモジュールでGreyNoise v1.0.0プラグインの設定方法を説明しています。このプラグインは、GreyNoiseプラットフォームのクエリページからIPv4およびファイルハッシュ(MD5、SHA256)タイプの脅威指標を取得するために使用されます。このプラグインはGreyNoiseプラットフォームからのインジケーターのプルリトラクションをサポートしています。このプラグインはGreyNoiseプラットフォームへのインジケーター共有をサポートしていません。
前提条件
この設定を完了するには、以下が必要です。
- Netskopeテナント(または、例えば本番環境と開発/テスト環境など、複数のインスタンス)
- TenantプラグインとThreat Exchangeプラグインがすでに設定されているNetskope Cloud Exchangeインスタンス
- A URL List on your Netskope tenant.
- A Destination Profile on your Netskope tenant.
- Netskopeテナント上のプライベートアプリ。
- Netskopeテナント上のファイルプロファイル。
- 以下のホストへの接続性:
- GreyNoiseテナントログインURL。例:https://viz.greynoise.io/
- GreyNoise APIベースURL。例:https://api.greynoise.io
GreyNoiseプラグインのサポート
このプラグインは、GreyNoiseプラットフォームのクエリページからIPv4およびファイルハッシュ(MD5、SHA256)タイプの脅威インジケーターをプルするために使用されます。このプラグインは、GreyNoiseプラットフォームからのインジケーターのプル取得をサポートしています。このプラグインは、GreyNoiseプラットフォームへのインジケーターの共有をサポートしていません。
| 取得したインジケーターの種類 | 共有指標タイプ |
|---|---|
| IPv4、SHA256、およびMD5 | – |
IoC撤回
IoC の取り消し(プル):GreyNoise 上で削除された IoC、プラグイン設定で指定された取り消し間隔の対象外である IoC、または選択された IoC タイプ/分類/コールバックステージの対象外である IoC は、Cloud Exchange 内で取り消し済みとしてマークされます。
| 引き込みタイプ | サポートされているリトラクションタイプ |
|---|---|
| IoCリトラクション(プル) | はい |
| IoCリトラクション(プッシュ) | いいえ |
Mapping
インジケーターのプルマッピング
| Netskopeインジケーターフィールド | GreyNoise API フィールド |
|---|---|
| value | IP、コールバック IP、sha256、md5 |
| タイプ | IP/CIDRの形状から派生 |
| firstSeen | first_seen (GNQL) / first_seen (コールバック) |
| lastSeen | last_seen (GNQL) / last_seen (Callback) |
| コメント | metadata.source_country、metadata.source_city、metadata.organization、internet_scanner_intelligence.actor |
| tags | classification + category:name (GNQL) / callback_ip, stage_1, stage_2 (コールバック) |
IoCタイプを取得
| GreyNoiseの概念 | Netskope CE Type | Example Value |
|---|---|---|
| IP (GNQL、IPv4アドレス) | IPv4 | 8.8.8.8 |
| IP (GNQL, IPv4 CIDR) | IPv4 CIDR(タイプが利用できない場合はURLにフォールバックします) | 192.168.1.0/24 |
| コールバック IP | IPv4 / IPv4 CIDR | 8.8.8.8 |
| active_files.sha256 | SHA256 | e3b0c44… |
| active_files.md5 | MD5 | d41d8cd… |
権限
ユーザーは「Account」>「API Key」にアクセスする権限を持っている必要があります。
APIの詳細
使うAPI一覧
| APIの詳細 | 方法 | APIエンドポイント |
|---|---|---|
| 接続の検証 / IPインジケーターの取得 (GNQL) | 得る | /v3/gnql |
| コールバックIP / MD5 / SHA256インジケーター(一覧) | 役職 | /v1/callback/ips |
| コールバックIPのファイルハッシュを取得(詳細) | 得る | /v1/callback/ip/{ip} |
GNQLクエリからIPを取得
Parameters
| パラメータ | Value | Comments |
|---|---|---|
| query | like classification:malicious AND last_seen:1d | classification:{classification} AND last_seen:{gnql_last_seen} として構築(選択された分類ごと) |
| size | 10,000(プル)/ 1(検証) | PAGE_SIZE 定数。軽量検証呼び出しの場合は 1 |
| exclude | カンマ区切りのフィールドリスト | 未使用のフィールド(tag_volumes、cves、raw_data、metadata.asn、など)をレスポンスから |
| scroll | scroll cursor string | 後続のページにのみ含まれ、前のレスポンスの request_metadata.scroll から取得されます。 |
API Request Curl
curl --location 'https://api.greynoise.io/v3/gnql?query=classification%3Amalicious%20AND%20last_seen%3Atoday&size=1' \ --header 'key: <api_key>' \ --header 'Accept: application/json'
Sample API Response
{
"data": [
{
"ip": "61.134.36.102",
"internet_scanner_intelligence": {
"found": true,
"first_seen": "2023-09-01",
"last_seen": "2023-10-03",
"last_seen_timestamp": "2023-10-03 08:15:00",
"actor": "unknown",
"tags": [
{
"category": "activity",
"name": "Web Crawler"
}
],
"metadata": {
"source_country": "China",
"source_city": "Shenzhen",
"organization": "Some Hosting Provider"
}
}
}
],
"request_metadata": {
"complete": false,
"scroll": "eyJmaWx0ZXJzIjp7fSwic29ydCI6W119"
}
}
コールバックIPアドレスをプルする
Parameters
| パラメータ | Value | Comments |
|---|---|---|
| last_seen_after | YYYY-MM-DD | range_to_date() を介して設定された範囲(今日/1日/1週間/1か月/1年/カスタム)から計算 |
| page | 0, 1, 2… | page * page_size >= total になるか、短いページが返されるまでインクリメントされます |
| page_size | 100 | CALLBACK_PAGE_SIZE 定数 |
| is_stage_1 | true/false | 「ステージ1」設定の選択から |
| is_stage_2 | true/false | 「ステージ2」の構成選択から |
API Request Curl
curl--location'https://api.greynoise.io/v1/callback/ips'\--header'key: <api_key>'\--header'Content-Type: application/json'\--header'Accept: application/json'\--data'{"last_seen_after":"2023-10-01","page": 0, "page_size": 100,"is_stage_1": true,"is_stage_2": true}'
Sample API Response
{
"total": 245,
"items": [
{
"ip": "45.155.204.10",
"first_seen": "2023-09-15T00:00:00Z",
"last_seen": "2023-10-03T00:00:00Z",
"is_stage_1": true,
"is_stage_2": true,
"file_count": 2
"last_modifier": null
}
]
}
コールバック IP のハッシュを取得する
Parameters: なし
API Request Curl
curl --location 'https://api.greynoise.io/v1/callback/ip/45.155.204.10' \ --header 'key: <api_key>' \ --header 'Accept: application/json'
Sample API Response
{
"ip": "45.155.204.10",
"active_files": [
{
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85",
"md5": "d41d8cd98f00b204e9800998ecf8427e"
}
]
}
パフォーマンスマトリックス
以下は、下記の仕様を持つ大規模CEインスタンスで10万件のIoC(Instruction of Code)を実行した後に実施したパフォーマンス測定結果です。
| デスクリプション | 仕様 |
|---|---|
| スタックの詳細 | サイズ:大 RAM:32 GB CPU:16コア |
| GreyNoiseから取得したインジケーター | ~ 3.5K IoCs per minute |
ユーザーエージェント
netskope-ce-6.1.0-cte-greynoise-v1.0.0
ワークフロー
- APIキーの取得
- GreyNoiseプラグイン構成の設定
- ビジネスルールを追加する
- 共有を追加
- Validation
動画を見る
再生ボタンをクリックして動画をご覧ください。
GreyNoise から API キーを取得する
GreyNoiseプラグインの構成
-
Cloud Exchange で、 Settings > Plugin Storeに移動します。GreyNoise v1.0.0 (CTE)プラグインを検索して選択してください。

-
基本情報を入力してください:
- Configuration Name: 設定の一意の名前
- Sync Interval:このプラグインからデータを取得し、他のソースからこのプラグインにデータを共有するための間隔。GreyNoiseプラグインについては、同じIoCを再度取得しないように、同期間隔を1日以上に設定することをお勧めします。
- Indicator Aging Criteria: 脅威インテリジェンス/インジケーターの有効期限(日数)を定義します。(デフォルト値:90)
- Override Reputation:この構成から受信したインジケーターのレピュテーションを上書きする値を設定します。デフォルト値を保持するには0を使用します。これにより、インジケーターのレピュテーションは上書きされません。
- Tags Aggregate Strategy: 既存のIoCに新しいタグを追加するか、上書きするかを選択してください。この設定パラメータは、この設定用に取得されたインジケーターのタグの保存方法を決定します。
- Enable SSL ValidationSSL証明書の検証を有効または無効にします。

-
Nextをクリックして、設定パラメータを入力してください。
- Base URL:GreyNoise APIのベースURL(例:https://api.greynoise.io)。
- API Key:GreyNoiseプラットフォームで認証するためのAPIキー。
- Enable Tagging: タグ付け機能の有効化/無効化。Yes を選択すると、取得した IoC にタグが追加されます。
- IoC Types: Select the types of IoC(s) to pull from GreyNoise. IP and Callback IP pull IPv4 indicators via the GNQL API (Classification field will appear). MD5 and SHA256 pull malware file hashes from Callback IP records (Callback Stages field will appear).
- Classification: Select the GreyNoiseプラットフォームから取得するIP分類を選択します。
- Stage 1 (file downloaded from this IP): Callback IP、MD5、またはSHA256インジケーターを取得する際に、ステージ1のコールバックインジケーター(このIPからダウンロードされたファイル)を取得するには、Yesに設定します。ステージ1とステージ2の両方でYesを選択すると、ステージ1とステージ2のIPの和集合ではなく、ステージ1とステージ2の両方に同時に分類されるIP(積集合)のみが取得されます。
- Stage 2 (suspected C2 based on VT/sandbox analysis): コールバックIP、MD5、またはSHA256インジケーターをプルする際に、ステージ2のコールバックインジケーター(VT/サンドボックス分析に基づくコマンドアンドコントロール(C2)の疑い)をプルするには、Yesに設定します。ステージ1とステージ2の両方をYesとして選択すると、ステージ1とステージ2のIPの和集合ではなく、ステージ1とステージ2の両方に同時に分類されるIPのみがプルされます(積集合)。
- Initial Range: 初回取得のタイムウィンドウ。初回取得後、プラグインは前回の正常な実行以降のデータを自動的に取得するため、データの取りこぼしがありません。Custom を選択して、[Initial Range (Days)] フィールドに日数 (1~365) を指定します。
- Retraction Interval: プルによる取り消し(リトラクション)を実行する際に使用する時間枠。Threat Exchange設定でIoCの取り消し(Retraction)が有効になっている場合にのみ適用されます。Customを選択し、「Retraction Interval (Days)」フィールドで日数(1~365)を指定します。
- Retraction Interval (Days): リトラクション(取り消し)期間の日数。1から365の間である必要があります。リトラクション間隔がCustomに設定されている場合にのみ適用されます。


-
Click Save. The plugin appears on the Plugins page.

GreyNoise 用の Threat Exchange ビジネスルールを構成する
GreyNoiseプラグインはIoCの共有をサポートしていませんが、GreyNoiseから取得したIoCはNetskopeテナントに共有できます。Cloud ExchangeからNetskopeテナントにインジケーターを共有するには、共有するインジケーターをフィルタリングするビジネスルールが必要です。ビジネスルールを構成するには:
-
Threat ExchangeでBusiness Rulesに移動し、 Create New Ruleをクリックします。

-
ルール名を入力し、共有するIoCの要件に応じてフィルターを追加してから、Saveをクリックします。

GreyNoiseのThreat Exchange共有を構成する
GreyNoiseプラグインはIoCの共有をサポートしていませんが、GreyNoiseから取得したIoCはNetskopeテナントに共有できます。NetskopeテナントとIoCを共有するには:
- Threat ExchangeでSharingに移動し、 Add Sharing Configurationをクリックします。
- Select your Source Configuration (CTE GreyNoise), Business Rule, Destination Configuration (CTE Netskope Threat Exchange), and a Target.
- Saveをクリックしてください。

注記
Netskopeテナントでの共有に関する詳細については、Threat Exchangeプラグインガイドを参照してください。GreyNoiseプラグインはIPv4、SHA256、MD5の取得をサポートしているため、これらのインジケーターを使用してNetskopeで以下の操作を実行できます。
- IPv4 の場合
- URLリストに追加
- プライベートアプリに追加
- 目的地プロファイルに追加
- SHA256およびMD5の場合
- ファイルハッシュリストに追加
GreyNoiseプラグインの検証
プルを検証する
このプラグインは、GreyNoiseプラットフォームのクエリページからIPv4およびファイルハッシュ(MD5、SHA256)タイプの脅威インジケーターをプルするために使用されます。このプラグインは、GreyNoiseプラットフォームからのインジケーターのプル取得をサポートしています。このプラグインは、GreyNoiseプラットフォームへのインジケーターの共有をサポートしていません。
GreyNoise で利用可能な IOC を確認するには、GreyNoise インスタンスにログインし、Query ページに移動して、必要に応じてフィルターを適用してください。

いずれかの指標をクリックすると、その詳細が表示されます。

Cloud ExchangeでのIoCの取得を確認するには、Settings > Loggingに移動し、プラグイン構成名でフィルターを適用してください。例:message Like “CTE GreyNoise”。


引き出されたIOoCはCloud Exchangeの Threat IoCs で表示されます。


撤回を検証する
引き込み用
取り消されたIoCを確認するには、Threat IoCs に移動し、ここに示されているようにフィルターを適用します:

取り消しに関連するログを確認するには、Logging に移動し、ここに示されているようにフィルターを適用します:

GreyNoiseプラグインはプッシュリトラクションをサポートしていませんが、Netskope Threat Exchangeプラグインはサポートしているため、GreyNoiseプラグインからプルされ、リトラクト済みとしてマークされたIoCは、Netskopeテナントから削除されます。この結果は、リトラクション結果フィールドから確認できます。ここでリトラクション結果がCTE Netskope Threat Exchange: retractedとなっている場合、このIoCはNetskopeテナントから削除されたことを意味します。
これは、GreyNoiseから取得したIoCが共有された送信先プロファイルです。

GreyNoiseからプルされたIoCがretracted = yesとマークされ、Netskopeテナント上の宛先プロファイルに既に共有されていた場合、その宛先プロファイルから削除され、そのステータスは取り消し結果から確認できます。この場合、取り消し結果はCTE Netskope Threat Exchange: retractedとなり、宛先プロファイルから削除されたことを意味します。

ここでは、取り下げられたIoCがこの宛先プロファイルから削除されたことが確認できます。

GreyNoise プラグインのトラブルシューティング
プラグイン構成の作成中に、無効なベースURLまたは無効なAPIキーのエラーが発生しています。
このエラーは、プラグイン構成で提供されたURLまたはAPIキーが無効な場合に発生する可能性があります。
What to do: 正しい URL と API キーを入力してください。GreyNoise の構成セクションを参照してください。
GreyNoise から IoC を取得できません
GreyNoise から IoC を取得できない場合、プラグイン設定の初期範囲として使用された間隔内に GreyNoise プラットフォーム上に IoC が存在しないか、設定でステージ 1 とステージ 2 が Yes に設定されており、ステージ 1 が true/yes かつステージ 2 が true/yes である IoC が存在しない可能性があります。
What to do: IoCがGreyNoiseプラットフォーム上に存在し、プラグイン構成で使用されているクレデンシャルが正しいことを確認してください。プルを検証するセクションおよび既知の動作を参照してください。
既知の行動
- ステージ1とステージ2のフィルタリングでは、OR(和集合)ではなくAND(積集合)を使用します。ステージ1とステージ2の両方が「はい」に設定されている場合、GreyNoiseコールバックAPIは両方のフラグに対して完全一致を適用します。つまり、ステージ1とステージ2の両方のイベントとして同時にタグ付けされたIPのみが返されます。いずれか1つのステージのみに属するIPは除外されます。ステージ1のみ、またはステージ2のみのIPを結合セットと併せて取得するには、各ステージを個別に有効にした状態で、プラグイン設定を別々に実行してください。
- 後続のプルは、常に前回のウィンドウと約1日間重複します。このプラグインは経過時間を日単位で切り上げるため、前回の実行からちょうど4日後に実行されるプルは、last_seen:5dをクエリします。これは、前回のプルウィンドウの最後の約1日間が常に再クエリされることを意味します。



