YARA-L 권장사항
이 문서에서는 YARA-L로 규칙을 작성하기 위해 Google Security Operations에서 추천하는 권장사항에 대해 설명합니다.
0 값 필터링
필드가 규칙을 실행할 이벤트에서 자동으로 생략될 수 있습니다. 필드가 생략되면 기본적으로 0 값으로 지정됩니다.
예를 들어 생략된 문자열 값은 기본적으로 ""
입니다.
둘 다 생략된 2개 필드를 동일시 하는 경우 둘 다 기본적으로 0 값으로 지정될 수 있습니다. 그러면 둘 다 0 값을 포함하기 때문에 2개 필드가 일치하는 의도치 않은 일치 결과로 이어질 수 있습니다. 명시적으로 0 값을 지정하여 이 동작을 방지할 수 있습니다.
예를 들어 2개 필드에 따라 2개 이벤트를 동일시하는 규칙이 있으면 이러한 필드가 모두 비어 있을 때 두 필드가 일치할 가능성이 있습니다.
$e1.field1 = $e2.field2
데이터에 e1.field1
및 e2.field2
가 모두 생략되었으면 "" = ""
이 true이므로, 일치가 발생합니다.
다음 비교 표현식은 e1.field1
및 e2.field2
가 데이터를 포함하지 않기 때문에 일치가 발생하지 않도록 보장합니다.
$e1.field1 = $e2.field2
$e1.field != ""
0 값 및 보강 종속 규칙
규칙이 아직 업데이트되지 않은 풍부한 데이터에 의존하는 경우 값이 null 또는 0일 수 있습니다. 따라서 보강에 종속된 규칙에서 0 값 (null 검사)을 필터링하는 것이 좋습니다. Google SecOps에서 이벤트 및 항목 데이터를 보강하는 방법과 규칙에서 컨텍스트 보강 데이터를 사용하는 방법을 알아보세요.
이벤트 유형 필터 추가
다음 예시에서는 각 UDM 이벤트의 IP 주소를 참조 목록과 비교하여 많은 리소스를 사용하는지 확인합니다.
events:
// For every UDM event, check if the target.ip is listed in
// the suspicious_ip_addresses reference list.
$e.target.ip in %suspicious_ip_addresses
YARA-L 규칙이 특정 이벤트 유형의 UDM 이벤트에서만 감지하는 경우 이벤트 유형 필터를 추가하면 규칙에서 평가해야 하는 이벤트 수를 줄여 규칙을 최적화할 수 있습니다.
events:
// For every UDM event of type NETWORK_DNS, check if the target.ip is
// listed in the suspicious_ip_addresses reference list.
$e.metadata.event_type = "NETWORK_DNS"
$e.target.ip in %suspicious_ip_addresses
이 필터를 이벤트 섹션의 시작 부분에 추가합니다. 또한 정규식 또는 다른 비교 이전에 일치 필터를 배치해야 합니다. 필터는 규칙에 표시된 순서대로 적용됩니다.
YARA-L 사용에 대한 커뮤니티 블로그는 다음을 참고하세요.
- YARA-L 기본사항
- YARA-L 규칙 변수
- YARA-L 연산자 및 수정자
- 정규 표현식을 사용하여 단일 이벤트 규칙 빌드
- 규칙에서 이벤트 집계
- 조건에서 기준 설정하기
- 규칙 편집기 탐색
- YARA-L 규칙 옵션
- 단일 이벤트 규칙 빌드 - 문자열 일치
- 다중 이벤트 규칙 빌드 - 이벤트 결합
- 다중 이벤트 규칙 빌드 - 이벤트 순서 지정
- 다중 이벤트 규칙 빌드 - 조건의 다중 조인 및 개수
- 다중 이벤트 규칙 빌드 - 슬라이딩 윈도우
- 단일 이벤트 규칙의 결과 소개
- 멀티 이벤트 규칙의 결과 - 개수
- 여러 이벤트 규칙의 결과 - 배열
- 다중 이벤트 규칙의 결과 - 최대, 최소, 합계
- 결과 - 위험 점수, 조건부 로직, 수학 연산자
- 함수 - strings.concat
- 함수 - strings.coalesce
- 기능 - 네트워크
- 참조 목록
- CIDR 참조 목록
- 정규식 참조 목록
- 문자열 함수 - 대문자 또는 소문자
- 정규 표현식 함수 - re.regex
- 정규 표현식 함수 - re.capture
- 문자열 함수 - strings.base64_decode
- 정규 표현식 함수 - re.replace
- 통계 검색 시작하기
- 통계 검색 - 단순한 개수 이상
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.