Linux 시스템 보안 기초 · 47/50편

이 글은 리눅스 시스템 기초 · 파일 · 권한 · 사용자 관리 · 서비스 · 프로세스 관리 시리즈를 선행 학습으로 두고, 동일한 개념을 보안관제(SOC) 관점에서 한 단계 확장합니다.

선행 학습

1. 들어가며

IOC(Indicator of Compromise, 침해 지표)는 '침해가 있었음을 나타내는 구체적 증거값'입니다. IP·해시·파일 경로 같은 것이죠. IOC를 체계적으로 수집해야 다른 시스템으로 조사를 확장하고, 탐지 룰로 만들 수 있습니다.

2. 핵심 개념

리눅스 침해에서 수집하는 IOC 유형:

유형예시출처(이 시리즈)
IP203.0.113.10auth.log, ss(14·38편)
Domain/URLc2.example.comcron/service ExecStart(30·31편)
Hash악성 바이너리 sha256의심 파일(27편)
Process/tmp/.x/proc(27편)
File웹셸 경로소유권(24편)
Accounthackerpasswd(04·06편)
Port4444ss(37·38편)
Commandcurl 명령 파이프audit execve(43편)
침해 타임라인(46편)
     │ 각 단계에서 지표 추출
     ▼
IOC 수집: IP / Domain / Hash / Process / File / Account / Port / Command
     │
     ├─▶ 다른 시스템 조사 확장 (같은 IOC 있나?)
     └─▶ 탐지 룰/차단 목록으로 전환 (재발 방지)

3. 동작 원리

IOC 수집은 타임라인(46편)을 '값'으로 환원하는 작업입니다. 각 침해 단계에서 재사용 가능한 지표를 뽑아냅니다. 예: 무차별 대입 출발 IP, C2 목적지 IP:포트, 악성 바이너리 해시, 생성된 계정명, 악성 cron 명령.

수집한 IOC는 두 방향으로 씁니다. (1) 확산 조사: 같은 IOC가 다른 서버에도 있는지 검색해 침해 범위를 파악. (2) 방어 전환: IP는 차단 목록에, 해시는 탐지 룰에, 계정은 감시 목록에 넣어 재발을 막습니다. 해시 계산은 원본을 변경하지 않는 읽기 작업이라 증거 보존(48편) 원칙과도 부합합니다.

4. 명령어 실습

# 파일 해시(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

5. 실행 결과

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를 다른 서버 검색·차단 목록·탐지 룰로 즉시 전환할 수 있습니다.

6. 보안 관점 — 정상 사용 vs 악용

  • 정상: IOC 없음(또는 기준선 내 값).
  • 수집 원칙:
    • 원본을 변경하지 않는 방식으로 수집(읽기·해시)
    • 수집 시각·출처를 함께 기록(증거 연계)
    • false positive 주의 — 정상 IP/파일을 IOC로 오등록하지 않기

IOC의 품질이 조사의 품질을 결정합니다. 맥락 없는 IOC(예: 공용 CDN IP)는 오히려 혼란을 줍니다.

7. 탐지 방법

  • 타임라인 각 단계에서 지표 추출
  • 유형별(IP/Hash/Account 등) 구조화
  • 다른 시스템으로 확산 검색
  • 방어(차단/룰)로 전환

8. SOC 관점 — SIEM · Wazuh · IOC

IOC는 SOC와 위협 인텔리전스의 공용어입니다. Wazuh/SIEM은 수집 IOC를 CDB 목록·탐지 룰로 등록해 실시간 매칭하고, 위협 인텔 피드(예: MISP)와 연동해 알려진 악성 지표와 대조합니다. STIX/TAXII 같은 표준으로 조직 간 공유도 가능합니다. IOC 수집은 48편 초동 대응의 마지막 단계이자, 탐지 룰 개발의 출발점입니다.

9. 실습 체크리스트

[ ] 타임라인에서 유형별 IOC 추출
[ ] 원본 미변경(읽기·해시) 수집
[ ] 수집 시각·출처 기록
[ ] 확산 조사·차단 목록 전환

10. 핵심 정리

  • IOC는 침해를 나타내는 구체적 증거값이다.
  • IP·Domain·Hash·Process·File·Account·Port·Command를 수집한다.
  • 수집은 원본을 변경하지 않는 방식으로 한다.
  • IOC는 확산 조사와 방어 전환에 사용한다.
  • 맥락 없는 IOC는 오히려 혼란을 주므로 품질이 중요하다.

11. 다음 편

다음 편에서는 48. Linux 침해사고 초동 대응 를 다룹니다. 수집한 증거를 바탕으로, 침해 의심 서버의 초동 대응 절차를 정리합니다.


본 실습은 격리된 테스트 VM(Rocky Linux / Ubuntu, VMware) 및 테스트 계정 환경을 기준으로 하며, 운영 서버를 대상으로 하지 않습니다. 실행 결과는 실제 캡처와 예시 출력을 명확히 구분해 표기합니다.

profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글