Anonim

루트킷은 기술적으로 가장 정교한 형태의 악성 코드 (악성 코드)로 불리며 발견 및 제거가 가장 어려운 형태 중 하나입니다. 모든 유형의 맬웨어 중에서 바이러스와 웜은 일반적으로 널리 퍼져 있기 때문에 가장 널리 퍼져있을 것입니다. 많은 사람들이 바이러스 나 웜의 영향을받는 것으로 알려져 있지만, 이것이 바이러스와 웜이 가장 파괴적인 다양한 맬웨어라는 것을 의미하지는 않습니다. 일반적으로 스텔스 모드에서 작동하고 탐지 및 제거가 어렵고 오랜 시간 동안 눈에 띄지 않고 조용히 액세스하고 데이터를 훔치고 대상 컴퓨터의 파일을 수정하기 때문에 더 위험한 유형의 맬웨어가 있습니다. .


이러한 은밀한 적의 예로는 루트킷 (실행 가능한 프로그램 또는 운영 체제 자체의 커널을 대체하거나 변경하여 시스템에 대한 관리자 수준의 액세스 권한을 얻기 위해 사용할 수있는 도구 모음)이 있습니다. 스파이웨어, 키로거 및 기타 악성 도구 근본적으로 루트킷을 사용하면 공격자가 대상 컴퓨터 (및 컴퓨터가 속한 전체 네트워크)를 완전히 액세스 할 수 있습니다. 심각한 손실 / 손상을 유발 한 루트킷의 알려진 용도 중 하나는 Valve 's Half-Life 2 : Source 게임 엔진의 소스 코드 도난이었습니다.


루트킷은 새로운 것이 아니며 여러 해 동안 사용되어 왔으며 다양한 운영 체제 (Windows, UNIX, Linux, Solaris 등)에 영향을주는 것으로 알려져 있습니다. 루트킷 사건이 한두 번 발생하지 않은 경우 (유명한 예 섹션 참조), 소수의 보안 전문가를 제외하고는 다시 인식을 피했을 수 있습니다. 오늘날 루트킷은 다른 형태의 맬웨어만큼 널리 퍼져 있지 않기 때문에 파괴적인 잠재력을 발휘하지 못했습니다. 그러나 이것은 거의 편안하지 않을 수 있습니다.


노출 된 루트킷 메커니즘

트로이 목마, 바이러스 및 웜과 마찬가지로 루트킷은 종종 사용자 상호 작용없이 네트워크 보안 및 운영 체제의 결함을 악용하여 스스로 설치합니다. 전자 메일 첨부 파일 또는 합법적 인 소프트웨어 프로그램이 포함 된 번들로 제공 될 수있는 루트킷이 있지만 사용자가 첨부 파일을 열거 나 프로그램을 설치할 때까지 무해합니다. 그러나 덜 복잡한 형태의 맬웨어와 달리 루트킷은 운영 체제에 깊이 침투하여 시스템 파일을 수정하는 등의 존재를 위장하기 위해 특별한 노력을 기울입니다.

기본적으로 두 가지 유형의 루트킷이 있습니다 : 커널 레벨 루트킷과 응용 프로그램 레벨 루트킷. 커널 레벨 루트킷 은 운영 체제의 커널에 코드를 추가하거나 커널을 수정합니다. 이것은 장치 드라이버 또는로드 가능한 모듈을 설치하여 달성되며 시스템 호출을 변경하여 공격자의 존재를 숨 깁니다. 따라서 로그 파일을 보면 시스템에서 의심스러운 활동이 나타나지 않습니다. 응용 프로그램 수준 루트킷 은 덜 정교하며 일반적으로 운영 체제 자체가 아니라 응용 프로그램의 실행 파일을 수정하기 때문에 쉽게 감지 할 수 있습니다. Windows 2000은 실행 파일의 모든 변경 사항을 사용자에게보고하므로 공격자가 눈에 띄기 어렵습니다.


루트킷이 위험을 초래하는 이유

루트킷은 백도어 역할을 할 수 있으며 일반적으로 미션에서 혼자가 아닙니다. 스파이웨어, 트로이 목마 또는 바이러스가 동반되기도합니다. 루트킷의 목적은 다른 사람의 컴퓨터에 침투하는 간단한 악의적 기쁨 (외국 적 흔적을 숨기는 것), 불법적 인 기밀 데이터 (신용 카드 번호 또는 소스 코드를 절반의 경우와 같이)를 얻기위한 전체 시스템 구축에 이르기까지 다양합니다. -생활 2).

일반적으로 응용 프로그램 수준 루트킷은 덜 위험하고 탐지하기 쉽습니다. 그러나 재무를 추적하기 위해 사용하는 프로그램이 루트킷에 의해 "패치"되면 금전적 손실이 커질 수 있습니다. 즉 공격자는 신용 카드 데이터를 사용하여 몇 가지 품목을 구매할 수 있습니다. 신용 카드 잔액에 대한 의심스러운 활동이 적시에 발견되면 돈을 다시 볼 수 없을 가능성이 높습니다.


커널 수준 루트킷과 비교할 때 응용 프로그램 수준 루트킷은 달콤하고 무해합니다. 왜? 이론적으로 커널 레벨 루트킷은 시스템의 모든 문을 엽니 다. 문이 열리면 다른 형태의 맬웨어가 시스템에 침투 할 수 있습니다. 커널 수준의 루트킷 감염이 있고 쉽게 감지하고 제거 할 수 없거나 (또는 ​​다음에 볼 수 있듯이) 다른 사람이 컴퓨터를 완전히 제어 할 수 있고 원하는 방식으로 사용할 수 있음을 의미합니다. 예를 들어 다른 시스템에 대한 공격을 시작하여 공격이 다른 곳이 아닌 컴퓨터에서 시작된 것 같은 느낌을줍니다.


루트킷 탐지 및 제거

다른 유형의 맬웨어는 쉽게 탐지하고 제거 할 수 없지만 커널 수준 루트킷은 특별한 재앙입니다. 어떤 의미에서는 Catch 22입니다. 루트킷이있는 경우 안티 루트킷 소프트웨어에 필요한 시스템 파일이 수정 될 가능성이 있으므로 검사 결과를 신뢰할 수 없습니다. 또한 루트킷이 실행중인 경우 안티 바이러스 프로그램이 사용하는 파일 목록 또는 실행중인 프로세스 목록을 성공적으로 수정하여 가짜 데이터를 제공 할 수 있습니다. 또한 실행중인 루트킷은 단순히 바이러스 백신 프로그램 프로세스를 메모리에서 언로드하여 응용 프로그램이 예기치 않게 종료되거나 종료 될 수 있습니다. 그러나 이렇게하면 간접적으로 그 존재를 보여 주므로, 특히 시스템 보안을 유지하는 소프트웨어를 사용하여 문제가 발생하면 의심 할 수 있습니다.

루트킷이 있는지 감지하는 데 권장되는 방법은 깨끗하다고 ​​알려진 대체 매체 (예 : 백업 또는 복구 CD-ROM)로 부팅하여 의심스러운 시스템을 확인하는 것입니다. 이 방법의 장점은 루트킷이 실행되지 않아서 (그 자체를 숨길 수 없음) 시스템 파일이 능동적으로 변경되지 않는다는 것입니다.


루트킷을 감지하고 제거하려고 시도하는 방법이 있습니다. 한 가지 방법은 원본 시스템 파일의 깨끗한 MD5 지문을 사용하여 현재 시스템 파일 지문을 비교하는 것입니다. 이 방법은 신뢰할 수 없지만 아무것도 아닌 것보다 낫습니다. 커널 디버거를 사용하는 것이 더 안정적이지만 운영 체제에 대한 심층적 인 지식이 필요합니다. Marc Russinovich의 RootkitRevealer와 같이 루트킷 탐지를위한 무료로 좋은 프로그램이있을 때 대부분의 시스템 관리자조차도 그에 의존하지 않을 것입니다. 그의 사이트를 방문하면 프로그램 사용법에 대한 자세한 지침을 볼 수 있습니다.


컴퓨터에서 루트킷을 발견하면 다음 단계는 루트킷을 제거하는 것입니다. 일부 루트킷의 경우 전체 운영 체제도 제거하지 않는 한 제거는 옵션이 아닙니다! 중요한 시스템 파일과 관련하여 감염된 파일을 삭제하는 방법 (정확하게 클로킹 된 파일을 알고있는 경우)은 절대적으로 적용 할 수 없습니다. 이러한 파일을 삭제하면 Windows를 다시 부팅 할 수 없습니다. UnHackMe 또는 F-Secure BlackLight Beta와 같은 몇 가지 루트킷 제거 응용 프로그램을 사용해 볼 수는 있지만 해충을 안전하게 제거 할 수있을만큼 너무 많이 사용하지는 마십시오.

충격 요법처럼 들릴 수도 있지만 루트킷을 제거하는 유일한 입증 된 방법은 하드 드라이브를 포맷하고 운영 체제를 다시 설치하는 것입니다 (물론 새로 설치 미디어에서)! 루트킷을 어디에서 얻었는지에 대한 단서가 있다면 (다른 프로그램에 번들로 제공 되었습니까, 아니면 누군가 이메일을 통해 보내 주었습니까?), 감염원을 다시 실행하거나 소홀히 생각하지 마십시오!


루트킷의 유명한 예

루트킷은 수년간 은밀하게 사용되었지만 뉴스 헤드 라인에 등장한 작년까지만 사용되었습니다. 사용자 컴퓨터에 루트킷을 설치하여 무단 CD 복사를 보호하는 DRM (Digital Right Management) 기술이 적용된 Sony-BMG의 사례는 날카로운 비판을 불러 일으켰습니다. 소송과 형사 수사가있었습니다. 사례 해결에 따라 Sony-BMG는 CD를 매장에서 꺼내 구입 한 사본을 깨끗한 것으로 교체해야했습니다. Sony-BMG는 개인 데이터를 소니 사이트로 보내는 데 사용되는 복사 방지 프로그램의 존재를 숨기려고 시스템 파일을 은밀하게 은폐했다고 비난 받았습니다. 사용자가 프로그램을 제거한 경우 CD 드라이브가 작동하지 않습니다. 실제로이 저작권 보호 프로그램은 모든 개인 정보 보호 권리를 침해하고 이러한 종류의 맬웨어에 대해 일반적인 불법 기술을 사용했으며 무엇보다도 피해자의 컴퓨터를 다양한 공격 유형에 취약하게 만들었습니다. Sony-BMG와 같은 대기업은 루트킷이 무엇인지 알지 못한다면 왜 루트킷이 무엇인지 신경 써야한다고 말함으로써 오만한 길을가는 것이 일반적이었습니다. 음, 마크 루시 노 비치 (Rossinovich)와 같은 사람이 소니의 루트킷에 대해 처음으로 울리는 사람이 없었다면, 그 트릭은 효과가 있었고 수백만 대의 컴퓨터가 감염되었을 것입니다. 속성!

Sony의 경우와 유사하지만 인터넷에 연결할 필요가없는 경우 Norton SystemWorks의 경우입니다. Norton의 루트킷 (또는 루트킷과 유사한 기술)이 Norton Protected Recycle Bin을 수용하기 위해 Windows 시스템 파일을 수정하는 동안 Norton은 악의적 인 의도로 인해 악의적 인 의도를 고발 할 수 없기 때문에 두 경우 모두 윤리적 또는 기술적 관점에서 비교할 수 없습니다. Sony의 경우와 마찬가지로 사용자의 권리 또는 루트킷의 혜택. 클로킹의 목적은 모든 사용자 (사용자, 관리자 등) 및 모든 사용자 (다른 프로그램, Windows 자체)가 사용자가 삭제 한 파일의 백업 디렉토리에서 숨기고 나중에이 백업 디렉토리에서 복원 할 수 있도록하는 것이 었습니다. 보호 휴지통의 기능은 먼저 삭제 한 다음 빠른 손가락에 대해 안전망을 하나 ​​더 추가 한 다음 올바른 파일을 삭제했는지 생각하여 휴지통에서 삭제 된 파일을 복원하는 추가적인 방법을 제공하는 것입니다. 또는 휴지통을 우회했습니다).

이 두 가지 예는 루트킷 활동의 가장 심각한 경우는 아니지만, 이러한 특정 사례에주의를 기울임으로써 루트킷 전체에 대한 대중의 관심이 끌 렸기 때문에 언급 할 가치가 있습니다. 바라건대, 이제 더 많은 사람들이 루트킷이 무엇인지 알고있을뿐만 아니라 루트킷이 있는지 관심을 갖고이를 감지하고 제거 할 수 있습니다!

루트킷이란 무엇입니까?