기술 · 출처 기반 답변

이메일 스푸핑이란? 정의와 기술적 원리

이메일 스푸핑은 이메일 헤더를 위조해 메시지가 정상적이거나 알려진 출처에서 온 것처럼 보이게 하는 행위입니다. SMTP(Simple Mail Transfer Protocol)는 From 주소를 본래 검증하지 않기 때문에, 누구나 메시지 엔벨로프나 헤더에 원하는 신원을 지정할 수 있습니다.

처리 과정

스푸핑은 SMTP 트랜잭션 중에 발생합니다. 이 프로토콜은 엔벨로프 발신자(MAIL FROM)와 헤더 발신자(From:)를 분리합니다. 악의적인 공격자는 오픈 릴레이에 접속하거나 직접 만든 스크립트를 사용해 From 헤더에는 신뢰받는 도메인을 지정하고 반송 경로는 다른 값으로 지정할 수 있습니다. 수신 메일 서버는 기본적으로 제공된 문자열을 그대로 기준으로 메시지를 처리하며, 발신 IP가 해당 도메인을 사용할 권한이 있는지는 확인하지 않습니다.

정상 발신자에게 미치는 영향

공격자가 도메인을 스푸핑하면 정당한 소유자의 평판이 훼손됩니다. 스푸핑된 피싱 이메일이 대량으로 발송되면 글로벌 필터에서 해당 도메인이 차단될 수 있습니다. 그 결과 정상적인 트랜잭션 이메일과 마케팅 이메일이 스팸으로 분류되거나 아예 거부됩니다. 엄격한 인증 체계를 유지하는 것이 승인되지 않은 메일을 폐기해야 한다고 수신자에게 알리는 유일한 방법입니다.

인증을 통한 예방

예방은 SPF, DKIM, DMARC 세 가지 축에 의존합니다. SPF는 허용된 IP 주소를 나열합니다. DKIM은 헤더에 암호화 서명을 추가합니다. DMARC는 이 둘을 묶어, 이러한 검사에 실패한 메일을 거부하거나 격리하도록 수신자에게 지시합니다. SendHQ 무료 도구(https://sendhq.cc/tools)로 현재 DNS 레코드가 스푸핑 시도를 차단하도록 올바르게 구성되어 있는지 확인할 수 있습니다.

운영상의 실수

흔한 오류는 DMARC 정책 없이 SPF 레코드를 Fail(-all)이 아닌 SoftFail(~all)로 구성하는 것입니다. 이 설정은 수신 서버에 메일이 승인되지 않았을 가능성이 높지만 그래도 수락해야 한다고 알리는 셈입니다. 또 다른 실수는 새 ESP로 마이그레이션한 후 SPF 레코드를 업데이트하지 않는 것으로, 이 경우 정상 메일이 수신 서버에는 스푸핑된 트래픽처럼 보입니다.

구체적인 예시

공격자가 SMTP 엔벨로프는 attacker@malicious.com으로, 헤더는 From: billing@yourcompany.com으로 설정한 이메일을 보냅니다. yourcompany.com에 DMARC 정책이 없으면 수신자의 메일 클라이언트에는 청구 담당 주소가 표시되어, 실제로는 승인되지 않은 전송인데도 사용자가 공식 요청이라고 믿게 됩니다.

팀에서 자주 묻는 질문

스푸핑은 피싱과 같은 것인가요?

아니요. 스푸핑은 발신자 신원을 위조하는 기술적 방법입니다. 피싱은 공격의 사회공학적 목적이며, 신뢰를 얻기 위한 도구로 스푸핑을 사용하는 경우가 많습니다.

SPF만으로 스푸핑을 막을 수 있나요?

아니요. SPF는 엔벨로프 발신자만 검증합니다. 공격자는 자신의 도메인으로 된 유효한 엔벨로프를 사용하면서 화면에 보이는 From 헤더는 스푸핑할 수 있습니다. 헤더 정렬을 보장하려면 DMARC가 필요합니다.

DKIM은 스푸핑을 막나요?

DKIM은 콘텐츠가 변경되지 않았고 키를 소유한 도메인에서 왔음을 증명하지만, DMARC 정책이 요구하지 않는 한 발신자가 서명 자체를 생략하는 것을 막지는 못합니다.

1차 출처