Halcyon Anti-Ransomware 로그 수집

다음에서 지원:

이 문서에서는 Google Cloud Storage V2를 사용하여 Halcyon Anti-Ransomware 로그를 Google Security Operations로 수집하는 방법을 설명합니다.

Halcyon은 AI를 사용하여 랜섬웨어 공격을 감지, 방지하고 복구하는 랜섬웨어 방지 플랫폼입니다. 랜섬웨어 감지 이벤트, 암호화 시도, 복구 작업에 대한 알림을 생성합니다. 파서는 JSON 형식의 로그 필드를 통합 데이터 모델 (UDM)에 매핑하여 파일 작업, 사용자 활동, 보안 결과와 같은 이벤트 유형을 처리합니다.

시작하기 전에

다음 기본 요건이 충족되었는지 확인합니다.

  • Google SecOps 인스턴스
  • Cloud Storage API가 사용 설정된 GCP 프로젝트
  • GCS 버킷 및 IAM 정책을 만들고 관리할 수 있는 권한
  • 로그 내보내기 기능이 있는 Halcyon 콘솔에 대한 권한 있는 액세스

Google Cloud Storage 버킷 만들기

  1. Google Cloud 콘솔로 이동합니다.
  2. 프로젝트를 선택하거나 새 프로젝트를 만듭니다.
  3. 탐색 메뉴에서 Cloud Storage> 버킷으로 이동합니다.
  4. 버킷 만들기를 클릭합니다.
  5. 다음 구성 세부정보를 제공합니다.

    설정
    버킷 이름 지정 전역적으로 고유한 이름 (예: halcyon-logs)을 입력합니다.
    위치 유형 필요에 따라 선택 (리전, 이중 리전, 멀티 리전)
    위치 위치를 선택합니다 (예: us-central1).
    스토리지 클래스 Standard (자주 액세스하는 로그에 권장)
    액세스 제어 균일 (권장)
    보호 조치 선택사항: 객체 버전 관리 또는 보관 정책 사용 설정
  6. 만들기를 클릭합니다.

Halcyon 로그를 Google Cloud Storage로 내보내기

Halcyon은 JSON 형식으로 로그 데이터를 내보내는 것을 지원합니다. 다음 방법 중 하나를 사용하여 로그를 GCS에 전송합니다.

옵션 A: Halcyon API를 사용하여 로그를 내보내고 GCS에 업로드

  1. Halcyon 관리 콘솔에 로그인합니다.
  2. 설정 > API 액세스로 이동하여 읽기 권한이 있는 API 키를 생성합니다.
  3. API 키를 복사하여 저장합니다.
  4. 예약된 스크립트 또는 Cloud Run 함수를 사용하여 Halcyon REST API를 호출하고, 이벤트 로그를 가져오고, JSON 형식으로 GCS에 작성합니다.

옵션 B: SIEM 통합 구성 및 GCS로 전달

  1. Halcyon 관리 콘솔에 로그인합니다.
  2. 설정 > 통합 > SIEM으로 이동합니다.
  3. JSON 형식 이벤트를 로컬 디렉터리 또는 중간 저장소에 쓰도록 로그 내보내기 대상을 구성합니다.
  4. Cloud Run 함수를 사용하여 로그를 GCS 버킷에 주기적으로 업로드합니다.

    • 내보낸 파일이 JSON 형식인지 확인합니다.
    • 각 파일에는 하나 이상의 이벤트 레코드가 포함되어야 합니다.

Google SecOps 서비스 계정 가져오기

  1. Google SecOps 콘솔에 로그인합니다.
  2. SIEM 설정> 피드로 이동합니다.
  3. 새 피드 추가를 클릭합니다.
  4. 단일 피드 구성을 클릭합니다.
  5. 소스 유형으로 Google Cloud Storage V2를 선택합니다.
  6. 로그 유형으로 Halcyon Anti Ransomware를 선택합니다.
  7. 서비스 계정 가져오기를 클릭합니다. 고유한 서비스 계정 이메일이 표시됩니다(예:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  8. 이 이메일 주소를 복사합니다. 다음 단계에서 사용합니다.

Google SecOps 서비스 계정에 IAM 권한 부여

  1. Cloud Storage> 버킷으로 이동합니다.
  2. 버킷 이름을 클릭합니다.
  3. 권한 탭으로 이동합니다.
  4. 액세스 권한 부여를 클릭합니다.
  5. 다음 구성 세부정보를 제공합니다.
    • 주 구성원 추가: Google SecOps 서비스 계정 이메일을 붙여넣습니다.
    • 역할 할당: 스토리지 객체 뷰어를 선택합니다.
  6. 저장을 클릭합니다.

    • 삭제 옵션 (전송된 파일 삭제)을 사용하려면 스토리지 객체 뷰어 대신 스토리지 객체 관리자 역할을 부여하세요.

Halcyon Anti-Ransomware 로그를 수집하도록 Google SecOps에서 피드 구성

  1. SIEM 설정> 피드로 이동합니다.
  2. 새 피드 추가를 클릭합니다.
  3. 단일 피드 구성을 클릭합니다.
  4. 피드 이름 필드에 피드 이름을 입력합니다(예: Halcyon Anti-Ransomware logs).
  5. 소스 유형으로 Google Cloud Storage V2를 선택합니다.
  6. 로그 유형으로 Halcyon Anti Ransomware를 선택합니다.
  7. 다음을 클릭합니다.
  8. 다음 입력 매개변수의 값을 지정합니다.

    필드
    스토리지 버킷 URI gs://halcyon-logs/halcyon/events/
    소스 삭제 옵션 원하는 삭제 옵션을 선택합니다.
    최대 파일 보관 기간 (일) 기본값은 180일입니다.
    애셋 네임스페이스 애셋 네임스페이스
    수집 라벨 이 피드의 이벤트에 적용할 라벨
    • halcyon-logs을 실제 GCS 버킷 이름으로 바꿉니다.
    • 항상 URI 끝에 후행 슬래시 (/)를 포함합니다.
  9. 다음을 클릭합니다.

  10. 확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.

UDM 매핑 테이블

로그 필드 UDM 매핑 논리
sshd, tty, euid, dataType, filterName, totalOccurrences, occurredAt, count, occurrences.IncorrectPasswords, occurrences.FailedPassword, occurrences.AuthFailure, policyMode, action additional.fields 있는 경우 각 필드에서 생성된 라벨과 병합됩니다. totalOccurrences, count, occurrences 필드가 문자열로 변환됩니다.
dnsArtifact.uri network.dns.questions 이름이 포함된 질문 배열과 병합됨
asset.id principal.asset.asset_id 'ASSET:' + asset.id로 연결됨
asset.kind principal.asset.attribute.labels asset.kind에서 생성된 asset_kind_label과 병합됨
asset.name principal.asset.hostname 값이 직접 복사됨
ipArtifact.ipAddress principal.asset.ip 값이 직접 복사됨
summary.applicationName principal.application 값이 직접 복사됨
phost, asset.name principal.hostname 있는 경우 phost의 값이며, 있는 경우 asset.name으로 덮어쓰여집니다.
ipArtifact.ipAddress principal.ip 값이 직접 복사됨
process.commandLine principal.process.command_line 값이 직접 복사됨
modifiedFilePath, artifact.filePath, process.artifact.filePath, processes.artifact.filePath principal.process.file.full_path 값이 있는 경우 modifiedFilePath로 설정되고, artifact.filePath가 있는 경우 artifact.filePath로 덮어쓰여지고, process.artifact.filePath가 있는 경우 process.artifact.filePath로 덮어쓰여지고, processes.artifact.filePath가 있는 경우 processes.artifact.filePath로 덮어쓰여집니다 (processes.artifact.filePath의 따옴표 삭제됨).
lastOccurredAt principal.process.file.last_seen_time ISO8601 형식의 날짜 필터를 사용하여 변환됨
process.artifact.kind, artifact.kind, primaryProcess.artifact.kind principal.process.file.mime_type 있는 경우 process.artifact.kind의 값, 있는 경우 artifact.kind로 덮어쓰기, 있는 경우 primaryProcess.artifact.kind로 덮어쓰기
artifact.sha256, process.artifact.sha256, processes.artifact.sha256 principal.process.file.sha256 artifact.sha256의 값(있는 경우), process.artifact.sha256으로 덮어씀(있는 경우), processes.artifact.sha256으로 덮어씀(있는 경우)
process.parentPid principal.process.parent_pid 값이 직접 복사됨
process.pid principal.process.pid 값이 직접 복사됨
user_displayname principal.user.user_display_name 값이 직접 복사됨
사용자 principal.user.userid 값이 직접 복사됨
summary.artifact.filePath target.file.full_path 값이 직접 복사됨
summary.artifact.sha256 target.file.sha256 값이 직접 복사됨
primaryProcess.commandLine target.process.command_line 따옴표를 삭제한 직후 복사된 값
primaryProcess.kind target.process.file.mime_type 값이 직접 복사됨
primaryProcess.parentPid target.process.parent_process.pid 값이 직접 복사됨
primaryProcess.pid target.process.pid 값이 직접 복사됨
uid target.user.userid 값이 직접 복사됨
id target.asset_id 'ASSET:' + ID로 연결됩니다.
action security_result.action 작업이 '차단' 또는 '허용'인 경우 대문자
reason.exitCode security_result.action_details 값이 직접 복사됨
dxpRule, monitoringReason, tenantId security_result.detection_fields 각 필드에서 생성된 라벨과 병합됩니다(있는 경우). dxpRule의 경우 백슬래시가 삭제됩니다.
dxpRuleType security_result.rule_type 값이 직접 복사됨
ipArtifact.version security_result.rule_version 값이 직접 복사됨
msg, reason.cause security_result.summary 있는 경우 msg의 값이며, 있는 경우 reason.cause로 덮어쓰여집니다.
타임스탬프 metadata.event_timestamp MMM dd HH:mm:ss 또는 MMM d HH:mm:ss 형식의 날짜 필터를 사용하여 변환됨
phost, ipArtifact.ipAddress, asset.name, user, uid, summary.artifact.sha256, summary.artifact.filePath metadata.event_type has_principal 및 has_target_file인 경우 FILE_UNCATEGORIZED, has_principal 및 has_target인 경우 USER_UNCATEGORIZED, has_principal인 경우 STATUS_UPDATE, 그 외의 경우 GENERIC_EVENT (소스에서 파생된 플래그)로 설정됩니다.
kind metadata.product_event_type 값이 직접 복사됨
gupid, guid metadata.product_log_id gupid의 값(있는 경우)이며, guid가 있는 경우 guid로 덮어쓰여집니다.
metadata.product_name 'Halcyon Anti Ransomware'로 설정
metadata.vendor_name 'Halcyon'으로 설정
primaryProcess.kind event.idm.read_only_udm.target.process.file.mime_type 변경 로그에서 매핑됨
primaryProcess.artifact.kind event.idm.read_only_udm.principal.process.file.mime_type 변경 로그에서 매핑됨
processes.artifact.filePath event.idm.read_only_udm.principal.process.file.full_path 변경 로그에서 매핑됨
processes.artifact.sha256 event.idm.read_only_udm.principal.process.file.sha256 변경 로그에서 매핑됨
action event.idm.read_only_udm.additional.fields 변경 로그에서 매핑됨
filterName event.idm.read_only_udm.additional.fields 변경 로그에서 매핑됨
policyMode event.idm.read_only_udm.additional.fields 변경 로그에서 매핑됨
euid event.idm.read_only_udm.additional.fields 변경 로그에서 매핑됨
occurrences.AuthFailure event.idm.read_only_udm.additional.fields 변경 로그에서 매핑됨
occurrences.FailedPassword event.idm.read_only_udm.additional.fields 변경 로그에서 매핑됨
occurredAt event.idm.read_only_udm.additional.fields 변경 로그에서 매핑됨
occurrences.IncorrectPasswords event.idm.read_only_udm.additional.fields 변경 로그에서 매핑됨
guid event.idm.read_only_udm.metadata.product_log_id 변경 로그에서 매핑됨
gupid event.idm.read_only_udm.metadata.product_log_id 변경 로그에서 매핑됨
count event.idm.read_only_udm.additional.fields 변경 로그에서 매핑됨
artifact.filePath event.idm.read_only_udm.principal.process.file.full_path 변경 로그에서 매핑됨
artifact.sha256 event.idm.read_only_udm.principal.process.file.sha256 변경 로그에서 매핑됨
artifact.kind event.idm.read_only_udm.principal.process.file.mime_type 변경 로그에서 매핑됨
monitoringReason event.idm.read_only_udm.security_result.detection_fields 변경 로그에서 매핑됨
dxpRule event.idm.read_only_udm.security_result.detection_fields 변경 로그에서 매핑됨
modifiedFilePath event.idm.read_only_udm.principal.process.file.full_path 변경 로그에서 매핑됨
ipArtifact.version event.idm.read_only_udm.security_result.rule_version 변경 로그에서 매핑됨
ipArtifact.ipAddress event.idm.read_only_udm.principal.ip 변경 로그에서 매핑됨
ipArtifact.ipAddress event.idm.read_only_udm.principal.asset.ip 변경 로그에서 매핑됨
process.parentPid event.idm.read_only_udm.principal.process.parent_pid 변경 로그에서 매핑됨
dxpRuleType event.idm.read_only_udm.security_result.rule_type 변경 로그에서 매핑됨
summary.applicationName event.idm.read_only_udm.principal.application 변경 로그에서 매핑됨
process.pid event.idm.read_only_udm.principal.process.pid 변경 로그에서 매핑됨
reason.exitCode event.idm.read_only_udm.security_result.action_details 변경 로그에서 매핑됨
reason.cause event.idm.read_only_udm.security_result.summary 변경 로그에서 매핑됨
dnsArtifact_uri event.idm.read_only_udm.network.dns.questions 변경 로그에서 매핑됨
uid event.idm.read_only_udm.target.user.userid 변경 로그에서 매핑됨
tty event.idm.read_only_udm.additional.fields 변경 로그에서 매핑됨
sshd event.idm.read_only_udm.additional.fields 변경 로그에서 매핑됨
phost event.idm.read_only_udm.principal.hostname 변경 로그에서 매핑됨
user_displayname event.idm.read_only_udm.principal.user.user_display_name 변경 로그에서 매핑됨
msg event.idm.read_only_udm.security_result.summary 변경 로그에서 매핑됨
timestamp event.idm.read_only_udm.metadata.event_timestamp 변경 로그에서 매핑됨
user event.idm.read_only_udm.principal.user.userid 변경 로그에서 매핑됨

변경 로그

이 파서의 변경 로그 보기

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.