GN⁺: 모든 것을 망가뜨린 CrowdStrike 파일, null 문자로 가득 차 있었다?
(twitter.com/jeremyphoward)Hacker News 의견
-
이 시스템이 중요한 경로에 있는 시스템이라면, C/I 파이프라인을 통과하지 않았어야 함
- 자동화된 테스트에 대해 엄격하지 않지만, 이 정도의 중요성을 가진 시스템은 매우 좋은 상태 관리가 필요함
- 모든 환경에서 통합 테스트 없이 프로덕션으로 롤아웃해서는 안 됨
- 이 회사가 지원하는 모든 타겟 이미지를 테스트하는 스테이징 또는 개발 테스트 서버가 없다는 것이 이해되지 않음
- 이 회사의 운영진이 무능하다고 생각됨
-
두 가지 큰 기술적 붕괴가 모두 "보안 소프트웨어"의 문제였음
- SolarWinds 해킹 사건과 이번 사건 모두 Austin에 기반을 둔 회사들이었음
- "해커 타입"의 사람들이 보안 소프트웨어 회사를 시작하지만, 프로세스 지향적인 문화를 구현하는 것을 싫어함
- SolarWinds는 매우 나쁜 보안 문화를 가지고 있었음
- 이번 사건의 근본 원인도 빠르고 느슨한 배포 프로세스일 가능성이 높음
-
이번 재앙의 긍정적인 측면은 커널 레벨 접근을 재고할 수 있는 가능성임
- 무작위 게임 회사가 커널 레벨 안티 치트 소프트웨어를 작성할 만큼 충분히 좋지 않음
-
이 문제는 QA 담당자가 시도할 두 번째 또는 세 번째 테스트 파일일 것 같음
- 기술적으로 유능한 회사가 무능한 회사보다 우위를 점하지 못하는 시장임
- Craig Wright 사건을 읽었는데, 그는 자신이 세계적인 전문가라고 주장한 분야에서 기본적인 기술적 능력조차 없었음
- George Kurtz는 McAfee의 CTO였을 때도 같은 문제를 일으켰음
- CrowdStrike는 3개월 전 Debian Stable에서 같은 문제를 일으켰음
- PCI 규정 준수 규정이 CrowdStrike와 안티바이러스를 오늘날의 IT 인프라의 거의 모든 측면에 주입한 것이 끔찍함
-
이 파일이 0으로 가득 찬 파일이라고 해서 출하될 때도 0으로 가득 찼다는 의미는 아님
-
이 버그는 수년 동안 커널 드라이버에 존재했으며, 잘못된 데이터로 인해 트리거되었음
- CrowdStrike의 테스트 설정은 이 구성 데이터 자체에는 괜찮았지만, 프로덕션으로 보내기 전에 잡지 못했음
- 이 문제를 방지하기 위해 무엇을 할 것인지 설명하는 포스트모템 보고서를 발표하길 바람
-
Kevin Beaumont에 따르면, 고객마다 파일이 다르다는 주장 있음
-
이 파일들이 원래의 파일 내용이 아닐 가능성 있음
- 누군가가 잘못된 파일을 올-제로 파일로 덮어쓰려고 했을 가능성 있음
- QA가 우회되었기 때문에 실제 패치 배포를 중단하려는 시도일 수 있음
-
과거에 보안 소프트웨어가 파일을 0으로 대체하여 소프트웨어 컴파일을 중단시킨 사례가 있었음
- 링커가 파일을 열 수 없었고, 오류 없이 객체 코드를 0으로 대체했음
- 디버거를 열어 큰 객체 코드 조각이 0으로 대체된 것을 보고 문제를 파악함
-
4chan의 기술 게시판에서 발견된 게시물
- CSAgent.sys는 클라운스트라이크 바이러스 정의 파일을 파싱하는 커널 드라이버임
- 클라운스트라이크는 잘못된 바이러스 정의 파일을 처리하지 못했음
- 웹서버가 잘못된 바이러스 정의 파일을 제공하기 시작함
- CSAgent.sys가 잘못된 바이러스 정의 파일을 로드하고 충돌함
- 컴퓨터가 BSOD(블루스크린)로 재부팅됨
- CSAgent.sys가 바이러스 정의 파일을 다시 로드하고 충돌함
- CDN의 버그로 인해 커널 드라이버가 문제를 일으킴
- CSAgent.sys의 크기 검사와 버퍼 크기를 증가시켜 미래의 잘못된 바이러스 정의 파일이 충돌하지 않도록 함