루트킷 (Rootkit)

정보보안학
한 줄 정의: 공격자가 시스템에 침투한 뒤 자신의 존재와 활동을 숨기기 위해 사용하는, 관리자 권한 수준에서 동작하는 악성 소프트웨어 도구 모음입니다.

쉽게 풀면

도둑이 집에 몰래 들어와서 CCTV 화면을 조작해 자신의 모습이 찍히지 않도록 만드는 것과 비슷합니다. 루트킷은 공격자가 시스템에 침입한 후 자신이 설치한 파일, 실행 중인 프로세스, 네트워크 연결 등을 운영체제 수준에서 은폐시켜, 사용자나 백신 프로그램이 이상을 눈치채지 못하게 만드는 도구입니다. 이름의 'root'는 최고 관리자 권한을, 'kit'은 도구 모음을 의미합니다. 한번 설치되면 탐지와 제거가 매우 까다로운 것이 특징입니다.

왜 중요한가

루트킷은 탐지 회피 능력이 뛰어나 공격의 지속성을 크게 높이기 때문에, 정보보안학에서는 이를 탐지하고 제거하는 기법이 중요한 연구 주제로 다루어집니다. 특히 운영체제 커널 수준에서 은폐가 이루어지는 경우 일반적인 백신 탐지 방식으로는 발견이 어려워, 이에 대응하는 새로운 탐지 방법이 계속 연구되고 있습니다.

논문에서는 이렇게 쓰입니다

"본 연구는 커널 수준 루트킷(kernel-level rootkit)이 시스템 콜을 후킹하여 자신의 흔적을 은폐하는 방식을 분석하고, 이를 탐지하기 위한 무결성 검증 기법을 제안한다."

루트킷이 시스템 내부 함수 호출을 가로채 자신을 숨기는 원리를 분석하고 이를 찾아내는 방어 기법을 다룬 연구입니다.

"가상화 기반 루트킷(hypervisor-based rootkit)은 운영체제 자체보다 낮은 계층에서 동작하기 때문에 기존 탐지 기법이 무력화될 수 있음을 실험적으로 보였다."

운영체제보다 더 아래 계층에서 동작해 탐지를 더욱 어렵게 만드는 고도화된 루트킷 형태를 다룬 사례입니다.

조금 더 깊게 보면

루트킷은 동작 계층에 따라 사용자 모드 루트킷, 커널 모드 루트킷, 부트킷(부팅 과정에 개입), 가상화 기반 루트킷 등으로 구분됩니다. 계층이 낮을수록 은폐 능력은 강해지지만 구현 난이도도 높아지는 경향이 있습니다. 탐지 방법으로는 시스템 상태의 무결성 검증, 메모리 포렌식 분석, 외부에서의 시스템 점검 등이 연구되고 있습니다.

주의할 점

루트킷은 그 자체로 시스템에 직접적인 피해를 주기보다는 다른 악성 행위(정보 탈취, 원격 제어 등)를 은폐하기 위한 보조 수단으로 쓰이는 경우가 많습니다. 따라서 루트킷 하나만 제거한다고 해서 시스템이 완전히 안전해졌다고 단정하기는 어렵습니다.

관련 용어