• /
  • EnglishEspañolFrançais日本語한국어Português
  • 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

보안 데이터 구조(NRQL 참조)

시큐리티 RX는 뉴렐릭의 데이터베이스(NRDB)에 잘못된 구성 데이터를 저장하고 NRQL 사용하여 쿼리할 수 있도록 합니다. 이 참조 가이드에서는 사용자 지정 쿼리, 대시보드 및 알림을 구축하는 데 사용할 수 있는 엔티티 유형, 속성 및 데이터 구조에 대해 설명합니다.

엔티티 및 이벤트 유형

시큐리티 RX는 다음 분할 및 이벤트 유형을 사용하여 보안 데이터를 저장합니다.

SecurityFinding 엔티티(권장)

SECURITY_FINDING 은 시큐리티 RX에서 감지한 모든 보안 문제에 대한 일반 컨테이너 역할을 하는 특수한 부분 유형입니다. 이는 뉴렐릭에서 보안 데이터를 쿼리하는 데 권장되는 방법입니다.

중요: SecurityFinding은 기존 이벤트 유형이 아닌 엔티티 유형으로 쿼리됩니다.

FROM Entity
SELECT * WHERE type = 'SECURITY_FINDING'

findingType 이해하기

findingType 속성은 데이터 소스를 구분하는 핵심 필드입니다.

  • findingType = 'VULNERABILITY': APM 에이전트, 인프라 에이전트 또는 타사 스캐너(Snyk, Trivy, FOSSA)와 같은 소스에서 취약점이 발견되었음을 나타냅니다.
  • findingType = 'MISCONFIGURATION': 시큐리티 RX 클라우드(예: AWS Security Hub, GuardDuty 또는 Config)에서 cloud 보안 상태 관리(CSPM) 문제가 발견되었음을 나타냅니다.

다른 findingType 값에는 LIBRARY_VULNERABILITY, INFRASTRUCTURE_VULNERABILITY, APPLICATION_VULNERABILITY, SYSTEM_VULNERABILITY, SECURITY_EVENTOTHER 가 포함됩니다.

핵심 엔티티 필드

기인하다

유형

설명

예시

id

문자열

이 SecurityFinding에 대해 전역적으로 고유한 예외(타겟, 목표 특정 CVE & 영향을 받는 부분)

"ABC123..."

type

문자열

엔티티 유형 - 항상 "SECURITY_FINDING"

"SECURITY_FINDING"

name

문자열

취약점 또는 잘못된 구성의 제목

"CVE-2024-12345: SQL 내부에 있는-name"

scope.id

문자열

해당 문제가 발견된 계정 ID

"1234567"

scope.type

문자열

범위 유형 - 일반적으로 "ACCOUNT"

"ACCOUNT"

metadata.createdAt

시간소인

이 성이 만들어졌을 때

유닉스 타임스탬프

metadata.updatedAt

시간소인

이 엔티티가 마지막으로 업데이트된 시점은 언제입니까?

유닉스 타임스탬프

tags

정렬

엔티티에 적용 가능한 태그 목록 (일반적으로 "SecurityFinding"의 경우 비어 있음)

[]

분류 필드

기인하다

유형

설명

예시

vulnerabilityIdentifier

문자열

"SecurityFindings"을 집계하기 위한 식별자(일반적으로 CVE ID)

"CVE-2024-12345"

findingType

문자열

최상위 유형의 발견

"VULNERABILITY", "MISCONFIGURATION"

findingSubType

문자열

하위 유형(APM 취약점에 대한 언어, 인프라에 대한 INFRA_OS_VULNERABILITY 또는 INFRA_PACKAGE_VULNERABILITY)

"java", "INFRA_PACKAGE_VULNERABILITY"

source

문자열

연구 결과의 출처

"뉴렐릭", "Snyk", "AWS Security Hub"

상태 및 심각도 필드

기인하다

유형

설명

가치

severity

문자열

발견된 증상의 심각도 보고

"CRITICAL", "HIGH", "MEDIUM", "LOW", "UNKNOWN", "INFO"

status

문자열

발견 내용의 현재 상황

"AFFECTED", "IGNORED", "NO_LONGER_DETECTED", "UNKNOWN"

remediation.remediationExists

부울

개선책이 존재하는지 여부

true, false

remediation.upgradeAction

문자열

시큐리티 RX가 제안하는 업그레이드

"버전 2.17.1로 업그레이드하세요"

remediation.remediationDetails

문자열

출처에서 발췌한 간략한 수정 텍스트

"라이브러리를 패치된 버전으로 업데이트하세요"

remediation.url

문자열

출처의 문서 URL

"

https://example.com/security-advisory

"

CVE 참조 필드

취약점 발견 시, cve 객체에는 자세한 CVE 정보가 포함되어 있습니다.

기인하다

유형

설명

cve.id

문자열

CVE 식별자

cve.description

문자열

CVE 설명

cve.cvssScore

숫자

CVSS 점수

cve.cvssVector

문자열

CVSS 벡터 문자열

cve.epssScore

숫자

EPSS 활용 확률 점수

cve.epssPercentile

숫자

EPSS 백분위수 순위

cve.exploitKnown

부울

알려진 취약점이 존재하는지 여부

cve.disclosureUrl

문자열

CVE가 공개된 URL

cve.disclosedAt

시간소인

CVE가 공개되었을 때

잘못된 필드 구성(클라우드 관련 문제)

구성 오류가 발견되면 misconfiguration 객체에는 클라우드별 정보가 포함됩니다.

기인하다

유형

설명

misconfiguration.cloudProvider

문자열

클라우드 공급자

misconfiguration.issueTitle

문자열

설정 오류 제목

misconfiguration.misconfigurationType

문자열

원본 소스에서 찾기 유형

misconfiguration.normalizedResourceType

문자열

간소화된 리소스 유형(예: "S3", "EC2", "RDS")

영향을 받는 엔티티 필드

impactedEntity 객체는 어떤 뉴럴릭 창이 영향을 받는지 식별합니다.

기인하다

유형

설명

impactedEntity.id

문자열

엔티티 GUID

impactedEntity.name

문자열

엔티티 이름

impactedEntity.type

문자열

엔티티 유형(APM-APPLICATION, INFRA-HOST 등)

impactedEntity.scope.id

문자열

계정 ID

impactedEntity.scope.type

문자열

범위 유형

타임스탬프 필드

기인하다

유형

설명

firstDetected

시간소인

해당 발견이 처음 확인되었을 때

findingUpdatedAt

시간소인

해당 조사 결과가 마지막으로 업데이트된 시점은 언제입니까?

lastSeen

시간소인

해당 발견물이 마지막으로 활성화된 것으로 확인된 시점은 언제였습니까?

UI 및 내부 필드

기인하다

유형

설명

vulnerabilityUILinks.detailsUrl

문자열

시큐리티 RX UI세부정보 페이지 링크

vulnerabilityUILinks.tabUrl

문자열

시큐리티 RX UI의 파티 보기 링크

internalState.status

문자열

내부 상태 필드

internalState.active

부울

내부 활성 플래그(cloud 쿼리에서 사용됨)

entityLookupValue

문자열

내부 필드 (실제 운영 환경에서는 숨겨집니다)

issueInstanceKey

문자열

내부 필드 (실제 운영 환경에서는 숨겨집니다)

additionalInfo

객체의 분리

핵심 가치 쌍이 포함된 추가 데이터 데이터(cloud 계정 ID 등에 사용)

"내부"로 표시된 필드는 현재 NRDB에서 볼 수 있지만 최종 출시 시에는 숨겨질 수 있습니다. internalState.active 필드는 cloud 구성 오류 검색에서 활성 결과를 필터링하는 데 일반적으로 사용됩니다.

세션에 대한 쿼리 예제

엔티티별 활성 심각 취약점 수를 계산합니다.

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND status = 'AFFECTED'
AND severity = 'CRITICAL'
FACET impactedEntity.name

특정 CVE의 영향을 받는 엔티티를 찾으세요:

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND status = 'AFFECTED'
AND cve.id = 'CVE-2024-23944'
FACET impactedEntity.name

현재 랜섬웨어 공격이 진행 중인 CVE를 찾아보세요:

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND cve.exploitKnown IS true
FACET impactedEntity.name, cve.id

악용 가능성이 높은 취약점(높은 EPSS 점수)을 찾습니다.

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND cve.epssPercentile > '0.95'
FACET cve.id

조사 결과를 뒷받침하는 보도 자료를 찾아보세요:

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
FACET source

높은 해리 포터와 분리:

SELECT impactedEntity
FROM (
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 Entity
SELECT uniqueCount(misconfiguration.issueTitle)
WHERE type = 'SECURITY_FINDING'
AND findingType = 'MISCONFIGURATION'
FACET status

가장 흔한 설정 오류 유형 10가지:

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND findingType = 'MISCONFIGURATION'
AND internalState.active = true
FACET misconfiguration.issueTitle
LIMIT 10

가장 위험한 AWS 계정을 찾아보세요:

FROM Entity
SELECT 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 Entity
SELECT uniqueCount(misconfiguration.issueTitle)
WHERE type = 'SECURITY_FINDING'
AND findingType = 'MISCONFIGURATION'
AND internalState.active = true
FACET misconfiguration.normalizedResourceType

중요하고 공개적으로 알려진 자료를 찾아보세요:

FROM Entity
SELECT name, impactedEntity.name, misconfiguration.misconfigurationType
WHERE type = 'SECURITY_FINDING'
AND findingType = 'MISCONFIGURATION'
AND internalState.active = true
AND severity = 'CRITICAL'
AND misconfiguration.misconfigurationType LIKE 'Effects/Data Exposure'
SINCE 1 day ago

NrAiIncident (구형)

발견된 내용과 현재 상태를 저장하는 구형 이벤트 유형입니다. 이 이벤트 유형은 하위 호환성을 위해 여전히 지원되지만, 새로운 쿼리에는 SecurityFinding 사용하는 것이 좋습니다.

주요 용도: 귀하의 세션에 영향을 미치는 분리

주요 속성:

기인하다

유형

설명

예시

title

문자열

취약점 제목

"CVE-2024-12345: SQL 내부에 있는-name"

priority

문자열

컴퓨트 우선 순위

"CRITICAL", "HIGH", "MEDIUM", "LOW"

state

문자열

현재 상태

"OPEN", "CLOSED"

acknowledged

부울

그 문제가 검토되었는지 여부

true, false

conditionName

문자열

감지 소스/조건

"시큐리티 RX - 탐지 탐지"

entity.guid

문자열

취약점의 영향을 받는 엔티티 GUID

"ABC123..."

entity.name

문자열

엔티티 이름

"my-application"

entityType

문자열

영향을 받는 유형

"APPLICATION", "HOST"

쿼리 예:

FROM NrAiIncident
SELECT count(*)
WHERE conditionName LIKE '%Security RX%'
FACET priority, state

커스텀 대시보드

CVE 정보, 심각도 점수 및 해결 지침을 포함한 상세한 취약점 메타데이터를 저장합니다.

주요 용도: 취약점 세부 정보 및 메타데이터에 대한 심층 분석

주요 속성:

기인하다

유형

설명

예시

cveId

문자열

CVE 식별자

"CVE-2024-12345"

severity

문자열

CVSS 기반 중증도

"CRITICAL", "HIGH", "MEDIUM", "LOW"

cvssScore

숫자

CVSS 수치 점수

9.8

epssScore

숫자

EPSS 활용 확률

0.95

epssPercentile

숫자

EPSS 백분위수 순위

98.5

activeRansomware

부울

알려진 랜섬웨어 공격에 사용됨

true, false

affectedPackage

문자열

취약한 라이브러리/패키지 이름

"log4j-core"

affectedVersion

문자열

취약한 패키지 버전

"2.14.0"

fixedVersion

문자열

수정 사항이 포함된 버전

"2.17.1"

entityGuid

문자열

영향을 받는 엔티티 GUID

"ABC123..."

source

문자열

탐지 소스

"APM_AGENT", "SNYK", "AWS_SECURITY_HUB"

쿼리 예:

FROM Vulnerability
SELECT count(*)
WHERE severity = 'CRITICAL'
AND activeRansomware = true
FACET affectedPackage

NrAiIncidentTimeline

취약점의 상태 변화 및 수명 주기 이벤트를 추적합니다.

주요 용도: 취약점 상태 이력 감사 및 해결 진행 상황 추적

주요 속성:

기인하다

유형

설명

예시

incidentId

문자열

관련 인시던트/취약점 ID

"INC-123"

timestamp

시간소인

상태가 변경될 때

유닉스 타임스탬프

event

문자열

변경 유형

"STATUS_CHANGED", "DETECTED", "RESOLVED"

previousState

문자열

변경 전 상태

"AFFECTED"

newState

문자열

변경 후 상태

"IGNORED"

changedBy

문자열

잔돈을 만든 사용자

"user@example.com"

reason

문자열

상태 변경 사유

"오탐 - 취약한 코드 경로를 사용하지 않음"

쿼리 예:

FROM NrAiIncidentTimeline
SELECT timestamp, event, previousState, newState, changedBy
WHERE event = 'STATUS_CHANGED'
SINCE 7 days ago

이벤트 유형 전반에 걸친 공통 속성

이러한 속성은 여러 이벤트 유형에 걸쳐 나타납니다.

부품 식별

기인하다

설명

entity.guid

영향을 받은 부분에 대한 고유한 분리

entity.name

사람이 읽을 수 있는 엔티티 이름

entity.type

엔티티 유형(APPLICATION, HOST, SERVICE)

accountId

뉴렐릭 계정 ID

타임스탬프

기인하다

설명

timestamp

이벤트가 발생한 시기

detectedAt

취약점이 처음 발견되었을 때

updatedAt

최종 업데이트 타임스탬프

resolvedAt

취약점이 해결된 것으로 표시되었을 때

출처 추적

기인하다

설명

source

데이터 원본(APM_AGENT, INFRASTRUCTURE, SNYK, 등)

sourceId

소스 시스템의 고유 ID

integrationName

데이터를 제공하는 통합

데이터 관계

데이터 유형 간의 관계 이해:

현대적인 접근 방식(권장)

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 many
NrAiIncident (Active vulnerabilities)
↓ references
Vulnerability (CVE details)
↓ has many
NrAiIncidentTimeline (Status history)

쿼리 패턴

권장 사항: 새로운 구현에는 SecurityFinding 엔티티 쿼리(위의 SecurityFinding 섹션 참조)를 사용하십시오. 아래 패턴들은 일반적인 이벤트 유형을 사용하며, 하위 호환성을 위해서만 제공됩니다.

최신 쿼리 패턴

SecurityFinding을 사용하는 최신 쿼리 패턴에 대해서는 위의 쿼리 예제 섹션을 참조하세요.

야외용 쿼리 패턴

이러한 패턴은 임시 이벤트 유형을 사용합니다.

분리(구형)와 데이터 결합

FROM NrAiIncident
SELECT entity.name, count(*) as 'Vulnerability Count'
WHERE conditionName LIKE '%Security RX%'
AND state = 'OPEN'
FACET entity.name
SINCE 1 day ago

현대적 표현:

FROM Entity
SELECT impactedEntity.name, count(*) as 'Vulnerability Count'
WHERE type = 'SECURITY_FINDING'
AND status = 'AFFECTED'
FACET impactedEntity.name
SINCE 1 day ago

노출 창을 계산합니다.

FROM Vulnerability
SELECT entity.name,
cveId,
(max(timestamp) - min(timestamp)) / 86400 as 'Days Exposed'
WHERE severity IN ('CRITICAL', 'HIGH')
FACET entity.name, cveId
SINCE 30 days ago

현대적 표현:

FROM Entity
SELECT 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.id
SINCE 30 days ago

트랙 개선 속도(구형)

FROM NrAiIncidentTimeline
SELECT count(*) as 'Vulnerabilities Resolved'
WHERE event = 'STATUS_CHANGED'
AND newState = 'CLOSED'
FACET weekOf(timestamp)
SINCE 90 days ago

중요

SecurityFinding 부분으로 상태 변경을 추적하려면 시간이 지남에 따라 status 필드의 변경 사항을 모니터링하거나 뉴렐릭 알림을 사용하여 상태 변경이 발생할 때 공지를 받으세요.

속성 유형 및 형식

심각도 값

CRITICAL - CVSS 9.0-10.0
HIGH - CVSS 7.0-8.9
MEDIUM - CVSS 4.0-6.9
LOW - CVSS 0.1-3.9
INFO - CVSS 0.0

상태 값

OPEN - Vulnerability currently active
CLOSED - Vulnerability resolved or fixed
AFFECTED - Entity is confirmed affected
IGNORED - Marked as not applicable
NO_LONGER_DETECTED - No longer seen in scans

소스 값

APM_AGENT - Detected by New Relic APM agent
INFRASTRUCTURE - Detected by Infrastructure agent
SNYK - Imported from Snyk
AWS_SECURITY_HUB - Imported from AWS Security Hub
DEPENDABOT - Imported from GitHub Dependabot
FOSSA - Imported from FOSSA
TRIVY - Imported from Trivy
SECURITY_DATA_API - Sent via API

쿼리 팁

심각도별 필터링 (최신 방식)

발견 사항은 심각도에 따라 우선순위가 정해집니다.

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND severity IN ('CRITICAL', 'HIGH')
AND status = 'AFFECTED'
FACET impactedEntity.name

찾기 유형으로 필터링

취약점과 잘못된 설정 문제를 구분하세요:

-- Vulnerabilities only
FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND findingType = 'VULNERABILITY'
FACET impactedEntity.type
-- Misconfigurations only
FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND findingType = 'MISCONFIGURATION'
FACET misconfiguration.normalizedResourceType

부분 유형별로 필터링

애플리케이션 취약점과 인프라 취약점을 분리하십시오:

-- Application vulnerabilities
FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND impactedEntity.type LIKE '%APPLICATION%'
FACET impactedEntity.name
-- Infrastructure vulnerabilities
FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND impactedEntity.type LIKE '%HOST%'
FACET impactedEntity.name

감지 소스별 필터링

특정 통합에서 얻은 쿼리 결과:

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND source = 'Snyk'
FACET severity

시간 기반 필터링

최근 발견된 결과를 찾아보세요:

FROM Entity
SELECT count(*)
WHERE type = 'SECURITY_FINDING'
AND firstDetected > ago(7 days)
FACET cve.id, severity

맞춤형 대시보드 구축

SecurityFinding을 사용하여 포괄적인 보안 대시보드를 만드세요.

  1. 경영진 대시보드 - 모든 결과 유형에 대한 높은 수준의 보안 지표

    FROM Entity
    SELECT count(*)
    WHERE type = 'SECURITY_FINDING'
    AND status = 'AFFECTED'
    FACET severity, findingType
  2. 접속 동향 - 시간 경과에 따른 추적 탐지

    FROM Entity
    SELECT count(*)
    WHERE type = 'SECURITY_FINDING'
    AND findingType = 'VULNERABILITY'
    FACET weekOf(firstDetected)
    SINCE 90 days ago
  3. 클라우드 보안 상태 - cloud 구성 오류

    FROM Entity
    SELECT uniqueCount(misconfiguration.issueTitle)
    WHERE type = 'SECURITY_FINDING'
    AND findingType = 'MISCONFIGURATION'
    FACET misconfiguration.cloudProvider, severity
  4. 부품 보안 태세 - Per-엔티티 보안 보기

    FROM Entity
    SELECT count(*) AS 'Findings'
    WHERE type = 'SECURITY_FINDING'
    AND status = 'AFFECTED'
    FACET impactedEntity.name, severity

더 많은 쿼리 예시는 보안 데이터 쿼리 예시를 참조하세요.

구형 대시보드 접근 방식

이전 버전과의 호환성을 위해 구형 이벤트 유형(NrAiIncident, Vulnerability, NrAiIncidentTimeline)을 계속 사용할 수 있지만 새 대시보드의 경우 SecurityFinding으로 마이그레이션하는 것이 좋습니다.

다음은 뭐지?

쿼리 예시

일반적인 보안 시나리오에 바로 사용할 수 있는 NRQL 쿼리

알림 설정

취약점에 대한 NRQL 기반 알림을 생성합니다.

취약점 상태 관리

취약점 상태 변경 및 해결 진행 상황 추적

Copyright © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.