<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=939333007162424&amp;ev=PageView&amp;noscript=1">

어떻게 글로벌  IT 대란이 발생할 수 있었을까?

Global IT chaos

 

1. 어떻게 이렇게 큰 장애가 발생할 수 있었을까?


2024년 7월 19일, 글로벌 EDR 제품의 업데이트가 전 세계적으로 IT 대란을 초래했습니다. 이번 업데이트로 인해 850만대 이상의 Windows 10 시스템이 블루스크린(BSOD : Blue Screen Of Death)을 겪으며 작동 불능 상태에 빠진 것으로 확인됩니다. 

이번 장애는 글로벌 EDR 제품의 구성요소인 에이전트의 커널 드라이버가 오류를 일으켜 시스템이 BSOD를 일으키고, 윈도우즈가 리부팅되면서 다시 BSOD를 일으키는 무한 리부팅 상황이 벌어지면서 에이전트를 다운그레이드 하거나 수정 버전으로 업그레이드 하는 등의 조치가 불가능한 상황으로 파악되고 있습니다.

EDR (Endpoint Detection and Response) 제품은 단말에서 일어나는 모든 이벤트를 모니터링하기 위해 커널 드라이버가 필요합니다. 커널 드라이버를 이용하면 악성행위를 탐지하는데 필요한 가시성을 확보할 수 있고 악성 행위에도 보다 강력하게 대응할 수 있지만, 커널 드라이버에서 오류가 발생할 경우 BSOD로 이어지기 때문에 그만큼 위험성도 크다고 볼 수 있습니다.

많은 사람들이 어떻게 이런 대규모의 장애가 발생할 수 있었는지 궁금해 합니다.
이런 대규모 장애가 발생한 원인으로 여러 가지 문제가 언급되고 있지만, 다음 두 가지 문제가 가장 중요한 원인이라고 추정해 볼 수 있습니다. 

1. 업데이트가 잦은 진단 로직이 커널 드라이버에 위치하여 동작
2. 진단 로직 업데이트 시 단계적 확산을 거치지 않고 일괄 배포를 진행


이 두 가지 측면에서 Genian EDR은 분명한 차이가 있습니다.

 

 

2. Genian EDR이 안전한 이유


1) 에이전트의 구조적인 차이

해당 EDR 제품의 악성 행위 진단 기능(Behavioral Detection)은 커널 레벨에서 동작하는 것으로 추정됩니다. 악성 행위 진단 로직은 성격상 업데이트가 자주 이루어지고 이 과정에서 오류가 발생할 위험이 높습니다. 커널 드라이버에서 진단을 수행하면 성능적, 기능적으로 이점이 있지만 오류가 발생하면 BSOD로 이어지기 때문에 장애가 발생했을 때의 위험도 또한 그만큼 높습니다.

Genian EDR은 커널 드라이버를 통해 시스템을 감시하고 필요한 정보를 수집하되, 이 정보를 분석하여 악성 행위를 찾아내는 기능은 ‘어플리케이션 레벨에서 수행’ 되도록 구현되었습니다. 커널 드라이버가 자주 변경되지 않기 때문에 BSOD의 위험성이 낮은 아키텍처라고 할 수 있습니다. 이런 구조에서는 악성 행위 분석 과정에서 오류가 발생하더라도 에이전트 프로세스만 종료될 뿐 시스템의 BSOD가 발생하지는 않습니다.

2) 단계적 확산 적용을 통한 검증

악성 행위 진단 로직은 안티바이러스의 패턴 업데이트와 같은 긴급성으로 인해 단계적 확산 없이 일괄 업데이트를 진행하는 경우가 있습니다. 이번에도 단계적으로 확산이 적용되었다면 이렇게 큰 규모의 장애로 이어지지는 않았을 거라고 전문가들은 지적합니다.

Genian EDR은 ‘Genians 중앙 업데이트 서버 - 고객사별 EDR 서버 - EDR 에이전트’ 로 이루어진 3 Tier 구조로 각 고객사별로 EDR 서버가 구축되기 때문에 고객사 특성에 따라 기능을 선별적 적용할 수 있고 제품 업데이트도 고객이 통제할 수 있는 구조입니다. 따라서, Genian EDR은 업데이트 적용 과정에서도 일부 고객사에 먼저 적용한 후 나머지 고객사에 단계적으로 확산 적용하며, 제품이 업그레이드되는 경우 일부 단말에 시범 적용하여 소프트웨어 간의 충돌 등을 검증한 후 전사 배포를 진행합니다. Genian EDR은 어떠한 경우에도 전체 고객사의 전체 단말에 한꺼번에 기능 업데이트를 진행하지 않습니다.

3) 다양한 안전장치

Genian EDR 에이전트에는 아래와 같은 다양한 오류 회피 기술이 적용되어 있습니다.

  1. 에이전트 문제로 시스템이 비정상종료(BSOD)를 반복하는 경우 에이전트 동작을 긴급 정지시킬 수 있는 "무한 리부팅 방지 기능" 
  2. 에이전트가 시작 직후 크래시를 반복하는 경우 일정시간 동작 중지되거나 이전 버전으로 자동 롤백
  3. 데드락(Dead Lock)으로 추정되는 상황을 스스로 탐지하여 에이전트를 자동 재시작
  4. 타 프로세스와의 충돌방지를 위한 프로세스/파일 동시 점유 회피 기능

이러한 다양한 회피 기술을 통해 다양한 사용자 PC 에서 안정적으로 동작하고 있습니다.

4) 내부 품질 관리 프로세스 및 자동화된 QA 시스템

이번 사태의 원인을 분석한 전문가들이 공통적으로 지적하는 또 다른 원인은 "QA 프로세스의 부재"입니다. 악성행위에 대응하는 보안 소프트웨어의 성격 상, 모든 오류를 수동 테스트로 걸러내는 것은 거의 불가능합니다. Genian EDR은 새로운 버전이 배포되기 전 개발자의 수동 테스트 외에 자동화된 QA 시스템을 통해 기본적이고 치명적인 오류를 사전에 탐지할 수 있습니다.

또한, Genian EDR 제품의 기능 수정 사항은 내부적으로 BETA / RC / RELEASE 등 3단계 버전으로 관리되어, 수정된 기능이 고객에게 적용되기까지 2개월 내외의 내부 검증 및 테스트 기간을 거치고 있습니다.

 

 

3. 결론

Genian EDR은 시스템의 안정성을 최우선으로 설계되었으며, 운영 과정에서도 안전성을 최우선으로 서비스되고 있습니다.

  • BSOD의 위험성을 최소화하는 에이전트 설계
  • 변경 사항의 단계적 적용을 통한 검증
  • 에이전트 자체적으로 다양한 안전장치 지원
  • 자동화된 QA 시스템 및 품질 관리 프로세스