주간 보안 리포트 #4 — 신뢰가 무기가 될 때: 공급업체 이메일 탈취
이번 주 심층 분석은 우리가 가장 경계하는 공격입니다. 공격처럼 보이지조차 않기 때문입니다. 바로 공급업체 이메일 탈취(VEC, Vendor Email Compromise)입니다.
이번 주
일반적인 BEC에서 공격자는 외부에서 신뢰받는 상대를 사칭합니다. 그런데 VEC에서는 아무도 사칭하지 않습니다. 실제 공급업체나 파트너의 진짜로 탈취된 계정에서 메일을 보냅니다. 메일함은 진짜입니다. 서명도 진짜입니다. 스레드는 이미 진행되고 있던 그 대화입니다.
우리가 보는 패턴은 인내심이 깊습니다.
- 공격자는 공급업체 메일함을 조용히 장악합니다. 흔히 몇 주에 걸쳐서요.
- 실제 스레드를 읽으며 관계, 어조, 결제 주기를 학습합니다.
- 적절한 순간 — 보통 청구서 즈음 — 에 기존 스레드 안에서 새 입금 계좌를 알리며 답장합니다.
진짜 계정이 진짜 대화에 답하는 것이라, 인증은 통과하고, 이력은 일치하며, 문체도 정확합니다. 거의 모든 전통적 신호가 "정상"이라고 말합니다. 기술적인 모든 잣대로는 실제로 정상이기 때문입니다.
집중 분석: 사칭할 것이 없다
이것이 VEC를 그토록 어렵게 만듭니다. 흔한 단서들이 부재합니다.
- 인증 통과 — SPF, DKIM, DMARC가 모두 유효합니다. 진짜 도메인이니까요.
- 발신자 이력 일치 — 당신은 정말로 이 주소와 이전에 주고받은 적이 있습니다.
- 유사 도메인 없음 — 잡아낼 한 끗 차이가 없습니다. 실제 도메인이기 때문입니다.
남아서 알아챌 수 있는 것은 맥락 속의 행동입니다. 관계 도중에 바뀐 입금 계좌, 갑작스러운 결제 긴급성의 변화, 이 거래처가 늘 일해 온 리듬에 맞지 않는 요청. 사기는 메시지의 어느 단일 속성이 아니라, 자리 잡힌 패턴으로부터의 이탈에 깃들어 있습니다.
무엇을 할 수 있나
- 결제·입금 정보의 어떤 변경도 반드시 검증 단계로 만드세요. 알고 있는, 인증까지 통과한 거래처가 기존 스레드 안에서 보냈더라도 — 오히려 그럴 때 더욱 — 그렇습니다. 메일에 적힌 번호가 아니라, 원래 가지고 있던 번호로, 별도 채널로 확인하세요.
- 대화 도중의 변화를 살피세요. 새 계좌, 새 긴급성, 새로 참조(CC)에 들어온 "경리" 담당자.
- 인증을 통과했다는 것이 안전하다는 뜻은 아니라는 것을 기억하세요. VEC는 설계상 인증을 통과합니다.
WhiteHat가 여기서 도움이 되는 이유는 정확히, 인증에서 멈추지 않기 때문입니다. SA-01은 관계를 모델링하고 SA-04는 의도를 읽습니다. 그래서 모든 헤더가 정상이어도, 정당하지만 이탈된 요청을 맥락에 근거해 표시할 수 있습니다.
결제 정보 변경을 요청하는 스레드를 분석 콘솔에서 시험해 보고, 인증이 아니라 맥락이 어떻게 판정을 이끄는지 확인해 보세요.