IBM Cloud CDR 위협 탐지 규칙에 대한 참조 라이브러리
Workload Protection 을 사용하면 위협 탐지 규칙을 만들고 사용자 지정하여 IBM Cloud 환경에서 의심스러운 활동을 탐지할 수 있습니다. 이 항목에서는 CDR을 통해 수집된 IBM Cloud 감사 이벤트에 대해 Falco 규칙을 작성하는 데 사용할 수 있는 모든 필드를 설명합니다.
IBM Cloud 감사 이벤트를 대상으로 하는 규칙은 source: ibm_activitytracker 을 사용해야 합니다. 필드는 플러그인 이름(예: ibm.action)으로 직접 액세스하거나 jevt.value[/fieldPath] (예: jevt.value[/action])을 사용하여 원시 JSON 경로를 통해 액세스할 수 있습니다.
필드
위협 탐지 규칙에서 필드는 이벤트가 원시 이벤트에서 캡처한 특정 속성 하나를 나타냅니다. 필드를 사용하여 감지 조건과 출력을 정의할 수 있습니다.
현장 수업: ibm (이벤트)
모든 IBM Cloud 감사 이벤트에 최상위 필드가 존재합니다.
이벤트 소스: ibm_activitytracker
| 이름 | 유형 | JSON 경로 | 설명 |
|---|---|---|---|
ibm.action |
문자열 | /action |
이벤트를 트리거한 작업입니다. 예를 들어, iam-am.policy.delete 또는 iam-identity.user-apikey.create입니다. |
ibm.correlationId |
문자열 | /correlationId |
동일한 계정의 여러 서비스에서 관련 이벤트를 상호 연관시키는 데 사용되는 고유 GUID입니다. |
ibm.dataEvent |
boolean | /dataEvent |
이벤트가 데이터 이벤트(true) 또는 관리 이벤트(false)인지 여부를 나타냅니다. |
ibm.eventTime |
문자열 | /eventTime |
이벤트가 생성된 시점의 타임스탬프(ISO 8601 형식)입니다. |
ibm.id |
문자열 | /id |
서비스 내에서 활동 추적 이벤트를 상호 연관시키는 데 사용할 수 있는 선택적 필드입니다. |
ibm.logSourceCRN |
문자열 | /logSourceCRN |
이벤트를 생성한 서비스 인스턴스의 클라우드 리소스 이름(CRN)입니다. |
ibm.message |
문자열 | /message |
사람이 읽을 수 있는 이벤트 설명. |
ibm.observer.name |
문자열 | /observer/name |
항상 ‘ ActivityTracker ’로 설정하십시오. 이벤트를 기록한 옵저버 서비스를 식별합니다. |
ibm.outcome |
문자열 | /outcome |
조치의 결과입니다. 일반적인 값입니다: success, failure, pending. |
ibm.requestData |
JSON | /requestData |
요청에 대한 추가 정보(가능한 경우)를 입력합니다. |
ibm.responseData |
JSON | /responseData |
응답에 대한 추가 정보(가능한 경우)를 확인할 수 있습니다. |
ibm.saveServiceCopy |
boolean | /saveServiceCopy |
true 이벤트가 발생하면 이벤트를 생성한 서비스는 IBM Cloud 감사를 위해 사본을 저장합니다. |
ibm.severity |
문자열 | /severity |
해당 작업이 IBM Cloud 에 미칠 수 있는 위협 수준. 일반적인 값입니다: normal, warning, critical. |
필드 클래스: ibm.initiator
작업을 요청한 주체의 신원 및 출처를 설명하는 필드입니다.
이벤트 소스: ibm_activitytracker
| 이름 | 유형 | JSON 경로 | 설명 |
|---|---|---|---|
ibm.initiator.id |
문자열 | /initiator/id |
해당 작업을 요청한 발신자의 ID입니다. 사용자의 경우 IBMid, 서비스 ID의 경우 ServiceId-xxx 값입니다. |
ibm.initiator.name |
문자열 | /initiator/name |
사용자 이름 또는 시작자의 이름입니다. 시작자가 IBM 서비스인 경우, 이 필드는 IBM 또는 해당 서비스의 이름으로 설정됩니다. |
ibm.initiator.authnId |
문자열 | /initiator/authnId |
IBM Cloud 에 로그인한 사용자의 ID입니다. |
ibm.initiator.authnName |
문자열 | /initiator/authnName |
IBM Cloud 에 로그인한 사용자의 사용자 이름. |
ibm.initiator.typeURI |
문자열 | /initiator/typeURI |
이벤트 소스의 유형입니다. 예를 들어, service/security/account/user 또는 service/security/account/serviceid입니다. |
ibm.initiator.credential.type |
문자열 | /initiator/credential/type |
개시자가 사용하는 자격증명 유형입니다. 일반적인 값입니다: apikey, token, serviceid. |
ibm.initiator.host.address |
문자열 | /initiator/host/address |
요청이 시작된 IP 주소 또는 URL (예: IBM Cloud 콘솔 또는 CLI). |
ibm.initiator.host.addressType |
문자열 | /initiator/host/addressType |
IP 주소 유형. 예를 들어, IPv4 또는 IPv6입니다. |
ibm.initiator.host.agent |
문자열 | /initiator/host/agent |
요청이 시작된 위치(예: CLI 버전 또는 브라우저)를 식별하는 사용자 에이전트 문자열입니다. |
필드 클래스: ibm.target
작업이 실행된 IBM Cloud 리소스를 설명하는 필드입니다.
이벤트 소스: ibm_activitytracker
| 이름 | 유형 | JSON 경로 | 설명 |
|---|---|---|---|
ibm.target.id |
문자열 | /target/id |
작업이 실행된 IBM Cloud 리소스의 CRN 또는 식별자입니다. |
ibm.target.name |
문자열 | /target/name |
작업이 실행된 IBM Cloud 리소스의 사람이 읽기 쉬운 이름입니다. |
ibm.target.alias |
문자열 | /target/alias |
요청에 사용된 클라우드 리소스의 별칭(해당되는 경우). |
ibm.target.typeURI |
문자열 | /target/typeURI |
대상 리소스의 유형입니다. 예를 들어, iam-am/policy 또는 iam-identity/account/serviceid입니다. |
ibm.target.resourceGroupId |
문자열 | /target/resourceGroupId |
대상 리소스와 연결된 리소스 그룹의 CRN입니다. |
ibm.target.host.address |
문자열 | /target/host/address |
대상 서비스의 IP 주소 또는 URL. |
필드 클래스: ibm.reason
특히 실패한 요청의 경우 작업 결과에 대한 추가 세부 정보를 제공하는 필드입니다.
이벤트 소스: ibm_activitytracker
| 이름 | 유형 | JSON 경로 | 설명 |
|---|---|---|---|
ibm.reason.reasonCode |
숫자 | /reason/reasonCode |
HTTP 요청된 작업의 응답 코드입니다. 예를 들어, 성공의 경우 200, 미승인의 경우 403. |
ibm.reason.reasonType |
문자열 | /reason/reasonType |
결과에 대한 추가 정보. 예를 들어, OK 또는 Forbidden입니다. |
ibm.reason.reasonForFailure |
문자열 | /reason/reasonForFailure |
작업이 실패한 이유를 설명하는 추가 세부 정보(가능한 경우)가 표시됩니다. |
규칙 작성 예제
다음 예는 CDR에 대한 Falco 규칙에서 이러한 필드를 참조하는 방법을 보여줍니다.
작업 및 결과별로 필터링합니다:
condition: >
jevt.value[/action] = "iam-am.policy.delete"
and jevt.value[/outcome] = "success"
시작자 자격 증명 유형별로 필터링하기:
condition: >
jevt.value[/action] startswith "iam-identity"
and jevt.value[/initiator/credential/type] = "apikey"
소스 IP 주소로 필터링하기:
condition: >
jevt.value[/action] = "iam-identity.user-apikey.create"
and not jevt.value[/initiator/host/address] in (trusted_ips)
규칙 및 정책 만들기에 대한 자세한 내용은 IBM Cloud 위협 탐지 정책 만들기를 참조하세요.