このドキュメントでは、v1.1.0 の設定方法について説明します。Netskope Cloud Exchangeの Threat Exchange モジュールを備えた Cybereason プラグイン。 Cybereasonプラグインは、セキュリティプロファイル > レピュテーションページからIoC(ドメイン、IPv4、IPv6、MD5、SHA256)を取得し、Cloud Exchangeに保存するように設計されています。さらに、このプラグインは、IoC(ドメイン、IPv4、IPv6、MD5、およびSHA256)をCybereason Security Profile > Reputationsページに共有することをサポートしています。
前提条件
この設定を完了するには、以下が必要です。
- Netskopeテナント(または、例えば本番環境と開発/テスト環境など、複数のテナント)。
- URL 共有のための Secure Web Gateway サブスクリプション。
- 悪意のあるファイルハッシュ共有に対するNetskope脅威対策サービスのサブスクリプション。
- Netskope Cloud Exchangeテナント(テナントプラグインと脅威交換プラグインが既に構成済み)
- Cybereasonアカウントのユーザー名とパスワード。
- 以下のホストへの接続: https://integration.cybereason.net:8443 。
Cybereasonプラグインのサポート
取得したインジケーターの種類 | SHA256、MD5、ドメイン、IPv4、IPv6 |
共有指標タイプ | SHA256、MD5、ドメイン、IPv4、IPv6 |
権限
このプラグインにアクセスするには、Cybereason プラットフォームへの管理者アクセスが必要です。 管理者アクセスについては、Cybereason チームに連絡してください。
マッピング
プルマッピング
| Netskope CE Fields | サイバーリーズン・フィールズ |
|---|---|
| Value | Value |
| タイプ | タイプ |
| 初めて目撃された | 追加日 |
| 最後に目撃された日時 | 最終更新日 |
プッシュマッピング
| Netskope CE Fields | サイバーリーズンUIフィールド |
|---|---|
| Comment | デスクリプション |
| Value | Value |
権限
このプラグインにアクセスするには、Cybereason プラットフォームへの管理者アクセスが必要です。 管理者アクセスについては、Cybereason チームに連絡してください。
APIの詳細
使うAPI一覧
| APIエンドポイント | 方法 | 使うケース |
|---|---|---|
| /login.html | 役職 | プラグインを認証するには |
| /rest/classification/reputations/list | 役職 | 評判(IoC)を調査する |
| /rest/classification/upload | 役職 | 評判を高める(IoC) |
認証するために
API Endpoint: https://<baseurl>/login.html
Method: 役職
Headers
| 鍵 | Value |
|---|---|
| ユーザーエージェント | <User Agent> |
| Content-Type | application/x-www-form-urlencoded |
| Cookie | <Cookie> |
| Accept | アプリケーション/json |
Payload:
| 鍵 | Value |
|---|---|
| ユーザー名 | <username> |
| password | <password> |
Sample API Response:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Cybereason</title>
<meta name="viewport" content="width=device-width">
<link rel="shortcut icon" href="favicon.ico">
</head>
<body class="cbr-theme-light">
<app></app>
<script type="text/javascript">
(function () {
var loadScript = function({ uri, async, onLoad, onError, attrs }) {
var isSync = async === undefined ? true : async;
const script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.setAttribute('src', uri);
script.async = isSync;
if (onLoad) script.onload = onLoad;
if (onError) script.onerror = onError;
if (attrs && attrs.length) attrs.forEach(function (attr) {script.setAttribute(attr.name, attr.val)});
document.body.appendChild(script);
};
var loadCSS = function(uri) {
const head = document.getElementsByTagName('head')[0];
const link = document.createElement('link');
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = uri;
link.media = 'all';
head.appendChild(link);
};
var attrs = [{ name: 'data-shell-sdk-url', val: 'rest/uimodules/js/shell-sdk' }];
function loadFallbackGlobalStyles() {
loadScript({ uri: '/externals/cbr-global-styles-1.4.1.js' });
}
function requireGlobalStyles() {
var initRuntimesPromise = window.CbrInfraShell && window.CbrInfraShell.initRuntimesPromise;
if (initRuntimesPromise) {
initRuntimesPromise.then(() => {
require(['@cbr/global-styles']);
}).catch(() => {
loadFallbackGlobalStyles();
})
} else {
loadFallbackGlobalStyles();
}
}
function loadFallback() {
window.__isLoadShellFallback__ = true;
var fallbSrc = '/rest/uimodules/js/shell-sdk/latest/shell.js';
loadScript({ uri: fallbSrc, async: false, onLoad: requireGlobalStyles, onError: loadFallbackGlobalStyles, attrs });
// prevent chaching by adding query param
loadCSS('/public/common.css?23.2.120');
loadCSS('/public/vendors.css?23.2.120');
loadCSS('/public/app.css?23.2.120');
loadScript({ uri: '/public/common.js?23.2.120' });
loadScript({ uri: '/public/vendors.js?23.2.120' });
loadScript({ uri: '/app.js?23.2.120' });
loadScript({ uri: '/externals/pendo.js' });
}
var tenant = window.location.hostname.split('.')[0];
var _shellSdkUri = (window?.localStorage && window?.localStorage.getItem('shell.shellSdkUri')) || '';
var shellSrc = (_shellSdkUri || '/rest/dynamic/v1/ui-infra-shell/public-api/js/shell.js') + '?pVersion=23.2.120&tenantId='+ tenant;
loadScript({ uri: shellSrc, async: false, onLoad: requireGlobalStyles, onError: loadFallback, attrs });
})();
</script>
</body>
</html>
プルレピュテーション(IoC)
API Endpoint: https://<baseurl>/rest/classification/reputations/list
Method: 役職
Headers:
| 鍵 | Value |
|---|---|
| ユーザーエージェント | <User Agent> |
| Content-Type | アプリケーション/json |
Sample Payload:
{
"filter": {
"includeExpired": true,
},
"page": 0,
"size": 20
}
Sample API Response
{
"outcome": "success",
"data": {
"reputations": [
{
"key": "2001:0db8:0:0:0:ff00:42:8888",
"reputationType": "IP",
"isBlocking": false,
"maliciousType": "blacklist",
"comment": "",
"expiration": -1,
"owningUser": "gjenkins@netskope.com",
"firstSeen": 1713948991801,
"lastUpdated": 1713948991801,
"additionalKeys": [],
"lookupKeyType": "IPV6"
}
],
"total": 1
}
}
評判を高めるための活動(IoC)
API Endpoint: https://<baseurl>/rest/classification/upload
Method: 役職
Headers:
| 鍵 | Value |
|---|---|
| ユーザーエージェント | <User Agent> |
| Cookie | <cookie> |
Payload:
| 鍵 | Value |
|---|---|
| classification_file | CSVファイル [評判に関するCSVファイルをアップロードしてください] |
パフォーマンスマトリックス
以下は、下記の仕様を持つ大規模な CE スタック上で、Cybereason との間で 100K 個のインジケーターをプルおよび共有することによって実行されたパフォーマンス測定結果です。
| スタックの詳細 | サイズ:大 RAM:32 GB CPU:16コア |
| Cybereasonから取得した指標 | ~15K per minute |
| Cybereasonと共有された指標 | ~1K per minute |
ユーザーエージェント
netskope-ce-5.0.1-cte-cybereason-v1.1.0
ワークフロー
- Cybereasonインスタンスの情報を取得してください。
- Cybereasonプラグインを設定します。
- Cybereasonのビジネスルールを設定します。
- NetskopeとCybereason間の共有設定を行います。
- Cybereasonプラグインを検証します。
再生ボタンをクリックして動画をご覧ください。
Cybereasonの情報を入手してください
Cybereasonプラグインを設定するには、CybereasonインスタンスのベースURL、ユーザー名、およびパスワードが必要です。
- ユーザー名: Cybereason プラットフォームのユーザー名。
- パスワード: Cybereason プラットフォームのパスワード。

Cybereasonプラグインの設定
- Cloud Exchangeで、 [設定] > [プラグイン]に移動します。
- Cybereasonプラグインボックスを検索して選択します。

- 基本情報には、以下の値を入力してください。
- 構成名:構成の一意の名前。
- 同期間隔:このプラグインソースからデータを取得する間隔。
- 有効期限基準:特定の期間が経過すると、インジケーターが失効します。
- 評判の上書き:指標の評判を上書きする値を設定します。
- SSL検証を有効にする:通信にSSL検証が必要な場合は有効にします。
- システムプロキシ:通信にプロキシが必要な場合は有効にしてください。

- 「次へ」をクリックしてください。
- For Configuration Parameters, enter these values:
- ベースURL:データを取得したいCybereasonコンソールのURL。
- ユーザー名: API ユーザー名/Cybereason プラットフォームにアクセスするためのユーザー名。
- パスワード: API パスワード/Cybereason プラットフォームのパスワード。
- ポーリングを有効にする:データを取得したい場合は有効にしてください。

- 「保存」をクリックしてください。

Cybereason 用の脅威交換ビジネスルールを追加する
指標をCybereasonと共有するには、共有したいデータをフィルタリングするビジネスルールを追加してください。そのためには、以下の手順に従ってください。
- 脅威エクスチェンジ > ビジネスルールに移動します。
- 「新しいルールを作成」をクリックします。
- ルール名を追加し、以下に示すような要件に応じたフィルターを作成します。


- 「保存」をクリックしてください。
Cybereason の Threat Exchange 共有を構成する
CybereasonとIoC(侵害指標)を共有するには、共有設定を行います。
- Threat Exchangeで、 [共有]に移動します。
- 「共有設定の追加」をクリックします。

- ソース構成のドロップダウンをクリックし、Netskope(またはIoCを共有したいソースプラグイン)を選択します。
- 「ビジネスルール」ドロップダウンをクリックし、以前に作成したビジネスルールを選択します。
- 「宛先構成」ドロップダウンをクリックし、「Cybereason」を選択します。
- IoCを共有するには、 [ターゲット]ドロップダウンをクリックして[共有インジケーター]を選択します。

- URLを共有するには、 [ターゲット]ドロップダウンをクリックして[URLリストに追加]を選択します。NetskopeテナントのURLリスト名を入力し、新しいリストを作成します。URLリストタイプSelect 、リストサイズとデフォルトURLを入力してください。

- ハッシュを共有するには、 [ターゲット]ドロップダウンをクリックして、 [ファイルハッシュリストに追加]を選択します。Netskopeテナントからリスト名(ファイルプロファイル)を入力し、次にリストサイズを入力してください。

- 「保存」をクリックしてください。
Cybereasonプラグインを検証する
プルを検証する
- Cybereasonの指標は、このページから取得されます: Security Profile > Reputation .
「 Netskopeから作成」と記載されているインジケーターは取得されません。
- Cloud Exchangeに保存されている指標は、 Threat Exchange > Threat IoCsページから確認できます。
- Cybereason のインジケーターをフィルタリングして、Cybereason IoC を検索します。
例: 「sources.source が「 」と等しい」のようなクエリを脅威 IoC<plugin configuration name> ページに追加します。


- また、 Logging ページで利用可能なログからCloud Exchangeで取得した指標も確認できます。

プッシュ通知を検証する
Netskope/Cybereasonと共有されているIoCは、Cloud ExchangeのLoggingページで入手できるログから確認できます。

トラブルシューティング
Cybereason プラットフォームでデータを検証/プッシュできない
Cybereason プラットフォームでデータを表示できない場合は、次のいずれかの理由が考えられます。
- 無効な形式(Cybereasonでサポートされていない形式)のURL(例:protocol.subdomain.domainname)は共有されますが、APIは成功メッセージを返すものの、IoCのバッチ全体は共有されません。
- 無効な(MD5、SHA256)IoCが共有されています。
- データをバッチでプッシュしているときに、Cybereason プラットフォームからサーバー エラーが発生する可能性があるため、バッチ プッシュはスキップされました。
これらの問題を解決するには:
- 無効な形式 (Cybereason プラットフォームでサポートされていない形式) の URL を削除して、protocol.subdomain.domainname を削除し、再度 IoC を共有して手動同期を実行します。
- Cloud Exchangeで確認すると、無効なIoCを示すログが存在します。特定の IoC を削除し、手動同期を使って IoC を共有しようとします。
- データを使う手動同期をもう一度押してみます。
Cybereason プラットフォームからデータを取得できません
Cybereason プラットフォームでデータを取得できない場合は、次のいずれかの理由が考えられます。
- プラットフォーム上にはプル可能なIOCが存在しません。
- IoC のプル中に API が読むタイムアウトを返しました。
- Cybereasonプラグインの設定で、ポーリングは「いいえ」に設定されています。
これらの問題を解決するには:
- プルが必要な場合は、Cybereasonに有効なIOCが存在することを確認してください。IOC がプラットフォーム上に存在する場合は、IOC のデスク リプションを確認してください。「 Netskopeから作成」されている場合、IOC は CE 自体から共有されているため、プルされません。
- APIがタイムアウトの問題を回復するまでお待ちください。
- Cybereasonプラグインで、投票機能を「はい」に設定してください。
既知の行動
- すべての指標は、サイバーリーズンプラットフォーム上でブラックリストとして共有されます。したがって、Cybereason プラットフォームではアクションが「検出のみ」として表示されます。
- 共有対象のバッチに無効なIOCが1つでも含まれている場合、バッチ全体が無視されます。
- すべてのページの取得が完了すると、APIにチェックポイントメカニズムを実装するためのフィールドがないため、取得は再びページ1から開始されます。

