실시간 탐지 시나리오 조회
지정한 실시간 탐지 시나리오를 조회합니다.
필요 권한
사용자 이상의 계정으로 이용할 수 있습니다.
HTTP 요청
GET /api/sonar/stream-rules/:guid
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
https://HOSTNAME/api/sonar/stream-rules/3b05608f-8dd0-4218-9d6d-391515b6280d
요청 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| guid | O | 문자열 | 실시간 탐지 시나리오 GUID | 36자 |
정상 응답
{
"rule": {
"priority": "LOW",
"guid": "3b05608f-8dd0-4218-9d6d-391515b6280d",
"name": "윈도우 방화벽 비활성화",
"description": "(T1089) Disabling Security Tools\n(T1047) Windows Management Instrumentation ",
"msg": "윈도우 방화벽 비활성화: $primary_ip",
"enabled": false,
"category_guid": "aedc65d6-25ee-4d9e-9040-e21ebe823f8d",
"category_name": "보안 우회",
"schema_code": "edr-process",
"schema_name": "EDR 프로세스",
"source_type": "LOGGER",
"logger_guids": [],
"logger_names": [],
"commands": [
{
"template_id": 1,
"field_name": "",
"args": {},
"query": "search (lower(image) == \"*\\\\netsh.exe\" and lower(cmd_line) == \"*advfirewall*\" and lower(cmd_line) == \"*off*\") or (lower(image) == \"*\\\\netsh.exe\" and lower(cmd_line) == \"*firewall*\" and lower(cmd_line) == \"*disable*\")",
"invert": false,
"ordinal": 0
}
],
"query_string": "search (lower(image) == \"*\\\\netsh.exe\" and lower(cmd_line) == \"*advfirewall*\" and lower(cmd_line) == \"*off*\") or (lower(image) == \"*\\\\netsh.exe\" and lower(cmd_line) == \"*firewall*\" and lower(cmd_line) == \"*disable*\")",
"address_group_guid": null,
"address_group_name": null,
"address_field": null,
"ticket_issue_cond": "ALWAYS",
"ticket_repo_guid": null,
"ticket_repo_name": null,
"ticket_assignee_guid": null,
"ticket_assignee_name": null,
"ticket_assignee_guids": [],
"ticket_assignee_names": [],
"ticket_suppress_interval": 3600,
"event_suppress_interval": 0,
"suppress_key": null,
"blacklist_expire_minute": null,
"keep_alive": false,
"mitre_techniques": [
{
"mitre_id": "T1089",
"name": "Disabling Security Tools",
"display_name": "Defense Evasion: Disabling Security Tools",
"url": "https://attack.mitre.org/techniques/T1089/",
"tactics": [
{
"mitre_id": "TA0005",
"name": "Defense Evasion"
}
]
}
],
"mitre_tactics": ["TA0005"],
"audit_category_guid": null,
"audit_category_name": null,
"reviewer_guid": null,
"reviewer_name": null,
"auditor_guid": null,
"auditor_name": null,
"audit_days": 14,
"employee_key_field": null,
"user_note": null,
"alarm_group_guid": null,
"alarm_group_name": null,
"field_order": "cmd_line, image",
"company_guid": "6fbe27b7-f1ae-4d7a-a1a5-76d8fa9aa311",
"company_name": "로그프레소",
"user_guid": "ffaf431b-653a-4329-8f83-913cbb00342d",
"user_name": "관리자",
"signature_app": null,
"app_code": null,
"app_built_in": false,
"version": 1,
"created": "2022-09-01 00:31:15+0900",
"updated": "2022-09-01 00:31:15+0900"
}
}
- rule (맵): 실시간 탐지 시나리오
- priority (문자열):
LOW,MEDIUM,HIGH중 하나. - guid (문자열): 실시간 탐지 시나리오 GUID
- name (문자열): 실시간 탐지 시나리오 이름
- description (문자열): 실시간 탐지 시나리오 설명
- msg (문자열): 메시지 템플릿.
$field형식의 매크로를 사용하여 필드 값을 메시지에 반영할 수 있음. - enabled (불리언): 탐지 활성화 여부
- category_guid (문자열): 탐지 시나리오 분류 GUID
- category_name (문자열): 탐지 시나리오 분류 이름
- schema_code (문자열): 정규화 스키마 식별자
- schema_name (문자열): 정규화 스키마 이름
- source_type (문자열): 탐지 대상.
LOGGER,LOGGER_MODEL중 하나. - logger_guids (배열): 수집기 GUID 목록
- logger_names (문자열 배열): 수집기 이름 목록 (
source_type이LOGGER인 경우) - commands (배열): 실시간 탐지 시나리오 명령어 목록
- template_id (32비트 정수): 실시간 탐지 시나리오 명령어 템플릿 ID
- field_name (문자열): 대상 필드 이름
- args (맵): 인자 키/값 쌍
- query (문자열): 인자가 반영된 쿼리 문자열
- invert (불리언):
true인 경우NOT조건 - ordinal (32비트 정수): 순서
- query_string (문자열): 실시간 탐지 쿼리 문자열
- address_group_guid (문자열): 주소 그룹 GUID
- address_group_name (문자열): 주소 그룹 이름
- address_field (문자열): 주소 그룹에 등록할 대상 필드
- ticket_issue_cond (문자열): 티켓 발생 조건. 발행 안 함 (
NEVER), ETIR 임계치 기반 (ETIR_THRESHOLD), 항상 발행 (ALWAYS) 중 하나. - ticket_repo_guid (문자열): 티켓 분류 GUID
- ticket_repo_name (문자열): 티켓 분류 이름
- ticket_assignee_guid (문자열): 티켓 할당자 GUID
- ticket_assignee_name (문자열): 티켓 할당자 성명
- ticket_assignee_guids (문자열 배열): 티켓 할당자 GUID 목록
- ticket_assignee_names (문자열 배열): 티켓 할당자 성명 목록
- ticket_suppress_interval (32비트 정수): 중복 티켓 축약 기간 (초 단위)
- event_suppress_interval (32비트 정수): 중복 이벤트 제거 기간 (초 단위)
- suppress_key (문자열): 중복 기준 필드.
$field형식으로 지정된 매크로를 해당 필드 값으로 대체하여 이벤트 컨텍스트 키로 사용함. - blacklist_expire_minute (32비트 정수): 차단기간 (분)
- keep_alive (불리언):
true인 경우 축약 타이머 유지.false인 경우 축약 타이머 초기화.Note축약 타이머 유지 시 티켓을 완료 처리하더라도 만료 시간에 도달할 때까지 이벤트가 기존 티켓에 병합됩니다.
- mitre_techniques (배열): 연관된 MITRE ATT&CK 테크닉 목록
- mitre_id (문자열): MITRE ATT&CK 테크닉 ID
- name (문자열): 테크닉 이름
- display_name (문자열): 택틱명을 포함한 표시 이름
- url (문자열): MITRE ATT&CK 공식 문서 URL
- tactics (배열): 연관된 택틱 목록
- mitre_id (문자열): MITRE ATT&CK 택틱 ID
- name (문자열): 택틱 이름
- mitre_tactics (문자열 배열): 연관된 MITRE ATT&CK 택틱 ID 목록
- audit_category_guid (문자열): 소명 분류 GUID
- audit_category_name (문자열): 소명 분류 이름
- reviewer_guid (문자열): 1차 검토자 계정 GUID
- reviewer_name (문자열): 1차 검토자 성명
- auditor_guid (문자열): 소명 확인 계정의 GUID. 미지정 시 부서장 전결.
- auditor_name (문자열): 소명 확인 계정의 성명. 미지정 시 부서장 전결.
- audit_days (32비트 정수): 소명 제출 마감 시한 (일 단위)
- employee_key_field (문자열): 사번 필드 이름. 통상 정규화된 필드인
emp_key를 사용함. - user_note (문자열): 소명 요청 메시지
- alarm_group_guid (문자열): 알람 그룹 GUID
- alarm_group_name (문자열): 알람 그룹 이름
- field_order (문자열): 근거 자료 출력 시 필드 순서. 쉼표로 구분된 필드 이름 목록.
- company_guid (문자열): 시나리오가 속한 회사 (테넌트) GUID
- company_name (문자열): 시나리오가 속한 회사 (테넌트) 이름
- user_guid (문자열): 시나리오를 생성한 사용자 GUID
- user_name (문자열): 시나리오를 생성한 사용자 성명
- signature_app (문자열): 시그니처 앱 이름
- app_code (문자열): 앱 코드
- app_built_in (불리언): 내장 앱 여부
- version (32비트 정수): 시나리오 버전
- created (문자열): 생성일시 (
yyyy-MM-dd HH:mm:ssZ형식) - updated (문자열): 수정일시 (
yyyy-MM-dd HH:mm:ssZ형식)
- priority (문자열):
오류 응답
지정한 시나리오가 존재하지 않는 경우
HTTP 상태 코드 200 응답
{
"rule": null
}
식별자가 GUID 형식이 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-param-type",
"error_msg": "guid should be guid type."
}