Windows 10에서 루트킷을 탐지하는 방법: 완벽 가이드

해커들은 루트킷을 사용하여 기기 내에 지속적이고 감지하기 어려운 악성 프로그램을 숨겨둡니다. 이러한 악성 프로그램은 수년에 걸쳐 조용히 데이터나 리소스를 탈취합니다. 또한 키로거 형태로 사용되어 사용자의 키 입력과 통신 내용을 감시하여 공격자에게 민감한 정보를 제공하기도 합니다.

Windows 10에서 루트킷을 탐지하는 방법: 완벽 가이드

이 해킹 방법은 2006년 이전, 마이크로소프트 비스타에서 모든 컴퓨터 드라이버에 디지털 서명을 의무화하기 전까지 더 중요하게 여겨졌습니다. 커널 패치 보호(KPP)로 인해 악성코드 제작자들이 공격 방식을 바꾸게 되었고, 최근인 2018년에 들어서야 다시 주목받게 되었습니다. Zacinlo 광고 사기루트킷 프로그램이 다시 주목받고 있습니다.

2006년 이전의 루트킷은 모두 운영체제별로 특화되어 있었습니다. 하지만 Detrahere 멀웨어 계열의 Zacinlo는 펌웨어 기반 루트킷이라는 훨씬 더 위험한 형태를 선보였습니다. 그럼에도 불구하고 루트킷은 매년 발견되는 전체 멀웨어의 약 1%만을 차지합니다.

하지만 루트킷이 초래할 수 있는 위험성을 고려할 때, 시스템에 이미 침투했을 가능성이 있는 프로그램을 식별하기 위해 루트킷 탐지 방식이 어떻게 작동하는지 이해하는 것이 현명할 것입니다.

윈도우 10에서 루트킷 발견하기 (자세히)

Windows 10에서 루트킷을 탐지하는 방법(심층 가이드) 이미지 2

Zacinlo는 발견되기 전까지 약 6년 동안 윈도우 10 운영체제를 표적으로 삼아 활동해 왔습니다. 이 루트킷 구성 요소는 고도로 구성 가능했으며, 자체 기능에 위험하다고 판단되는 작업으로부터 스스로를 보호했고, SSL 통신을 가로채고 해독할 수 있었습니다.

이 프로그램은 모든 구성 데이터를 암호화하여 Windows 레지스트리에 저장하고, Windows가 종료될 때 메모리에서 디스크로 다른 이름으로 자신을 덮어쓰고 레지스트리 키를 업데이트합니다. 이렇게 하면 일반적인 바이러스 백신 소프트웨어의 탐지를 피할 수 있습니다.

이는 일반적인 안티바이러스 또는 안티멀웨어 프로그램으로는 루트킷을 탐지하기에 불충분하다는 것을 의미합니다. 하지만 일부 고급 안티멀웨어 프로그램은 루트킷 공격이 의심될 경우 경고를 보내줍니다.

훌륭한 안티바이러스 프로그램의 다섯 가지 필수 특징

Windows 10에서 루트킷을 탐지하는 방법(심층 가이드) 이미지 3

오늘날 대부분의 주요 안티바이러스 프로그램은 숨겨진 루트킷을 탐지하기 위해 이러한 다섯 가지 주요 방법을 모두 구현합니다.

  • 시그니처 기반 분석 바이러스 백신 소프트웨어는 등록된 파일을 알려진 루트킷 서명과 비교합니다. 또한 분석을 통해 집중적인 포트 사용과 같이 알려진 루트킷의 특정 운영 활동을 모방하는 행동 패턴도 찾습니다.
  • 이의 제기 공개 윈도우 운영체제는 루트킷을 작동시키는 것으로 알려진 명령을 실행하기 위해 포인터 테이블을 사용합니다. 루트킷은 위협으로 인식되는 모든 것을 교체하거나 변경하려고 시도하기 때문에, 이러한 행위는 시스템에 루트킷의 존재를 알리는 신호가 됩니다.
  • 다중 소스 데이터 비교 숨겨진 루트는 탐지되지 않도록 하기 위해 표준 검사에서 표시되는 일부 데이터를 변경할 수 있습니다. 상위 및 하위 수준 시스템 호출의 반환 값을 통해 숨겨진 루트의 존재를 파악할 수 있습니다. 또한 프로그램은 RAM에 로드된 프로세스 메모리와 하드 드라이브에 있는 파일 내용을 비교할 수도 있습니다.
  • 안전 점검 각 도서관은 시스템이 "안전한" 상태로 간주될 때 생성되는 디지털 서명 시스템을 보유하고 있습니다. 우수한 보안 소프트웨어는 도서관의 디지털 서명 생성에 사용되는 코드의 변경 사항을 검사할 수 있습니다.
  • 등록 비교 대부분의 안티바이러스 프로그램은 미리 정해진 일정에 따라 이러한 비교를 수행합니다. 깨끗한 파일과 클라이언트 파일을 실시간으로 비교하여 클라이언트 파일이 원치 않는 실행 파일(.exe)인지 또는 실행 파일을 포함하고 있는지 확인합니다.

숨겨진 뿌리 검사 수행

Windows 10에서 루트킷을 탐지하는 방법(심층 가이드) 이미지 4

루트킷 검사를 실행하는 것이 루트킷 감염을 탐지하는 가장 좋은 방법입니다. 운영 체제 자체적으로 루트킷을 식별하는 것은 어려울 수 있으며, 루트킷의 존재를 감지하는 것 자체가 쉽지 않습니다. 루트킷은 정교한 스파이웨어 프로그램으로, 거의 모든 단계에서 활동을 숨기고 눈에 띄지 않게 숨어 있을 수 있습니다.

컴퓨터가 루트킷 바이러스에 감염된 것으로 의심된다면, 컴퓨터를 종료하고 안전한 시스템에서 검사를 실행하는 것이 좋은 방법입니다. 컴퓨터에서 루트킷을 찾는 확실한 방법 중 하나는 메모리 덤프를 분석하는 것입니다. 루트킷은 컴퓨터 메모리에서 실행되는 동안 시스템에 전달하는 명령어를 숨길 수 없습니다.

WinDbg를 이용한 악성코드 분석

Windows 10에서 루트킷을 탐지하는 방법(심층 가이드) 이미지 5

마이크로소프트 윈도우는 응용 프로그램, 드라이버 또는 운영 체제 자체에 대한 디버깅 검사를 수행하는 데 사용할 수 있는 다기능 디버깅 도구를 제공합니다. 이 도구는 커널 모드 및 사용자 모드 코드 오류를 디버깅하고, 크래시 덤프를 분석하고, CPU 로그를 검사하는 데 도움을 줍니다.

일부 Windows 시스템에는 다음과 같은 기능이 포함되어 있습니다. WinDbg 이미 포함되어 있습니다. 해당 프로그램이 없는 분들은 마이크로소프트 스토어에서 다운로드하셔야 합니다. WinDbg 미리보기 WinDbg의 최신 버전으로, 보기 편한 이미지, 더 빠른 창 속도, 완벽한 스크립팅 기능은 물론, 기존 버전과 동일한 명령, 확장 기능 및 워크플로를 제공합니다.

최소한 WinDbg를 사용하여 메모리 덤프나 블루스크린(BSOD)을 포함한 시스템 충돌을 분석할 수 있습니다. 분석 결과를 통해 악성코드 공격의 징후를 찾을 수 있습니다. 프로그램 중 하나가 악성코드에 감염되었거나 필요 이상으로 메모리를 사용하고 있다고 의심되는 경우, 덤프 파일을 생성하고 WinDbg를 사용하여 분석해 볼 수 있습니다.

전체 메모리 덤프는 많은 디스크 공간을 차지할 수 있으므로 부분 덤프를 수행하는 것이 더 나을 수 있습니다. 커널 모드 또는 작은 메모리 덤프를 사용할 수도 있습니다. 커널 모드 덤프에는 충돌 당시 커널의 모든 메모리 사용 정보가 포함됩니다. 작은 메모리 덤프에는 드라이버, 커널, Plus 등 다양한 시스템에 대한 기본 정보가 포함되지만 크기는 훨씬 작습니다.

작은 메모리 덤프 파일은 블루스크린의 원인을 분석하는 데 더 유용합니다. 루트킷 탐지에는 전체 버전 정보나 커널 버전이 더 도움이 됩니다.

커널 모드 덤프 파일을 생성합니다.

Windows 10에서 루트킷을 탐지하는 방법(심층 가이드) 이미지 6

커널 모드 덤프 파일은 다음 세 가지 방법으로 생성할 수 있습니다.

  • 제어판에서 덤프 파일 기능을 활성화하여 시스템이 자체적으로 종료되도록 하십시오.
  • 제어판에서 덤프 파일을 활성화하여 시스템을 강제로 종료시키십시오.
  • 디버깅 도구를 사용하여 직접 하나를 생성하세요.

저희는 3번 옵션을 선택하겠습니다.

필요한 덤프 파일을 생성하려면 WinDbg 명령 창에 다음 명령만 입력하면 됩니다.

Windows 10에서 루트킷을 탐지하는 방법(심층 가이드) 이미지 7

바꾸다 파일 이름 적절한 파일 이름과 "?" 문자를 사용하여 파일을 생성하세요. f"f"가 소문자인지 확인하십시오. 그렇지 않으면 다른 유형의 덤프 파일이 생성됩니다.

디버거가 작업을 완료하면(첫 번째 스캔은 몇 분 정도 소요됨) 덤프 파일이 생성되고 얻은 결과를 분석할 수 있습니다.

루트킷을 탐지하기 위해 휘발성 메모리(RAM) 사용 여부와 같은 특징을 파악하려면 경험과 테스트가 필요합니다. 초보자에게는 권장하지 않지만, 실제 시스템에서 악성코드 탐지 기법을 테스트하는 것도 가능합니다. 하지만 이 경우에도 시스템에 실제 바이러스를 퍼뜨리지 않도록 WinDbg의 작동 방식을 철저히 이해하고 경험이 필수적입니다.

숨어있는 적을 찾아내는 데에는 더 안전하고 초보자에게 친숙한 방법들이 있습니다.

추가 스캔 방법

Windows 10에서 루트킷을 탐지하는 방법(심층 가이드) 이미지 8

수동 탐지 및 행동 분석 또한 루트킷 탐지에 있어 신뢰할 수 있는 방법입니다. 루트킷을 직접 찾는 것은 매우 어려울 수 있으므로, 루트킷 자체를 대상으로 삼기보다는 루트킷과 유사한 행동을 찾는 것이 효과적입니다.

다운로드한 소프트웨어 패키지에서 루트킷을 검사하려면 설치 과정 중 고급 또는 사용자 지정 설치 옵션을 사용하세요. 세부 정보 목록에 익숙하지 않은 파일이 있는지 확인해야 합니다. 이러한 파일은 제거하거나 온라인에서 악성코드 여부를 검색해 보세요.

방화벽과 로그 보고서는 루트킷을 탐지하는 데 매우 효과적인 방법입니다. 해당 소프트웨어는 네트워크 감사가 진행될 경우 사용자에게 알림을 보내고, 식별할 수 없거나 의심스러운 다운로드 파일은 설치 전에 격리합니다.

기기에 루트킷이 이미 설치되어 있을 가능성이 있다고 의심되는 경우, 방화벽 로그 보고서를 자세히 살펴보고 비정상적인 동작이 있는지 확인할 수 있습니다.

방화벽 로그 보고서를 검토하세요.

Windows 10에서 루트킷을 탐지하는 방법(심층 가이드) 이미지 9

현재 방화벽 로그 보고서를 검토해야 합니다. 이를 통해 오픈 소스 애플리케이션이 가능해집니다. IP 트래픽 스파이 방화벽 로그 필터링 기능을 갖춘 이 도구는 매우 유용합니다. 보고서를 통해 공격 발생 시 필요한 정보를 확인할 수 있습니다.

만약 대규모 네트워크에 외부 트래픽을 필터링하는 별도의 방화벽이 있다면, 그런 문제는 발생하지 않을 것입니다. IP 트래픽 스파이 필수적입니다. 또는 방화벽 로그를 통해 네트워크상의 모든 장치 및 워크스테이션으로 들어오고 나가는 패킷을 확인할 수 있습니다.

가정이나 소규모 업무 환경에서 인터넷 서비스 제공업체(ISP)에서 제공하는 모뎀이나, 개인 방화벽 또는 라우터(있는 경우)를 사용하여 방화벽 로그를 확인할 수 있습니다. 이를 통해 동일 네트워크에 연결된 각 장치의 트래픽을 식별할 수 있습니다.

Windows 방화벽 로그 파일을 활성화하는 것도 도움이 될 수 있습니다. 기본적으로 로그 파일은 비활성화되어 있어 아무런 정보나 데이터가 기록되지 않습니다.

  • 로그 파일을 생성하려면 실행 기능을 누르세요. Windows + R.
  • 유형 wf.msc 상자에 누르고 엔터 버튼.
Windows 10에서 루트킷을 탐지하는 방법(심층 가이드) 이미지 10
  • Windows 방화벽(고급 보안 포함) 창에서 왼쪽 메뉴에서 "로컬 컴퓨터의 Windows Defender 방화벽(고급 보안 포함)"을 선택합니다. 오른쪽 메뉴에서 "작업" 아래에 있는 항목을 클릭합니다. 등록.
Windows 10에서 루트킷을 탐지하는 방법(심층 가이드) 이미지 11
  • 새 대화 상자에서 "개인 프로필" 탭으로 이동하여 선택합니다. 맞춤형해당 내용은 "로깅" 섹션에서 확인할 수 있습니다.
Windows 10에서 루트킷을 탐지하는 방법(심층 가이드) 이미지 12
  • 새 창에서는 기록할 로그 파일의 크기, 파일을 보낼 위치, 그리고 패킷 손실만 기록할지, 성공적인 연결만 기록할지, 아니면 둘 다 기록할지 지정할 수 있습니다.
Windows 10에서 루트킷을 탐지하는 방법(심층 가이드) 이미지 13
  • 드롭된 패킷은 Windows 방화벽이 사용자를 대신하여 차단한 패킷입니다.
  • 기본적으로 Windows 방화벽 레지스트리 항목에는 최근 4MB의 데이터만 저장되며 해당 항목은 다음 위치에서 찾을 수 있습니다. %SystemRoot%System32LogFilesFirewallPfirewall.log
  • 로그의 최대 데이터 사용량 제한을 늘리면 컴퓨터 성능에 영향을 미칠 수 있다는 점을 명심하십시오.
  • 클릭 OK 당신이 끝낼 때.
  • 다음으로, 방금 "비공개 프로필" 탭에서 했던 것과 동일한 단계를 "공개 프로필" 탭에서 반복하세요.
    • 이제 공개 및 비공개 통신 기록이 모두 생성됩니다. 해당 파일은 메모장과 같은 텍스트 편집기에서 보거나 스프레드시트로 가져올 수 있습니다.
    • 이제 로그 파일을 IP Traffic Spy와 같은 데이터베이스 분석 프로그램으로 내보내 트래픽을 필터링하고 정렬하여 쉽게 식별할 수 있습니다.

로그 파일에서 특이한 점이 있는지 주의 깊게 살펴보세요. 아주 사소한 시스템 오류라도 숨겨진 루트킷 감염의 징후일 수 있습니다. 예를 들어, 고사양 작업을 하지 않거나 아예 작업을 하지 않는데도 CPU나 대역폭 사용량이 과도하게 높은 경우 등이 중요한 단서가 될 수 있습니다.

댓글이 닫혀있다.