표현식 빌더 사용 사례
이 문서에서는 Google Security Operations 플랫폼 전반에서 플레이북 작업 내에 동적 표현식을 빌드하고 구현하는 방법을 자세히 설명하는 사용 사례를 제공합니다. 이 섹션에서는 표현식 빌더를 사용하여 목록 데이터, 항목 세부정보, 스캔 보고서와 같은 이전 작업 결과에서 특정 데이터를 파싱, 필터링, 추출하여 후속 플레이북 단계에서 복잡한 자동화 로직을 실행하는 데 중점을 둡니다.
시작하기 전에
시작하기 전에 다음 제안사항을 따르세요.
- Qualys – List Scans를 사용하여 Qualys의 최신 스캔을 모두 가져옵니다 (30일 하드 코딩).
- 표현식 빌더를 사용하여 최신 스캔의 ID (REF)를 자리표시자로 추출하여 VM 스캔 결과를 다운로드합니다. VM 스캔 결과에서 관련 보고서를 다운로드합니다.
- 작업 목록을 사용하여 보고서에서 네트워크의 일반적인 취약점 및 노출 (CVE)에 대해 발견된 취약점 식별자 목록을 추출하고 케이스의 CVE와 비교합니다.
- IPS 알림을 사용하여 플레이북을 트리거합니다.
사용 사례: 침입 방지 시스템 IPS
이 사용 사례에서는 네트워크에서 악성 흐름을 발견한 플레이북을 빌드한다고 가정합니다.
Qualys와 같은 취약점 관리 도구에서 일일 검사를 예약했다고 가정해 보겠습니다.
자리표시자 만들기
자리표시자를 만들려면 다음 단계를 따르세요.
Active Directory_Enrich Entities
작업으로 시작하여 영향을 받을 수 있는 모든 항목을 보강합니다.- Qualys VM – List Scans를 사용하여 네트워크 머신의 최신 스캔 결과를 가져옵니다.
- 결과 중 감지된 흐름에 취약한 결과가 있는지 확인합니다.
QualysVM_Download VM Scan Results_1
를 참고하세요. 자리표시자와 추가된 표현식 빌더가 표시됩니다.
자리표시자 추가
자리표시자를 추가하려면 다음 단계를 따르세요.
- [ ] 자리표시자를 클릭합니다. 자리표시자 삽입 대화상자가 표시됩니다.
- Playbook > QualysVM_list_Scans_1_JSONResult를 선택합니다.
- 표현식 빌더 아이콘을 클릭합니다. 표현식 빌더 페이지가 표시됩니다.
-
표현식 필드에 다음을 추가합니다. 표현식은 MAX를 사용하여 날짜
LAUNCH_DATETIME
별로 최신 결과를 가져온 다음 REF가 스캔 ID인 관련 스캔의 특정 스캔 ID를 추출합니다.
예:| max(LAUNCH_DATETIME) | REF
- 실행을 클릭합니다. 예상 결과가 표시됩니다.
- 삽입을 클릭하여 표현식 빌더를 자리표시자의 일부로 포함합니다.
- 케이스의 CVE와 표현식 빌더를 사용하여 작업 > 목록 작업을 클릭합니다.
-
플레이북이 실시간으로 트리거되면 PDF 파일로 된 특정 스캔을 비롯한 스캔 결과를 측면 창에서 확인할 수 있습니다.
사용 사례: 로그인 시도 실패 횟수가 너무 많음
이 사용 사례는 엔티티 데이터를 보강하여 알림 심각도를 파악함으로써 로그인 실패 시도를 해결합니다. 목표는 사용자의 부서와 마지막 비밀번호 변경 날짜를 빠르게 찾는 것입니다.
ActiveDirectory_Enrich
entities 작업으로 시작하여 알림과 연결된 모든 내부 항목에 관한 세부정보를 수집합니다.- 후속 통계 메시지에서 표현식 빌더를 사용하여 타겟 사용자와 마지막 로그인 시간을 추출합니다.
자리표시자 추가
이러한 자리표시자를 추가하려면 다음 단계를 따르세요.
- 메시지 필드에서 [ ] 자리표시자를 클릭합니다.
-
자리표시자 삽입 페이지에서
ActiveDirectory_Enrich entities_JSONResult
옆에 있는 표현식 빌더 아이콘을 클릭합니다. -
표현식 필드에 다음을 추가합니다. 이렇게 하면 항목 식별자가 선택됩니다. 결과를 반환한 항목이 두 개 이상인 경우 쉼표로 구분된 목록으로 가져옵니다.
| 항목
-
실행을 클릭하면 샘플 결과가 표시됩니다. 이 경우
user@domain.com
입니다. - 삽입을 클릭하여 이를 자리표시자 메시지의 일부로 사용합니다. 메일에 관련 자유 형식 텍스트를 추가합니다.
-
[ ] 자리표시자를 클릭한 다음
ActiveDirectory_Enrich entities_JSONResult
옆에 있는 표현식 빌더 아이콘을 클릭합니다. - 다음 표현식을 추가합니다. 이는 지정된 사용자의 마지막 로그온 시간을 캡처합니다. | EntityResult.lastLogon
- 삽입을 클릭한 다음 저장을 클릭합니다.
-
플레이북이 실시간으로 트리거되면 통계 창에 사용자 이름과 마지막 로그인 시간이 표시된 메시지가 표시됩니다.
사용 사례: VirusTotal 해시 분석
이 사용 사례에서는 Kaspersky와 같은 특정 스캔 엔진에서 파일 해시의 평판을 추출하여 파일이 악성인지 확인하고 해당 엔티티를 만드는 방법을 보여줍니다.
- VirusTotal_Scan Hash 작업을 사용하여 파일 보고서를 가져옵니다.
후속 작업인 Siemplify_Create 또는 Update Entity Properties는 스캔 결과를 기반으로 Detected by Kaspersky
와 같은 항목 속성을 생성하거나 수정합니다.
이 자리표시자를 추가하려면 다음 단계를 따르세요.
- '필드 값' 필드에서 [] 자리표시자를 클릭합니다.
-
자리표시자 삽입 페이지에서
VirusTotal_ScanHash_JSONResult
옆에 있는 표현식 빌더 아이콘을 클릭합니다.
-
| filter(EntityResult.scans.Kaspersky.detected, "=", "true") | Entity
표현식을 추가합니다.해시를 두 개 이상 스캔한 경우 Kaspersky에서 악성으로 표시한 모든 항목 객체로 결과를 필터링한 다음 항목 이름만 반환합니다.
- 삽입을 클릭하고 > 저장을 클릭합니다. 결과는 런타임에 표시됩니다.
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.