IT Knowledge/Security/images/31-위협-인텔리전스-diagram.svg

위협 인텔리전스 (Threat Intelligence)

위협 인텔리전스 수집, 분석, 활용 방법을 이해합니다.

📌 학습 목표

  • 위협 인텔리전스 정의 및 유형 이해
  • 위협 정보 수집 방법 습득
  • 위협 분석 및 상관 분석 이해
  • 위협 인텔리전스 플랫폼 사용
  • 위협 헌팅(Hunting) 방법 이해

1. 위협 인텔리전스 개요

정의

위협 인텔리전스는 사이버 위협에 대한 정보를 수집, 분석, 배포하여 보안 의사결정을 지원하는 프로세스입니다.

위협 인텔리전스 수명주기

graph LR
    A[지시] --> B[수집]
    B --> C[분석]
    C --> D[배포]
    D --> E[적용]
    E --> A

위협 인텔리전스 피라미드

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Tactical (전술적)          │
- IOC (Indicators of Compromise)      │
- IP 주소, 도메인, 해시값            │
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Operational (운영적)          │
- 공격 캠페, TTP (Tactics,       │
  Techniques, Procedures)           │
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Strategic (전략적)            │
- 위협 행위자, 동기, 능력          │
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

2. 위협 인텔리전스 유형

1. 전술적 위협 인텔리전스

IOC (Indicators of Compromise)

IOC 유형설명예시
IP 주소악성 IP203.0.113.1
도메인악성 도메인evil.example.com
URL악성 URLhttp://evil.com/malware
해시악성코드 해시MD5, SHA256
메일 주소악성 메일attacker@evil.com
파일명악성 파일malware.exe

2. 운영적 위협 인텔리전스

TTP (Tactics, Techniques, Procedures)

MITRE ATT&CK 프레임워크:

전술기법예시
Initial AccessSpear Phishing피싱 이메일
ExecutionCommand LinePowerShell 명령
PersistenceRegistry Runs시작 프로그램 등록
Privilege EscalationExploitation for Privilege Escalation취약점 이용
Defense EvasionObfuscated Files or Information난독화 파일
Credential AccessBrute Force무차별 대입 공격
DiscoverySystem Information Discovery시스템 정보 수집
Lateral MovementRemote Services원격 서비스 이용
CollectionData from Local System로컬 시스템 데이터 수집
ExfiltrationExfiltration Over Web Protocol웹 프로토콜을 통한 데이터 유출
Command & ControlWeb Protocols웹 프로토콜 C2

3. 전략적 위협 인텔리전스

위협 행위자 (Threat Actors)

행위자국가/그룹동기능력
APT1국가 A스파이매우 높음
APT29국가 B스파이높음
Lazarus Group북한금융 도난높음
FIN7사이버 범죄 조직금융 도난중간~높음

3. 위협 정보 수집

수집 방법

1. 오픈 소스 인텔리전스 (OSINT)

# 도메인 정보 수집
whois example.com
dig example.com ANY
 
# IP 주소 정보
curl ipinfo.io/8.8.8.8
 
# 메일 헤더 분석
# Google 메일: "원본 표시"

2. 허니팟 (Honeypot)

하위 팟 유형:

유형설명예시
네트워크 하위팟가짜 포트/서비스Cowrie, Dionaea
웹 하위팟가짜 웹 사이트Glastopf, BeEF
DB 하위팟가짜 데이터베이스HoneyDB
애플리케이션 하위팟가짜 애플리케이션Canarytokens

Cowrie 하위팟 구성:

# /etc/cowrie/cowrie.cfg
[honeypot]
# 네트워크 설정
interface = eth0
 
# SSH 설정
ssh_enabled = yes
ssh_version = 2
 
# TFTP 설정
tftp_enabled = yes
 
# 로그 설정
[output_log]
logfile = /var/log/cowrie/cowrie.log

3. 쉐어 인텔리전스 플랫폼

플랫폼설명특징
VirusTotal악성코드 분석다중 엔진 스캔
AlienVault OTX위협 인텔리전스커뮤니티 기반
Abuse.ch피싱/맬웨어 정보실시간 업데이트
ThreatConnect위협 분석 플랫폼상관 분석

4. 위협 분석

1. 악성코드 분석

정적 분석

# PE 파일 정보 확인
pecheck malware.exe
 
# 문자열 추출
strings malware.exe | less
 
# 디버거 탐지
strings malware.exe | grep -i "debug\|monitor"

동적 분석 (Sandbox)

Cuckoo Sandbox
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. 샘플 제출
2. 샌드박스 환경에서 실행
3. 동작 분석
4. 보고서 생성
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Cuckoo 제출:

# Python API
import cuckoo
 
# 샘플 제출
task_id = cuckoo.submit(malware_sample, options=['run-as-user'])
 
# 보고서 확인
report = cuckoo.view(task_id)
print(report['behavior']['summary'])

2. 네트워크 분석

PCAP 분석 (Wireshark)

# 패킷 캡처
tcpdump -i eth0 -w capture.pcap
 
# Wireshark 분석
# 메뉴: File -> Open -> capture.pcap

필터 예시:

# DNS 쿼리
dns.qry.name == "evil.com"

# HTTP POST
http.request.method == "POST"

# TCP SYN
tcp.flags.syn == 1 && tcp.flags.ack == 0

5. 위협 상관 분석

상관 분석 도구

도구설명특징
MISP위협 인텔리전스 공유 플랫폼오픈 소스
OpenCTI위협 인텔리전스 플랫폼MITRE ATT&CK 매핑
STIX위협 정보 공유 표준구조화된 데이터

MISP 구성

# MISP 설치 (Docker)
docker compose up -d
 
# 이벤트 생성
curl -H "Authorization: <API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "Event": {
      "info": "Malicious IP Detected",
      "Attribute": [
        {
          "type": "ip-dst",
          "value": "203.0.113.1"
        }
      ]
    }
  }' \
  https://misp.example.com/events

STIX (Structured Threat Information Expression)

{
  "type": "indicator",
  "id": "indicator--uuid",
  "created": "2024-01-29T00:00:00.000Z",
  "modified": "2024-01-29T00:00:00.000Z",
  "pattern": "[ipv4-addr:value = '203.0.113.1']",
  "valid_from": "2024-01-29T00:00:00.000Z",
  "labels": ["malicious-activity"]
}

6. 위협 헌팅 (Threat Hunting)

정의

공격이 발생하기 전에 이상 활동을 탐지하는 능동적 보안 방법입니다.

위협 헌팅 접근법

1. 가설 기반 헌팅

가설: "공격자가 RDP를 통해 공격할 것이다"

헌팅 쿼리:
SELECT * FROM security_logs
WHERE event_type = 'RDP_LOGIN'
  AND failed_attempts > 10
  AND time > '2024-01-01'

2. 킬체인 기반 헌팅

MITRE ATT&CK T1003 (OS Credential Dumping)

헌팅:
- LSASS 메모리 접근 탐지
- Procdump 사용 탐지
- Mimikatz 실행 탐지

위협 헌팅 도구

도구설명사용 사례
Elasticsearch로그 검색 및 분석대량 로그 분석
Kibana시각화 및 대시보드헌팅 대시보드
Sigma헌팅 규칙 언어규칙 기반 헌팅
Osquery엔드포인트 탐지호스트 기반 헌팅

Sigma 규칙 예시

title: Suspicious PowerShell Execution
id: 8f8d9476-0238-4836-8745-9f403d9e2a3d
status: stable
description: Detects suspicious PowerShell execution
references:
    - https://attack.mitre.org/techniques/T1059/001
author: SOC Team
date: 2024/01/29
logsource:
    product: windows
    service: security
    definition: 'Selection'
    selection:
        EventID: 4688
        NewProcessName: '*\powershell.exe'
        SubjectUserName: '*'
        CommandLine: '* -EncodedCommand *'
    condition: selection
falsepositives:
    - Administrator
    - System
level: high

🎯 실습 과제

1. 위협 인텔리전스 수집

# 1. 도메인 정보 수집
whois suspicious.com
dig suspicious.com ANY
 
# 2. IP 주소 정보
curl ipinfo.io/203.0.113.1
 
# 3. VirusTotal API 사용
curl -X POST 'https://www.virustotal.com/vtapi/v2/file/scan' \
  --form 'apikey=<YOUR_API_KEY>' \
  --form 'file=@sample.exe'

2. Cuckoo 샌드박스 사용

# 1. 샘플 제출
cuckoo submit malware.exe
 
# 2. 보고서 확인
cuckoo web status
 
# 3. JSON 보고서
cuckoo report <task_id> --json

3. 위협 헌팅 쿼리

# Elasticsearch
from elasticsearch import Elasticsearch
 
es = Elasticsearch(['http://localhost:9200'])
 
# 헌팅 쿼리
result = es.search(index="security_logs", body={
    "query": {
        "bool": {
            "must": [
                {"match": {"event_type": "RDP_LOGIN"}},
                {"range": {"failed_attempts": {"gte": 10}}}
            ]
        }
    }
})
 
for hit in result['hits']['hits']:
    print(hit['_source'])

✅ 학습 체크리스트

  • 위협 인텔리전스 정의 및 유형 이해
  • IOC/TTP 개념 이해
  • 위협 정보 수집 방법 습득
  • 악성코드 분석 기법 이해
  • 쉐어 인텔리전스 플랫폼 사용
  • 상관 분석 도구(MISP, OpenCTI) 이해
  • 위협 헌팅 방법 습득
  • Sigma 규칙 작성 능력

🔗 관련 노트

📚 참고 자료


다음 학습: 보안 자동화