원시 로그 스캔을 사용하여 원시 로그 검색
검색을 수행할 때 Google Security Operations는 먼저 수집, 파싱, 정규화된 보안 데이터를 검사합니다. 검색하는 정보를 정규화된 데이터에서 찾을 수 없으면 원시 로그 스캔을 사용하여 파싱되지 않은 원시 로그를 검사할 수 있습니다. 또한 정규 표현식을 사용하여 원시 로그를 보다 밀접하게 검사할 수 있습니다.
원시 로그 스캔을 사용하여 로그에 표시되지만 색인으로 생성되지 않은 다음과 같은 아티팩트를 조사할 수 있습니다.
- 사용자 이름
- 파일 이름
- 레지스트리 키
- 명령줄 인수
- 원시 HTTP 요청 관련 데이터
- 정규 표현식 기반의 도메인 이름
- 애셋 네임스페이스 및 주소
원시 로그 스캔
원시 로그 스캔을 사용하려면 방문 페이지 또는 메뉴 바(예: MD5 해시)에서 검색 필드에 검색 문자열을 입력합니다. 최소 4자 이상(와일드 카드 포함)을 입력합니다. Google Security Operations에서 검색 문자열을 찾을 수 없으면 원시 로그 스캔 옵션을 엽니다. 시작 시간 및 종료 시간을 지정하고(기본값 1주) 검색을 클릭합니다.
방문 페이지의 원시 로그 스캔
검색 문자열과 연관된 이벤트가 표시됩니다. 화살표 버튼을 클릭하여 연관된 원시 로그를 열 수 있습니다.
또한 로그 소스 드롭다운 메뉴를 클릭하고 Google Security Operations에 전송하는 데이터 소스를 하나 이상 선택하여 검색할 수 있습니다. 기본 설정은 모두입니다.
정규 표현식
정규 표현식을 사용하면 Google Security Operations를 사용하여 보안 데이터 내에서 문자열 집합을 검색하고 일치 항목을 찾을 수 있습니다. 정규 표현식을 사용하면 예를 들어 전체 도메인 이름을 사용할 때와 반대로 해당 정보의 일부만 사용하여 검색 범위를 좁힐 수 있습니다.
정규 표현식 구문을 사용하여 검색을 실행하려면 정규 표현식으로 검색 필드에 검색을 입력하고 쿼리를 정규식으로 실행 체크박스를 선택하고 검색을 클릭합니다. 정규 표현식은 4~66자 사이여야 합니다.
정규 표현식으로 원시 로그 스캔 실행
Google Security Operations의 정규 표현식 인프라는 오픈소스 정규 표현식 엔진인 Google RE2를 기반으로 합니다. Google Security Operations는 동일한 정규 표현식 구문을 사용합니다. 자세한 내용은 RE2 문서를 참조하세요.
다음 표에서는 검색에 사용할 수 있는 몇 가지 일반적인 정규 표현식 구문을 강조표시합니다.
모든 문자 | . |
임의 문자의 x 수 | {x} |
문자 클래스 | [xyz] |
부정 문자 클래스 | [^xyz] |
영숫자(0-9A-Za-z) | [[:alnum:]] |
알파벳(A-Za-z) | [[:alpha:]] |
숫자(0-9) | [[:digit:]] |
소문자(a-z) | [[:lower:]] |
대문자(A-Z) | [[:upper:]] |
단어 문자(0-9A-Za-z_) | [[:word:]] |
16진수(0-9A-Fa-f) | [[:xdigit:]] |
다음 예시는 이 구문을 사용하여 데이터에서 검색을 수행하는 방법을 보여줍니다.
goo.le\.com
—google.com
,goooogle.com
등과 일치goo\w{3}\.com
—google.com
,goodle.com
,goojle.com
등과 일치[[:digit:]]\.[[:alpha:]]
—34323.system
,23458.office
,897.net
등과 일치
Windows 로그를 검색할 샘플 정규 표현식
이 섹션에서는 일반적으로 모니터링되는 Windows 이벤트를 찾기 위해 Google Security Operations 원시 로그 스캔에서 사용할 수 있는 정규 표현식 쿼리 문자열을 제공합니다. 다음 예시에서는 Windows 로그 메시지가 JSON 형식이라고 가정합니다.
일반적으로 모니터링되는 Windows 이벤트 ID에 대한 자세한 내용은 Microsoft 문서의 Events to Monitor를 참조하세요. 제공된 예시는 해당 사용 사례에 설명된 비슷한 패턴을 따릅니다.
사용 사례: EventID가 1150인 이벤트 반환 | |
정규식 문자열: | \"EventID\"\:\s*1150 |
일치 값: | "EventID":1150 |
사용 사례: 이벤트 ID가 1150 또는 1151인 이벤트 반환 | |
정규식 문자열 | (?:\"EventID\"\:\s*)(?:1150|1151) |
일치 값 | "EventID":1150 및 "EventID":1151 |
사용 사례: 이벤트 ID가 1150 또는 1151이고 ThreatID가 9092인 이벤트 반환 | |
정규식 문자열 | (?:\"EventID\"\:\s*)(?:1150|1151).*(?:\"ThreadID\"\:\s*9092) |
일치 값 | "EventID":1150 <...any number of characters...> "ThreadID":9092
및 "EventID":1151 <...any number of characters...glt; "ThreadID":9092 |
계정 관리 이벤트 찾기
이러한 정규 표현식 쿼리 문자열은 EventID 속성을 사용하여 일반적인 계정 관리 이벤트를 식별합니다.
이벤트 유형 | 정규 표현식 |
사용자 계정 생성됨 | EventID\"\:\s*4720 |
사용자 계정 사용 설정됨 | EventID\"\:\s*4722 |
사용자 계정 중지됨 | EventID\"\:\s*4725 |
사용자 계정 삭제됨 | EventID\"\:\s*4726 |
사용자 권한 수정 | EventID\"\:\s*4703 |
보안 사용 설정된 전역 그룹에 구성원 추가됨 | EventID\"\:\s*4728 |
보안 사용 설정된 전역 그룹에서 구성원 삭제됨 | EventID\"\:\s*4729 |
보안 사용 설정된 전역 그룹 삭제됨 | EventID\"\:\s*4730 |
로그온 성공 이벤트 찾기
이러한 정규 표현식 쿼리 문자열은 EventID 및 LogonType 속성을 사용하여 성공한 로그온 이벤트 유형을 식별합니다.
이벤트 유형 | 정규 표현식 |
로그온 성공 | EventID\"\:\s*4624 |
로그온 성공 - 대화형(LogonType=2) | EventID\"\:\s*4624.*?LogonType\"\:\s*\"2\" |
로그온 성공 - 일괄 로그온(LogonType=4) | EventID\"\:\s*4624.*?LogonType\"\:\s*\"4\" |
로그온 성공 - 서비스 로그인(LogonType=5) | EventID\"\:\s*4624.*?LogonType\"\:\s*\"5\" |
로그온 성공 - RemoteInteractive 로그인(LogonType=10) | EventID\"\:\s*4624.*?LogonType\"\:\s*\"10\" |
로그온 성공 - 대화형, 일괄, 서비스, RemoteInteractive | (?:EventID\"\:\s*4624.*?LogonType\"\:\s*\")(?:2|4|5|10)\" |
로그온 실패 이벤트 찾기
이러한 정규 표현식 쿼리 문자열은 EventID 및 LogonType 속성을 사용하여 실패한 로그온 이벤트 유형을 식별합니다.
이벤트 유형 | 정규 표현식 |
로그온 실패 | EventID\"\:\s*4625 |
로그온 실패 - 대화형(LogonType=2) | EventID\"\:\s*4625.*?LogonType\"\:\s*\"2\" |
로그온 실패 - 일괄 로그인(LogonType=4) | EventID\"\:\s*4625.*?LogonType\"\:\s*\"4\" |
로그온 실패 - 서비스 로그인(LogonType=5) | EventID\"\:\s*4625.*?LogonType\"\:\s*\"5\" |
로그온 실패 - RemoteInteractive 로그인(LogonType=10) | EventID\"\:\s*4625.*?LogonType\"\:\s*\"10\" |
로그온 실패 - 대화형, 일괄, 서비스 또는 RemoteInteractive | (?:EventID\"\:\s*4625.*LogonType\"\:\s*\")(?:2|4|5|10)\" |
프로세스, 서비스, 태스크 이벤트 찾기
이러한 정규 표현식 쿼리 문자열은 EventID 속성을 사용하여 특정 프로세스 및 서비스 이벤트를 식별합니다.
이벤트 유형 | 정규 표현식 |
프로세스 시작 | EventID\"\:\s*4688 |
프로세스 종료 | EventID\"\:\s*4689 |
서비스 설치됨 | EventID\"\:\s*4697 |
새 서비스 생성됨 | EventID\"\:\s*7045 |
예약 태스크 생성됨 | EventID\"\:\s*4698 |
객체 액세스와 관련된 이벤트 찾기
이러한 정규 표현식 쿼리 문자열은 EventID 속성을 사용하여 여러 유형의 프로세스 및 서비스 관련 이벤트를 식별합니다.
이벤트 유형 | 정규 표현식 |
감사 로그 삭제됨 | EventID\"\:\s*1102 |
객체 액세스 시도됨 | EventID\"\:\s*4663 |
공유 액세스됨 | EventID\"\:\s*5140 |