Crowdstrike IOC 로그 수집

다음에서 지원:

이 문서에서는 CrowdStrike Falcon Intelligence의 위협 인텔리전스 지표를 Google Security Operations로 전달하는 Docker 컨테이너인 CrowdStrike Chronicle Intel Bridge를 사용하여 CrowdStrike IOC 로그를 수집하는 방법을 설명합니다.

CrowdStrike Falcon Intelligence는 도메인, IP 주소, 파일 해시, URL, 이메일 주소, 파일 경로, 파일 이름, 뮤텍스 이름을 비롯한 위협 인텔리전스 지표를 제공합니다. Chronicle Intel Bridge는 CrowdStrike Intel API를 폴링하고 이러한 지표를 Google Security Operations에 전달하여 위협을 감지하고 분석합니다.

시작하기 전에

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

  • Google SecOps 인스턴스
  • API 클라이언트를 만들 수 있는 권한이 있는 CrowdStrike Falcon 콘솔에 대한 권한 있는 액세스
  • CrowdStrike Falcon Intelligence 구독
  • CrowdStrike를 폴링하고 표시기를 전달하기 위해 지속적으로 실행할 수 있는 시스템에 설치된 Docker
  • 배포 아키텍처의 모든 시스템이 UTC 시간대로 구성됩니다.

Google SecOps 사용자 인증 정보 가져오기

Google SecOps 고객 ID 가져오기

  1. Google SecOps 콘솔에 로그인합니다.
  2. SIEM 설정 > 프로필로 이동합니다.
  3. 조직 세부정보 섹션에서 고객 ID를 복사하여 저장합니다.

Google SecOps 서비스 계정 파일 다운로드

  1. Google SecOps 콘솔에 로그인합니다.
  2. SIEM 설정 > 수집 에이전트로 이동합니다.
  3. 수집 인증 파일 다운로드를 클릭합니다.
  4. Docker 컨테이너를 실행할 시스템의 안전한 위치 (예: /path/to/service-account.json)에 JSON 파일을 저장합니다.

CrowdStrike Falcon API 액세스 구성

Chronicle Intel Bridge가 표시기를 가져오도록 하려면 Falcon Intelligence Indicators에 대한 읽기 권한이 있는 API 클라이언트를 만들어야 합니다.

API 클라이언트 만들기

  1. CrowdStrike Falcon Console에 로그인합니다.
  2. 지원 및 리소스 > 리소스 및 도구 > API 클라이언트 및 키로 이동합니다.
  3. 새 API 클라이언트 추가를 클릭합니다.
  4. 다음 구성 세부정보를 제공합니다.
    • 클라이언트 이름: 설명이 포함된 이름 (예: Chronicle Intel Bridge)을 입력합니다.
    • 설명: 선택사항: Integration with Google Chronicle for threat intelligence indicators을 입력합니다.
  5. API 범위 섹션에서 지표 (Falcon Intelligence) 옆에 있는 읽기 체크박스를 선택합니다.
  6. 만들기를 클릭합니다.

API 사용자 인증 정보 기록

  • API 클라이언트를 만든 후 대화상자에 사용자 인증 정보가 표시됩니다.

    • 클라이언트 ID: 고유한 클라이언트 식별자입니다 (예: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6).
    • 클라이언트 보안 비밀번호: API 보안 비밀 키
    • 기준 URL: 리전의 정규화된 도메인 이름 (예: api.us-2.crowdstrike.com)

리전 엔드포인트

CrowdStrike Falcon은 클라우드 리전에 따라 다른 API 엔드포인트를 사용합니다.

리전 기본 URL 콘솔 URL
US-1 api.crowdstrike.com https://falcon.crowdstrike.com
US-2 api.us-2.crowdstrike.com https://falcon.us-2.crowdstrike.com
EU-1 api.eu-1.crowdstrike.com https://falcon.eu-1.crowdstrike.com
US-GOV-1 api.laggar.gcw.crowdstrike.com https://falcon.laggar.gcw.crowdstrike.com
US-GOV-2 api.us-gov-2.crowdstrike.com https://falcon.us-gov-2.crowdstrike.com

CrowdStrike Falcon 인스턴스 리전에 해당하는 기본 URL을 사용합니다. Docker 구성에 지역 코드 (예: us-1, us-2, eu-1)가 사용됩니다.

CrowdStrike Chronicle Intel Bridge 배포

Chronicle Intel Bridge는 CrowdStrike Falcon Intelligence를 폴링하여 표시기를 가져오고 이를 Google Security Operations로 전달하기 위해 지속적으로 실행되는 Docker 컨테이너입니다.

환경 변수 설정하기

  1. Docker 컨테이너를 실행하기 전에 수집한 사용자 인증 정보로 다음 환경 변수를 설정합니다.

    export FALCON_CLIENT_ID="your-client-id"
    export FALCON_CLIENT_SECRET="your-client-secret"
    export FALCON_CLOUD_REGION="your-cloud-region"
    export CHRONICLE_CUSTOMER_ID="your-customer-id"
    export CHRONICLE_REGION="your-chronicle-region"
    
  2. 자리표시자 값을 바꿉니다.

    • your-client-id: CrowdStrike API 클라이언트의 클라이언트 ID
    • your-client-secret: CrowdStrike API 클라이언트의 클라이언트 보안 비밀번호
    • your-cloud-region: CrowdStrike 클라우드 리전 (예: us-1, us-2, eu-1, us-gov-1, us-gov-2)
    • your-customer-id: Google SecOps 고객 ID
    • your-chronicle-region: Google SecOps 리전 (아래의 Chronicle 리전 구성 참고)

Chronicle 리전 구성

CHRONICLE_REGION 환경 변수는 사용할 Google SecOps 리전 엔드포인트를 지정합니다. 다음과 같은 값이 지원됩니다.

  • 기존 지역 코드:

    • US (지정되지 않은 경우 기본값)
    • EU
    • UK
    • IL
    • AU
    • SG
  • Google Cloud 리전 코드:

    • EUROPE
    • EUROPE-WEST2
    • EUROPE-WEST3
    • EUROPE-WEST6
    • EUROPE-WEST9
    • EUROPE-WEST12
    • ME-WEST1
    • ME-CENTRAL1
    • ME-CENTRAL2
    • ASIA-SOUTH1
    • ASIA-SOUTHEAST1
    • ASIA-NORTHEAST1
    • AUSTRALIA-SOUTHEAST1
    • SOUTHAMERICA-EAST1
    • NORTHAMERICA-NORTHEAST2

Docker 컨테이너 실행

다음 배포 방법 중 하나를 선택합니다.

  • 대화형 모드 (포그라운드):

    테스트 및 문제 해결에는 다음 모드를 사용하세요.

    docker run -it --rm \
      --name chronicle-intel-bridge \
      -e FALCON_CLIENT_ID="$FALCON_CLIENT_ID" \
      -e FALCON_CLIENT_SECRET="$FALCON_CLIENT_SECRET" \
      -e FALCON_CLOUD_REGION="$FALCON_CLOUD_REGION" \
      -e CHRONICLE_CUSTOMER_ID="$CHRONICLE_CUSTOMER_ID" \
      -e CHRONICLE_REGION="$CHRONICLE_REGION" \
      -e GOOGLE_SERVICE_ACCOUNT_FILE=/gcloud/sa.json \
      -v /path/to/your/service-account.json:/gcloud/sa.json:ro \
      quay.io/crowdstrike/chronicle-intel-bridge:latest
    
  • 분리 모드 (다시 시작 정책이 적용된 백그라운드):

    프로덕션 배포에는 다음 모드를 사용하세요.

    docker run -d --restart unless-stopped \
      --name chronicle-intel-bridge \
      -e FALCON_CLIENT_ID="$FALCON_CLIENT_ID" \
      -e FALCON_CLIENT_SECRET="$FALCON_CLIENT_SECRET" \
      -e FALCON_CLOUD_REGION="$FALCON_CLOUD_REGION" \
      -e CHRONICLE_CUSTOMER_ID="$CHRONICLE_CUSTOMER_ID" \
      -e CHRONICLE_REGION="$CHRONICLE_REGION" \
      -e GOOGLE_SERVICE_ACCOUNT_FILE=/gcloud/sa.json \
      -v /path/to/your/service-account.json:/gcloud/sa.json:ro \
      quay.io/crowdstrike/chronicle-intel-bridge:latest
    

    /path/to/your/service-account.json을 이전에 다운로드한 Google SecOps 서비스 계정 JSON 파일의 실제 경로로 바꿉니다.

배포를 확인합니다.

컨테이너를 시작한 후 표시기가 Google Security Operations로 전달되는지 확인합니다.

  1. 컨테이너 로그를 확인합니다.

    docker logs chronicle-intel-bridge
    
  2. Google SecOps 콘솔에서 로그 유형이 CROWDSTRIKE_IOC인 이벤트를 검색합니다.

  3. 표시기가 Google SecOps 인스턴스에 표시되는지 확인합니다.

고급 구성

고급 구성 옵션의 경우 구성 파일을 사용하여 Intel Bridge 동작을 맞춤설정할 수 있습니다.

  1. CrowdStrike Chronicle Intel Bridge 저장소에서 config.ini 파일을 다운로드합니다.
  2. 요구사항에 따라 구성 파일을 수정합니다.
  3. 볼륨 플래그를 사용하여 구성 파일을 컨테이너에 마운트합니다.

    docker run -d --restart unless-stopped \
      --name chronicle-intel-bridge \
      -e FALCON_CLIENT_ID="$FALCON_CLIENT_ID" \
      -e FALCON_CLIENT_SECRET="$FALCON_CLIENT_SECRET" \
      -e FALCON_CLOUD_REGION="$FALCON_CLOUD_REGION" \
      -e CHRONICLE_CUSTOMER_ID="$CHRONICLE_CUSTOMER_ID" \
      -e CHRONICLE_REGION="$CHRONICLE_REGION" \
      -e GOOGLE_SERVICE_ACCOUNT_FILE=/gcloud/sa.json \
      -v /path/to/your/service-account.json:/gcloud/sa.json:ro \
      -v /path/to/your/config.ini:/ccib/config.ini:ro \
      quay.io/crowdstrike/chronicle-intel-bridge:latest
    

지원되는 지표 유형

CrowdStrike 침해 지표 (IoC) 파서는 다음 지표 유형을 지원합니다.

지표 유형 설명
domain 악성 활동과 관련된 도메인 이름
email_address 공격에 사용된 이메일 주소
file_name 악성 파일 이름
file_path 위협과 관련된 파일 시스템 경로
hash_md5 MD5 파일 해시
hash_sha1 SHA-1 파일 해시
hash_sha256 SHA-256 파일 해시
ip_address 악의적인 활동과 관련된 IP 주소
mutex_name 악성코드에서 사용하는 뮤텍스 이름
url 위협과 연결된 URL

Docker 컨테이너 관리

다음 Docker 명령어를 사용하여 Chronicle Intel Bridge를 관리합니다.

  • 컨테이너 상태 보기:

    docker ps -a | grep chronicle-intel-bridge
    
  • 컨테이너 로그 보기:

    docker logs chronicle-intel-bridge
    
  • 컨테이너 로그를 실시간으로 팔로우합니다.

    docker logs -f chronicle-intel-bridge
    
  • 컨테이너 중지:

    docker stop chronicle-intel-bridge
    
  • 컨테이너를 시작합니다.

    docker start chronicle-intel-bridge
    
  • 컨테이너 다시 시작:

    docker restart chronicle-intel-bridge
    
  • 컨테이너 삭제:

    docker stop chronicle-intel-bridge
    docker rm chronicle-intel-bridge
    

문제 해결

Chronicle Intel Bridge에 문제가 있는 경우 다음 단계를 따르세요.

  1. CrowdStrike API 사용자 인증 정보가 올바르고 Indicators (Falcon Intelligence): READ 범위가 있는지 확인합니다.
  2. Google SecOps 고객 ID가 올바른지 확인합니다.
  3. Google SecOps 서비스 계정 JSON 파일이 유효하고 Docker 컨테이너에서 액세스할 수 있는지 확인합니다.
  4. CrowdStrike 클라우드 리전이 올바른지 확인합니다 (예: us-1, us-2, eu-1).
  5. Google SecOps 리전이 올바른지 확인합니다.
  6. 컨테이너 로그에서 오류 메시지를 확인합니다.

    docker logs chronicle-intel-bridge
    
  7. Docker 호스트에서 CrowdStrike API 엔드포인트와 Google SecOps 수집 엔드포인트 모두로의 네트워크 연결을 확인합니다.

UDM 매핑 테이블

로그 필드 UDM 매핑 논리
when metadata.event_timestamp 값이 직접 복사됨
messageid metadata.id 값이 직접 복사됨
프로토콜 network.ip_protocol 값이 직접 복사됨
deviceName principal.hostname 값이 직접 복사됨
srcAddr principal.ip 값이 직접 복사됨
srcPort principal.port 값이 직접 복사됨
action security_result.action 값이 직접 복사됨
dstAddr target.ip 값이 직접 복사됨
dstPort target.port 값이 직접 복사됨

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