sonar-assess-risk

이벤트 로그의 위험 점수를 계산합니다. 탐지 룰과 자산 정보를 기반으로 ETIR 위험 점수를 산출하여 레코드에 추가하며, 보안관제 운영 시 이벤트 심각도 우선순위 판별에 활용합니다.

명령어 속성

항목설명
명령어 유형가공 쿼리
필요 권한없음
라이선스 사용량해당 없음
병렬 실행지원
분산 실행수집 노드에서 실행 (mapper)

문법

sonar-assess-risk [simple=BOOL] [rule=BOOL]

옵션

simple=BOOL
t로 지정하면 최종 위험 점수 필드(_risk_score)만 출력하고 나머지 분석 필드는 생략합니다 (기본값: f).
rule=BOOL
t로 지정하면 룰 관련 필드(_rule_ticket_issue_cond, _rule_enabled)를 추가로 출력합니다 (기본값: f).

입력 필드

필드타입필수 여부설명
_rule_type문자열필수탐지 룰 유형 (STREAM 또는 BATCH)
_rule32비트 정수필수탐지 룰 ID
_signature_guid문자열선택시그니처 GUID
host_ip문자열선택탐지된 호스트 IP 주소
src_ip문자열선택이벤트 출발지 IP 주소
dst_ip문자열선택이벤트 목적지 IP 주소

출력 필드

simple=f(기본값)일 때 출력됩니다. simple=t이면 _risk_score만 출력됩니다.

필드타입설명
_rule_type문자열입력 필드 유지 (STREAM 또는 BATCH)
_rule32비트 정수입력 필드 유지 (탐지 룰 ID)
_rule_name문자열탐지 룰 이름
host_ip문자열입력 필드 유지
src_ip문자열입력 필드 유지
dst_ip문자열입력 필드 유지
_signature_guid문자열입력 필드 유지
_risk_score문자열산출된 위험 점수 (예: Critical, High, Medium, Low)
_private_ip문자열이벤트에서 식별된 내부 IP 주소
_capec_id문자열시그니처에 연결된 CAPEC ID
_likelihood_type문자열가능성 계산에 사용된 유형
_likelihood_target문자열가능성 계산 대상
_exploit_target문자열공격 대상 자산
_exploit_cve_id문자열연관된 CVE ID

rule=t일 때 추가로 출력됩니다.

필드타입설명
_rule_ticket_issue_cond문자열티켓 발행 조건 (ALWAYS, ONCE)
_rule_enabled불리언탐지 룰 활성화 여부

계산 오류 발생 시 출력됩니다.

필드타입설명
_error문자열오류 메시지
_error_file문자열오류가 발생한 소스 파일명
_error_line32비트 정수오류가 발생한 소스 코드 행 번호

오류 코드

파싱 오류

해당 사항 없음

런타임 오류

해당 사항 없음

처리 중 예외가 발생하면 레코드를 버리지 않고 _error, _error_file, _error_line 필드에 오류 정보를 기록한 뒤 파이프라인으로 전달합니다.

설명

sonar-assess-risk는 이벤트 레코드에 포함된 _rule_type_rule 필드를 사용하여 해당 탐지 룰 객체를 조회하고, ETIR 서비스에서 위험 점수를 계산하여 레코드에 추가합니다.

룰 객체를 찾을 수 없는 경우(_rule_type 또는 _rule 필드가 없거나, 해당 ID의 룰이 존재하지 않는 경우) 해당 레코드에는 아무 필드도 추가하지 않고 파이프라인으로 전달합니다.

simple=t 옵션을 사용하면 _risk_score 필드만 추가되어 출력이 간결해집니다. 위험 점수 값만 필요한 집계나 필터링 파이프라인에서 유용합니다.

rule=t 옵션을 사용하면 탐지 룰의 티켓 발행 조건(_rule_ticket_issue_cond)과 활성화 상태(_rule_enabled)도 함께 확인할 수 있습니다.

사용 예

  1. 최근 1시간 이내 이벤트의 위험 점수 계산

    table duration=1h sonar_events
    | sonar-assess-risk
    | fields _rule_type, _rule, _rule_name, src_ip, dst_ip, _risk_score
    
  2. 위험 점수만 추가하여 위험 점수 기준으로 집계

    table duration=1d sonar_events
    | sonar-assess-risk simple=t
    | stats count by _risk_score
    
  3. 탐지 룰 정보를 포함하여 위험 점수 계산

    table duration=1h sonar_events
    | sonar-assess-risk rule=t
    | fields _rule, _rule_name, _rule_enabled, _rule_ticket_issue_cond, _risk_score
    

호환성

sonar-assess-risk 명령어는 소나 5.0.2603.0 버전부터 사용 가능합니다.