GN⁺: CrowdStrike의 CSAgent.sys 충돌 원인 초기 세부 사항
(twitter.com/patrickwardle)Hacker News 의견
-
첫 번째 의견
- BSOD 문제는 잘못된 이진 데이터와 잘못 작성된 파서의 조합 때문임
- 지난 10년간의 경험에 따르면, 대부분의 CVE, 충돌, 버그, 느려짐 문제는 이진 데이터를 기계가 읽을 수 있는 데이터 구조로 역직렬화하는 과정에서 발생함
- 이는 압축 알고리즘, 폰트 아웃라인 리더, 이미지/비디오/오디오 파서, 비디오 게임 데이터 파서, XML/HTML 파서, OpenSSL의 인증서/서명/키 파서 등 다양한 분야에 해당됨
- CrowdStrike의 EDR 프로그램의 콘텐츠 파서도 예외가 아님
-
두 번째 의견
- 루트킷 기반의 엔드포인트 감시 소프트웨어 대신 오픈 소스 솔루션이 더 윤리적일 수 있음
- 오픈 소스 도구는 투명하게 작동하며 백도어나 심각한 버그가 없음을 보장할 수 있음
- 공개적으로 감사받을 수 있으며, 보안 팀이 악성코드 서명을 공급하는 비즈니스 모델로 운영될 수 있음
-
세 번째 의견
- Microsoft가 CrowdStrike의 중단 사태에 대한 책임이 있음
- Microsoft는 워크스테이션 컴퓨팅 공간에서 사실상 독점적 위치를 차지하고 있으며, 제품의 보안/신뢰성/기능을 보장할 의무가 있음
- 경쟁이 없기 때문에 Windows의 혁신이 지연되고 있음
- 예를 들어, CrowdStrike는 MacOS와 Linux에서는 사용자 공간에서 실행되지만, Windows에서는 그렇지 않음
- 애플리케이션 샌드박싱 혁신이 필요함
- Microsoft는 세계 컴퓨팅 인프라의 열쇠를 쥐고 있으며, 거의 감시받지 않음
- Windows의 수익 비중이 감소했지만, 중요한 인프라를 운영하는 제품이므로 더 많은 책임이 필요함
- 정부는 데스크탑 워크스페이스 시장에서 경쟁을 촉진하거나 Microsoft의 Windows 제품을 규제해야 함
-
네 번째 의견
- 왜 영향 범위가 그렇게 컸는지 이해할 수 없음
- 중요한 서비스는 자동 모니터링과 롤백 기능을 갖춘 느린 배포가 일반적임
- 베타 단계에서 고객 트래픽 없이 배포하고, 문제가 없으면 점진적으로 확대하는 방식이 일반적임
- 이러한 방식이 문제를 즉시 중지시킬 수 있었을 것임
-
다섯 번째 의견
- CrowdStrike를 사용하지 않지만, CS 드라이버가 먼저 설치되고 제거할 수 없도록 설계된 것 같음
- 드라이버가 서명되지 않은 데이터 파일을 로드하고, 사용자가 임의로 삭제할 수 있음
- 악의적인 사용자가 악성 데이터 파일을 작성하여 드라이버를 오작동하게 할 수 있음
- 커널 권한을 얻을 수 있는 위험이 있음
-
여섯 번째 의견
- 테스트 배포에서 문제를 발견하지 못한 이유가 궁금함
- 배포 전에 테스트를 하지 않았다는 것이 믿기 어려움
- 모든 회사는 배포 전에 테스트 환경을 갖춰야 함
- 개발 중에 실패하거나 문제를 일으키는 패키지를 설치하는 것은 일반적이지만, 이를 직접 프로덕션 환경에 배포하는 것은 좋지 않음
-
일곱 번째 의견
- CrowdStrike 고객이 업데이트에 대해 의견을 제시할 수 있는지 궁금함
- 모든 고객이 CrowdStrike에 완전한 원격 코드 실행 권한을 부여하는지 의문임
- 인증 기관과 암호화 전문가들이 이러한 업데이트를 시스템에서 차단할 수 있기를 바람
-
여덟 번째 의견
- "채널 파일"이 CS 드라이버에 의해 서명되고 검증되는지 궁금함
- 그렇지 않다면, 이는 루트킷의 큰 취약점이 될 수 있음
- 높은 권한으로 실행되는 입력은 최소한 무결성 검사를 받아야 함
- 채널 파일을 단순히 삭제할 수 있다는 것은 반탐지 메커니즘이 없음을 시사함