프록시를 활용한 위협 인텔리전스 수집: OSINT 실전 가이드

SOC 분석가와 위협 인텔리전스 팀을 위한 프록시 기반 OSINT 수집 가이드. 거주지 프록시를 활용해 조사자 IP를 보호하고, 다크웹 클리어넷 미러, 사이버범죄 포럼, IOC 피드를 안전하게 수집하는 방법을 다룹니다.

Threat Intelligence Gathering with Proxies: An OSINT Practitioner's Guide

SOC 분석가와 위협 인텔리전스 팀에게 프록시를 활용한 위협 인텔리전스 수집은 선택이 아닌 필수입니다. 조사자의 실제 IP가 노출되면 대상 사이버범죄 조직이 조사 활동을 감지하고, 방어 조치를 취하거나 보복성 공격을 가할 수 있습니다. 본 가이드는 승인된 범위 내에서 OSINT 데이터를 안전하게 수집하는 실전 방법을 다룹니다.

법적 주의사항: 본 가이드의 모든 기법은 승인된(authorized) 보안 연구 및 위협 인텔리전스 목적에만 적용됩니다. 승인 없는 시스템 접근, 자격 증명 사용, 타인의 계정 탈취는 엄격히 금지됩니다. 모든 작업은 명시적으로 승인된 범위(scope) 내에서 수행되어야 합니다.

프록시를 활용한 위협 인텔리전스 수집: 핵심 개념

위협 인텔리전스 수집은 다양한 공개 및 반공개 소스에서 IOC(침해 지표), TTP(전술·기법·절차), 위협 행위자 정보를 수집하는 과정입니다. OSINT 프록시를 활용하면 조사자의 실제 네트워크 위치를 숨기고, 대상 지역에 맞는 IP에서 데이터에 접근할 수 있습니다. 이는 단순히 IP를 숨기는 것을 넘어, 조사의 무결성과 조사자의 안전을 보장하는 핵심 운영 보안(OPSEC) 요소입니다.

예를 들어, 특정 사이버범죄 포럼의 클리어넷 프론트엔드를 모니터링할 때 데이터센터 IP로 접근하면 포럼 운영자가 즉시 조사 활동을 감지할 수 있습니다. 반면 거주지 IP를 사용하면 일반 사용자의 접근과 구분하기 어려워 조사가 노출될 위험이 크게 줄어듭니다.

OSINT 수집의 기술적 배경: 왜 이 문제가 존재하는가

현대 위협 인텔리전스 수집에서 가장 큰 장애물은 속성 추적(attribution)차단(blocking)입니다. 사이버범죄 인프라 운영자는 접근하는 IP의 ASN, 지리적 위치, 행동 패턴을 분석하여 보안 연구자의 활동을 식별합니다.

이러한 식별 메커니즘은 다음 요소에 기반합니다:

  • ASN 분석: 알려진 클라우드 제공자(AWS, GCP, Azure)나 데이터센터 ASN에서의 접근은 자동화된 활동으로 간주됩니다.
  • 지리적 비정상성: 한국에서 운영되는 포럼에 나이지리아 IP로 접근하면 의심스러운 활동으로 플래그될 수 있습니다.
  • 행동 핑거프린팅: 단일 IP에서 과도한 요청, 일관된 User-Agent, 비정상적인 탐색 패턴은 봇 활동으로 감지됩니다.
  • IP 평판 데이터베이스: MITRE ATT&CK 프레임워크에서 설명된 바와 같이, 위협 행위자들도 보안 업체의 IP 대역을 추적하고 사전 차단합니다.

이러한 이유로 위협 인텔리전스 거주지 프록시는 조사자의 실제 인프라를 보호하고, 자연스러운 접근 패턴을 시뮬레이션하며, 지리적 소스 정렬을 가능하게 하는 핵심 도구가 됩니다.

OSINT 수집 활용 사례

다크웹 클리어넷 미러 모니터링

많은 다크웹 사이트가 접근성을 높이기 위해 클리어넷(clearnet) 미러를 운영합니다. 이러한 미러는 토르 브라우저 없이도 접근 가능하지만, 동일한 차단 메커니즘이 적용됩니다. 거주지 프록시를 통해 접근하면 조사자의 IP를 숨기면서 콘텐츠를 수집할 수 있습니다.

사이버범죄 포럼 클리어넷 프론트엔드

일부 사이버범죄 포럼은 초보자 유입을 위해 클리어넷 프론트엔드를 제공합니다. 이러한 프론트엔드는 공개 게시판, 거래 섹션, 멤버 프로필 등을 포함할 수 있으며, 위협 행위자의 활동과 새로운 공격 도구의 등장을 추적하는 데 유용합니다.

공개 페이스트 사이트

Pastebin, GitHub Gist, 그리고 유사한 플랫폼은 데이터 유출, 크리덴셜 덤프, 익스플로잇 코드가 자주 게시되는 장소입니다. 자동화된 모니터링을 통해 새로운 IOC를 실시간으로 수집할 수 있지만, 빠른 속도로 요청을 보내면 IP가 차단됩니다.

침해된 자격 증명 집계 사이트

침해된 자격 증명을 집계하는 공개 사이트(예: Have I Been Pwned의 공개 API)는 브랜드 보호와 계정 탈취 모니터링에 유용합니다. 프록시를 통해 접근하면 기업 IP가 자격 증명 조회 활동과 연관되는 것을 방지할 수 있습니다.

거주지 프록시가 OSINT에 필수적인 이유

보안 연구 프록시로서 거주지 프록시가 OSINT 수집에 가장 적합한 이유는 실제 ISP에서 발급된 IP 주소를 사용하기 때문입니다. 이는 데이터센터 IP와 달리 일반 사용자의 트래픽과 구분하기 어렵게 만듭니다.

프록시 유형 OSINT 적합성 차단 위험 속도 비용
거주지(Residential) 높음 낮음 중간 (~200ms) 중간
데이터센터 낮음 높음 빠름 (~50ms) 낮음
모바일 매우 높음 매우 낮음 낮음 (~400ms) 높음

대부분의 OSINT 시나리오에서 거주지 프록시가 비용과 신뢰도의 최적 균형을 제공합니다. 모바일 프록시는 가장 높은 신뢰도를 제공하지만 비용이 상당하므로, 고가치 타겟에만 선택적으로 사용하는 것이 효율적입니다.

운영 보안: IP 회전 및 세션 격리

OSINT 수집 시 운영 보안(OPSEC)은 기술적 효율성만큼 중요합니다. 다음 원칙을 준수해야 합니다:

요청별 IP 회전

단일 IP에서 다수의 요청을 보내면 행동 핑거프린팅에 의해 감지됩니다. ProxyHat의 회전 기능을 사용하면 각 요청마다 새로운 IP를 할당받을 수 있습니다. 세션 ID를 지정하지 않으면 기본적으로 요청별 회전이 적용됩니다.

브라우저 세션 격리

수동 OSINT 조사를 수행할 때는 각 조사 세션을 격리해야 합니다. 다음을 권장합니다:

  • 조사별로 별도의 브라우저 프로필 사용
  • 쿠키, 로컬 스토리지, 캐시 정리
  • WebRTC 누수 방지 (브라우저 설정 또는 확장 프로그램)
  • 각 세션마다 다른 ProxyHat 세션 ID 사용

개인 식별자 사용 금지

OSINT 조사 중 절대 개인 이메일, 실명, 기업 도메인 계정을 사용해서는 안 됩니다. 조사 전용 별도 계정을 사용하고, 가능하면 일회용 이메일을 활용하세요. 브라우저 핑거프린트도 난독화 도구로 관리해야 합니다.

자동화된 피드 수집 구현

공개 IOC 피드를 자동으로 수집하는 것은 위협 인텔리전스 파이프라인의 기본 요소입니다. URLhausThreatFox는 악성 URL과 IOC를 무료로 제공하는 신뢰할 수 있는 소스입니다.

Python을 활용한 URLhaus 피드 수집

다음 코드는 ProxyHat 거주지 프록시를 통해 URLhaus의 최근 악성 URL 데이터를 수집하는 예제입니다:

import requests
import csv
import io

# ProxyHat 거주지 프록시 설정 (요청별 회전)
proxies = {
    "http": "http://user-country-US:pass@gate.proxyhat.com:8080",
    "https": "http://user-country-US:pass@gate.proxyhat.com:8080"
}

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
}

# URLhaus 최근 악성 URL 다운로드
response = requests.get(
    "https://urlhaus.abuse.ch/downloads/recent/",
    proxies=proxies,
    headers=headers,
    timeout=30
)

if response.status_code == 200:
    # CSV 파싱 (주석 라인 제거)
    lines = [l for l in response.text.splitlines() if not l.startswith("#")]
    reader = csv.DictReader(io.StringIO("\n".join(lines)))
    
    iocs = []
    for row in reader:
        iocs.append({
            "url": row.get("url", ""),
            "threat_type": row.get("threat_type", ""),
            "first_seen": row.get("first_seen_utc", "")
        })
    
    print(f"[+] 수집된 IOC: {len(iocs)}건")
else:
    print(f"[-] 오류: HTTP {response.status_code}")

curl을 활용한 ThreatFox 피드 수집

ThreatFox는 다양한 형태의 IOC(도메인, IP, 해시, URL)를 제공합니다. curl을 사용하면 간단하게 피드를 다운로드할 수 있습니다:

curl -x http://user-country-DE:pass@gate.proxyhat.com:8080 \
  "https://threatfox.abuse.ch/downloads/recent/" \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)" \
  -o threatfox_recent.csv \
  --max-time 60

-x 플래그는 프록시를 지정하고, --max-time은 타임아웃을 설정합니다. 국가 코드를 DE로 설정하면 독일 IP에서 접근하여 유럽 지역 소스와의 지리적 정렬을 맞출 수 있습니다.

법적 가이드라인 및 승인된 범위

위협 인텔리전스 수집 작업은 반드시 다음 법적 가이드라인을 준수해야 합니다:

  • 승인된 범위만: 조사 대상과 방법론이 사전에 승인된 범위 내에 있는지 확인하세요. 사내 정책과 법적 검토를 거쳐야 합니다.
  • 미승인 시스템 접근 금지: 공개적으로 접근 가능한 정보만 수집하세요. 인증이 필요한 시스템에 승인 없이 접근하는 것은 불법입니다.
  • 자격 증명 사용 금지: 수집된 자격 증명을 사용하여 타인의 계정에 로그인하지 마세요. 자격 증명의 존재 여부만 확인하고, 즉시 관련 당사자에게 통보하세요.
  • robots.txt 존중: 웹 스크래핑 시 대상 사이트의 robots.txt를 준수하세요. 이는 W3C 표준은 아니지만, 업계 관행과 일부 법적 해석에서 중요하게 다뤄집니다.
  • GDPR 및 CCPA 준수: 개인 데이터를 수집하는 경우, 관련 데이터 보호 규정을 준수해야 합니다. 유럽 연합의 GDPR과 캘리포니아의 CCPA는 개인 데이터 처리에 엄격한 요구사항을 부과합니다.

브랜드 위협 인텔리전스 피드 아키텍처

브랜드 보호를 위한 위협 인텔리전스 파이프라인은 다음 단계로 구성됩니다:

  1. 소스 식별: 브랜드 이름, 로고, 도메인을 언급하는 공개 소스 식별
  2. 프록시 수집: 거주지 프록시를 통해 각 소스에서 데이터 수집
  3. IOC 추출: 수집된 데이터에서 악성 도메인, 피싱 URL, 위조 제품 정보 추출
  4. 분류 및 우선순위 지정: 위협 심각도에 따라 분류
  5. 알림 및 대응: 고위협 발견 시 자동 알림 및 인계

다음은 다중 소스에서 브랜드 위협 데이터를 수집하는 통합 스크립트의 예입니다:

import requests
import time
import hashlib

class BrandThreatCollector:
    def __init__(self, brand_name, proxy_user, proxy_pass):
        self.brand_name = brand_name.lower()
        self.base_proxy = f"http://{proxy_user}:pass@gate.proxyhat.com:8080"
        
    def get_proxies(self, country="US", session_id=None):
        user_part = f"user-country-{country}"
        if session_id:
            user_part += f"-session-{session_id}"
        proxy_url = f"http://{user_part}:{self.base_proxy.split('@')[0].split('://')[1].split(':')[1]}@gate.proxyhat.com:8080"
        return {"http": proxy_url, "https": proxy_url}
    
    def collect_paste_sites(self):
        """공개 페이스트 사이트에서 브랜드 언급 모니터링"""
        sources = [
            "https://pastebin.com/raw/recent",
            "https://gist.github.com/discover/recent.json"
        ]
        findings = []
        
        for source in sources:
            sid = hashlib.md5(source.encode()).hexdigest()[:8]
            proxies = {
                "http": f"http://user-country-US-session-{sid}:pass@gate.proxyhat.com:8080",
                "https": f"http://user-country-US-session-{sid}:pass@gate.proxyhat.com:8080"
            }
            try:
                resp = requests.get(source, proxies=proxies, timeout=30,
                    headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"})
                if resp.status_code == 200 and self.brand_name in resp.text.lower():
                    findings.append({
                        "source": source,
                        "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"),
                        "content_size": len(resp.text)
                    })
                    print(f"[+] 브랜드 언급 발견: {source}")
            except Exception as e:
                print(f"[-] 오류 ({source}): {e}")
            time.sleep(3)  # 요청 간 지연
        
        return findings

# 실행
collector = BrandThreatCollector("AcmeCorp", "user", "pass")
results = collector.collect_paste_sites()
print(f"\n총 발견: {len(results)}건")

이 아키텍처에서 각 소스마다 고유한 세션 ID를 사용하여 IP를 고정하고, 요청 간 3초 지연을 설정하여 자연스러운 탐색 패턴을 시뮬레이션합니다. 100개의 동시 세션을 유지하면서도 각 세션은 독립적인 IP를 사용하므로 차단 위험이 최소화됩니다.

ProxyHat 설정 가이드

ProxyHat을 위협 인텔리전스 수집에 사용하려면 다음 연결 정보를 사용하세요:

  • 게이트웨이: gate.proxyhat.com
  • HTTP 포트: 8080
  • SOCKS5 포트: 1080

지역 타겟팅

조사 대상의 지역에 맞춰 IP를 선택할 수 있습니다:

# 미국 IP 사용
http://user-country-US:pass@gate.proxyhat.com:8080

# 독일 베를린 IP 사용
http://user-country-DE-city-berlin:pass@gate.proxyhat.com:8080

# 고정 세션 (스티키 세션) 사용
http://user-session-osint-investigation-01:pass@gate.proxyhat.com:8080

지역 타겟팅은 조사의 자연스러움을 높이는 데 중요합니다. 예를 들어 러시아 위협 그룹을 조사할 때는 러시아 인근 국가의 IP를 사용하는 것이 미국 IP를 사용하는 것보다 덜 의심스럽습니다. ProxyHat 위치 페이지에서 사용 가능한 모든 지역을 확인할 수 있습니다.

SOCKS5 사용

더 높은 익명성이 필요한 경우 SOCKS5 프로토콜을 사용할 수 있습니다:

socks5://user-country-NL:pass@gate.proxyhat.com:1080

SOCKS5는 TCP뿐만 아니라 UDP 트래픽도 지원하며, 추가적인 헤더 정보를 노출하지 않아 OSINT 수집에 적합합니다.

ProxyHat의 프라이싱 페이지에서 거주지, 데이터센터, 모바일 프록시의 요금을 확인할 수 있으며, 공식 문서에서 더 상세한 설정 가이드를 제공합니다. 웹 스크래핑 사용 사례SERP 추적 사용 사례 페이지도 관련 정보를 제공합니다.

흔한 실수와 엣지 케이스

과도한 요청 속도

가장 흔한 실수는 프록시를 사용한다고 해서 요청 속도를 제한하지 않는 것입니다. 거주지 프록시를 사용하더라도 초당 50개 이상의 요청을 보내면 차단될 수 있습니다. 요청 간 2-5초의 지연을 설정하는 것이 안전합니다.

일관된 User-Agent

모든 요청에 동일한 User-Agent를 사용하면 핑거프린팅에 취약해집니다. 실제 브라우저의 User-Agent 문자열을 회전시키거나, 최소한 조사 세션별로 다른 값을 사용하세요.

DNS 누수

프록시를 사용하더라도 DNS 요청이 로컬 DNS 서버를 통해 이루어지면 조사자의 ISP가 노출됩니다. DNS-over-HTTPS 또는 프록시의 DNS 해석을 사용하여 DNS 누수를 방지하세요.

타겟별 세션 관리

여러 타겟을 동시에 조사할 때 동일한 세션 ID를 재사용하면 IP가 고정되어 행동 패턴이 추적될 수 있습니다. 타겟별로 고유한 세션 ID를 생성하고, 일정 주기마다 세션을 갱신하세요.

핵심 요약

Key Takeaways:

  • 거주지 프록시는 OSINT 수집의 필수 도구: 조사자 IP 보호, 지리적 정렬, 차단 회피를 동시에 달성합니다.
  • 운영 보안은 기술과 동등하게 중요: IP 회전, 세션 격리, 개인 식별자 제거를 일관되게 적용하세요.
  • 법적 범위 준수는 협상 불가: 승인된 범위 내에서만 작업하고, 미승인 시스템 접근과 자격 증명 사용을 엄격히 금지합니다.
  • 자동화된 피드 수집으로 효율 향상: URLhaus, ThreatFox 등 공개 IOC 피드를 프록시를 통해 안전하게 수집하세요.
  • 요청 속도 제어: 프록시 사용과 무관하게 요청 간 2-5초 지연을 설정하여 자연스러운 패턴을 유지하세요.
  • 지역 타겟팅 활용: 조사 대상의 지역에 맞는 IP를 사용하여 의심을 줄이세요.

FAQ

프록시를 활용한 위협 인텔리전스 수집이란 무엇인가요?

프록시를 활용한 위협 인텔리전스 수집은 조사자의 실제 IP 주소를 숨기면서 OSINT 데이터, IOC 피드, 사이버범죄 포럼의 클리어넷 프론트엔드 등에서 위협 정보를 수집하는 기법입니다. 거주지 프록시를 사용하면 조사 활동이 조사자의 인프라로 역추적되는 것을 방지하고, 대상 지역에 맞는 IP에서 데이터에 접근할 수 있어 조사의 안전성과 무결성이 보장됩니다.

위협 인텔리전스 수집에 왜 프록시가 중요한가요?

프록시 없이 위협 인텔리전스를 수집하면 조사자의 기업 IP가 대상에게 노출됩니다. 사이버범죄 조직은 보안 업체의 IP 대역을 추지하고 사전 차단하며, 심한 경우 보복성 공격을 가할 수 있습니다. 거주지 프록시는 실제 ISP IP를 사용하여 일반 사용자의 접근과 구분하기 어렵게 만들고, 지리적 소스 정렬을 통해 조사의 자연스러움을 높입니다.

위협 인텔리전스 수집에 어떤 프록시 유형이 가장 적합한가요?

대부분의 OSINT 시나리오에서 거주지 프록시가 가장 적합합니다. 데이터센터 프록시는 속도가 빠르지만 많은 위협 인텔리전스 소스에서 ASN 기반 차단이 적용됩니다. 모바일 프록시는 가장 높은 신뢰도를 제공하지만 비용이 높아 고가치 타겟에만 선택적으로 사용하는 것이 효율적입니다. 거주지 프록시는 비용과 신뢰도의 균형을 제공합니다.

프록시를 활용한 위협 인텔리전스 수집 시 차단을 피하려면 어떻게 해야 하나요?

요청별 IP 회전, 적절한 User-Agent 헤더 사용, 요청 간 2-5초 지연 설정, 브라우저 세션 격리, 개인 식별자 사용 중지가 핵심입니다. 또한 DNS 누수를 방지하고, 타겟별로 고유한 세션 ID를 사용하며, robots.txt를 존중하고 각 소스의 이용약관을 준수해야 합니다. 모든 작업은 승인된 범위 내에서만 수행되어야 합니다.

시작할 준비가 되셨나요?

AI 필터링으로 148개국 이상에서 5천만 개 이상의 레지덴셜 IP에 액세스하세요.

가격 보기레지덴셜 프록시
← 블로그로 돌아가기