0Pricing
Cloud & IT Cert Prep · 강의

바이러스, 웜, 트로이 목마

스스로 복제되는 바이러스, 네트워크로 확산되는 웜, 위장된 트로이 목마를 비교하고 각각의 전파 방식과 일반적인 피해를 이해합니다.

바이러스, 웜, 트로이 목마은(는) CoddyKit의 무료 Cloud & IT Cert Prep 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cloud & IT Cert Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

소프트웨어를 악성으로 만드는 요소

악성 코드(악성 소프트웨어)는 시스템을 방해하거나 손상시키고, 무단으로 접근하거나, 시스템에서 데이터를 빼내도록 설계된 모든 소프트웨어를 의미합니다. 이 용어에는 확산 방식, 수행하는 작업, 탐지 기법을 회피하는 방식이 서로 다른 여러 범주가 포함됩니다. Security+에서는 전파 메커니즘(어떻게 확산되는지), 페이로드(어떤 손상이나 작업을 수행하는지), 지속성 메커니즘(재부팅 후에도 어떻게 살아남는지)에 따라 악성 코드 유형을 구분하는 능력을 평가합니다. 기본이 되는 세 가지 범주는 바이러스, 웜, 트로이 목마입니다.

바이러스: 감염 및 자기 복제

바이러스는 정상적인 호스트 파일에 자신을 붙이고, 확산하려면 사람이 감염된 파일을 실행하는 등의 작업을 해야 하는 악성 코드입니다. 감염된 파일이 실행되면 바이러스는 자신의 코드를 다른 실행 파일, 문서 또는 부트 섹터에 주입하여 복제합니다. 바이러스 유형에는 파일 감염형 바이러스(.exe 파일에 붙음), 매크로 바이러스(Office 문서에 삽입되어 매크로가 실행될 때 동작함), 부트 섹터 바이러스(MBR을 감염시키고 OS보다 먼저 로드됨), 다형성 바이러스(감염될 때마다 코드 서명을 변경하여 서명 기반 탐지를 회피함)가 있습니다.

# Virus detection evasion techniques:
# Polymorphic:  changes code signature each replication
# Metamorphic:  rewrites itself entirely each time (harder to detect)
# Stealth:      intercepts OS calls to hide infected files
# Encrypted:    body encrypted, only decryptor visible to scanner

# File infector: appends or prepends code to executable
# Macro virus:   lives in Office document; runs via VBA macros
# Boot sector:   infects MBR/VBR; loads before OS; bypasses AV

웜: 호스트 없이 자기 전파

웜은 호스트 파일이나 사람의 작업 없이 네트워크를 통해 독립적으로 확산되는 자기 복제형 악성 코드입니다. 웜은 네트워크 취약점이나 취약한 자격 증명을 악용하여 다른 시스템에 자신을 복사합니다. 2003년의 SQL Slammer 웜은 하나의 UDP 패킷을 사용하여 10분 만에 75,000개의 시스템을 감염시켰습니다. 2017년의 WannaCry 랜섬웨어는 SMBv1을 대상으로 하는 EternalBlue Exploits를 통해 웜처럼 확산되었습니다. 웜은 네트워크 정체와 대규모 페이로드 전달을 통해 막대한 피해를 일으킵니다. 패치 적용과 네트워크 세분화가 기본적인 방어 방법입니다.

# Worm propagation methods:
# Network vulnerability: EternalBlue (SMBv1 RCE) - WannaCry, NotPetya
# Credential brute-force: weak/default passwords (Mirai)
# Email: attaches to outgoing email (ILOVEYOU worm)
# IM/Social: spreads via messaging platforms
# File shares: copies to network drives

# WannaCry timeline:
# 1. Exploits EternalBlue (SMBv1 CVE-2017-0144)
# 2. Installs DoublePulsar backdoor
# 3. Deploys ransomware payload
# 4. Scans for more SMBv1 hosts -> repeat

트로이 목마: 위장된 악성 코드

트로이 목마(또는 Trojan)는 정상적인 소프트웨어로 위장한 악성 코드입니다. 바이러스나 웜과 달리 Trojan은 스스로 복제하지 않으며, 사용자가 유용한 것으로 믿고 설치해야 합니다. 예를 들면 무료 게임, 불법 복제 애플리케이션, 유용한 유틸리티, 가짜 백신 또는 소프트웨어 업데이트로 위장합니다. 설치되면 Trojan은 악성 페이로드를 실행하며, 여기에는 백도어 설치, RAT (Remote Access Trojan) 역할 수행, 키 입력 기록, 추가 악성 코드 다운로드 등이 포함될 수 있습니다. Trojan은 더 큰 피해를 주는 페이로드를 배포하기 전에 초기 접근 권한을 확보하는 데 자주 사용됩니다.

# Trojan examples and categories:
# Backdoor Trojan: opens listening port for remote control
# RAT (Remote Access Trojan): full remote control, keylog, screenshot
#   Examples: DarkComet, NetBus, Sub7, njRAT, AsyncRAT
# Downloader Trojan: downloads and installs additional malware
#   Examples: Emotet (banking -> loader), TrickBot
# Banking Trojan: intercepts online banking sessions
#   Examples: Zeus, Dridex, Ursnif
# Fake AV: pretends to be antivirus, demands payment to 'clean'

바이러스, 웜 및 트로이 목마 비교

Security+ 시험에서는 이 세 범주의 차이를 자주 평가합니다. 핵심적인 구분 기준은 다음과 같습니다. 바이러스는 확산하려면 호스트 파일과 사람의 작업이 필요하며, 정상적인 파일을 감염시킵니다. 웜은 자체적으로 완결되어 있고 자기 전파가 가능하므로 다른 파일에 붙거나 사용자의 상호 작용을 요구하지 않고 네트워크를 통해 자동으로 확산됩니다. 트로이 목마는 스스로 복제하지 않으며 속임수에 의존하므로, 사용자가 속아서 설치해야 합니다. 하나의 악성 코드가 여러 특성을 결합할 수도 있습니다(예: Trojan 페이로드를 떨어뜨리는 웜). 따라서 분류할 때는 가장 두드러진 전파 메커니즘에 집중해야 합니다.

# Classification comparison:
# Characteristic      Virus    Worm    Trojan
# Requires host file    YES      NO      NO
# Self-replicates       YES      YES     NO
# Requires user action  YES      NO      YES (install)
# Network spread        SLOW     FAST    NO (user-driven)
# Typical goal          Damage   Spread  Persistence/backdoor

봇넷 및 명령 및 제어(C2)

많은 Trojan과 웜은 명령 및 제어(C2) 서버와 통신을 설정합니다. C2 서버는 Attacker가 감염된 호스트에 명령을 내리는 데 사용하는 원격 서버입니다. C2에 연결된 호스트가 많이 모이면 봇넷이 형성됩니다. 봇넷은 DDoS 공격, 스팸 캠페인, 암호화폐 채굴 및 자격 증명 탈취에 사용됩니다. C2 통신은 정상적인 웹 트래픽에 섞이기 위해 HTTP/HTTPS를 사용하거나, DNS 쿼리 속에 숨기기 위해 DNS 터널링을 사용하거나, 제거할 중앙 서버가 없는 피어 투 피어 프로토콜을 사용할 수 있습니다. C2 트래픽을 탐지하려면 DNS monitoring, 프록시 로그, 비정상적인 Beaconing 패턴을 찾는 네트워크 흐름 분석이 필요합니다.

# C2 detection indicators:
# Beaconing: regular outbound connections at fixed intervals
# Unusual DNS: long subdomains, high query volume, new domains
# HTTPS to non-CDN IPs: encrypted C2 often uses bulletproof hosting
# Non-standard port HTTPS: HTTPS on port 8443, 4443, etc.
# Large outbound data: data exfiltration spike

# Block C2 at network level:
# DNS sinkhole + proxy with URL categorization
# Threat intelligence feeds for known C2 domains/IPs

바이러스 서명 탐지와 행위 기반 탐지

기존 백신은 서명 기반 탐지에 의존합니다. 즉, 파일을 알려진 악성 코드 서명(해시 또는 코드 패턴) 데이터베이스와 비교합니다. 서명은 빠르지만 새로 등장했거나 수정된 악성 코드에는 Fails. Behavioral 탐지(EDR 플랫폼에서 사용)는 자식 프로세스 생성, 레지스트리 키 수정, 다른 프로세스에 코드 삽입, 알려진 악성 IP 접속과 같은 프로그램의 동작을 실시간으로 monitoring합니다. 휴리스틱 분석은 정확히 일치하는 서명이 없어도 코드에서 악성 코드와 유사한 패턴을 정적으로 분석합니다. 샌드박싱은 의심스러운 파일을 격리된 환경에서 실행하여 동작을 안전하게 관찰합니다.

# Detection method comparison:
# Signature-based:
#   + Fast, low false-positive rate for known malware
#   - Fails on new, polymorphic, encrypted malware

# Heuristic:
#   + Catches variants of known families
#   - Higher false-positive rate

# Behavioral (EDR):
#   + Catches zero-day and fileless malware
#   - Requires tuning to reduce alert fatigue

# Sandbox:
#   + Definitive judgment by observing actual execution
#   - Sophisticated malware detects sandbox and stays dormant

다중 감염형 및 매크로 바이러스

다중 감염형 바이러스는 여러 감염 경로를 동시에 사용합니다. 예를 들어 실행 파일과 부트 섹터를 모두 감염시킵니다. 이 경우 한 경로만 정리하면 다른 경로가 계속 활성 상태로 남아 재감염을 일으킬 수 있으므로 완전히 제거하기가 더 어렵습니다. 매크로 바이러스는 Microsoft Office 문서에 악성 VBA (Visual Basic for Applications) 매크로를 삽입하여 문서 파일을 감염시킵니다. 문서를 열고 매크로를 Enable하면 바이러스가 실행됩니다. 매크로 바이러스는 email 첨부 파일을 통해 쉽게 확산됩니다. 주된 방어 방법은 기본적으로 매크로를 Disable하고 신뢰할 수 있는 게시자가 디지털 서명한 매크로만 허용하는 것입니다.

# Macro virus defense - Group Policy:
# Office 365/2016+: Trust Center -> Macro Settings
# 'Disable all macros except digitally signed macros'
# Or: 'Disable all macros with notification'
#
# Advanced: Attack Surface Reduction (ASR) rules in Defender:
# 'Block all Office applications from creating child processes'
# 'Block Office applications from creating executable content'
# 'Block execution of potentially obfuscated scripts'

전파 방지 전략

악성 코드의 확산을 막으려면 다층 방어가 필요합니다. 바이러스의 경우 매크로 실행을 Disable하고, 모든 파일 전송(email 게이트웨이, 웹 프록시, USB Scans)을 검사하며, 엔드포인트 보호를 최신 상태로 유지해야 합니다. 웜의 경우 신속하게 패치를 적용하고(대부분의 웜 Exploits는 알려진 CVE를 대상으로 함), 불필요한 네트워크 프로토콜을 Disable하고(SMBv1을 Disable), 네트워크를 세분화하여 측면 확산 범위를 제한하며, 네트워크 서비스 전체에 강력한 인증을 적용해야 합니다. Trojan의 경우 애플리케이션 허용 목록을 적용하고, 승인되지 않은 소프트웨어를 설치하지 않도록 사용자를 교육하며, 설치 전에 소프트웨어 해시를 Verify해야 합니다. 심층 방어는 개별 제어가 놓치는 부분을 보완합니다.

# Disable SMBv1 (prevent WannaCry-style worm propagation):
# PowerShell:
Set-SmbServerConfiguration -EnableSMB1Protocol $false
# Or Group Policy:
# Computer Config -> Admin Templates -> Network -> Lanman Server
# 'Enable insecure guest logons' = Disabled

# Verify SMBv1 is disabled:
Get-SmbServerConfiguration | Select EnableSMB1Protocol

드라이브 바이 다운로드 및 워터링 홀 공격

드라이브 바이 다운로드는 악성 또는 침해된 웹 사이트를 방문했을 때 페이지를 로드하는 것 외에 사용자가 아무 작업을 하지 않아도 악성 코드가 몰래 설치되는 방식입니다. Attacker는 브라우저나 플러그인의 취약점(구형 Flash, Java, PDF 리더)을 악용하여 악성 코드를 실행합니다. 워터링 홀 공격은 표적 집단이 자주 방문하는 정상적인 웹 사이트를 침해하고, 방문자를 감염시키기 위해 드라이브 바이 다운로드 코드를 심는 공격입니다. Attacker는 표적을 직접 공격하는 대신 ‘워터링 홀을 오염시키고’ 피해자가 그곳을 방문하기를 기다립니다. 방어 방법으로는 브라우저와 플러그인을 최신 상태로 유지하고, 플러그인에 클릭 투 플레이를 사용하며, 알려진 악성 사이트를 차단하는 웹 프록시를 Deploy하는 것이 있습니다.

# Drive-by download defense:
# 1. Keep browser, OS, and plugins fully patched
# 2. Disable Flash, Java, and legacy plugins entirely
# 3. Use web proxy with URL filtering
# 4. Enable click-to-play for remaining plugins
# 5. Use browser content security policies (CSP header)
# 6. Consider browser isolation (remote browser in cloud sandbox)
#    -> no local code execution even if site is malicious

악성 코드 사고 대응

악성 코드가 탐지되면 대응은 NIST IR 수명 주기를 따릅니다. Containment: 감염된 호스트를 즉시 격리하여(네트워크에서 제거하거나 호스트 기반 방화벽 규칙 적용) 확산을 막습니다. 제거: 심각한 감염의 경우 정리를 시도하는 것보다 시스템 이미지를 다시 만드는 것이 더 안전합니다. 정리만 하면 지속성 메커니즘이 살아남을 위험이 있습니다. 증거 보존: 포렌식이 필요하다면 시스템 이미지를 다시 만들기 전에 메모리 이미지와 디스크 이미지를 확보합니다. 복구: 깨끗한 백업에서 복원하고 무결성을 Verify한 뒤 재감염 징후가 있는지 면밀히 monitoring합니다. 향후 탐지를 개선할 수 있도록 침해 지표(IoCs)를 기록합니다.

# Malware containment (immediate isolation):
# Network level: firewall rule to block host traffic
iptables -I INPUT 1 -s 192.168.1.50 -j DROP
iptables -I OUTPUT 1 -d 192.168.1.50 -j DROP

# Host level: disable network adapter (prevents spread)
ip link set eth0 down

# Memory image before remediation:
winpmem_mini_x64.exe memory.dmp
# Disk image:
dcfldd if=/dev/sda of=/forensics/sda.img hash=sha256

빠른 확인

이 과정을 통해 배운 CompTIA Security+ (SY0-701) 개념을 점검해 보세요.

과정 요약

이 과정에서는 다음을 배웠습니다. 바이러스는 호스트 파일에 붙고 사용자의 작업이 있어야 확산되며, 다형성과 같은 기법을 사용해 서명 탐지를 회피합니다. 웜은 취약점을 악용하여 사용자의 작업 없이 네트워크 전체로 자기 전파하고, 빠르고 대규모인 감염을 일으킵니다. 트로이 목마는 정상적인 소프트웨어로 위장하여 사용자가 설치하도록 속이며, 백도어와 C2 통신을 설정하는 경우가 많습니다. 다음에서는 랜섬웨어와 CryptoLocker를 자세히 살펴봅니다.

자주 묻는 질문

“바이러스, 웜, 트로이 목마” 강의는 무료인가요?

네 — “바이러스, 웜, 트로이 목마” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cloud & IT Cert Prep 강의 전체를 잠금 해제할 수 있습니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

“바이러스, 웜, 트로이 목마”에서 뭘 배우나요?

스스로 복제되는 바이러스, 네트워크로 확산되는 웜, 위장된 트로이 목마를 비교하고 각각의 전파 방식과 일반적인 피해를 이해합니다. 브라우저에서 직접 실행하는 실습 코드로 Cloud & IT Cert Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cloud & IT Cert Prep을(를) 시작하는 데 경험이 필요한가요?

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

“바이러스, 웜, 트로이 목마” 강의는 얼마나 걸리나요?

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

이 Cloud & IT Cert Prep 강의에서 코드를 작성하고 실행할 수 있나요?

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

이 강의의 모든 강의

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