YARA-L 2.0에서 참조 목록 및 데이터 테이블 사용
참조 목록과 데이터 테이블을 사용하면 이벤트 필드를 맞춤 데이터 세트와 비교하여 로직을 구성할 수 있습니다. 이러한 객체를 사용하여 기본 구문을 수정하지 않고도 검색, 대시보드, 감지 전반에서 알려진 악성 IP 또는 승인된 호스트 이름과 같은 대량 지표를 관리할 수 있습니다.
규칙의 events 또는 outcome 섹션에서 참조 목록 또는 데이터 테이블을 사용할 수 있습니다. 참조 목록 및 데이터 표 동작과 문법에 대한 자세한 내용은 참조 목록 및 데이터 표 사용을 참고하세요.
참조 목록 및 데이터 표 문법 적용
참조 목록과 데이터 테이블은 객체 ID와 작업에 필요한 일치 유형 (string, regex 또는 CIDR)으로 정의된 유사한 문법을 따릅니다. 이 섹션에서는 다양한 유형의 참조 목록을 사용하는 문법 예시를 보여줍니다.
Google Security Operations에서 참조 목록과 데이터 테이블은 YARA-L 규칙의 events 또는 outcome 섹션 내에서 업로드된 데이터 세트와 이벤트 데이터를 비교하는 데 사용됩니다. 이러한 함수는 규칙 평가 프로세스 중에 실행되어 이벤트를 필터링하거나 감지 결과를 보강합니다.
단일 필드가 사전 정의된 목록 (예: 알려진 악성 IP 목록)의 값과 일치하는지 확인해야 하는 경우 참조 목록을 사용합니다.
- STRING:
$e.principal.hostname in %string_list_name 정규식:
$e.principal.hostname in regex %regex_list_nameCIDR:
$e.principal.ip in cidr %cidr_list_name
참조 데이터에 행 또는 열 구조가 있어 특정 필드를 특정 열에 매핑할 수 있는 경우 데이터 테이블을 사용합니다.
STRING:
$e.target.hostname in %table_name.column_name정규식:
$e.target.hostname in regex %table_name.column_nameCIDR:
$e.principal.ip in cidr %table_name.column_name
예: 참조 목록 문법 및 동작
다음 예에서는 다양한 데이터 세트 유형에 맞게 쿼리를 구조화하고 일치 항목에 조건부 로직을 적용하는 방법을 보여줍니다.
예: 쿼리의 참조 목록 구문
// STRING reference list $e.principal.hostname in %string_reference_list // Regular expression reference list $e.principal.hostname in regex %regex_reference_list // CIDR reference list $e.principal.ip in cidr %cidr_reference_list
예: 데이터 테이블 문법
// STRING data table $e.target.hostname in %data_table_name.column_name // Regular expression data table $e.target.hostname in regex %regex_table_name.column_name // CIDR data table $e.principal.ip in cidr %cidr_table_name.column_name
예: not 및 nocase 연산자
nocase 연산자는 STRING 목록 및 REGEX 목록과 호환됩니다.
// Exclude events whose hostnames match substrings in my_regex_list.
not $e.principal.hostname in regex %my_regex_list
// Event hostnames must match at least one string in my_string_list (case insensitive).
$e.principal.hostname in %my_string_list nocase
nocase 연산자는 STRING 목록 및 REGEX 목록과 호환됩니다.
성능상의 이유로 Detection Engine은 참조 목록 사용을 제한합니다.
- 특수 연산자가 있거나 없는 규칙의 최대
in문: 10개 regex연산자가 있는 최대in문: 5개cidr연산자가 있는 최대in문: 5개
참조 목록 동작 및 참조 목록 문법에 대한 자세한 내용은 참조 목록을 참고하세요.
Google 검색, 대시보드, 감지 전반에서 최적의 성능을 유지하기 위해 YARA-L 엔진은 다음 제한을 적용합니다.
- 특수 연산자가 있거나 없는 쿼리의 최대
in문: 7개 regex연산자가 있는 최대in문: 4개cidr연산자가 있는 최대in문: 2개
도움이 더 필요한가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.