본문 바로가기

Microsoft/Windows Server 2008

루트킷(Rootkit): 보이지 않는 해커의 공격

루트킷(Rootkit): 보이지 않는 해커의 공격

게시 날짜: 2005년 10월 6일

작성자: Mike Danseglio 및 Tony Bailey (영문)

다른 이 달의 보안 팁 칼럼 (영문)을 참조하십시오.

*

루트킷은 특수한 유형의 맬웨어(악의적인 소프트웨어)입니다. 루트킷은 어떤 일을 수행하는지 알 수 없기 때문에 더욱 특수합니다. 루트킷은 대개 감지할 수 없으며 제거하기도 거의 불가능합니다. 제거 도구가 늘어나고 있지만 맬웨어 개발자들은 끊임없이 자신들의 흔적을 감출 수 있는 새로운 방법을 찾아 내고 있습니다.

루트킷의 목적은 자신과 다른 소프트웨어를 보이지 않게 숨기는 것입니다. 이렇게 함으로써 사용자가 공격자의 소프트웨어를 인지하고 제거할 가능성을 피할 수 있습니다. 루트킷은 파일 서버, 키로거(keylogger), 봇넷(botnet) 및 재전송 메일(remailer)을 포함하여 거의 모든 소프트웨어를 숨길 수 있습니다. 많은 루트킷은 다수의 파일을 통째로 숨길 수 있기 때문에 공격자는 많은 파일을 사용자의 컴퓨터에 보이지 않게 저장할 수 있습니다.

루트킷은 바이러스나 웜처럼 그 자체로 컴퓨터에 해를 주지는 않지만, 대신 공격자는 대상 시스템에 존재하는 취약점을 알 수 있습니다. 취약점에는 개방형 네트워크 포트, 패치되지 않은 시스템 또는 관리자 암호 기능이 약한 시스템이 포함될 수 있습니다. 공격자는 취약점을 가진 시스템에 액세스한 다음 루트킷을 수동으로 설치할 수 있습니다. 이러한 유형의 공격은 은밀하게 진행되기 때문에 침입 감지 시스템(Intrusion Detection System)과 같은 자동화된 네트워크 보안 제어 시스템이 작동하지 않습니다.

따라서 루트킷을 인지하는 것은 어렵습니다. 현재 루트킷을 감지하는 몇 가지 소프트웨어 패키지가 나와 있는데, 이러한 소프트웨어 패키지는 서명 기반 감지와 행동 기반 감지라는 두 가지 범주로 나뉩니다. 대부분의 바이러스 스캔 프로그램 같은 서명 기반의 감지 소프트웨어는 루트킷으로 알려진 특정한 이진 파일을 찾습니다. 행동 기반의 감지 소프트웨어는 루트킷의 주요 행동인 숨겨진 요소를 찾아 루트킷의 식별을 시도합니다. 일반적인 행동 기반의 루트킷 감지 소프트웨어 중 하나는 루트킷 리빌러(Rootkit Revealer) (영문)입니다.

시스템에서 루트킷을 일단 인지했다면 치료할 수 있는 옵션은 다소 제한적입니다. 루트킷은 자신을 숨길 수 있기 때문에 루트킷이 시스템에 얼마나 오랫동안 있었는지 알 수 없습니다. 또한 루트킷으로 인해 위험에 노출된 정보가 어떤 것인지도 알 수 없습니다. 루트킷을 인지한 후 최고의 대처 방법은 시스템 전체를 지우고 다시 설치하는 것입니다. 다소 과격하긴 하지만 이 방법만이 루트킷을 완전히 제거할 수 있는 방법으로 알려져 있습니다.

루트킷이 시스템에 들어오지 못하도록 예방하는 것이 여러분이 취할 수 있는 최고의 전략입니다. 이는 여러분이 컴퓨터에 대한 맬웨어의 공격을 예방하기 위해 사용하는 것과 동일한 심층 방어 전략(defense-in-depth strategy)을 통해 이루어집니다. 심층 방어 요소에는 바이러스 스캔 프로그램, 정기적인 소프트웨어 업데이트, 호스트 및 네트워크 상에 방화벽 설치 및 강력한 암호 전략이 포함됩니다.

루트킷에 대한 자세한 정보는 훌륭한 웹캐스트인 Windows의 루트킷 (영문)을 참조하십시오.

또한 Microsoft의 MSSC(Microsoft Solutions for Security and Compliance) 팀에서도 맬웨어의 위험성에 대한 정보를 포함하여 맬웨어의 다른 유형에 대한 이해하기 쉬운 개요를 제공하는 바이러스 방지용 심층 방어 가이드를 제작했습니다. 이 가이드에서는 맬웨어의 특징, 복제 방법 및 페이로드에 대해서도 다루고 있습니다.

TechNet 웹 사이트 (영문)에서도 MSSC의 다른 가이드를 찾을 수 있습니다.