그들은 어떻게 이메일을 보낸걸까?

Hong Young-jun·2021년 6월 19일
0

헉.. 컴퓨터 공학도도 해킹을 당한다니.. 🙄


최근들어 누군가가 나의 이메일 주소로 나에게 피싱메일을 보내고 있다.

당신의 비밀번호에 액세스하여 고급 해킹 기술(K1NG G0D Hacking Technology)과 무차별 대입 공격 (Brute Forcing)으로 모든 다운로드 데이터에 대해 접근하였고 그 파일 중에는 꽤 재미있는 데이터도 포함되어 있응게요~ 처신 잘하라구?

자칭 크래커라고 하는 작자는 내 은밀한 사생활까지 접근을 하고 있는 것 같다 ! !

허거덩 이게 머선 일이고...하며 보낸 사람이 누군지 확인해보니, 내가 쓰는 메일인 <00_1205@naver.com>에서 보내온 메일이었고 주의를 하지 않는다면 정말로 내 계정에 누군가가 내 데이터에 접근한 것이라고 믿을 수 있는 상황이었다.

Figure 1 ) 나에게 온 메일, 발신자가 나 자신 (00_1205@naver.com)으로 되어 있다.


이게 뭔일이래..? 😱

이러한 상황 속에서 우리가 생각해볼 수 있는 경우의 수는 두 가지 정도로 추릴 수 있을 것 같다.

1. 정말로 내 계정에 접근하여 메일을 보낸 경우
2. 누군가가 다른 플랫폼에서 발신자의 이메일을 변조하여 메일을 보낸 경우

그런데 "Figure 1"에서 볼 수 있듯이, "해당 메일은 알맞은 플랫폼에서 발송된 메일이 아닙니다"라고 나와있다.

그렇다면 "경우 1"은 아닌 것이 확실하다. 그렇다면 "경우 2"일텐데, 어떻게 발신자를 변조할 수 있었을까?


어케 한거냐..? 🤔

쉽게 생각할 수 있도록 예를 하나 들어보겠다.

필자가 어렸던 시절에는 SMS를 보낼 때는 문자 발신자 번호를 바꿀 수 있던 기능이 있었다. (그 기능을 이용하여 112, 119 등의 번호로 친구들에게 낚시 문자를 보냈던 기억이 새록새록)

비슷하게 이메일을 사용하면서도 조작은 언제나 가능하다. 이는 휴대폰, 이메일에 사용되는 구형 체계 (Protocol)의 문제점이라고도 할 수 있는데, 이러한 상황이 계속될 수 밖에 없는 이유는 이러한 체계 자체를 바꾸어 버리면 기존의 시스템이 망가지기 때문이다.

그래서 현재 발신 위조 방지 기능은 은행, 정부기관 등 주요 기관이 아니고서야 적용되어 있지도 않고, 경제적으로도 적용을 하기 힘든 현실이다.

따라서 이러한 취약점으로 우리를 위협하는 자가 항상 존재하는 것이다.


더 정확히 들어가서,

네트워크를 통해서 교환되는 정보는 사전에 정의된 규칙 체계에 따라 관리되고 운용된다.

이메일 같은 경우에는 간이 전자 우편 전송 프로토콜 (Simple Mail Transfer Protocol, SMTP)를 통해 발송된다. 해당 프로토콜은 1982년에 표준화되어 2008년 ESMTP(확장 SMTP)로 갱신되었고, 자체의 보안과 호환성 문제로 그대로 사용하는 경우는 극히 드물다.

보통은 추가적으로 SPF(Sender Policy Framwork), DKIM(DomainKeys Identified Mail), DMARC(Domain-based Message Authentication, Reporting & Conformance) 등의 추가적인 보안 강화 방법이 같이 쓰인다.

이와 같은 변조가 진행되는 원론적인 얘기는 따로 정리해서 다음 포스팅에 올리도록 할 것이다.


해당 메일이 정상적으로 발송되었는지 어떻게 알 수 있을까?

1) 메일 헤더 분석 (다음 포스팅에서 설명)

2) 정상적으로 발송된 메일과는 무엇이 다를까?

  • Google

    Google 같은 경우에는 메일 메뉴에서 직접 위에서 언급했던 여러 보안 강화 방법에 대한 해석이 되어 있다.
    [원본메일 보기]

  • 네이버

    네이버 같은 경우는 직관적으로 볼 수 있는 도구가 존재하지 않는다. 따라서 헤더를 직접 보고 판단해야 한다.

    네이버 메일 같은 경우는 원문보기를 통해 메일 헤더 상으로 Authentication-Results를 표출하고 있는데, 이러한 요소가 포함되어 있지 않다면 비정상적으로 발송된 메일이라고 봐도 무방하다.

<!-- 정상적인 메일의 경우 -->
Received-SPF: pass (mx.naver.com: domain of naverpayadmin_noreply@navercorp.com designates 111.91.135.16 as permitted sender)
Authentication-Results: mx.naver.com;
  spf=pass (mx.naver.com: domain of naverpayadmin_noreply@navercorp.com designates 111.91.135.16 as permitted sender) smtp.mailfrom=naverpayadmin_noreply@navercorp.com;

client-ip=111.91.135.16은 Naver Cloud Corp.에 귀속되어 있는 IP이다. 따라서 네이버에서 이메일을 보낸 것이 분명하다고 판단할 수 있다.

물론, SPF, DMARC 등 모든 부분에서 이상은 없었다.

<!-- 비정상적인 메일의 경우 -->
Received-SPF: softfail (mx.naver.com: domain of transitioning 00_1205@naver.com does not designate 92.55.111.13 as permitted sender)
  client-ip=92.55.111.13; x-iptype=default;
Authentication-Results: mx.naver.com;
  spf=softfail (mx.naver.com: domain of transitioning 00_1205@naver.com does not designate 92.55.111.13 as permitted sender) smtp.mailfrom=00_1205@naver.com;

하지만 client-ip=92.55.111.13은 러시아 인터넷 회사 Neotel MK에 귀속되어 있는 IP이다. naver.com을 통해 이메일이 왔을리가 없고, 이는 스팸메일이라는 것을 알 수 있다.

또한, SPF, DMARC 등의 레코드에서 softfail 또는 none이라는 기록이 되어 있는 것으로 보아 정상적으로 발송된 이메일이 아님을 알 수 있다.

끝맺으며,

이처럼, 언제든, 어디서든, 쉽고, 빠르게 우리가 소통을 할 수 있게 해주는 이메일은 반대로 우리를 속이고 경제적인 타격을 줄 수 있는 수단으로도 쓰인다.

이메일 정보를 수정하여 악의적으로 사용하는 Spoofing 기법에 대하여 조심해야할 필요가 있으며, 이에 대해 대처하는 방법을 익혀두고 의심스러운 부분을 확인하는 자세가 필요하다고 생각된다.

profile
C0de my life

0개의 댓글