대부분의 외부 공격 표면 모니터링 도구가 인터넷 발자국(Internet Footprint)의 40%를 놓치는 이유
요약
외부 공격 표면 관리(EASM) 시 단순 인벤토리 조사를 넘어 클라우드, SaaS, 개발 환경 등 광범위한 디지털 자산을 식별해야 함을 강조합니다. 수동적 및 능동적 탐지 기술을 통해 변화하는 인터넷 발자국을 지속적으로 모니터링하는 것이 중요합니다.
핵심 포인트
- 단순 도메인/포트 조사는 실제 공격 표면의 일부만 커버함
- 클라우드, SaaS, 레거시 시스템 등 숨겨진 자산 식별 필요
- 수동적 탐지를 통한 안전하고 지속적인 정보 수집
- 능동적 탐지를 통한 발견된 자산의 실재성 검증
보안 팀이 외부 공격 표면 관리 (External Attack Surface Management, EASM)를 생각할 때, 흔히 인터넷에 노출된 자산의 단순한 인벤토리(Inventory)를 떠올리곤 합니다:
도메인 (Domains)
서브도메인 (Subdomains)
SSL 인증서 (SSL Certificates)
개방된 포트 (Open Ports)
불행히도, 이는 실제 공격 표면의 극히 일부에 불과합니다.
현대의 조직들은 클라우드 배포 (Cloud deployments), SaaS 플랫폼, 인수 합병, 개발 환경, 마케팅 캠페인, 그리고 잊혀진 인프라를 통해 끊임없이 새로운 디지털 자산을 노출합니다.
그 결과는 어떨까요?
여러분의 인터넷 발자국 (Internet footprint)은 항상 변하고 있습니다.
공격자들은 이 사실을 알고 있습니다.
하지만 많은 조직은 모르고 있습니다.
외부 공격 표면을 실제로 구성하는 것은 무엇인가?
조직의 외부 공격 표면은 기본 웹사이트보다 훨씬 더 많은 것을 포함합니다.
예시는 다음과 같습니다:
기본 도메인 (Primary Domains)
서브도메인 (Subdomains)
와일드카드 DNS 레코드 (Wildcard DNS Records)
만료된 SSL 인증서 (Expired SSL Certificates)
클라우드 스토리지 버킷 (Cloud Storage Buckets)
공개 GitHub 리포지토리 (Public GitHub Repositories)
인터넷 노출 API (Internet-facing APIs)
VPN 게이트웨이 (VPN Gateways)
직원 포털 (Employee Portals)
제3자 SaaS 애플리케이션 (Third-party SaaS Applications)
개발 환경 (Development Environments)
스테이징 서버 (Staging Servers)
잊혀진 레거시 시스템 (Forgotten Legacy Systems)
브랜드 사칭 도메인 (Brand Impersonation Domains)
타이포스쿼팅 도메인 (Typosquatting Domains)
모바일 애플리케이션 API (Mobile Application APIs)
노출된 모든 자산은 또 다른 잠재적 진입점이 됩니다.
자산 인벤토리가 구식이 되는 이유
인프라는 끊임없이 변화합니다.
개발자들은 새로운 환경을 배포합니다.
마케팅 팀은 마이크로사이트를 출시합니다.
클라우드 팀은 임시 워크로드 (Workloads)를 생성합니다.
비즈니스 부서는 보안 부서의 개입 없이 SaaS 애플리케이션을 구매합니다.
몇 주 안에 공식 자산 인벤토리는 부정확해집니다.
보안은 존재를 알지 못하는 자산을 보호할 수 없습니다.
수동적 탐지 (Passive Discovery)
수동적 탐지는 대상 시스템과 직접 상호작용하지 않고 정보를 수집합니다.
일반적인 데이터 소스는 다음과 같습니다:
인증서 투명성 로그 (Certificate Transparency Logs)
DNS 레코드 (DNS Records)
WHOIS
ASN 정보 (ASN Information)
검색 엔진 (Search Engines)
공개 코드 리포지토리 (Public Code Repositories)
인터넷 검색 엔진 (Internet Search Engines)
과거 DNS 데이터 (Historical DNS Data)
수동적 탐지는 안전하고 빠르며 지속적인 모니터링에 적합합니다.
능동적 탐지 (Active Discovery)
수동적 정보만으로는 충분하지 않습니다.
능동적 탐지 (Active Discovery)는 발견된 자산이 실제로 존재하는지 검증합니다.
전형적인 기술은 다음과 같습니다:
DNS Resolution (DNS 확인)
HTTP Probing (HTTP 프로빙)
TLS Inspection (TLS 검사)
Port Scanning (포트 스캐닝)
Banner Identification (배너 식별)
Technology Fingerprinting (기술 핑거프린팅)
Redirect Analysis (리다이렉트 분석)
능동적 검증은 라이브 서비스 (Live services)를 식별하는 동시에 오래된 자산 (Stale assets)을 제거합니다.
서브도메인 열거 (Subdomain Enumeration) 그 이상
많은 조직이 서브도메인을 발견한 후 단계를 멈춥니다.
이는 거대한 가시성 격차 (Visibility gaps)를 남깁니다.
성숙한 공격 표면 관리 (Attack surface program) 프로그램은 다음 사항도 모니터링해야 합니다:
SSL Certificates (SSL 인증서)
질문해 볼 가치가 있는 사항들:
어떤 인증서가 곧 만료되는가?
취약한 사이퍼 (Weak ciphers)가 활성화되어 있는가?
최근에 발급된 인증서는 무엇인가?
Brand Monitoring (브랜드 모니터링)
공격자들은 합법적인 브랜드와 유사한 도메인을 빈번하게 등록합니다.
예시는 다음과 같습니다:
company-login.com
company-support.net
cornpany.com
company-security.co
이러한 도메인들은 피싱 캠페인 (Phishing campaigns)에 흔히 사용됩니다.
Email Security (이메일 보안)
다음 사항을 평가하십시오:
SPF
DKIM
DMARC
MX Records (MX 레코드)
Mail Server Configuration (메일 서버 설정)
잘못 설정된 이메일은 여전히 가장 쉬운 공격 벡터 (Attack vectors) 중 하나로 남아 있습니다.
DNS Security (DNS 보안)
다음 사항을 모니터링하십시오:
Dangling Records (댕글링 레코드)
Subdomain Takeover (서브도메인 탈취)
Zone Changes (존 변경)
DNS Hijacking (DNS 하이재킹)
Unauthorized Records (승인되지 않은 레코드)
Cloud Assets (클라우드 자산)
다음 사항을 잊지 마십시오:
AWS
Azure
Google Cloud
Kubernetes
Object Storage (객체 스토리지)
CDN Endpoints (CDN 엔드포인트)
클라우드 환경은 전통적인 인프라보다 훨씬 빠르게 진화합니다.
Continuous Monitoring (지속적 모니터링)의 중요성
특정 시점의 평가 (Point-in-time assessment)는 빠르게 쓸모없게 됩니다.
지속적 모니터링을 통해 보안 팀은 다음을 탐지할 수 있습니다:
새롭게 노출된 자산 (Newly exposed assets)
인증서 변경 (Certificate changes)
DNS 수정 (DNS modifications)
기술 변경 (Technology changes)
새로운 서비스 (New services)
의심스러운 도메인 (Suspicious domains)
인프라 드리프트 (Infrastructure drift)
이는 노출과 조치 (Remediation) 사이의 시간 간격을 극적으로 줄여줍니다.
내부 EASM 플랫폼 구축하기
많은 조직이 오픈 소스 도구를 사용하여 내부 역량을 구축합니다.
전형적인 아키텍처:
Scheduler (스케줄러)
↓
Asset Discovery (자산 탐지)
↓
DNS Analysis (DNS 분석)
↓
Certificate Analysis (인증서 분석)
↓
HTTP Validation (HTTP 검증)
↓
Technology Detection (기술 탐지)
↓
Risk Scoring (리스크 점수 산정)
↓
Alerting (알림)
↓
Dashboard (대시보드)
Python은 오케스트레이션 (Orchestration) 및 데이터 처리 (Data processing)에 적합하며, Rust 또는 Go는 고성능 네트워크 스캐닝 (Network scanning) 및 동시적 탐지 (Concurrent discovery)를 위한 강력한 선택지입니다.
기업 규모에서의 과제 (Challenges at Enterprise Scale)
환경이 확장됨에 따라 팀들은 종종 다음과 같은 상황에 직면합니다:
수백만 개의 DNS 레코드 (DNS records)
수천 개의 도메인 (Domains)
수백 개의 클라우드 계정 (Cloud accounts)
다수의 사업 부문 (Business units)
빈번한 인수 합병 (Acquisitions)
하이브리드 인프라 (Hybrid infrastructure)
원격 근무 인력 (Remote workforce)
제3자 종속성 (Third-party dependencies)
이를 수동으로 관리하는 것은 비현실적입니다.
자동화 (Automation)가 필수적입니다.
핵심 요약 (Key Takeaways)
외부 공격 표면 관리 (External Attack Surface Management)는 단순히 서브도메인 (Subdomains)을 찾는 것만이 아닙니다.
효과적인 프로그램은 클라우드 (Cloud), 애플리케이션 (Applications), ID (Identities), 이메일 (Email), DNS, 인증서 (Certificates), 그리고 브랜드 노출 (Brand exposure) 전반에 걸쳐 인터넷에 노출된 자산 (Internet-facing assets)을 지속적으로 탐지, 검증, 보강 및 우선순위를 지정해야 합니다.
보안은 가시성 (Visibility)에서 시작됩니다.
완전한 가시성이 없다면, 공격자가 나머지 부분을 탐색하는 동안 조직은 환경의 일부만을 방어하게 됩니다.
추가 리소스 (Additional Resources)
지속적인 공격 표면 탐지 (Continuous attack surface discovery), 인증서 모니터링 (Certificate monitoring), DNS 보안 (DNS security), 디지털 리스크 보호 (Digital risk protection), 그리고 기업 사이버 보안 엔지니어링 (Enterprise cybersecurity engineering)을 위한 실무 아키텍처에 관심이 있다면, SG2 Technologies는 기술 문서와 구현 가이드를 정기적으로 발행합니다:
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기