Linux 시스템 보안 기초 · 47/50편
이 글은
리눅스 시스템 기초·파일 · 권한 · 사용자 관리·서비스 · 프로세스 관리시리즈를 선행 학습으로 두고, 동일한 개념을 보안관제(SOC) 관점에서 한 단계 확장합니다.
IOC(Indicator of Compromise, 침해 지표)는 '침해가 있었음을 나타내는 구체적 증거값'입니다. IP·해시·파일 경로 같은 것이죠. IOC를 체계적으로 수집해야 다른 시스템으로 조사를 확장하고, 탐지 룰로 만들 수 있습니다.
리눅스 침해에서 수집하는 IOC 유형:
| 유형 | 예시 | 출처(이 시리즈) |
|---|---|---|
| IP | 203.0.113.10 | auth.log, ss(14·38편) |
| Domain/URL | c2.example.com | cron/service ExecStart(30·31편) |
| Hash | 악성 바이너리 sha256 | 의심 파일(27편) |
| Process | /tmp/.x | /proc(27편) |
| File | 웹셸 경로 | 소유권(24편) |
| Account | hacker | passwd(04·06편) |
| Port | 4444 | ss(37·38편) |
| Command | curl 명령 파이프 | audit execve(43편) |
침해 타임라인(46편)
│ 각 단계에서 지표 추출
▼
IOC 수집: IP / Domain / Hash / Process / File / Account / Port / Command
│
├─▶ 다른 시스템 조사 확장 (같은 IOC 있나?)
└─▶ 탐지 룰/차단 목록으로 전환 (재발 방지)
IOC 수집은 타임라인(46편)을 '값'으로 환원하는 작업입니다. 각 침해 단계에서 재사용 가능한 지표를 뽑아냅니다. 예: 무차별 대입 출발 IP, C2 목적지 IP:포트, 악성 바이너리 해시, 생성된 계정명, 악성 cron 명령.
수집한 IOC는 두 방향으로 씁니다. (1) 확산 조사: 같은 IOC가 다른 서버에도 있는지 검색해 침해 범위를 파악. (2) 방어 전환: IP는 차단 목록에, 해시는 탐지 룰에, 계정은 감시 목록에 넣어 재발을 막습니다. 해시 계산은 원본을 변경하지 않는 읽기 작업이라 증거 보존(48편) 원칙과도 부합합니다.
# 파일 해시(IOC) 계산 — 증거 보존을 위해 읽기만
sha256sum /tmp/.x /etc/systemd/system/updater.service 2>/dev/null
# 로그에서 공격 IP 추출
sudo grep -E 'Failed|Accepted' /var/log/auth.log \
| grep -oE 'from [0-9.]+' | awk '{print $2}' | sort -u
# 의심 프로세스의 실행 파일·연결(IOC 묶음)
sudo ls -l /proc/<PID>/exe; sudo ss -tnp | grep <PID>
# 수집 IOC를 한 파일로 정리
echo '203.0.113.10' >> /root/iocs.txt
IOC 정리 산출물의 형태입니다. (예시 출력 — 수집 결과 정리)
[IOC 목록 - 사건 #2026-0925]
IP : 203.0.113.10 (brute force 출발지, C2)
Port : 4444 (리버스 쉘)
Account : hacker (14:07 생성)
File : /tmp/.x
Hash : sha256:9f2b... (/tmp/.x)
Service : updater.service (ExecStart=curl 파이프)
Cron : */5 * * * * curl 파이프
이렇게 유형별로 정리하면, 각 IOC를 다른 서버 검색·차단 목록·탐지 룰로 즉시 전환할 수 있습니다.
IOC의 품질이 조사의 품질을 결정합니다. 맥락 없는 IOC(예: 공용 CDN IP)는 오히려 혼란을 줍니다.
IOC는 SOC와 위협 인텔리전스의 공용어입니다. Wazuh/SIEM은 수집 IOC를 CDB 목록·탐지 룰로 등록해 실시간 매칭하고, 위협 인텔 피드(예: MISP)와 연동해 알려진 악성 지표와 대조합니다. STIX/TAXII 같은 표준으로 조직 간 공유도 가능합니다. IOC 수집은 48편 초동 대응의 마지막 단계이자, 탐지 룰 개발의 출발점입니다.
[ ] 타임라인에서 유형별 IOC 추출
[ ] 원본 미변경(읽기·해시) 수집
[ ] 수집 시각·출처 기록
[ ] 확산 조사·차단 목록 전환
다음 편에서는 48. Linux 침해사고 초동 대응 를 다룹니다. 수집한 증거를 바탕으로, 침해 의심 서버의 초동 대응 절차를 정리합니다.
본 실습은 격리된 테스트 VM(Rocky Linux / Ubuntu, VMware) 및 테스트 계정 환경을 기준으로 하며, 운영 서버를 대상으로 하지 않습니다. 실행 결과는 실제 캡처와 예시 출력을 명확히 구분해 표기합니다.