0Pricing
Security+ Academy · 강의

루트킷, 스파이웨어, 키로거

루트킷이 운영 체제에서 악성 코드를 숨기는 방법, 스파이웨어가 데이터를 몰래 유출하는 방법, 키로거가 실시간으로 자격 증명을 수집하는 방법을 알아봅니다.

루트킷, 스파이웨어, 키로거은(는) CoddyKit의 무료 Security+ Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Security+ Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Security+ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

스텔스 Malware: 눈에 띄지 않게 숨기

많은 Malware 유형은 눈에 보이는 피해를 통해 자신의 존재를 알리지만, 악성 Software 중에는 공격자의 목표를 조용히 달성하면서 User, Admin, 보안 도구에 숨겨진 상태로 남도록 특별히 설계된 유형도 있습니다. 루트킷, Spyware, 키로거는 Malware 스펙트럼에서 은밀한 쪽에 해당합니다. 이들의 효과는 Detection 없이 지속되는 능력에 달려 있습니다. 수개월 또는 수년 동안 활성 상태로 남아 자격 증명과 데이터를 조용히 유출할 수도 있습니다. 이들의 은폐 기법을 이해하는 일은 포렌식 조사와 Standard 검사에서 놓치는 대상을 찾을 Detection 도구를 선택하는 데 필수적입니다.

루트킷: OS 자체를 무력화하기

루트킷은 운영 체제나 저수준 Software를 수정하여 공격자의 존재를 숨깁니다. 이 용어는 Unix의 'root'(최고 권한)와 'kit'(도구 모음)에서 유래했습니다. 루트킷은 OS 함수를 가로채 Standard 시스템 검사 도구에서 파일, Registry 키, Processes, Network 연결을 숨깁니다. 루트킷이 실행 중인 Process는 Task Manager에 나타나지 않을 수 있고, Network 연결은 netstat에 표시되지 않으며, 파일은 디렉터리 목록에 나타나지 않을 수 있습니다. 이러한 모든 도구가 루트킷이 손상시킨 것과 동일한 API를 통해 OS에 질의하기 때문입니다. 감염된 OS 내부에서 루트킷을 Detection하는 일은 매우 어렵습니다.

# What rootkits hide:
# - Malicious processes from task manager / ps
# - Files and directories from file system listings
# - Registry keys from regedit
# - Network connections from netstat/ss
# - Kernel modules from lsmod
# - Loaded DLLs from process listings

# Why standard tools fail:
# Task Manager calls NtQuerySystemInformation() -> rootkit intercepts
# Rootkit patches return value to exclude hidden process

위치에 따른 루트킷 유형

루트킷은 시스템의 어느 위치에서 작동하는지에 따라 분류됩니다. User-mode(애플리케이션 수준) 루트킷은 User 공간에서 실행되며 API 호출을 후킹합니다. Detection과 Removal이 가장 쉽습니다. Kernel-mode 루트킷은 OS 수준 권한으로 작동하면서 커널 데이터 구조를 수정하므로 매우 은밀하며, 설치하려면 드라이버나 커널 Exploit이 필요합니다. Bootkit(MBR 루트킷)은 Master Boot Record 또는 Volume Boot Record를 감염시켜 OS보다 먼저 로드되므로 OS가 실행되는 동안에는 보이지 않습니다. Hypervisor 루트킷(VM 기반)은 OS 아래에서 작동하며 원래 OS를 가상 머신으로 실행합니다. 이론적으로 게스트 내부에서는 Detection할 수 없습니다.

# Rootkit detection approaches by type:
# User-mode:   Standard AV + process hollowing detection
# Kernel-mode: Rootkit scanners that compare in-memory data
#              with on-disk data (GMER, RootkitRevealer)
# Bootkit:     Boot-time scan from trusted environment
#              Secure Boot with UEFI TPM attestation
# Hypervisor:  Hardware-based integrity measurement

# Best removal approach for all types:
# Boot from trusted external media
# Image the drive for forensics, then reimage the system

루트킷 Detection

루트킷은 OS 자체의 보고 메커니즘을 손상시키므로 감염된 OS의 외부에서 살펴봐야 Detection할 수 있습니다. 방법에는 다음이 있습니다. Cross-view 분석은 메모리의 커널 데이터 구조를 API가 보고하는 내용과 직접 비교하여 불일치로 숨겨진 항목을 찾아냅니다. 무결성 검증은 중요한 시스템 파일의 해시를 신뢰할 수 있는 출처의 정상 기준값과 비교합니다. 오프라인 검사는 깨끗한 USB로 부팅한 뒤 드라이브를 검사합니다. TPM 증명이 적용된 Secure Boot은 부팅 체인이 수정되지 않았는지 암호학적으로 검증합니다. 도구로는 GMER, Malwarebytes Anti-Rootkit, Linux용 chkrootkit/rkhunter가 있습니다.

# Linux rootkit detection:
rkhunter --check --skip-keypress
chkrootkit

# Cross-view analysis concept:
# Hidden process detection:
# Walk the kernel EPROCESS list directly (avoids API hooks)
# Compare to what NtQuerySystemInformation() returns
# Processes in EPROCESS but not in API list = hidden (rootkit)

# Verify critical file hashes:
aids --check  # Advanced Intrusion Detection Environment
trip          # Tripwire IDS

Spyware: 조용한 데이터 유출

Spyware는 User가 알거나 동의하지 않은 상태에서 User 활동을 몰래 모니터링하고 공격자에게 정보를 전송합니다. 브라우징 기록, 검색어, 스크린샷, 애플리케이션 사용 내역, 위치 데이터를 수집할 수 있습니다. 일부 Spyware는 자녀 보호나 직원 모니터링을 위한 '모니터링 Software'로 상업적으로 판매됩니다(단, 합법성은 관할 지역에 따라 다릅니다). 악성 Spyware는 범죄자와 국가 기관이 민감한 기업 데이터, 개인 정보, 지적 재산을 조용히 유출하는 데 사용합니다. Spyware는 무료 Software에 번들로 포함되는 경우가 많아(PUP — 잠재적으로 원치 않는 프로그램) 출처를 파악하기 어렵습니다.

# Spyware behavioral indicators:
# - Unusual outbound network connections (data exfiltration)
# - Increased CPU/disk usage with no obvious cause
# - Browser settings changed (homepage, search engine)
# - New browser toolbars or extensions installed
# - Device battery drains faster (mobile spyware)
# - Slow system performance due to background monitoring

# Anti-spyware scanning:
# Malwarebytes, Windows Defender, HitmanPro
# Check browser extensions: remove unknown extensions

스토커웨어와 상업용 Spyware

스토커웨어는 연인을 몰래 감시하도록 설계된 Spyware로, 가해자에게 연인 감시 도구로 판매됩니다. 위치, 통화, 문자 메시지, 소셜 미디어를 수집합니다. 상업용 Spyware(NSO Group의 Pegasus, Candiru, FinFisher 등)는 정부와 법 집행 기관에 판매되며, 기자·활동가·반체제 인사를 표적으로 삼는 경우가 많습니다. Pegasus는 User의 상호 작용 없이 설치되는 제로 클릭 iPhone 취약점을 악용했습니다. Coalition Against Stalkerware와 보안 연구자들은 주류 AV 제품에 스토커웨어 Detection 기능을 추가하기 위해 노력해 왔습니다. Detection에는 Amnesty International의 Mobile Verification Toolkit(MVT)과 같은 도구를 사용한 기기 포렌식 분석이 필요한 경우가 많습니다.

키로거: 모든 키 입력 수집

키로거는 User가 입력하는 모든 키 입력을 기록하여 Password, 메시지, 신용 카드 번호와 그 밖의 모든 입력 데이터를 수집합니다. Software 키로거는 여러 수준에서 작동합니다. User-mode 후크(SetWindowsHookEx API), Kernel-mode 드라이버(더 은밀함), 암호화되기 전에 브라우저 양식 제출을 가로채는 양식 수집 후크 등이 있습니다. Hardware 키로거는 키보드와 Computer 사이에 연결하는 물리적 장치이므로 Software 기반 Detection으로는 완전히 보이지 않습니다. 이 장치는 나중에 회수할 수 있도록 키 입력을 내부 메모리에 저장합니다. 높은 보안이 필요한 구역을 보호하는 조직은 승인되지 않은 장치가 없는지 Hardware 포트를 정기적으로 검사해야 합니다.

# Software keylogger installation vector:
# Trojan download -> installs keylogger driver
# Malicious browser extension -> captures form input
# Office macro -> drops and registers keylogger DLL

# Hardware keylogger detection:
# Physical inspection of keyboard port (USB/PS/2)
# Common types: PS/2 inline, USB inline, USB hub type
# Acoustic side-channel (listening to keystrokes) - exotic

# Defense against software keyloggers:
# Two-factor authentication (keylogged password + OTP)
# Password manager auto-fill (bypasses keyboard input)
# Virtual on-screen keyboard for sensitive systems (limited protection)

양식 수집기와 브라우저 자격 증명 탈취

양식 수집기는 브라우저 양식으로 제출된 데이터가 암호화되어 Network로 전송되기 전에 가로채 사용자 이름, Password, 신용 카드 번호를 입력 시점에 수집합니다. 악명 높은 금융 Trojan인 Zeus(Zbot)는 브라우저 Processes에 삽입된 양식 수집 후크를 사용했습니다. HTTPS로 차단되는 Network 수준 스니퍼와 달리 양식 수집기는 애플리케이션 수준에서 작동하므로 암호화가 무의미합니다. 일반적으로 InternetReadFile과 같은 브라우저 함수를 후킹하거나 브라우저 Process 메모리에 삽입됩니다. 최신 EDR 도구는 양식 수집기 활동을 나타내는 Process 삽입 및 브라우저 API 후킹 패턴을 Detection합니다.

# Form grabber detection indicators:
# - Browser process loading unexpected DLLs
# - API hooks in browser memory (InternetReadFile, PR_Write)
# - Unusual child processes spawned by browser
# - Outbound connections from browser process to unknown IPs

# Defense:
# EDR with browser protection (e.g., Cisco AMP, CrowdStrike)
# Isolated browser environment (VMware Browser Isolation)
# MFA: even if credentials captured, OTP prevents reuse

Adware와 PUP

Adware는 원치 않는 광고를 표시하고 브라우저 트래픽을 리디렉션하여 운영자에게 수익을 안겨 줄 수 있습니다. 다른 Malware보다 파괴력은 작지만, Adware는 시스템 성능을 저하시키고 개인 정보를 침해하며 악성 사이트로 리디렉션하거나 더 위험한 Software와 함께 설치되어 보안 위험을 만듭니다. PUP(잠재적으로 원치 않는 프로그램)은 User가 의도적으로 설치하지 않았을 수 있는 Software로, 기만적인 설치 대화 상자를 통해 무료 Software에 번들로 포함되는 경우가 많습니다. PUP는 회색 영역에 해당합니다. 엄밀히 악성은 아닐 수 있지만 리소스를 사용하고 개인 정보를 침해하며 더 위험한 감염으로 이어지는 경로를 만들 수 있습니다.

# PUP/Adware prevention:
# During software installation:
# - Choose 'Custom' not 'Express' installation
# - Uncheck pre-selected bundled software offers
# - Read each screen carefully before clicking Next

# Removal:
# Malwarebytes Anti-Malware (good PUP detection)
# ADWCleaner (Malwarebytes tool for adware)
# Check installed programs list for unwanted additions
# Check browser extensions for unknown additions

Credential Dumping 및 LSASS

악성 코드가 충분한 권한으로 설치되면 credential dumping을 통해 memory 또는 디스크에 저장된 자격 증명을 추출하여 측면 이동에 사용합니다. Windows LSASS Process는 싱글 사인온을 위해 자격 증명을 memory에 저장합니다. Mimikatz 같은 도구는 LSASS memory에서 평문 암호 또는 NTLM 해시를 덤프합니다. 방어자는 Credential Guard(Windows 10 이상에서 Virtualization-Based Security를 사용하여 보안 컨테이너 안에 LSASS를 격리함), Protected Users 그룹 구성원 자격(자격 증명 캐싱 방지), 그리고 비시스템 Process에서 LSASS memory에 액세스할 때 Alert를 생성하는 EDR Rule을 사용하여 이에 대응합니다.

# Credential dump detection:
# Alert on: processes accessing LSASS memory (non-system)
# Alert on: procdump.exe targeting lsass.exe
# Alert on: sekurlsa::logonpasswords in memory artifacts

# Windows Credential Guard (prevents Mimikatz from LSASS):
# LSASS runs in Isolated User Mode (VSM)
# Mimikatz dumps show only encrypted blobs, not plaintext

# Enable Credential Guard:
# gpedit: Computer Config -> Admin Templates -> System -> Device Guard
# 'Turn On Virtualization Based Security' = Enabled

루트킷 및 지속성 위협 제거

실행 중인 System에서 루트킷을 제거하려는 시도는 위험합니다. 루트킷이 적극적으로 자신을 숨기며 제거 시도를 감지할 수 있기 때문입니다. 루트킷을 해결하는 Best Practice는 포렌식 증거를 보존한 후 신뢰할 수 있는 기준 상태에서 System을 다시 이미지화하는 것입니다. 전체 재이미징을 즉시 수행할 수 없다면 신뢰할 수 있는 외부 매체(오프라인 Scanner가 있는 USB)로 부팅하고, OS가 Load되기 전에 루트킷 Detection 도구를 실행하며, 모든 아티팩트를 기록하고, 가능한 한 이른 시점에 재이미징하도록 계획해야 합니다. 부트킷의 경우 UEFI와 함께 Secure Boot을 사용하여 서명되지 않은 부트로더를 차단하고, OS를 재설치하기 전에 MBR에 0을 기록하는 방법을 고려해야 합니다.

# Bootkit removal:
# Boot to Windows Recovery Environment (WinRE)
# Repair boot record:
bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd

# For Linux MBR repair:
dd if=/dev/zero of=/dev/sda bs=512 count=1  # wipe MBR
grub-install /dev/sda                        # reinstall GRUB

# Best practice: full reimage after forensic image captured

빠른 확인

이 Lesson에서 다룬 CompTIA Security+ (SY0-701) 개념을 얼마나 이해했는지 확인해 보십시오.

Lesson 요약

이 Lesson에서는 다음을 배웠습니다. 루트킷은 OS API를 변조하여 Process, 파일, Network 연결을 숨기므로 감염된 OS 내부에서의 Detection을 신뢰하기 어렵게 만들며, 이에 따라 오프라인 Scanning 또는 교차 관점 분석이 필요합니다. 스파이웨어와 키로거는 자격 증명과 데이터를 은밀하게 외부로 유출하며, Network Monitoring과 EDR Process 검사를 통해 행동 지표를 Detection할 수 있습니다. 또한 LSASS를 대상으로 하는 Mimikatz 같은 자격 증명 덤핑 도구는 Windows Credential Guard와 Protected Users 그룹 Policy를 통해 완화할 수 있습니다. 다음에서는 파일리스 악성 코드와 LotL 공격을 살펴봅니다.

자주 묻는 질문

“루트킷, 스파이웨어, 키로거” 강의는 무료인가요?

네 — “루트킷, 스파이웨어, 키로거” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Security+ Academy 강의 전체를 잠금 해제할 수 있습니다. Security+ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“루트킷, 스파이웨어, 키로거”에서 뭘 배우나요?

루트킷이 운영 체제에서 악성 코드를 숨기는 방법, 스파이웨어가 데이터를 몰래 유출하는 방법, 키로거가 실시간으로 자격 증명을 수집하는 방법을 알아봅니다. 브라우저에서 직접 실행하는 실습 코드로 Security+ Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Security+ Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Security+ Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“루트킷, 스파이웨어, 키로거” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Security+ Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Security+ Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 바이러스, 웜, 트로이 목마
  2. 랜섬웨어와 암호화 악성 코드
  3. 루트킷, 스파이웨어, 키로거
  4. 파일리스 악성 코드와 시스템 도구 악용 공격
← Security+ Academy(으)로 돌아가기