숨어있는 위협 - 제로데이 취약점
안녕하세요. 보안클라우드 입니다.
오늘날 디지털 시대에는 보안 위협은 끊임없이 진화하고 있습니다. 공격자들은 시스템에 침투하고 데이터를 훔치는 새로운 방법을 끊임없이 찾고 있으며, 보안 전문가들은 이러한 위협을 해결하기 위해 노력하고 있습니다. 오늘은 이러한 끊임없는 전쟁터에서 가장 위험한 취약점 중 하나인 제로데이(Zero Day) 취약점에 대해 이야기해 보겠습니다.
제로 데이 취약점이란
특정 소프트웨어의 아직까지 공표되지 않은, 혹은 공표되었지만 아직까지 패치되지 않은 보안 취약점을 이용한 공격
제로 데이(Zero Day) 공격은 가장 대처하기 어려운 사이버 위협 중 하나입니다. 설명에 앞서 제로 데이 취약점을 쉽게 비유하자면 만약 은행 금고에서 돈을 몰래 빼올 수 있는 방법을 나만 알고 있거나 혹은 모두 알고 있지만 잡지 못하는 상황이라면 모든 사람들에게 좋은 표적이 될 것입니다.
전체적인 흐름은 다음 그림과 같습니다. 누군가가 취약점을 공표하게 되면 취약점에 대한 패치가 공개되고 해당 취약점을 해결되기 전까지의 기간동안 공격자들은 공격을 수행합니다. 가장 심각한 상황은 제품을 출시 혹은 업데이트 하였는데 소프트웨어 개발 업체는 인지하지 못한 상황속에서 몇 달 혹은 몇 년 동안 제로 데이 공격에 피해를 받는 것일 겁니다. 결국 누군가가 이를 발견할 때까지 취약점은 계속 이용되기 때문에 공격자들은 제로 데이 취약점을 찾기 위해 노력하고 보안 담당자들은 이를 찾기 위해 노력합니다.
- 제로 데이 : 취약점이 공표 혹은 발견된 날
- 제로 데이 취약점 : 취약점이 발견되고 보안 패치가 나오기 전까지의 취약점
제로데이 취약점 시각화
제로 데이 공격의 종류
제로 데이 공격은 다양한 형태로 나타날 수 있으며 주로 다음과 같습니다.
악성 코드를 이용한 공격 : 제로 데이 취약점을 이용하여 악성 코드를 유포하고 시스템에 침투하는 공격으로 주로 이메일, 웹사이트, USB 드라이브 등을 통해 악성 파일이나 링크가 전파되어 사용자가 클릭하거나 실행할 때 발생합니다.
랜섬웨어: 제로 데이 취약점을 이용하여 시스템에 침투한 후, 랜섬웨어가 실행되어 파일을 암호화합니다.
웹 취약점 악용 : 제로 데이 취약점을 이용하여 웹 서버에 공격자가 악의적인 코드를 주입하여 공격으로 주로 SQL Injection, Cross-Site Scripting (XSS), 파일 업로드 취약점 등의 웹 애플리케이션 취약점을 이용하여 공격이 이루어집니다. 이를 통해 공격자는 웹 서버를 제어하거나 사용자의 개인정보를 탈취하는 등의 행위를 할 수 있습니다.
제로 데이 취약점의 사례
CVE-2024-0519 : 2024년 1월 Google Chrome 웹 브라우저의 V8 자바스크립트 엔진에서 발견되었다고 발표하였습니다. 이 취약점은 아웃 오브 바운드 메모리 접근 문제로, 하나의 프로그램이 자신의 메모리 영역을 벗어나 다른 프로그램의 메모리까지 접근할 수 있어 메모리 내에 저장된 민감한 정보를 열람할 수 있습니다. Chrome 브라우저는 전 세계 브라우저 시장에서 앞도적인 1위를 수년 째 유지하고 있습니다. 만일 일찍 발견되지 않았다면 어떠한 피해가 있었을진 예측할 수 없을 것입니다. 하지만 구글은 누가 어떠한 공격을 수행했고 어떠한 피해가 있는지에 대해선 공개하지 않았습니다.
Spring4Shell(CVE-2022-22965) : 2022년 Spring Framework라는 인기 있는 JAVA 엔터프라이즈 애플리케이션 프레임워크의 컴포넌트 데이터 바인딩 기능의 취약점을 악용한 심각한 원격 코드 실행 취약점이 발견되었습니다. 공격자는 이 취약점을 악용하면 인증 없이 임의의 코드를 실행하고 시스템을 제어할 수 있습니다. 이와 비슷한 문제로 Log4j 취약점도 있습니다. 두 취약점의 공통점은 JAVA 기반 프레임워크를 이용한 원격 코드 실행하는 제로 데이 취약점이었습니다.
Log4j와 Spring4Shell을 이용한 원격 명령 실행 시나리오(출처 : SK 쉴더스)
대응방법
제로 데이 취약점에 대응하기 위한 다음의 방법들을 통해 시스템의 보안을 강화하고 공격에 피해를 최소화할 수 있습니다.
보안 업데이트 및 패치 관리 : 제로 데이 취약점이 발견되면 소프트웨어 제조사는 보안 업데이트를 빠르게 배포해야 합니다. 시스템 관리자는 이러한 업데이트를 즉시 반영하여 시스템을 보호하고 자동 업데이트 기능을 이용해 정기적으로 업데이트를 확인하는 조치가 필요합니다.
필수 애플리케이션만 사용 : 공격 표면(Attack Surface)을 줄이기 위해 필수적인 애플리케이션만 사용하고 불필요한 소프트웨어는 삭제합니다.
보안 장비 : 방화벽, 악성 코드 탐지 및 차단 솔루션 등의 보안 장비를 도입하여 시스템을 보호하고, 필요한 작업만 수행하도록 설정합니다.
※ 추가적으로 제로 데이 공격을 막기 위해 취약점을 발견하면 그에 대한 금전적인 보상을 제공하는 제도들도 많이 있습니다.
ZERO DAY INITIATIVE 홈페이지
마지막으로 하나의 기업을 소개하며 오늘의 포스팅을 마치겠습니다. Zero Day Initiative(ZDI)는 2005년 설립된 국제적인 소프트웨어 취약점 탐지 및 공개 조직입니다. 그들은 주로 공개되지 않은 취약점을 발굴하고 그에 대한 정보를 제공하는 조직입니다. 전문 조직을 이루고 대응을 해야 할 만큼 제로 데이 공격은 계속 발생하고 진화하고 있으며, 이에 대한 대응은 기업과 개인 모두에게 중요해지고 있습니다.