어베스트 백신 드라이버의 보안 취약점을 이용한 컴퓨터 권한 탈취 기술 분석 2부
1. 이게 뭔가요?
이 글은 보안 연구원들이 백신 프로그램인 어베스트의 핵심 구동 프로그램에서 발견한 보안 허점인 CVE-2025-13032를 악용하여 최신 윈도우 11 운영체제의 최고 관리자 권한을 획득하는 과정을 상세히 설명하는 기술 보고서의 두 번째 이야기입니다. 핵심 구동 프로그램이란 컴퓨터의 가장 깊은 곳을 제어하는 핵심 소프트웨어를 말합니다.
2. 왜 화제인가요?
백신은 컴퓨터의 가장 낮은 수준인 핵심 영역에서 작동하므로 작은 허점 하나로도 컴퓨터 전체의 통제권을 빼앗길 수 있습니다. 이 연구는 사소한 입력 처리 실수에서 출발해 최신 운영체제에서 어떻게 최고 관리자 권한까지 도달할 수 있는지 전체 공격 경로를 입증했다는 점에서 중요합니다.
3. 핵심 내용
어베스트 백신의 핵심 구동 프로그램에는 프로그램이 사용자의 입력을 처리할 때 데이터를 두 번 읽어 들이면서 생기는 이중 가져오기 허점이 존재합니다. 첫 번째 읽을 때와 두 번째 읽을 때 사이에 악성 프로그램이 몰래 길이를 바꿔치기하면 프로그램이 메모리에 정해진 것보다 훨씬 많은 데이터를 억지로 쑤셔 넣게 되는 넘침 현상이 발생합니다. 연구원들은 이 현상을 이용해 운영체제가 입출력 작업을 처리할 때 사용하는 입출력 고리 객체의 내부 배열을 망가뜨렸고 이를 통해 컴퓨터 메모리의 어느 곳이든 자유롭게 읽고 쓸 수 있는 강력한 무기를 만들어냈습니다. 연구원들은 수많은 관련 구조체를 메모리에 할당하고 일부를 해제하여 구멍을 만든 뒤 넘침 현상을 일으켜 인접한 항목을 손상시키는 전략을 사용했습니다. 그 후 조작된 버퍼가 일반 사용자 영역의 주소를 가리키도록 하고 입출력 고리 작업을 실행해 운영체제가 만든 메모리 서술자 목록에서 유효한 주소를 확보했습니다. 메모리를 넘치게 채우는 과정에서 망가진 메모리 풀 조각 헤더의 정보는 메모리 할당을 책임지는 프로그램을 가리키는 숨겨진 위치 정보를 담고 있으며 이를 고치지 않으면 컴퓨터가 멈추는 오류가 발생합니다. 연구원들은 손상되지 않은 두 번째 객체에서 값을 읽어와 올바른 값을 계산해 임의 쓰기로 복구했습니다. 마지막으로 읽기 및 쓰기 기능을 이용해 프로세스 목록을 살피며 최고 관리자인 시스템 프로세스의 권한 값을 읽어낸 뒤 우리 프로그램의 권한 값을 덮어씌워 시스템 수준의 최고 권한을 획득했습니다.
4. 나에게 어떤 영향이 있나요?
해당 보안 취약점은 이미 제조사를 통해 수정되었으므로 어베스트 백신을 최신 버전으로 유지하고 있는 일반 사용자라면 위협을 걱정할 필요가 없습니다. 다만 백신 소프트웨어가 운영체제와 얼마나 긴밀하게 맞물려 있는지 그리고 사소한 입력 처리 실수 하나가 어떻게 시스템 전체의 통제권을 내어주는 치명적인 결과로 이어질 수 있는지를 보여주는 중요한 보안 연구 사례입니다.