EASM — 외부 공격 표면 관리 // 모듈

EASM — 외부 공격 표면 관리

조직이 직접 선언한 씨앗 정보에서 출발해, 바깥으로 무엇이 드러나 있는지 지도로 그립니다. 자산을 찾아내고 위험 발견 항목을 기록하며, 무엇이 무엇과 어떻게 이어지는지 그래프로 유지합니다. 대상 시스템을 침습적으로 건드리는 일은 없습니다.

개요

작업의 단위는 경계(perimeter)입니다. 조직 안에서 이름이 붙은 범위로, “운영 환경”이나 “스테이징 환경” 같은 식입니다. 각 경계에는 네 가지 유형의 씨앗을 넣습니다. CNPJ(브라질 법인 등록번호), 도메인, CIDR 표기의 IP 대역, 이메일 도메인이며 유형마다 다른 파이프라인이 돌아갑니다.

브라질에서 판을 바꾸는 것은 CNPJ 씨앗입니다. 이 번호를 기점으로 플랫폼은 이미 색인해 둔 브라질 국세청 공개 데이터베이스를 조회해, 기본 CNPJ로 지점 법인을 찾아내고 지분 관계자를 정리하며 고위험 업종 코드(CNAE)를 발견 항목으로 표시합니다. 보안팀 누구도 존재를 몰랐던 자회사를 찾아내는 경로이며, 인수합병 이후 흔히 벌어지는 상황입니다.

원칙으로서의 수동형 탐색

수집은 DNS 조회와 TLS 핸드셰이크로 이루어집니다. 대상에 어떤 페이로드도 보내지 않습니다. 결과가 자산으로 등록되기 전에 세 가지 보안 규칙이 적용됩니다.

  • DNS가 돌려준 사설 IP, 루프백, 링크로컬, 멀티캐스트 주소는 폐기합니다. 외부 자산 목록으로 내부 토폴로지가 새어 나가지 않게 하기 위해서입니다.
  • .local, .internal, .localhost 도메인은 입력 단계에서 차단합니다.
  • 모든 실행에 상한이 있습니다. 자산 500개, 발견 항목 1,000개, 관계 500개, DNS 레코드 유형당 50개입니다. 적대적이거나 잘못 설정된 존 하나가 수집 전체를 무너뜨리지 않습니다.

발견되는 자산은 아홉 가지 유형(도메인, 서브도메인, IP, 이메일, CNPJ 기반 자회사, 인증서, 애플리케이션, MX 서버, NS 서버)이며, 각각 어떻게 발견되었는지를 함께 담습니다. A/AAAA 레코드, MX, NS, TXT, CNAME, 인증서 SAN, CNPJ 조회, 유출 자료와의 상관 분석, 수동 입력이 그것입니다. 그래프는 아홉 가지 관계로 자산을 잇습니다. 해석 대상, MX 사용, NS 사용, 호스팅, 도메인 보유, 인증서 보유, 자회사 관계, 유출물에서 발견, 상관 관계입니다.

설명되는 점수

자산의 위험도는 열려 있는 발견 항목의 점수 합계이며 상한은 100입니다. 만료된 인증서 25점, 외부에 노출된 개발용 서브도메인 20점, 자체 서명 인증서 15점, 만료가 임박한 인증서 10점입니다.

실무적 귀결은 그 숫자를 감사할 수 있다는 점입니다. 어떤 발견 항목이 점수를 구성했는지 정확히 짚어낼 수 있고, 항목이 종료·인지·오탐 처리되면 점수는 저절로 내려갑니다. 경계마다 자산 수, 열린 발견 항목 수, 심각·높음 항목 수, 활성 자산의 평균 위험도도 함께 관리됩니다.

실행 일정

인증서 점검은 UTC 03:00, 유출 자료 상관 분석은 04:00, 위험도 재계산은 05:00, 발견 항목 보관 처리는 02:00에 돌아갑니다. 상시 모니터링은 6시간마다 실행되어 DNS를 다시 확인하고 80·443·8080·8443 포트를 점검한 뒤 직전 상태와 비교해 변경 발견 항목을 만듭니다. 실행당 자산 상한은 100개입니다. 도메인·CNPJ 기반 탐색, 타이포스쿼팅 탐지, 서브도메인 탈취 조사는 요청 시 실행됩니다.

주요 기능

  • 열두 가지 발견 항목 유형. 서브도메인 탈취, 타이포스쿼팅 후보, 섀도우 IT, 노출된 관리 포트, 상관 분석된 유출 자격증명 등
  • CNAME이 소유권 없는 서비스를 가리키는 경우를 잡아내는 서브도메인 탈취 탐지. GitHub Pages, Heroku, Fastly, Shopify, Zendesk, AWS S3, Azure, Bitbucket, Netlify 시그니처 보유
  • dnstwist 기반 타이포스쿼팅 탐지. 실행당 변형 500개 상한, DNS 조회당 3초 제한, 병렬 처리량 제어
  • Leaks 모듈과의 상관 분석. 유출 파일 지문에 등장하는 이메일·도메인 자산은 발견 항목이 됩니다
  • 네 단계 발견 항목 수명 주기: 열림, 인지, 오탐, 조치 완료
  • 버그 바운티·취약점 공개 프로그램 등록(BugHunt, HackerOne, Bugcrowd, Intigriti, YesWeHack, HackenProof)

활용 사례

  • CNPJ에서 출발해 지점 법인까지 포함한 기업집단 전체의 외부 경계 목록화
  • 섀도우 IT 발견: 밖에서 접근 가능한 개발·스테이징 서브도메인 찾기
  • 인증서 만료로 인한 서비스 중단을 30일 전에 예방
  • 실제로 노출된 대상 목록으로 모의해킹 범위 산정

이 모듈이 하지 않는 일

  • 취약점 스캔을 하지 않습니다. 익스플로잇을 보내지 않고, 페이로드를 시험하지 않으며, 애플리케이션에 인증을 시도하지 않습니다.
  • CVSS와 EPSS를 쓰지 않습니다. 점수는 발견 항목별 점수의 합계이지 외부 취약점 점수 체계가 아닙니다.
  • 광범위한 포트 스캔을 하지 않습니다. 상시 모니터링은 웹 서비스 포트 네 개만 확인합니다.
  • Shodan, Censys, BinaryEdge를 조회하지 않으며 AWS·Azure·GCP API로 클라우드 자원을 목록화하지도 않습니다.
  • 내부 자산을 찾아내지 않습니다. 사설 IP는 임시 제약이 아니라 폐기 규칙입니다.
  • typosquat_candidate는 어디까지나 후보입니다. 악의적 의도의 확인은 사람의 분석이며, 이후 처리는 Legal & Takedown 모듈이 맡습니다.

연동

  • Airflow(실행 조율)와 OpenSearch(발견 항목 이력, ooda_easm_findings-*)
  • 플랫폼에 색인된 브라질 국세청 CNPJ 공개 데이터베이스
  • dnstwist(도메인 변형 생성)
  • OODA Leaks, OODA Search

SLA 및 보증

철저한 수동형 수집 · 사설 IP는 결코 색인되지 않음 · 점수는 그것을 만든 발견 항목까지 추적 가능

다음 단계