8 October 2024
안녕하세요 인텔렉추얼데이터입니다.
2023년 12월부터 각종 인터넷 개인 방송 플랫폼을 중심으로 한 DDoS 공격(분산 서비스 거부 공격, Distributed Denial Of Service) 사례가 지속적으로 발생하더니 기어코 지난 2월 25일, 2024 리그 오브 레전드 챔피언스 코리아 스프링(이하 LCK 2024 스프링) 49경기, 52경기가 격심한 DDoS 공격에 의해 중단, 녹화방송으로 전환되는 초유의 사건이 발생했습니다. 약 20여년간 진행된 대한민국, 아니 세계 전체의 E-스포츠 역사에서도 처음 있는 일인데요. 오늘은 이번 사태를 통해 DDoS 공격 방식의 원리와 필요한 대비책을 알아보겠습니다.
원리는 간단하지만 방어는 쉽지 않은 DDoS 공격
DDoS란 특정 서버(컴퓨터)나 네트워크 장비에 다량의 트래픽을 발생시켜 장애를 일으키는 공격을 말합니다. 대학교 수강 신청 사이트나 혹은 유명한 아이돌의 콘서트, 스포츠 예매 등에 사람이 몰리면 웹(혹은 어플리케이션) 서버가 수용할 수 있는 한계를 넘어서서 오동작이 발생하거나 서버가 장애를 일으킬 수 있는데요. 이런 가짜 데이터를 요청할 수많은 좀비 PC를 준비한 뒤 이런 사용자의 정상 행동보다 훨씬 더 많은 트래픽을 강제로 발생시키는 공격을 DDoS라 말합니다.
굉장히 간단하지만 그만큼 방어하기 힘들기도 하죠. 트래픽이 많이 발생하는 대규모 서비스의 경우엔 정상적인 사용자의 행동과 좀비 PC가 공격에 사용하는 행동을 구분하기 쉽지 않은 경우가 많기 때문입니다. 사실상 인터넷을 통해 공개적으로 도달 가능한 모든 엔드포인트는 DDoS 공격의 대상이 될 수 있다고 보아도 과언이 아닙니다.
이미 예견된 문제였던 DDoS 공격 사태
다만 이번 사건은 이미 국제 규모의 리그에서 충분한 방어 대책이나 장비, 혹은 네트워크 설계 과정에서 이런 DDoS 공격에 대한 충분한 고민이 없었다는 점에서 문제가 됩니다. 실제로 보안 전문가들은 이 사건이 어느 정도 예견된 문제라고 지적했는데요. 대회의 정보를 관리하고 공정한 지연율(Ping Time)을 조절하기 위해 위해 라이엇 게임즈는 각 선수의 PC를 라이엇 게임즈의 메인프레임에 연결하고 지연율 제어 툴(Latency Service Tool)을 거치게 합니다. 애초 지역 대회에 내부망이 사용되었다면 해커가 공격할 여지가 없었겠지만, 아래 그림처럼 공정성 등의 사유로 인해 외부와 연결되면서 공격에 노출된 것입니다.
네트워크 외부 연결 개념도
거기다 선수들의 통계와 전적을 관리하는 API에서 접속자의 IP까지 고스란히 노출하였다는 문제도 있었는데요. 이를 악용하여 공격자들이 DDoS 공격을 보다 정밀하게 수행한 것으로 보입니다. 과거 2010년 1월 23일, MBC 게임은 MSL(MBC GAME StarLeague) 경기 진행 과정에서 정전이 발생, 경기가 중단된 적이 있었는데요. 사람들은 이에 준할 정도로 큰 사건이라 평하고 있습니다.
오래된 보안 프로그램의 취약점으로 인한 문제
지난 2023년 1월 25일, 한 해커 집단이 라이엇 게임즈에서 리그 오브 레전드와 치트 방지 플랫폼의 소스 코드를 탈취한 적이 있었는데요. 많은 보안 전문가들은 이 사건 이후 바뀌지 않은 보안 프로그램인 '데마시아'라는 프로그램이 DDoS가 가능하도록 제로 데이 취약점(Zero Day Exploit, 아직 취약점이 있다는 것 자체가 알려지지 않은 취약점)이 있었다고 평가하고 있는데요.
이 '데마시아'는 2010년 개발된 'Xigncode 3'이라는 보안 프로그램을 기반으로 만들어져서 프로그램 자체가 오래된데다가 서버에서 강제 업데이트를 지시할 때 모든 클라이언트가 강제적으로 관리자 권한으로 업데이트를 실행할 수 있다는 문제가 있어 언제든 DDoS를 위한 좀비 PC로 바뀔 수 있는 문제점이 노출된 바 있었습니다.
최상위 권한을 요구하는 프로그램 사용 시 주의
물론 보안 프로그램 자체는 굉장히 중요하고 또 필요합니다. 파일이나 메모리, 혹은 패킷을 변조하여 전달하는 것으로 수많은 악의적 해킹이 가능하기 때문입니다. 공정성을 심각하게 저해할 수 있겠죠. 특히 이런 게임 해킹들은 '해킹 툴'이라는 이름으로 포장되어 사용하기 좋도록 간단하게 유포되기 때문에 더욱 문제가 됩니다.
그래서 이런 보안 프로그램들은 커널 최상단에서 모든 권한을 가지고 프로세스나 파일, 패킷을 감시하는데요. UAC(User Access Control, 사용자 계정 컨트롤)의 도입/강화 이후 이런 프로그램이 정상적으로 작동하기 위해선 관리자 권한을 반드시 부여받아야 하고, 이에 대한 반대급부로 보안 프로그램의 취약점이 노출될 경우 운영체제의 센트럴 도그마인 커널 자체가 노출되는 문제가 생기게 됩니다.
사용자들은 이런 최상위 권한을 요구하는 프로그램을 사용할 경우 주의해야 하고, 또한 이런 프로그램을 채택할 경우 꾸준한 업데이트와 함께 업데이트를 수행하는 서버의 안정성 역시 충분히 담보할 필요가 있게 됩니다. 업데이트 서버를 해킹하여 악성코드를 유포한 사례는 지난 2011년 SK 커뮤니케이션즈에서 있었던 싸이월드/네이트 해킹 사건 등 굵직한 사례가 많으니까요.
외부 공격을 효율적으로 방어하기 위한 실시간 대비 체계 필요
또한 DDoS 자체에 대한 방어 역시 필요합니다. 트래픽을 지속적으로 모니터링, 특정 빈도 이상의 공격이 발견되면 자동으로 완화(Mitigate)할 수 있도록 대비체계를 갖추고, 이런 빈도를 학습할 수 있도록 기계 학습 / 적응형 튜닝을 할 수 있도록 하는 것 역시 필요합니다.
무엇보다 IDS 등 네트워크 실시간 분석을 통해 문제를 조기에 파악할 수 있는 전문가와 더불어 24시간 대응할 수 있는 신속 대응 IT팀을 확보하는 것 역시 중요합니다. 무엇보다 필요한 범위가 아니라면 대부분의 엔드포인트에 철저한 방화벽 ACL(Access Control List, 접근 제어 목록)를 적용하여 공격 시도 자체를 조기에 차단하는 것이 가장 중요합니다.