ANY.RUN を Google SecOps と統合する

このドキュメントでは、ANY.RUN を Google Security Operations(Google SecOps)と統合する方法について説明します。

プロダクトの権限

統合は API キー認証で機能しています。新しい API キーは、ANY.RUN ページで生成できます。

統合のパラメータ

Google SecOps で統合を構成する方法について詳しくは、統合を構成するをご覧ください。

次のパラメータを使用して統合を構成します。

パラメータ名 種類 デフォルト値 必須 説明
インスタンス名 文字列 なし いいえ 統合を構成するインスタンスの名前。
説明 文字列 なし いいえ インスタンスの説明。
API キー パスワード なし はい 統合で使用する API キー。
リモートで実行 チェックボックス オフ いいえ 構成した統合をリモートで実行するには、フィールドのチェックボックスをオンにします。オンにすると、リモート ユーザー(エージェント)を選択するオプションが表示されます。

Google SecOps で統合を構成する方法については、統合を構成するをご覧ください。

必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できます。複数のインスタンスを構成してサポートする方法の詳細については、複数のインスタンスのサポートをご覧ください。

操作

アクションの詳細については、 デスクから保留中のアクションに対応するとケースで手動アクションを実行するをご覧ください。

ファイルを分析

ANY.RUN ファイル分析タスクを作成します。

このアクションは Google SecOps エンティティに対しては実行されません。分析対象のファイルのフルパスを、アクション入力パラメータとして指定する必要があります。

パラメータ

パラメータ名 種類 デフォルト値 必須 説明
ファイルパス 文字列 なし いいえ 分析するファイルのフルパスを指定します。
レポートを待つ チェックボックス オン いいえ レポートの作成を待ってからアクションを実行するかどうかを指定します。スキャンが完了すると、後で [Get report] アクションを使用してレポートを取得することもできます。
しきい値 Integer 0 はい [Wait for the report] チェックボックスがオンになっている場合、エンティティのレポートリスク値が指定されたしきい値を超えると、エンティティを不審としてマークします。
x 回送信を試みる Integer 30 はい API の同時実行数の上限を超えていないかどうかを確認し、新しい送信を作成しようとする試行回数。チェックは 2 秒ごとに行われます。
OS のバージョン DDL

7

値は次のいずれかです。

  • 7
  • 8.1
  • 10
いいえ 分析を実行する OS のバージョン。
オペレーティング システムのビット数 DDL

32

値は次のいずれかです。

  • 32
  • 64
いいえ オペレーティング システムのビット数
OS 環境タイプ DDL

完了

値は次のいずれかです。

  • 完了
  • オフィス
  • クリーン
いいえ 分析を実行する環境タイプ。
ネットワーク接続のステータス DDL オン

値は次のいずれかです。

    オン
  • オフ
いいえ 分析用のネットワーク接続状態。
FakeNet の機能ステータス DDL

false

値は次のいずれかです。

  • true
  • false
いいえ 分析用の FakeNet 機能の状態。
TOR を使用する DDL

false

値は次のいずれかです。

  • true
  • false
いいえ 分析の実行中に TOR を使用するかどうか。
opt_network_mitm DDL

false

値は次のいずれかです。

  • true
  • false
いいえ HTTPS MITM プロキシ オプション。
opt_network_geo DDL

最も所要時間が短い

値は次のいずれかです。

  • 最も所要時間が短い
  • AU
  • BR
  • DE
  • CH
  • FR
  • KR
  • 米国
  • RU
  • GB
  • IT
いいえ 位置情報オプション。
opt_network_heavyevasion DDL

false

値は次のいずれかです。

  • true
  • false
いいえ 重度の回避オプション。
opt_privacy_type DDL

リンク

値は次のいずれかです。

  • リンク
  • 公開
  • オーナー
  • チーム別
いいえ 分析のプライバシー設定。
opt_timeout 文字列 60 いいえ 分析のタイムアウト期間(10 ~ 600 秒の範囲)。
obj_ext_startfolder DDL

temp

値は次のいずれかです。

  • temp
  • デスクトップ
  • ホーム
  • ダウンロード
  • appdata
  • 窓
  • ルート
いいえ 分析の開始位置。

ユースケース

アラートの一部であるファイルを分析し、悪意のあるファイルかどうかを確認します。

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

エンティティ拡充

ネガティブ エンジンの数が指定されたしきい値以上の場合、エンティティを不審としてマークします。if data.get("report", {}).get("risk_score", {}).get("result") > threshold

拡充フィールド名 ロジック - 適用するタイミング
domain_blacklist JSON の結果に存在する場合に返す
html_forms JSON の結果に存在する場合に返す
server_details JSON の結果に存在する場合に返す
response_headers JSON の結果に存在する場合に返す
話題の転換 JSON の結果に存在する場合に返す
file_type JSON の結果に存在する場合に返す
risk_score JSON の結果に存在する場合に返す
security_checks JSON の結果に存在する場合に返す
geo_location JSON の結果に存在する場合に返す
url_parts JSON の結果に存在する場合に返す
site_category JSON の結果に存在する場合に返す
web_page JSON の結果に存在する場合に返す
dns_records JSON の結果に存在する場合に返す
スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success 正誤問題 is_success:False
JSON の結果

オプション 1: [レポートを待機] チェックボックスがオンになっていない場合、作成された分析タスクに関する情報が返されます(リクエスト 1 へのレスポンス)。

{
    "error": false,
    "data": {
        "taskid": "TASK_ID"
    }
}

方法 2. [レポートを待機] チェックボックスがオンになっていない場合は、作成された分析タスクに関する情報が返されます(リクエスト 1 へのレスポンス)。

{
    "error": false,
    "data": {
        "analysis": {
            "uuid": "UUID",
            "permanentUrl": "https://app.any.run/tasks/UUID",
            "reports": {
                "IOC": "https://api.any.run/report/UUID/ioc/json",
                "MISP": "https://api.any.run/report/UUID/summary/misp",
                "HTML": "https://api.any.run/report/UUID/summary/html",
                "graph": "https://content.any.run/tasks/UUID/graph"
            },
            "sandbox": {
                "name": "ANY.RUN - Interactive Sandbox",
                "plan": {
                    "name": "Tester"
                }
            },
            "duration": 60,
            "creation": 1602483368256,
            "creationText": "2020-10-12T06:16:08.256Z",
            "tags": [],
            "options": {
            }
        }
    }
}
ケースウォール
結果のタイプ 説明 種類
出力メッセージ *

アクションが失敗したり、Playbook の実行が停止したりすることはありません。

指定されたファイルの分析タスクが正常に作成された場合: 「ファイル {0} の分析タスクが正常に作成されました」.format(file_path)。

指定されたファイルの分析タスクを作成できない場合: "Failed to create ANY.RUN analysis task for file: {0}".format(file_path).

[wait for report] チェックボックスがオンになっていて、Python プロセスのタイムアウトが近づいているためにアクションを終了する場合: print "Action reached timeout waiting for report for file: {0}".format(file_path)。

アクションが失敗し、Playbook の実行が停止します。

認証情報の誤りや接続の切断などの重大なエラーが報告された場合: 「ANY.RUN サービスへの接続に失敗しました。エラーは {0}」.format(exception.stacktrace)

全般

ファイルの URL を分析

ANY.RUN ファイル分析タスクを作成します。

このアクションは Google SecOps エンティティでは機能しません。分析するファイルの URL をアクション入力パラメータとして指定する必要があります。

パラメータ

パラメータ名 種類 デフォルト値 必須 説明
URL をファイルに追加 文字列 なし いいえ ダウンロードして分析するファイルの URL を指定します。
ソース URL を非表示にしますか? チェックボックス オフ いいえ ダウンロードしたファイルのソース URL を非表示にするかどうかを指定します。
レポートを待つ チェックボックス オン いいえ レポートの作成を待ってからアクションを実行するかどうかを指定します。スキャンが完了すると、後で [Get report] アクションを使用してレポートを取得することもできます。
しきい値 Integer 0 はい [Wait for the report] チェックボックスがオンになっている場合、エンティティのレポートリスク値が指定されたしきい値を超えると、エンティティを不審としてマークします。
x 回送信を試みる Int 30 はい API の同時実行数の上限を超えていないかどうかを確認し、新しい送信を作成しようとする試行回数。チェックは 2 秒ごとに行われます。
OS のバージョン DDL 7 いいえ 分析を実行する OS のバージョン。
オペレーティング システムのビット数 DDL 32 いいえ オペレーティング システムのビット数
OS 環境タイプ DDL 完了 いいえ 分析を実行する環境タイプ。
ネットワーク接続のステータス DDL オン いいえ 分析用のネットワーク接続状態。
FakeNet の機能ステータス DDL False いいえ 分析用の FakeNet 機能の状態。

TOR を使用する

DDL False いいえ 分析の実行中に TOR を使用するかどうか。

opt_network_mitm

DDL False いいえ HTTPS MITM プロキシ オプション。
opt_network_geo DDL 最も所要時間が短い いいえ 位置情報オプション。
opt_network_heavyevasion DDL False いいえ 重度の回避オプション。
opt_privacy_type DDL

リンク

値は次のいずれかです。

  • リンク
  • 公開
  • オーナー
  • チーム別
いいえ 分析のプライバシー設定。

opt_timeout

文字列 60 いいえ 分析のタイムアウト期間(10 ~ 600 秒の範囲)。

obj_ext_startfolder

DDL temp いいえ 分析の開始位置。

ユースケース

アラートの一部であるファイルを分析し、悪意のあるファイルかどうかを確認します。

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

エンティティ拡充

ネガティブ エンジンの数が指定されたしきい値以上の場合、エンティティを不審としてマークします。is_suspicious: if data.get("score") > threshold

拡充フィールド名 ロジック - 適用するタイミング
ドメイン JSON の結果に存在する場合に返す
should_block JSON の結果に存在する場合に返す
スコア JSON の結果に存在する場合に返す
使い捨て JSON の結果に存在する場合に返す
has_mx_records JSON の結果に存在する場合に返す
has_spf_records JSON の結果に存在する場合に返す
スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success 正誤問題 is_success:False
JSON の結果

オプション 1: [レポートを待機] チェックボックスがオンになっていない場合、作成された分析タスクに関する情報が返されます(リクエスト 1 へのレスポンス)。

{
    "error": false,
    "data": {
        "taskid": "TASK_ID"
    }
}

オプション 2: [レポートを待機] チェックボックスがオンになっていない場合、作成された分析タスクに関する情報が返されます(リクエスト 1 へのレスポンス)。

{
    "error": false,
    "data": {
        "analysis": {
            "uuid": "UUID",
            "permanentUrl": "https://app.any.run/tasks/UUID",
            "reports": {
                "IOC": "https://api.any.run/report/UUID/ioc/json",
                "MISP": "https://api.any.run/report/UUID/summary/misp",
                "HTML": "https://api.any.run/report/UUID/summary/html",
                "graph": "https://content.any.run/tasks/UUID/graph"
            },
            "sandbox": {
                "name": "ANY.RUN - Interactive Sandbox",
                "plan": {
                    "name": "Tester"
                }
            },
            "duration": 60,
            "creation": 1602483368256,
            "creationText": "2020-10-12T06:16:08.256Z",
            "tags": [],
            "options": {
            }
        }
    }
}
ケースウォール
結果のタイプ 説明 種類
出力メッセージ *

アクションが失敗したり、Playbook の実行が停止したりすることはありません。

指定されたファイルの分析タスクが正常に作成された場合: 「ファイル {0} の分析タスクが正常に作成されました」.format(file_path)。

指定されたファイルの分析タスクを作成できない場合: Failed to create ANY.RUN analysis task for file: {0}".format(file_path).

[レポートを待機] チェックボックスがオンになっていて、Python プロセスのタイムアウトが近づいているためにアクションを終了する場合: 「アクションが、ファイル {0} のレポートを待機中にタイムアウトに達しました」。format(file_path)。

アクションが失敗し、Playbook の実行が停止します。

認証情報の誤りや接続の切断などの重大なエラーが報告された場合: 「ANY.RUN サービスへの接続に失敗しました。エラーは {0}」.format(exception.stacktrace)

全般

URL を分析

指定された URL の ANY.RUN 分析タスクを作成します。

このアクションは Google SecOps エンティティをサポートしていません。分析する URL を入力パラメータとして指定する必要があります。

パラメータ

パラメータ名 種類 デフォルト値 必須 説明
分析対象の URL 文字列 なし いいえ 分析する URL を指定します。
レポートを待つ チェックボックス オン いいえ レポートの作成を待ってからアクションを実行するかどうかを指定します。スキャンが完了すると、後で [Get report] アクションを使用してレポートを取得することもできます。
x 回送信を試みる Integer 30 はい API の同時実行数の上限を超えていないかどうかを確認し、新しい送信を作成しようとする試行回数。チェックは 2 秒ごとに行われます。
OS のバージョン DDL 7 いいえ 分析を実行する OS のバージョン。
オペレーティング システムのビット数 DDL 32 いいえ オペレーティング システムのビット数
OS 環境タイプ DDL 完了 いいえ 分析を実行する環境タイプ。
ネットワーク接続のステータス DDL オン いいえ 分析用のネットワーク接続状態。
FakeNet の機能ステータス DDL False いいえ 分析用の FakeNet 機能の状態。
TOR を使用する DDL False いいえ 分析の実行中に TOR を使用するかどうか。

opt_network_mitm

DDL

False いいえ HTTPS MITM プロキシ オプション。
opt_network_geo DDL 最も所要時間が短い いいえ 位置情報オプション。
opt_network_heavyevasion DDL False いいえ 重度の回避オプション。
opt_privacy_type DDL

リンク

値は次のいずれかです。

  • リンク
  • 公開
  • オーナー
  • チーム別
いいえ 分析のプライバシー設定。
opt_timeout 文字列 60 いいえ 分析のタイムアウト期間(10 ~ 600 秒の範囲)。
obj_ext_startfolder DDL temp いいえ 分析の開始位置。

ユースケース

確認されたアラートの一部である URL を分析して、悪意のある URL かどうかを確認します。

実行

このアクションは URL エンティティに対して実行されます。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success 正誤問題 is_success:False
JSON の結果

オプション 1: [レポートを待機] チェックボックスがオンになっていない場合、作成された分析タスクに関する情報が返されます(リクエスト 1 へのレスポンス)。

{
    "error": false,
    "data": {
        "taskid": "TASK_ID"
    }
}

オプション 2: [レポートを待機] チェックボックスがオンになっていない場合、作成された分析タスクに関する情報が返されます(リクエスト 1 へのレスポンス)。

{
    "error": false,
    "data": {
        "analysis": {
            "uuid": "UUID",
            "permanentUrl": "https://app.any.run/tasks/UUID",
            "reports": {
                "IOC": "https://api.any.run/report/UUID/ioc/json",
                "MISP": "https://api.any.run/report/UUID/summary/misp",
                "HTML": "https://api.any.run/report/UUID/summary/html",
                "graph": "https://content.any.run/tasks/UUID/graph"
            },
            "sandbox": {
                "name": "ANY.RUN - Interactive Sandbox",
                "plan": {
                    "name": "Tester"
                }
            },
            "duration": 60,
            "creation": 1602483368256,
            "creationText": "2020-10-12T06:16:08.256Z",
            "tags": [],
            "options": {
            }
        }
    }
}
ケースウォール
結果のタイプ 説明 種類
出力メッセージ *

アクションが失敗したり、Playbook の実行が停止したりすることはありません。

指定されたエンティティの少なくとも 1 つに対して分析タスクが正常に作成された場合: 「次のエンティティの分析タスクが作成されました: {0}」.format([entity.Identifier])。

指定されたすべてのエンティティの分析タスクを作成できない場合: 「ANY.RUN 分析タスクは作成されませんでした。」

一部のエンティティの分析タスクを作成できない場合: 「次のエンティティの分析タスクを作成できませんでした: {0}」.format([entity.identifier])

[レポートを待機] チェックボックスがオンになっていて、Python プロセスのタイムアウトが近づいているためアクションを終了する場合: "Action reached timeout waiting for report for the following entities: {0}".format([entity.identifier])

アクションが失敗し、Playbook の実行が停止します。

認証情報の誤りや接続の切断などの重大なエラーが報告された場合: 「ANY.RUN サービスへの接続に失敗しました。エラーは {0}」.format(exception.stacktrace)

全般

レポートの取得

提供された Google SecOps の File、FileHash、または URL エンティティに基づいて、以前の分析から ANY.RUN レポートを取得します。

パラメータ

パラメータ名 種類 デフォルト値 必須 説明
しきい値 Integer 0 はい エンティティのスコア値が指定されたしきい値を超えている場合、エンティティを不審としてマークします。
過去 x 回のスキャンを検索 Integer 25 はい ANY.RUN で実行された過去 x 回の分析で提供されたファイルハッシュのレポートを検索します。
インサイトを作成しますか? チェックボックス オフ いいえ レポートデータに基づいて分析情報を作成するかどうかを指定します。
最新のレポートを取得しますか? チェックボックス オン いいえ 指定されたエンティティの最新の分析レポートを返すか、見つかったすべてのレポートを返すかを指定します。

ユースケース

ハンドブックのアラート分析で検出された ANY.RUN ハッシュを検索します。

実行

このアクションは次のエンティティに対して実行されます。

  • ファイル名
  • Filehash
  • URL

アクションの結果

エンティティ拡充

エンティティのリスク値が、アクション入力パラメータとして指定されたしきい値を超えている場合、アクションはこれを True に設定する必要があります。

分析情報
分析情報のロジック 種類 タイトル エンティティ 判定結果 脅威レベル スコア
それぞれのチェックボックスがオンになっている場合は作成します。 エンティティ すべて / レポートを作成 分析情報が作成されるエンティティ識別子 API レスポンスの値 API レスポンスの値 API レスポンスの値
スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success 正誤問題 is_success:False
JSON の結果
{
  "error":false,
  "data":{
    "analysis":{
      "uuid":"UUID",
      "permanentUrl":"https://app.any.run/tasks/UUID",
      "reports":{
        "IOC":"https://api.any.run/report/UUID/ioc/json",
        "MISP":"https://api.any.run/report/UUID/summary/misp",
        "HTML":"https://api.any.run/report/UUID/summary/html",
        "graph":"https://content.any.run/tasks/UUID/graph"
      },
      "sandbox":{
        "name":"ANY.RUN - Interactive Sandbox",
        "plan":{
          "name":"Tester"
        }
      },
      "duration":60,
      "creation":1602483368256,
      "creationText":"2020-10-12T06:16:08.256Z",
      "tags":[
      ],
      "options":{
        "timeout":60,
        "additionalTime":0,
        "fakeNet":false,
        "heavyEvasion":false,
        "mitm":false,
        "tor":{
          "used":false,
          "geo":"fastest"
        },
        "presentation":false,
        "video":true,
        "hideSource":false,
        "network":true,
        "privacy":"bylink",
        "privateSample":false,
        "automatization":{
          "uac":false
        }
      },
      "scores":{
        "verdict":{
          "score":100,
          "threatLevel":2,
          "threatLevelText":"Malicious activity"
        },
        "specs":{
          "injects":false,
          "autostart":false,
          "cpuOverrun":false,
          "crashedApps":false,
          "crashedTask":false,
          "debugOutput":false,
          "executableDropped":false,
          "exploitable":false,
          "lowAccess":false,
          "memOverrun":false,
          "multiprocessing":true,
        }
      }
    }
  }
}
ケースウォール
結果のタイプ 説明 種類
出力メッセージ *

アクションが失敗したり、Playbook の実行が停止したりすることはありません。

成功し、指定されたエンティティの少なくとも 1 つのレポートを取得した場合: 「次のエンティティの ANY.RUN レポートが見つかりました: {0}」.format([entity.Identifier])。

指定されたすべてのエンティティのレポートが見つからない場合: 「ANY.RUN レポートが見つかりませんでした。」

一部のエンティティのレポートが見つからない場合: 「次のエンティティの ANY.RUN レポートが見つかりませんでした: {0}」.format([entity.identifier])

アクションが失敗し、Playbook の実行が停止します。

認証情報の誤りや接続の切断などの重大なエラーの場合: 「ANY.RUN サービスへの接続に失敗しました。エラーは {0}」.format(exception.stacktrace)

一般
テーブル

名前: 最新の ANY.RUN レポート

列: パラメータ、値:

  • 判定結果
  • 「脅威レベル」
  • 「スコア」
  • レポートの URL
  • IOC を報告する
  • MISP を報告する
  • HTML レポート
  • レポートグラフ
全般

Ping

ANY.RUN への接続をテストします。

パラメータ

なし

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success 正誤問題 is_success:False
ケースウォール
結果のタイプ 説明 種類
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

成功した場合: 指定された接続パラメータを使用して ANY.RUN サービスに正常に接続されました。

アクションが失敗し、ハンドブックの実行が停止します。

認証情報の誤りや接続の切断などの重大なエラーが報告された場合:「ANY.RUN サービスへの接続に失敗しました。エラーは {0}」.format(exception.stacktrace)

全般

レポート履歴を検索

ANY.RUN のスキャン履歴を検索します。

このアクションは Google SecOps エンティティでは機能しません。アクション入力パラメータのみが使用されます。

パラメータ

パラメータ名 種類 デフォルト値 必須 説明
送信名 文字列 なし いいえ 検索する特定の送信名。
過去 x 回のスキャンを検索 Integer 100 はい ANY.RUN で実行された過去 x 回の分析でレポートを検索します。
最初の x 回のスキャンをスキップ Integer 0 いいえ ANY.RUN API から返された最初の x 個のスキャンをスキップします。
チームの履歴を取得しますか? チェックボックス オフ いいえ チームの履歴を取得するかどうかを指定します。

ユースケース

過去の送信を検索して、ANY.RUN サンドボックスで以前にスキャンされた内容を確認します。

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション 例
is_success 正誤問題 is_success:False
JSON の結果
{
  "error":false,
  "data":{
    "tasks":[
      {
        "verdict":"No threats detected",
        "name":"http://users.tpg.com.au/locthuy/employment/qs/unix/Hardening%20your%20AIX%20Security.pdf",
        "related":"https://app.any.run/tasks/ID",
        "pcap":"https://content.any.run/tasks/ID/download/pcap",
        "file":"https://content.any.run/tasks/ID/download/files/FILE_NAME",
        "json":"https://api.any.run/report/ID/summary/json",
        "misp":"https://api.any.run/report/ID/summary/misp",
        "tags":[
        ],
        "date":"2020-10-12T08:05:57.587Z",
        "hashes":{
          "ssdeep":"768:iSDksqjqvXbB/6rtilCec397sUiZc9Yky:TDegY539gUiCXy",
          "head_hash":"3c90557306fa01f30693541b28db5785",
          "sha256":"8ebc1257f9155134bb00315bdd2380990cdc413ba298d0cf473579ccfe03d6e5",
          "sha1":"c125ba414416668b84ac737ec6db1b7f94bf32af",
          "md5":"5e19377a19ef7657707872377bea14b7"
        }
      }
    ]
  }
}
ケースウォール
結果のタイプ 説明 種類
出力メッセージ *

アクションが失敗したり、Playbook の実行が停止したりすることはありません。

成功してレポートが見つかった場合: 「指定された検索パラメータの ANY.RUN レポートが見つかりました」。

レポートが見つからない場合: 「ANY.RUN レポートが見つかりませんでした。」

アクションが失敗し、Playbook の実行が停止します。

認証情報の誤りや接続の切断などの重大なエラーが報告された場合: 「ANY.RUN サービスへの接続に失敗しました。エラーは {0}」.format(exception.stacktrace)

一般
テーブル

テーブル名: 検索結果

テーブル列:

  • 送信名(name)
  • 判定結果
  • > 報告 URL(関連)
  • スキャン日
  • md5
  • sha1
  • sha256
全般

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。