루트킷 (Rootkit)
쉽게 풀면
도둑이 집에 몰래 들어와서 CCTV 화면을 조작해 자신의 모습이 찍히지 않도록 만드는 것과 비슷합니다. 루트킷은 공격자가 시스템에 침입한 후 자신이 설치한 파일, 실행 중인 프로세스, 네트워크 연결 등을 운영체제 수준에서 은폐시켜, 사용자나 백신 프로그램이 이상을 눈치채지 못하게 만드는 도구입니다. 이름의 'root'는 최고 관리자 권한을, 'kit'은 도구 모음을 의미합니다. 한번 설치되면 탐지와 제거가 매우 까다로운 것이 특징입니다.
왜 중요한가
루트킷은 탐지 회피 능력이 뛰어나 공격의 지속성을 크게 높이기 때문에, 정보보안학에서는 이를 탐지하고 제거하는 기법이 중요한 연구 주제로 다루어집니다. 특히 운영체제 커널 수준에서 은폐가 이루어지는 경우 일반적인 백신 탐지 방식으로는 발견이 어려워, 이에 대응하는 새로운 탐지 방법이 계속 연구되고 있습니다.
논문에서는 이렇게 쓰입니다
루트킷이 시스템 내부 함수 호출을 가로채 자신을 숨기는 원리를 분석하고 이를 찾아내는 방어 기법을 다룬 연구입니다.
운영체제보다 더 아래 계층에서 동작해 탐지를 더욱 어렵게 만드는 고도화된 루트킷 형태를 다룬 사례입니다.
조금 더 깊게 보면
루트킷은 동작 계층에 따라 사용자 모드 루트킷, 커널 모드 루트킷, 부트킷(부팅 과정에 개입), 가상화 기반 루트킷 등으로 구분됩니다. 계층이 낮을수록 은폐 능력은 강해지지만 구현 난이도도 높아지는 경향이 있습니다. 탐지 방법으로는 시스템 상태의 무결성 검증, 메모리 포렌식 분석, 외부에서의 시스템 점검 등이 연구되고 있습니다.
주의할 점
루트킷은 그 자체로 시스템에 직접적인 피해를 주기보다는 다른 악성 행위(정보 탈취, 원격 제어 등)를 은폐하기 위한 보조 수단으로 쓰이는 경우가 많습니다. 따라서 루트킷 하나만 제거한다고 해서 시스템이 완전히 안전해졌다고 단정하기는 어렵습니다.