이 글의 목적은 기업과 기관이 랜섬웨어 감염 시 즉시 실행할 수 있는 표준 대응 절차를 제공하여 피해 확산을 막고, 안전한 복구와 재발 방지를 체계적으로 수행하도록 돕는 것이다.
1. 30분 내 초기 대응: 네트워크 분리와 현상 고정
1.1 즉시 단절(Containment) 우선순위
- 감염 의심 단말을 유·무선 네트워크에서 즉시 분리한다.
- 공유 스토리지, 백업 네트워크, 도메인 컨트롤러와의 연결을 차단한다.
- 업무 연속성보다 확산 차단을 최우선 한다.
주의 : 전원을 강제 차단하기보다 네트워크만 분리하고 전원을 유지하여 메모리 포렌식과 프로세스 확인이 가능하도록 한다.
1.2 OS별 즉시 차단 명령 예시
# Windows PowerShell (관리자) Get-NetAdapter | Where-Object {$_.Status -eq "Up"} | Disable-NetAdapter -Confirm:$false New-NetFirewallRule -DisplayName "Block_All_Outbound" -Direction Outbound -Action Block -Enabled True
macOS
networksetup -setairportpower en0 off
sudo ifconfig en0 down
Linux
sudo nmcli networking off
또는
sudo ip link set eth0 down
sudo ip link set wlan0 down
1.3 진행 중 암호화 중지 시도
# Windows: 의심 프로세스 나열 및 강제 종료 Get-Process | Sort-Object CPU -Descending | Select-Object -First 20 Stop-Process -Name "예상프로세스명" -Force
Linux: 고CPU 프로세스 식별 및 Kill
ps aux --sort=-%cpu | head
sudo kill -9
주의 : 프로세스 강제 종료 전 작업 디렉터리와 실행 경로를 기록한다. 추후 IOC 정리에 필요하다.
2. 증거 보존과 현상 기록
2.1 반드시 수집할 아티팩트
| 구분 | 내용 | 수집 방법 |
|---|---|---|
| 실행 파일 | 의심 실행파일, 드로퍼, 스케줄러 스크립트 | 읽기 전용 매체로 복사, 해시 생성 |
| 노트 | 랜섬노트(README, RECOVER, HOW_TO_DECRYPT 등) | 원본 보존 및 사본 생성 |
| 로그 | 이벤트 로그, 인증 로그, EDR 알림 | 시간대 동기화 후 내보내기 |
| 네트워크 | 방화벽, 프록시, DNS 질의 기록 | 관련 기간만 추출 |
| 시스템 정보 | 프로세스 목록, 서비스, 스케줄러 | 명령 출력 저장 |
2.2 해시 생성 템플릿
# Windows PowerShell Get-ChildItem "C:\Suspicious\" -Recurse | Get-FileHash -Algorithm SHA256 | ` Export-Csv C:\incident\hashes.csv -NoTypeInformation -Encoding UTF8
Linux/macOS
find /suspect -type f -print0 | xargs -0 sha256sum > /incident/hashes.txt
2.3 감염 타임라인 기록 양식
날짜시각(로컬/UTC): 감염 징후: 사용자 신고 내용: 의심 파일/프로세스: 네트워크 연결: 조치 내역(담당/시간): 3. 확산 경로 차단과 권한 정리
3.1 계정·자격증명 통제
- 의심 단말 로그인 계정 비밀번호를 즉시 초기화한다.
- 도메인 관리자·서비스 계정의 세션과 토큰을 무효화한다.
- 원격 데스크톱, SMB, WMI, PsExec 사용 이력을 점검한다.
3.2 공유자원 접근 차단
# Windows: 즉시 공유 중단 Get-SmbShare | Where-Object {$_.Name -ne "IPC$"} | ForEach-Object { Revoke-SmbShareAccess -Name $_.Name -AccountName "Everyone" -Force }
NAS/스토리지: 스냅샷 잠금
제품별 CLI/GUI에서 스냅샷 Lock 기능 사용
주의 : 스냅샷과 백업 저장소가 감염 네트워크와 논리적으로 분리되어 있는지 즉시 확인한다.
4. 변조·암호화 범위 파악
4.1 최근 변경 파일 스캔
# Windows PowerShell: 24시간 내 변경 파일 목록 $since = (Get-Date).AddDays(-1) Get-ChildItem -Path "C:\Data" -Recurse | Where-Object { $_.LastWriteTime -ge $since } | Select-Object FullName, Length, LastWriteTime | Export-Csv C:\incident\changed.csv -NoTypeInformation
Linux: 24시간 내 변경
sudo find /data -type f -mtime -1 -printf "%TY-%Tm-%Td %TH:%TM:%TS %p\n" > /incident/changed.txt
4.2 흔한 랜섬 확장자 목록 예시
| 확장자 패턴 | 비고 |
|---|---|
| *.locked, *.encrypted, *.enc | 범용 계열 |
| *.lockbit, *.conti, *.revil 등 | 그룹명 반영 |
| *.payfast, *.pay, *.payXXX | 결제 유도형 |
| 원본+랜덤문자열 | 랜덤 서픽스 부여형 |
5. 복구 전략 수립: 백업 복구와 복호화 툴
5.1 의사결정 매트릭스
| 조건 | 권고 조치 |
|---|---|
| 오프사이트·오프라인 백업 존재 | 백업 무결성 검증 후 단계적 복구 |
| 온사이트 백업만 존재 | 감염 여부 점검 후 안전 구역으로 복사 |
| 백업 없음 | 복호화 툴 가능성 검토, 데이터 우선순위 선정 |
5.2 복구 전 무결성 검증 절차
- 백업 메타데이터와 스냅샷 해시를 비교한다.
- 샘플 복원 후 오프라인 샌드박스에서 여는 테스트를 수행한다.
- 시스템 파일과 레지스트리 지속성 항목을 초기화한다.
- EDR/백신 최신 업데이트 후 전수 스캔을 수행한다.
5.3 복구 실행 체크리스트
- 1단계: 핵심 서비스(AD/IDP, DNS/DHCP, 파일서버)를 최소 구성으로 복구한다.
- 2단계: 업무 애플리케이션과 DB를 복구한다.
- 3단계: 사용자 단말을 포맷 후 재배포한다.
- 4단계: 권한 최소화, 네트워크 세그먼트 재구성, MFA 전면 적용을 완료한다.
5.4 복호화 툴 확인 절차
- 랜섬노트와 암호화 확장자를 기반으로 계열을 식별한다.
- 샘플 암호화 파일과 노트를 안전 구역으로 복사한다.
- 복호화 도구가 존재하는지 확인하고, SHA256 해시로 도구의 진위를 확인한다.
- 테스트 데이터로 복호화 성공 여부와 데이터 무결성을 검증한다.
주의 : 인터넷에서 내려받은 복호화 도구를 감염 환경에서 직접 실행하지 않는다. 오프라인 분석 구역에서만 테스트한다.
6. 시스템 정리와 클린 빌드
6.1 재설치 원칙
- OS와 애플리케이션은 신뢰 가능한 이미지로 재설치한다.
- 로컬 프로필과 사용자 데이터는 백업에서 검증 후만 복원한다.
- 부팅 시점부터 EDR·백신·디스크 암호화 정책을 적용한다.
6.2 도메인 재가입 전 점검
# Windows: 지속성 확인 포인트 Get-ScheduledTask | Where-Object {$_.TaskName -match "(update|agent|backup|random)"} reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run Get-WmiObject win32_service | Where-Object {$_.StartMode -eq "Auto"}
Linux: 지속성 확인 포인트
systemctl list-unit-files --type=service | grep enabled
crontab -l
sudo ls /etc/cron./
7. 공지·법적·대외 보고
7.1 내부 커뮤니케이션
- 사실 기반 단문 공지로 임직원 행동지침을 배포한다.
- 피싱·의심 첨부 실행 금지, 외부 저장장치 사용 중단을 안내한다.
7.2 이해관계자 통지
- 고객·파트너에는 영향 범위, 현재 조치, 예정 일정을 요약하여 고지한다.
- 규제 대상 데이터가 포함되면 관련 기관 신고 의무를 준수한다.
8. 원인분석과 재발 방지
8.1 루트코즈 분석(RCA) 프레임
- 침투 벡터: 이메일, RDP, 공급망, 취약점 등 원천을 규명한다.
- 권한 상승: 자격증명 절취, 취약 서비스 악용 여부를 확인한다.
- 수평 이동: Lateral Movement 경로와 사용 도구를 식별한다.
- 암호화 트리거: 스케줄러, 그룹정책, 도메인 스크립트 사용 여부를 확인한다.
8.2 보완대책 체크리스트
- 패치 관리: 인터넷 노출 자산 월 1회 이상 패치한다.
- MFA: 관리자·VPN·원격접속에 전면 적용한다.
- 권한 최소화: 로컬 관리자 권한을 제거한다.
- 세그먼트: 사용자망·서버망·백업망을 분리한다.
- 백업 3-2-1: 3개 사본, 2개 매체, 1개 오프사이트를 유지한다.
- 오프라인 스냅샷: 변경불가능 스냅샷과 보존기간을 설정한다.
- 메시지 보안: 첨부 파일 샌드박스와 URL 재작성 정책을 적용한다.
9. 백업 검증 자동화 예시
9.1 무결성 샘플 복원 스크립트
# PowerShell: 샘플 복원 후 해시 비교 $src = "\\backup\snapshot\2025-11-08" $dst = "D:\restore_test" New-Item -ItemType Directory -Force -Path $dst | Out-Null Copy-Item "$src\sample\*" $dst -Recurse Get-ChildItem $dst -Recurse | Get-FileHash -Algorithm SHA256 | ` Export-Csv C:\incident\restore_hash.csv -NoTypeInformation # 원본 해시와 비교 로직은 CI에서 수행
Bash: 무결성 검증
SRC="/mnt/backup/snap_2025-11-08/sample"
DST="/safe/restore_test"
mkdir -p "$DST"
rsync -a --checksum "$SRC/" "$DST/"
( cd "$DST" && find . -type f -print0 | xargs -0 sha256sum ) > /incident/restore_hash.txt
10. 운영 재가동 전 보안 게이트
| 항목 | 통과 기준 | 검증 담당 |
|---|---|---|
| EDR 전개율 | 서버·단말 100% 적용 | 보안운영 |
| 취약점 스캔 | 고위험 0건 | 보안운영 |
| 백업 상태 | 오프사이트 복제 정상 | 인프라 |
| MFA | 관리자·VPN 필수 | 인프라 |
| 로그 수집 | SIEM 수집 95% 이상 | 보안운영 |
11. 사용자 단말 정리 가이드
11.1 포맷·재배포 표준
- UEFI 보안부팅 활성화 이미지를 사용한다.
- 디스크 전체 초기화 후 OS를 자동 설치한다.
- 사전 구성된 정책(방화벽·EDR·DLP)을 즉시 적용한다.
11.2 사용자 데이터 복원 규칙
- 문서·사진 등 사용자 폴더만 복원한다.
- 실행 파일과 스크립트는 복원 금지한다.
- 복원 후 전수 스캔을 수행한다.
12. 연습과 사후 개선
12.1 모의훈련(테이블탑) 시나리오
- 이메일 첨부 실행을 통한 초기 침투 가정으로 시작한다.
- 30분 내 네트워크 분리 의사결정과 책임자를 검증한다.
- 백업 복구 소요와 최소 서비스 재가동 시간을 측정한다.
12.2 지표(KPI)
- MTTD(탐지 소요), MTTR(복구 소요), 감염 범위, 데이터 손실량을 기록한다.
- 훈련과 실전 지표를 비교하여 계획을 갱신한다.
13. 부록: 현장에서 바로 쓰는 점검표
13.1 현장 체크리스트
| 단계 | 체크 포인트 | 완료 |
|---|---|---|
| 분리 | 유·무선 모두 차단 | [ ] |
| 포렌식 | 의심 파일·로그 수집, 해시 생성 | [ ] |
| 확산 차단 | 공유·RDP·SMB 차단 | [ ] |
| 백업 | 오프사이트 무결성 확인 | [ ] |
| 복원 | 샌드박스 검증 후 단계적 복구 | [ ] |
| 강화 | MFA·패치·세그먼트 이행 | [ ] |
13.2 RACI 예시
| 작업 | R | A | C | I |
|---|---|---|---|---|
| 네트워크 분리 | NOC | CISO | 보안팀 | 업무부서 |
| 포렌식 수집 | DFIR | CISO | IT운영 | 법무 |
| 백업 복구 | 인프라 | CTO | 보안팀 | 업무부서 |
| 대외 공지 | 홍보 | CEO | 법무 | 고객사 |
FAQ
비용 때문에 몸값 지불을 고려해야 하나?
지불은 재감염과 2차 갈취 위험을 높이며 복호화 성공을 보장하지 않는다. 합법적 대응과 복구·강화에 집중하는 것이 합리적이다.
복호화 툴이 없으면 방법이 전혀 없나?
없지는 않다. 부분 암호화된 파일의 잔존 데이터 회수, 로그·이전 버전·메일 첨부 원본 복구, 제3자 보관 사본 확보 등 대안을 병행한다.
백업도 감염된 것 같다. 어떻게 하나?
감염 이전 시점 스냅샷으로 롤백하고, 오프라인 보관본에서 재복제한다. 감염 징후가 없는 스냅샷을 기준으로 새로운 신뢰 사슬을 만든다.
운영 재가동은 언제 가능하나?
EDR 100% 전개, 고위험 취약점 0건, 백업 오프사이트 정상, MFA 전면 적용, 로그 수집 안정화 등 게이트 조건 충족 후 재가동한다.
사용자에게 무엇을 공지해야 하나?
사실 중심으로 감염 범위, 조치 현황, 요구 행동(첨부 실행 금지, 암호 변경 등)만 간결히 안내한다.