Security RX は、脆弱性と構成ミスのデータを New Relic のデータベース (NRDB) に保存し、NRQL を使用してクエリできるようにします。このリファレンス ガイドでは、カスタム クエリ、ダッシュボード、アラートの構築に使用できるエンティティ タイプ、属性、およびデータ構造について説明します。
エンティティとイベントの種類
Security RX は、セキュリティ データを保存するために次のエンティティおよびイベント タイプを使用します。
SecurityFindingエンティティ(推奨)
SECURITY_FINDINGは、Security RX によって検出されたすべてのセキュリティ問題の汎用コンテナとして機能する特殊なエンティティ タイプです。これは、New Relic でセキュリティ データをクエリするための推奨される方法です。
重要: SecurityFinding は、従来のイベントではなく、エンティティ タイプとしてクエリされます。
FROM EntitySELECT * WHERE type = 'SECURITY_FINDING'findingTypeの理解
findingType属性は、データ ソースを区別するためのキー フィールドです。
findingType = 'VULNERABILITY': APMエージェント、インフラストラクチャーエージェント、サードパーティスキャナー( Snyk 、Trivy、FOSSA)などの情報源からの脆弱性の発見を示します。findingType = 'MISCONFIGURATION': Security RX Cloud (AWS Security Hub、GuardDuty、Config など) からのcloudセキュリティ ポスチャ管理 (CSPM) の検出結果を示します。
その他の findingType 値には、 LIBRARY_VULNERABILITY 、 INFRASTRUCTURE_VULNERABILITY 、 APPLICATION_VULNERABILITY 、 SYSTEM_VULNERABILITY 、 SECURITY_EVENT 、 OTHERなどがあります。
コアエンティティフィールド
属性 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | この SecurityFinding のグローバルに一意の識別子 (ターゲット固有の CVE および影響を受けるエンティティ) | 「ABC123…」 |
| 弦 | エンティティタイプ - 常に「SECURITY_FINDING」 | 「SECURITY_FINDING」 |
| 弦 | 脆弱性または構成ミスのタイトル | 「CVE-2024-12345: ライブラリ名内の SQL インジェクション」 |
| 弦 | この検出が検出されたアカウントID | 「1234567」 |
| 弦 | スコープタイプ - 通常は「ACCOUNT」 | "ACCOUNT" |
| タイムスタンプ | このエンティティが作成された時期 | Unix タイムスタンプ |
| タイムスタンプ | このエンティティが最後に更新された日時 | Unix タイムスタンプ |
| 配列 | エンティティに適用可能なタグのリスト(通常、SecurityFinding の場合は空) | [] |
分類分野
属性 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | 「SecurityFindings」を集約するための識別子(通常はCVE ID) | 「CVE-2024-12345」 |
| 弦 | 最上位レベルの検出結果の種類 | "VULNERABILITY", "MISCONFIGURATION" |
| 弦 | サブタイプ(APM 脆弱性の場合は言語、インフラストラクチャの場合は INFRA_OS_VULNERABILITY または INFRA_PACKAGE_VULNERABILITY) | "java", "INFRA_PACKAGE_VULNERABILITY" |
| 弦 | 発見の出典 | 「New Relic」、「Snyk」、「AWS セキュリティハブ」 |
ステータスと重大度フィールド
属性 | タイプ | 説明 | 価値観 |
|---|---|---|---|
| 弦 | 報告された所見の重症度 | "CRITICAL", "HIGH", "MEDIUM", "LOW", "UNKNOWN", "INFO" |
| 弦 | 調査結果の現状 | "AFFECTED", "IGNORED", "NO_LONGER_DETECTED", "UNKNOWN" |
| ブール値 | 改善策が存在するかどうか | true, false |
| 弦 | Security RXの推奨アップグレード | 「バージョン2.17.1にアップグレード」 |
| 弦 | ソースからの簡単な修復テキスト | 「ライブラリをパッチ適用バージョンに更新する」 |
| 弦 | ソースからのドキュメントURL | 「 https://example.com/security-advisory 」 |
CVE参照フィールド
脆弱性の検出については、 cveオブジェクトに詳細な CVE 情報が含まれます。
属性 | タイプ | 説明 |
|---|---|---|
| 弦 | CVE識別子 |
| 弦 | CVEの説明 |
| 数 | CVSSスコア |
| 弦 | CVSSベクトル文字列 |
| 数 | EPSSエクスプロイト確率スコア |
| 数 | EPSSパーセンタイルランキング |
| ブール値 | 既知の脆弱性が存在するかどうか |
| 弦 | CVEが公開されたURL |
| タイムスタンプ | CVEが公開されたとき |
誤った設定フィールド(クラウドの検出結果)
構成ミスの検出結果については、 misconfigurationオブジェクトにクラウド固有の情報が含まれます。
属性 | タイプ | 説明 |
|---|---|---|
| 弦 | クラウドプロバイダー |
| 弦 | 誤った設定のタイトル |
| 弦 | ソースからの生の検出タイプ |
| 弦 | 簡略化されたリソースタイプ(例:「S3」、「EC2」、「RDS」) |
影響を受けるエンティティフィールド
impactedEntityオブジェクトは、影響を受ける New Relic エンティティを識別します。
属性 | タイプ | 説明 |
|---|---|---|
| 弦 | エンティティGUID |
| 弦 | エンティティ名 |
| 弦 | エンティティ タイプ (APM-APPLICATION, INFRA-HOST など) |
| 弦 | アカウントID |
| 弦 | スコープタイプ |
タイムスタンプフィールド
属性 | タイプ | 説明 |
|---|---|---|
| タイムスタンプ | 発見が最初に発見されたとき |
| タイムスタンプ | 調査結果が最後に更新された日時 |
| タイムスタンプ | 発見が最後にアクティブであったことがわかった時期 |
UIと内部フィールド
属性 | タイプ | 説明 |
|---|---|---|
| 弦 | Security RX UI の詳細ページへのリンク |
| 弦 | Security RX UI のエンティティ ビューへのリンク |
| 弦 | 内部ステータスフィールド |
| ブール値 | 内部アクティブフラグ (cloudで使用) |
| 弦 | 内部フィールド(本番環境では非表示になります) |
| 弦 | 内部フィールド(本番環境では非表示になります) |
| オブジェクトの配列 | キーの値ペアを含む追加のメタデータ (cloudアカウント ID などに使用) |
ヒント
「内部」としてマークされたフィールドは現在 NRDB に表示されますが、最終リリース時には非表示になる可能性があります。 internalState.activeフィールドは、アクティブな検出結果をフィルター処理するために、 cloud誤った構成のクエリでよく使用されます。
脆弱性のクエリ例
エンティティごとにアクティブな重大な脆弱性をカウントします。
FROM EntitySELECT count(*)WHERE type = 'SECURITY_FINDING' AND status = 'AFFECTED' AND severity = 'CRITICAL'FACET impactedEntity.name特定の CVE の影響を受けるエンティティを検索します。
FROM EntitySELECT count(*)WHERE type = 'SECURITY_FINDING' AND status = 'AFFECTED' AND cve.id = 'CVE-2024-23944'FACET impactedEntity.nameアクティブなランサムウェア キャンペーンの CVE を検索します。
FROM EntitySELECT count(*)WHERE type = 'SECURITY_FINDING' AND cve.exploitKnown IS trueFACET impactedEntity.name, cve.id悪用される可能性のある脆弱性を見つける(EPSS スコアが高い):
FROM EntitySELECT count(*)WHERE type = 'SECURITY_FINDING' AND cve.epssPercentile > '0.95'FACET cve.id調査結果の報告元を探す:
FROM EntitySELECT count(*)WHERE type = 'SECURITY_FINDING'FACET source脆弱性閾値が高いエンティティ:
SELECT impactedEntityFROM ( SELECT count(*) AS vulnerableCount FROM Entity WHERE type = 'SECURITY_FINDING' AND severity IN ('CRITICAL', 'HIGH') FACET impactedEntity.name AS impactedEntity, severity)WHERE (severity = 'HIGH' AND vulnerableCount > 10) OR (severity = 'CRITICAL' AND vulnerableCount > 5)cloudの構成ミスの例
ステータス別に固有の誤った構成をカウントします。
FROM EntitySELECT uniqueCount(misconfiguration.issueTitle)WHERE type = 'SECURITY_FINDING' AND findingType = 'MISCONFIGURATION'FACET status最も一般的な構成ミスの上位 10 種類:
FROM EntitySELECT count(*)WHERE type = 'SECURITY_FINDING' AND findingType = 'MISCONFIGURATION' AND internalState.active = trueFACET misconfiguration.issueTitleLIMIT 10最もリスクの高い AWS アカウントを見つける:
FROM EntitySELECT uniqueCount(misconfiguration.issueTitle)WHERE type = 'SECURITY_FINDING' AND findingType = 'MISCONFIGURATION' AND internalState.active = true AND severity IN ('CRITICAL', 'HIGH')FACET aparse(additionalInfo, '%"key":"cloudProviderAccountId","values":["*"]%') AS 'AWS Account ID'LIMIT 10リソースタイプ別に誤った構成をカウントします。
FROM EntitySELECT uniqueCount(misconfiguration.issueTitle)WHERE type = 'SECURITY_FINDING' AND findingType = 'MISCONFIGURATION' AND internalState.active = trueFACET misconfiguration.normalizedResourceType重要な公開リソースを見つけます:
FROM EntitySELECT name, impactedEntity.name, misconfiguration.misconfigurationTypeWHERE type = 'SECURITY_FINDING' AND findingType = 'MISCONFIGURATION' AND internalState.active = true AND severity = 'CRITICAL' AND misconfiguration.misconfigurationType LIKE 'Effects/Data Exposure'SINCE 1 day agoNrAiIncident(レガシー)
脆弱性の発見とその現在のステータスを保存するレガシー イベント タイプ。このイベント タイプは下位互換性のために引き続きサポートされていますが、新しいクエリにはSecurityFindingを使用することをお勧めします。
主な用途:エンティティに影響を与える書き込み脆弱性
主な属性:
属性 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | 脆弱性のタイトル | 「CVE-2024-12345: ライブラリ名内の SQL インジェクション」 |
| 弦 | 計算された優先順位 | "CRITICAL", "HIGH", "MEDIUM", "LOW" |
| 弦 | 現在の脆弱性の状態 | "OPEN", "CLOSED" |
| ブール値 | 脆弱性が検討されているかどうか |
|
| 弦 | 検出源/条件 | 「 Security RX - 脆弱性検知」 |
| 弦 | 脆弱性の影響を受けるエンティティ GUID | 「ABC123…」 |
| 弦 | エンティティ名 | "my-application" |
| 弦 | 影響を受けるエンティティの種類 | "APPLICATION", "HOST" |
クエリの例:
FROM NrAiIncidentSELECT count(*)WHERE conditionName LIKE '%Security RX%'FACET priority, state脆弱性(カスタムイベント)
CVE 情報、重大度スコア、修復ガイダンスなどの詳細な脆弱性メタデータを保存します。
主な用途:脆弱性の詳細とメタデータの詳細な調査
主な属性:
属性 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | CVE識別子 | 「CVE-2024-12345」 |
| 弦 | CVSSベースの重大度 | "CRITICAL", "HIGH", "MEDIUM", "LOW" |
| 数 | CVSS数値スコア | 9.8 |
| 数 | EPSSの悪用確率 | 0.95 |
| 数 | EPSSパーセンタイルランキング | 98.5 |
| ブール値 | 既知のランサムウェアキャンペーンで使用 |
|
| 弦 | 脆弱なライブラリ/パッケージ名 | 「log4j-core」 |
| 弦 | 脆弱なパッケージのバージョン | 「2.14.0」 |
| 弦 | 修正版 | 「2.17.1」 |
| 弦 | 影響を受けるエンティティのGUID | 「ABC123…」 |
| 弦 | 検出源 | "APM_AGENT", "SNYK", "AWS_SECURITY_HUB" |
クエリの例:
FROM VulnerabilitySELECT count(*)WHERE severity = 'CRITICAL'AND activeRansomware = trueFACET affectedPackageNrAiIncidentTimeline
脆弱性のステータスの変更とライフサイクル イベントを追跡します。
主な用途:脆弱性のステータス履歴を監査し、修復の進捗状況を追跡する
主な属性:
属性 | タイプ | 説明 | 例 |
|---|---|---|---|
| 弦 | 関連インシデント/脆弱性ID | 「INC-123」 |
| タイムスタンプ | ステータスが変更されたとき | Unix タイムスタンプ |
| 弦 | 変更の種類 | "STATUS_CHANGED", "DETECTED", "RESOLVED" |
| 弦 | 変更前の状態 | "AFFECTED" |
| 弦 | 変更後の状態 | "IGNORED" |
| 弦 | 変更を行ったユーザー | 「 user@example.com 」 |
| 弦 | ステータス変更の理由 | 「誤検知 - 脆弱なコードパスを使用していない」 |
クエリの例:
FROM NrAiIncidentTimelineSELECT timestamp, event, previousState, newState, changedByWHERE event = 'STATUS_CHANGED'SINCE 7 days agoイベントタイプに共通する属性
これらの属性は複数のイベント タイプにわたって表示されます。
エンティティ識別
属性 | 説明 |
|---|---|
| 影響を受けるエンティティの一意の識別子 |
| 人間が読めるエンティティ名 |
| エンティティタイプ(APPLICATION, HOST, SERVICE) |
| New RelicアカウントID |
タイムスタンプ
属性 | 説明 |
|---|---|
| イベントが発生したとき |
| 脆弱性が最初に検出されたとき |
| 最終更新タイムスタンプ |
| 脆弱性が解決されたとマークされたとき |
ソース追跡
属性 | 説明 |
|---|---|
| データソース (APM_AGENT, INFRASTRUCTURE, SNYK, など) |
| ソースシステムからの固有ID |
| データを提供したインテグレーション |
データ関係
データ型が互いにどのように関連しているかを理解する:
現代的なアプローチ(推奨)
SecurityFinding Entity (type = 'SECURITY_FINDING') ↓ contains ├─ findingType (VULNERABILITY or MISCONFIGURATION) ├─ cve (CVE details for vulnerabilities) ├─ misconfiguration (Cloud security details) └─ impactedEntity (Affected New Relic entity)レガシーアプローチ(下位互換性)
Entity (Application/Host) ↓ has manyNrAiIncident (Active vulnerabilities) ↓ referencesVulnerability (CVE details) ↓ has manyNrAiIncidentTimeline (Status history)クエリパターン
ヒント
推奨:新しい実装には、 SecurityFindingエンティティ クエリ (上記の SecurityFinding セクションに表示) を使用します。以下のパターンはレガシー イベント タイプを使用しており、下位互換性のみを目的として提供されています。
最新のクエリパターン
SecurityFinding エンティティを使用した最新の書き込みパターンについては、上記の書き込み例のセクションを参照してください。
レガシークエリパターン
これらのパターンでは、レガシー イベント タイプを使用します。
エンティティデータと脆弱性を結合する(レガシー)
FROM NrAiIncidentSELECT entity.name, count(*) as 'Vulnerability Count'WHERE conditionName LIKE '%Security RX%'AND state = 'OPEN'FACET entity.nameSINCE 1 day ago現代の同等語:
FROM EntitySELECT impactedEntity.name, count(*) as 'Vulnerability Count'WHERE type = 'SECURITY_FINDING' AND status = 'AFFECTED'FACET impactedEntity.nameSINCE 1 day ago露出ウィンドウを計算する(レガシー)
FROM VulnerabilitySELECT entity.name, cveId, (max(timestamp) - min(timestamp)) / 86400 as 'Days Exposed'WHERE severity IN ('CRITICAL', 'HIGH')FACET entity.name, cveIdSINCE 30 days ago現代の同等語:
FROM EntitySELECT impactedEntity.name, cve.id, (max(findingUpdatedAt) - min(firstDetected)) / 86400 as 'Days Exposed'WHERE type = 'SECURITY_FINDING' AND severity IN ('CRITICAL', 'HIGH')FACET impactedEntity.name, cve.idSINCE 30 days ago修復速度を追跡する(レガシー)
FROM NrAiIncidentTimelineSELECT count(*) as 'Vulnerabilities Resolved'WHERE event = 'STATUS_CHANGED'AND newState = 'CLOSED'FACET weekOf(timestamp)SINCE 90 days ago重要
SecurityFinding エンティティを使用してステータスの変化を追跡するには、時間の経過に伴うstatusフィールドの変化を監視するか、 New Relicアラートを使用してステータスの変化が発生したときに通知を受け取ります。
属性の種類と形式
重大度値
CRITICAL - CVSS 9.0-10.0HIGH - CVSS 7.0-8.9MEDIUM - CVSS 4.0-6.9LOW - CVSS 0.1-3.9INFO - CVSS 0.0州の価値
OPEN - Vulnerability currently activeCLOSED - Vulnerability resolved or fixedAFFECTED - Entity is confirmed affectedIGNORED - Marked as not applicableNO_LONGER_DETECTED - No longer seen in scansソース値
APM_AGENT - Detected by New Relic APM agentINFRASTRUCTURE - Detected by Infrastructure agentSNYK - Imported from SnykAWS_SECURITY_HUB - Imported from AWS Security HubDEPENDABOT - Imported from GitHub DependabotFOSSA - Imported from FOSSATRIVY - Imported from TrivySECURITY_DATA_API - Sent via APIクエリのヒント
重大度によるフィルタリング(最新のアプローチ)
調査結果は重大度に基づいて優先順位が付けられます。
FROM EntitySELECT count(*)WHERE type = 'SECURITY_FINDING' AND severity IN ('CRITICAL', 'HIGH') AND status = 'AFFECTED'FACET impactedEntity.name検索結果の種類で絞り込む
脆弱性と誤った構成を区別する:
-- Vulnerabilities onlyFROM EntitySELECT count(*)WHERE type = 'SECURITY_FINDING' AND findingType = 'VULNERABILITY'FACET impactedEntity.type
-- Misconfigurations onlyFROM EntitySELECT count(*)WHERE type = 'SECURITY_FINDING' AND findingType = 'MISCONFIGURATION'FACET misconfiguration.normalizedResourceTypeエンティティタイプでフィルタリング
アプリケーションとインフラストラクチャの脆弱性を分離する:
-- Application vulnerabilitiesFROM EntitySELECT count(*)WHERE type = 'SECURITY_FINDING' AND impactedEntity.type LIKE '%APPLICATION%'FACET impactedEntity.name
-- Infrastructure vulnerabilitiesFROM EntitySELECT count(*)WHERE type = 'SECURITY_FINDING' AND impactedEntity.type LIKE '%HOST%'FACET impactedEntity.name検出元でフィルタリング
特定の統合から得られた発見:
FROM EntitySELECT count(*)WHERE type = 'SECURITY_FINDING' AND source = 'Snyk'FACET severity時間ベースのフィルタリング
最近検出された結果を検索:
FROM EntitySELECT count(*)WHERE type = 'SECURITY_FINDING' AND firstDetected > ago(7 days)FACET cve.id, severityカスタムダッシュボードの構築
SecurityFinding エンティティを使用して、包括的なセキュリティ ダッシュボードを作成します。
エグゼクティブ ダッシュボード- すべての検出タイプにわたる高レベルのセキュリティ メトリクス
FROM EntitySELECT count(*)WHERE type = 'SECURITY_FINDING'AND status = 'AFFECTED'FACET severity, findingType脆弱性の傾向- 脆弱性の検出を長期的に追跡します
FROM EntitySELECT count(*)WHERE type = 'SECURITY_FINDING'AND findingType = 'VULNERABILITY'FACET weekOf(firstDetected)SINCE 90 days agoクラウドのセキュリティ体制- cloud構成ミスを監視する
FROM EntitySELECT uniqueCount(misconfiguration.issueTitle)WHERE type = 'SECURITY_FINDING'AND findingType = 'MISCONFIGURATION'FACET misconfiguration.cloudProvider, severityエンティティ セキュリティ体制- エンティティごとのセキュリティ ビュー
FROM EntitySELECT count(*) AS 'Findings'WHERE type = 'SECURITY_FINDING'AND status = 'AFFECTED'FACET impactedEntity.name, severity
その他のクエリ例については、 「セキュリティ データ クエリの例」を参照してください。
レガシーダッシュボードの取り組み
下位互換性を確保するために、レガシー イベント タイプ (NrAiIncident 、 Vulnerability 、 NrAiIncidentTimeline) を引き続き使用できますが、新しいダッシュボードについては SecurityFinding エンティティに移行することをお勧めします。