본 문서는 하기 영문본의 번역본입니다. https://www.crowdstrike.com/falcon-content-update-remediation-and-guidance-hub/ 이 번역본은 참고 및 편의를 위해 제공되며, 영문본과 상충하거나 모호한 부분이 있는 경우 영문본이 항상 우선적으로 적용됩니다.

장애 원인분석 및 대책 중간 보고서 (Preliminary Post Incident Review: PIR): Falcon 센서 및 Windows 운영 체제에 영향을 미치는 콘텐츠 구성 업데이트(BSOD)

이 문서는 CrowdStrike의 장애 원인분석 및 대책 중간 보고서(PIR)입니다. 전체 조사 결과는 추후 공개될 근본 원인 분석 보고서(Root Cause Analysis)에서 자세히 설명될 예정입니다. 본 보고서 (PIR)에서는 Falcon 플랫폼을 설명함에 있어 가독성을 높이기 위해 보편적인 용어를 사용했습니다. 다른 문서에서는 더 구체적이고 기술적인 용어가 사용될 수 있습니다.

발생 배경

2024년 7월 19일 금요일 04:09 UTC(한국 시간 13:09)에 CrowdStrike는 정규 운영의 일환으로 잠재적인 신규 위협 기술에 대한 원격 측정(telemetry) 데이터를 수집하기 위해 Windows 센서용 콘텐츠 구성 업데이트를 제공했습니다.

이 업데이트는 Falcon 플랫폼의 동적 보호 메커니즘(dynamic protection mechanism)의 정기적인 일환입니다. Rapid Response Content Configuration 업데이트의 문제로 인해 Windows 시스템이 충돌했습니다.

2024년 7월 19일 금요일 04:09 UTC (한국시간 13:09)부터 2024년 7월 19일 금요일 05:27 UTC(한국시간 14:27) 사이에 온라인 상태로 업데이트를 받은 센서 버전 7.11 이상을 실행하는 Windows 호스트가 영향을 받았으며, Mac과 Linux 호스트는 영향을 받지 않았습니다.

콘텐츠 업데이트의 결함은 2024년 7월 19일 금요일 05:27 UTC(한국 시간 14:27)에 복구되었습니다. 이 시간 이후에 온라인 상태가 되었거나 해당 기간 동안 연결되지 않은 시스템은 영향을 받지 않았습니다.

장애 발생 원인

CrowdStrike은 보안 콘텐츠 구성 업데이트를 아래 두 가지 방법으로 센서에 제공합니다.

1) 센서와 함께 직접 제공되는 Sensor Content
2) 운영 속도로 변화하는 위협 환경에 대응하도록 설계된 Rapid Response Content

금요일에 발생한 문제는 감지되지 않은 오류가 있는 Rapid Response Content 업데이트와 관련이 있었습니다.

Sensor Content

Sensor Content는 악의적인 공격에 대응할 수 있는 다양한 기능을 제공하며, 항상 센서 릴리즈에 포함되어 있고 클라우드에서 동적으로 업데이트되지 않습니다. Sensor Content는 CrowdStrike의 위협 탐지 엔지니어들이 장기적으로 재사용할 수 있도록 특별히 설계된 코드로 작성되어 있으며 온센서 AI와 머신 러닝 모델이 포함되어 있습니다.

이러한 기능에는 위협 탐지 엔지니어가 Rapid Response Content에서 활용할 수 있는 사전 정의된 필드가 있는 Template Type이 포함되며, 이 Template Type은 코드로 표현됩니다. Template Type을 포함한 모든 Sensor Content는 자동화된 테스트, 수동 테스트, 검증 및 롤아웃 과정을 포함하는 광범위한 QA 프로세스를 거칩니다.

센서 릴리즈 프로세스는 코드 베이스에 병합되기 전후로 자동화된 테스트를 통해 시작됩니다. 이에는 장치 테스트, 통합 테스트, 성능 테스트 및 스트레스 테스트가 포함됩니다. 이 과정은 CrowdStrike의 내부 사용자 테스트(Dogfooding)로 시작하여 얼리 어답터들을 거쳐 단계적인 센서 롤아웃 프로세스로 진행됩니다. 그 후 일반 고객에게 제공됩니다. 고객은 센서 업데이트 정책을 통해 설치가 필요한 장비에 최신 센서 릴리스(‘N’), 이전 버전(‘N-1’), 혹은 그 이전 버전(‘N-2’)을 선택해 설치할 수 있습니다.

2024년 7월 19일 금요일에 발생한 장애는 Sensor Content로 인한 것이 아닙니다. Sensor Content는 업데이트된 Falcon 센서 릴리스에만 제공되었습니다. 고객은 Sensor Content 및 Template Type을 비롯한 센서 설치를 전적으로 제어할 수 있습니다.

Rapid Response Content

Rapid Response Content는 고도로 최적화된 엔진을 사용하여 센서에서 다양한 행위패턴 매칭 작업을 수행하는데 사용됩니다. Rapid Response Content는 관련 필터링과 함께 필드와 값을 나타냅니다. 이 Rapid Response Content는 구성(Configuration) 데이터가 포함된 CrowdStrike 고유의 바이너리 파일에 저장됩니다. 이 파일은 코드나 커널 드라이버가 아닙니다.

Rapid Response Content는 특정 Template Type의 인스턴스인 “Template Instance”로 제공됩니다.각 Template Instance는 센서가 관찰, 감지, 예방해야 하는 특정 동작에 매핑됩니다. Template Instance에는 원하는 동작에 맞게 구성할 수 있는 필드 세트가 포함 되어있습니다.

즉, Template Type은 새로운 원격 측정(Telemetry) 및 탐지를 가능하게 하는 센서 기능을 나타내며, 런타임 동작은 Template Instance(Rapid Response Content)에 의해 동적으로 구성됩니다.

Rapid Response Content는 센서 코드를 변경할 필요 없이 센서에 대한 가시성과 탐지 기능을 제공합니다. 이 기능은 위협 탐지 엔지니어가 원격 측정(Telemetry) 데이터를 수집하고, 공격적 행동 지표를 식별하며, 탐지 및 예방작업을 수행하는 데 사용됩니다. Rapid Response Content는 행동 휴리스틱 기반의 기능으로 CrowdStrike의 온센서 AI 예방 및 탐지 기능과는 별개이자 독립적인 기능입니다.

Rapid Response Content 테스트 및 배포

Rapid Response Content는 콘텐츠 구성 업데이트 형태로 Falcon 센서에 제공됩니다. 이는 Content Configuration System, Content Interpreter, Sensor Detection Engine 세 가지 주요 시스템으로 구성됩니다.

Content Configuration System은 클라우드에 있는 Falcon 플랫폼의 일부이며, Content Interpreter와 Sensor Detection Engine은 Falcon 센서의 구성 요소입니다. Content Configuration System은 Template Instance를 만드는 데 사용되며 이를 검증한 후, 채널 파일이라는 메커니즘을 통해 센서에 배포됩니다. 센서는 호스트의 디스크에 기록되는 채널 파일을 통해 콘텐츠 구성 데이터를 저장하고 업데이트합니다.

센서의 Content Interpreter는 채널 파일을 읽고, Rapid Response Content를 해석하여, 고객의 정책 구성에 따라 Sensor Detection Engine이 악성 활동을 관찰, 탐지, 예방할 수 있도록 합니다. Content Interpreter는 잠재적으로 문제를 일으킬 수 있는 콘텐츠로부터 예외 요소가 있을 시, 이를 원활하게 처리하도록 설계되었습니다.

새로 릴리즈된 Template Type은 리소스 사용률, 시스템 성능 영향 및 이벤트 볼륨과 같은 여러 측면을 고려한 스트레스 테스트를 거칩니다. 각 Template Type 마다 특정 Template Instance를 사용하여 관련데이터 필드의 가능한 모든 값을 매칭해 스트레스 테스트를 수행함으로써 시스템 상호 작용에 문제를 발생할 수 있는 요소를 식별합니다.

Template Instance는 Content Configuration System을 통해 생성 및 구성됩니다. Content Configuration System에는 Content Validator가 포함되어 있어, 콘텐츠가 배포되기 전에 검증 작업을 수행합니다.

이벤트 발생 순서: 프로세스 간 통신(InterProcessCommunication: IPC) Template Type 테스트 및 롤아웃
Sensor Content 릴리즈: 2024년 2월 28일, 센서 7.11이 고객들에게 정식으로 릴리즈되었습니다. 여기에는 명명된 파이프(named pipe)를 악용하는 새로운 공격 기법을 탐지하는 신규 IPC Template Type이 포함되어 있었습니다. 이 릴리즈는 위의 Sensor Content 섹션에 명시된 모든 Sensor Content 테스트 절차를 준수하여 진행되었습니다.

Template Type 스트레스 테스트: 2024년 3월 5일, 다양한 운영 체제 및 워크로드로 구성된 준비 환경에서 IPC Template Type 스트레스 테스트를 통과하여 사용 적합성을 검증 받았습니다.

채널 파일 291을 통한 Template Instance 릴리즈: 2024년 3월 5일, 스트레스 테스트 통과 후 콘텐츠 구성 업데이트의 일환으로 IPC Template Instance를 프로덕션에 릴리즈했습니다. 그 후 2024년 4월 8일부터 2024년 4월 24일까지 세 개의 IPC Template Instance가 추가로 배포되었습니다. 이 Template Instance들은 프로덕션 환경에서 예상대로 작동했습니다.

2024년 7월 19일 장애 발생 경위

2024년 7월 19일, 두 개의 추가 IPC Template Instance가 배포되었습니다. Content Validator의 버그로 인해 두 개의 Template Instance중 하나가 문제 있는 Content 데이터를 포함하고 있음에도 불구하고 유효성 검증을 통과했습니다.

Template Type을 처음 배포(2024년 3월 5일)하기 전 실시한 테스트, Content Validator에서 수행된 검사에 대한 신뢰 및 이전의 성공적인 IPC Template Instance 배포 사례를 기반으로 하여 이 인스턴스를 프로덕션에 배포했습니다.

이를 센서에서 수신하여 Content Interpreter에 로드했을 때, 채널 파일 291의 문제 있는 콘텐츠로 인해 Out-of-Bound 메모리 읽기로 인한 예외가 발생했습니다. 이 예상치 못한 예외를 정상적으로 처리할 수 없어 Windows 운영 체제 충돌(BSOD)이 발생했습니다.

재발 방지 방안

소프트웨어 복원력 및 테스트

•   다음과 같은 테스트 유형을 사용하여 Rapid Response Content 테스트 개선:

   로컬 개발자 테스트
   콘텐츠 업데이트 및 롤백 테스트
   스트레스 테스트, fuzzing, fault injection
  안정성 테스트
   콘텐츠 인터페이스 테스트

•   Rapid Response Content에 대한 추가 검증 도입을 통한 Content Validator 검사. 향후 이러한 유형의 문제 있는 콘텐츠가 배포되지 않도록 새로운 점검을 현재 진행 중

•   Content Interpreter의 오류 처리(error handling) 기능 강화

Rapid Response Content 배포

•   Rapid Response Content에 대한 단계적 배포 전략 구현

•   카나리아 배포 방식으로 센서 기반의 더 많은 부분에 있어 점진적인 업데이트 실시

•   Rapid Response Content 배포 중 피드백을 수집하여 단계적 롤아웃에 반영함으로써 센서 및 시스템 성능 모니터링 방식 개선

•   업데이트 배포 시기와 위치를 세부적으로 선택할 수 있도록 하여, Rapid Response Content 업데이트 제공에 대한 고객의 통제력 강화

•   고객이 구독할 수 있는 릴리즈 노트를 통해 콘텐츠 업데이트 세부 정보 제공

CrowdStrike는 본 장애 원인분석 및 대책 중간 보고서와 더불어, 모든 조사가 완료되면 근본 원인 분석 보고서 전문을 공개할 예정입니다.