matchfeed
위협 인텔리전스 피드 데이터를 이용하여 입력 레코드의 지정된 필드 값이 피드에 포함되어 있는지 검사하고, 매칭된 레코드를 출력합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 가공 쿼리 |
| 필요 권한 | 없음 |
| 라이선스 사용량 | 해당 없음 |
| 병렬 실행 | 지원 |
| 분산 실행 | 수집 노드에서 실행 (mapper) |
문법
옵션
name=STR- 위협 인텔리전스 피드 식별자.
name과type옵션 중 하나는 반드시 지정해야 합니다. type={URL|DOMAIN|EMAIL|IP|REGISTRY|MD5|SHA1|SHA256}- 위협 인텔리전스 피드 유형.
name과type옵션 중 하나는 반드시 지정해야 합니다.
URL: URLDOMAIN: 도메인EMAIL: 이메일IP: IP 주소REGISTRY: 레지스트리MD5: MD5 해시SHA1: SHA1 해시SHA256: SHA256 해시
fields=STR- 매칭 대상 필드 목록. 쉼표(
,)로 구분하여 여러 필드를 지정할 수 있습니다. 필드 값은 문자열 또는 IP 주소 타입이어야 합니다. invert=BOOL- 매칭 결과를 반전합니다.
t로 지정하면 위협 인텔리전스 피드에 포함되지 않는 레코드를 출력합니다. (기본값:f)
입력 필드
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
fields로 지정한 필드 | 문자열 또는 IP 주소 | 필수 | 위협 인텔리전스 피드와 비교할 값. null이거나 문자열/IP 주소 타입이 아닌 경우 해당 필드를 건너뜁니다. |
출력 필드
name 옵션으로 특정 피드를 지정한 경우:
| 필드 | 타입 | 설명 |
|---|---|---|
feed_name | 문자열 | 매칭된 위협 인텔리전스 피드 식별자 |
feed_invert | 불리언 | 반전 여부 |
feed_field | 문자열 | 매칭된 필드 이름 (invert=f인 경우에만 출력) |
type 옵션으로 피드 유형을 지정한 경우:
| 필드 | 타입 | 설명 |
|---|---|---|
feed_type | 문자열 | 위협 인텔리전스 피드 유형 |
feed_names | 배열 | 매칭된 위협 인텔리전스 피드 식별자 목록 (invert=f인 경우에만 출력) |
feed_invert | 불리언 | 반전 여부 |
feed_field | 문자열 | 매칭된 필드 이름 (invert=f인 경우에만 출력) |
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 300020 | matchfeed 명령어의 name과 type 옵션 중 하나는 반드시 지정해야 합니다. | name과 type 옵션을 모두 생략한 경우 |
| 300021 | matchfeed 명령어에 fields 옵션을 지정하세요. | fields 옵션을 지정하지 않은 경우 |
| 300022 | 유효하지 않은 위협 인텔리전스 피드 식별자입니다. | name 옵션에 존재하지 않는 피드 식별자를 지정한 경우 |
| 300023 | 유효하지 않은 위협 인텔리전스 피드 유형입니다. URL, DOMAIN, EMAIL, IP, REGISTRY, MD5, SHA1, SHA256 중 하나를 지정하세요. | type 옵션에 유효하지 않은 유형을 지정한 경우 |
| 300024 | 위협 인텔리전스 피드 매처를 초기화하는데 실패했습니다. | 피드 매처 초기화에 실패한 경우 |
런타임 오류
해당 사항 없음
설명
matchfeed 명령어는 입력 레코드의 지정된 필드 값을 위협 인텔리전스 피드 데이터와 비교하여, 매칭 여부에 따라 레코드를 필터링합니다. fields 옵션으로 지정한 필드를 순서대로 검사하며, 첫 번째로 매칭된 필드에서 검사를 중단하고 해당 레코드를 출력합니다.
name 옵션으로 특정 피드를 지정하면 해당 피드만 대상으로 매칭하고, type 옵션으로 피드 유형을 지정하면 같은 유형의 모든 피드를 대상으로 매칭합니다. 두 옵션 중 하나는 반드시 지정해야 합니다.
invert=t를 지정하면 모든 필드를 검사한 후 어떤 필드도 매칭되지 않은 레코드만 출력합니다. 이 경우 feed_field 필드는 출력되지 않습니다.
필드 값이 null이거나 문자열 또는 IP 주소 타입이 아닌 경우 해당 필드를 건너뛰고 다음 필드를 검사합니다.
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
특정 피드 이름으로 IP 주소 매칭
table limit=1000 WEB_APACHE_SAMPLE | matchfeed name=malware_ip fields=src_ip웹 서버 접근 로그의 출발지 IP 주소를
malware_ip피드와 대조하여 일치하는 레코드를 필터링합니다. -
피드 유형으로 IP 주소 매칭
table limit=1000 WEB_APACHE_SAMPLE | matchfeed type=IP fields=src_ipIP 유형의 모든 위협 인텔리전스 피드를 대상으로 출발지 IP 주소를 매칭합니다.
-
매칭 결과 반전
table limit=1000 WEB_APACHE_SAMPLE | matchfeed name=malware_ip fields=src_ip invert=tmalware_ip피드에 포함되지 않는 출발지 IP 주소를 가진 레코드만 출력합니다.
호환성
matchfeed 명령어는 소나 4.0 이전 버전부터 제공되었습니다.