Wednesday, April 26, 2006
[스팸 방지/프라이버시 보호] 이메일(EMail)의 이미지를 차단하자
이메일은 원칙적으로 수신 확인이 불가능하다. 아웃룩 익스프레스 Outlook Express 등에 보면 "확인 메일"이라는 기능이 있긴 하지만 완전하지 않다.
몇년 전에 이 수신 확인을 100% 확실히 할 수 있는 서비스가 나왔었다. ⓒ Confirm.To (이메일 수신확인 및 수신증명 서비스: 외국 회사가 아니라 영등포구 여의도동에 있는 한국회사임) 라는 곳에서 제공하는 것이었다. 필자가 사용하던 핫메일(MSN Hotmail)로 테스트해 보았는데 정말 수신 확인이 되었다.
전혀 기쁘지 않았다. 엄청난 보안 헛점이기 때문이다. 당시에는 핫메일이 여러모로 가장 뛰어났는데 이런 헛점이 있다니 어이가 없었다. confirm.to 가 어떤 방식으로 수신 확인을 했는지도 알 수 없었다. 핫메일에서 이 문제를 고치지도 않았고, 네티즌 사이에서도 전혀 이슈화되지 않았기에, 필자는 곧 잊고 말았다.
스패머들이 스팸메일 속의 이미지 로딩 여부로, 수신 확인을 한다는 사실을 몇 년 후에 알게 되었다. 수신이 확인되면 그 메일 계정으로 집중적으로 스팸을 보내는 것이다. 그리고 그 무렵 핫메일에 이미지 차단 옵션이 추가되었다. confirm.to 역시 스패머들의 방식을 쓴다는 사실을 짐작할 수 있었다.
필자가 아는 한, 외국에서는 이런 비슷한 서비스가 없었는데, 외국에서는 confirm.to 같은 서비스가 불법일 수도 있었다.
우선 핫메일에서 핫메일로 보내는 테스트를 했다. confirm.to가 요즘에도 서비스되는지, 그리고 정말 이미지를 추가하는지 알아보기 위해서다.
보낼 주소 끝에
.confirm.to
를 추가하여
foo@hotmail.com.confirm.to
이 주소로 보냈다. (자기 자신에게 편지를 보냈음)
그런 후
foo@hotmail.com
에 도착한 그 편지를 읽었다.
편지 본문이 이렇게 base64 로 인코딩되어 있어, 안에 있을 태그를 파악할 수 없었다.
EmEditor 에 "Decode" 플러그인을 설치하여, base64를 디코딩했다. base64 인코딩을 푸니 다음과 같은 내용이 나왔다. 역시 숨겨진 이미지 링크가 있었다:
위에서
<img src=http://postel4.postel.co.kr/... 이것이 그것이다.
foo@hotmail.com.confirm.postel.gif
라는 아주 작고 투명한 GIF 그림이, 전혀 보이지 않게 삽입되어 있었다. 8x8 픽셀 크기에, 스펙은 256색이지만 완전한 투명색.
이 그림은 컨펌투 라는 그 회사의 서버(postel.co.kr)에서 로딩되기에, 이 그림이 로딩되면, 편지를 읽었다는 사실을 알 수 있다. 그뿐 아니라 언제 읽었는지, 읽은 이의 IP주소는 어떻게 되는가까지 알 수 있다. 핫메일에 컨펌투로부터 온 '리포트'가 도착했는데, "읽었는지 여부"뿐 아니라, "읽은 시각", "읽은 이의 IP주소" 등에 대한 리포트가 있었다. "읽은 이의 컴퓨터 이름"까지도 있었는데, 필자의 경우 파이어월을 사용해서 그런지 나오지 않았다.
이번에는 지메일로 편지를 보냈다. 컨펌투를 붙여서...
지메일은 기본적으로 이미지를 차단하기에, 지메일 화면에 다음과 같은 메시지가 나왔다:
외부 이미지가 나타나지 않습니다.
아래에 이미지 표시 - 항상 foo@hotmail.com의 이미지 표시
필자는 메일에 이미지를 추가하지 않았지만 역시 컨펌투에서 추가했다.
한편, 편지를 전송했던 곳인 핫메일로는 컴펌투 회사로부터 다음의 편지 2통이 왔다.
성공적으로 전송되었다는 내용과, 돈을 주고 가입하라는 내용일 뿐
수신이 확인되었다는 내용은 없었다.
리포트도 없었다.
즉 컨펌투가 수신확인을 못한 것이다.
Subject : [confirm.to 통지] 메일 발송 포인트 (8) 소진 예정 : *메일 제목*
Content-Type: text/html
Content-Transfer-Encoding: base64
Content-Disposition: inline
CONFIRM.TO Credits Warnings account credits/status: 10/identified
[manage your account]
Status Serial ID: postel4:1123521261-ed0421edd537f726caeb34d26e29af13
Status: 성공적으로 전송되었습니다.:
그러나, 귀하의 confirm.to 크레딧(포인트)이 거의 소진되어 가고 있습니다 ( 8 ).
포인트를 추가 구매하지 않으시면, 다음부터 confirm.to 홍보 배너가 본문에 첨부되어 수신자에게 전달되게 됩니다.
Credits Required: 2
Recommended Actions: [추가 포인트 구매]
E-Mail From: foo@hotmail.com
To: foo@gmail.com
Subject: *메일 제목*
Date: Sun, 16 Apr 2006 01:12:01 +0000
Size: 204 bytes
From now on, your message may be sent with confirm.to advertizing banner added in the top of your message content.
If you credits go below zero, you can send message up to 10/per day and 30/per month. Any messsages coming after exceeding those limits will be discarded silently without this notice.
You are encouraged to buy confirm.to credits by credit card/checks or to get free credits by annoucing our service to others.
To view how the confirm.to banner looks like, you can email to yourself through confirm.to.
Please contact info@confirm.to for details.
Subject : [Notice] Confirm your Confirm.to Registration [Confidential]
즉, 이미지를 로딩하지 않게 하면 수신 확인이 불가능했다.
다시 말해서, 안전했다.
구글에서 검색해 보면, 이 "메일 수신 확인 서비스"가 범죄에 악용된다는 기사가 많다:
메일 수신 확인 악용
메일 수신 확인 범죄
메일에 링크된 이미지 로딩을 하지 않으면, 안전한 것이었다. 그러나 국내 메일 서비스에는 이런 기능이 없는 듯했다. 한메일넷(daum.net)의 경우 "스팸메일 내용 중 이미지"에만 "보여주지 않기" 기능이 있었고, 일반 메일의 이미지를 차단할 수는 없는 것 같았다.
지메일 등의 외국 메일을 쓰는 수밖에는 없었다.
몇년 전에 이 수신 확인을 100% 확실히 할 수 있는 서비스가 나왔었다. ⓒ Confirm.To (이메일 수신확인 및 수신증명 서비스: 외국 회사가 아니라 영등포구 여의도동에 있는 한국회사임) 라는 곳에서 제공하는 것이었다. 필자가 사용하던 핫메일(MSN Hotmail)로 테스트해 보았는데 정말 수신 확인이 되었다.
전혀 기쁘지 않았다. 엄청난 보안 헛점이기 때문이다. 당시에는 핫메일이 여러모로 가장 뛰어났는데 이런 헛점이 있다니 어이가 없었다. confirm.to 가 어떤 방식으로 수신 확인을 했는지도 알 수 없었다. 핫메일에서 이 문제를 고치지도 않았고, 네티즌 사이에서도 전혀 이슈화되지 않았기에, 필자는 곧 잊고 말았다.
스패머들이 스팸메일 속의 이미지 로딩 여부로, 수신 확인을 한다는 사실을 몇 년 후에 알게 되었다. 수신이 확인되면 그 메일 계정으로 집중적으로 스팸을 보내는 것이다. 그리고 그 무렵 핫메일에 이미지 차단 옵션이 추가되었다. confirm.to 역시 스패머들의 방식을 쓴다는 사실을 짐작할 수 있었다.
필자가 아는 한, 외국에서는 이런 비슷한 서비스가 없었는데, 외국에서는 confirm.to 같은 서비스가 불법일 수도 있었다.
실험
우선 핫메일에서 핫메일로 보내는 테스트를 했다. confirm.to가 요즘에도 서비스되는지, 그리고 정말 이미지를 추가하는지 알아보기 위해서다.
보낼 주소 끝에
.confirm.to
를 추가하여
foo@hotmail.com.confirm.to
이 주소로 보냈다. (자기 자신에게 편지를 보냈음)
그런 후
foo@hotmail.com
에 도착한 그 편지를 읽었다.
편지 본문이 이렇게 base64 로 인코딩되어 있어, 안에 있을 태그를 파악할 수 없었다.
PGZvbnQgc2l6ZT0rMT48UFJFICBzdHlsZT0nZm9udC1zaXplOjEwcHQnPgq+
yLPnx8+8vL+pCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpFeHByZXNzIHlvdXJz
ZWxmIGluc3RhbnRseSB3aXRoIE1TTiBNZXNzZW5nZXIhIERvd25sb2FkIHRv
ZGF5IC0gaXQncyBGUkVFISAKaHR0cDovL21lc3Nlbmdlci5tc24uY2xpY2st
...이하 생략
yLPnx8+8vL+pCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpFeHByZXNzIHlvdXJz
ZWxmIGluc3RhbnRseSB3aXRoIE1TTiBNZXNzZW5nZXIhIERvd25sb2FkIHRv
ZGF5IC0gaXQncyBGUkVFISAKaHR0cDovL21lc3Nlbmdlci5tc24uY2xpY2st
...이하 생략
EmEditor 에 "Decode" 플러그인을 설치하여, base64를 디코딩했다. base64 인코딩을 푸니 다음과 같은 내용이 나왔다. 역시 숨겨진 이미지 링크가 있었다:
<font size=+1><PRE style='font-size:10pt'>
안녕하세요
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
</PRE>
<img src=http://postel4.postel.co.kr/read/1345520521-be71261e8e2edf984f1301fd3f50e745.4f6405f179424eeb/foo@hotmail.com.confirm.postel.to width=0 height=0><link rel='stylesheet' type='text/css' href=http://postel4.postel.co.kr/read/1345520521-be71261e8e2edf984f1301fd3f50e745.4f6405f179424eeb/foo@hotmail.com.confirm.postel.to>
</BODY>
</HTML>
안녕하세요
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
</PRE>
<img src=http://postel4.postel.co.kr/read/1345520521-be71261e8e2edf984f1301fd3f50e745.4f6405f179424eeb/foo@hotmail.com.confirm.postel.to width=0 height=0><link rel='stylesheet' type='text/css' href=http://postel4.postel.co.kr/read/1345520521-be71261e8e2edf984f1301fd3f50e745.4f6405f179424eeb/foo@hotmail.com.confirm.postel.to>
</BODY>
</HTML>
위에서
<img src=http://postel4.postel.co.kr/... 이것이 그것이다.
foo@hotmail.com.confirm.postel.gif
라는 아주 작고 투명한 GIF 그림이, 전혀 보이지 않게 삽입되어 있었다. 8x8 픽셀 크기에, 스펙은 256색이지만 완전한 투명색.
이 그림은 컨펌투 라는 그 회사의 서버(postel.co.kr)에서 로딩되기에, 이 그림이 로딩되면, 편지를 읽었다는 사실을 알 수 있다. 그뿐 아니라 언제 읽었는지, 읽은 이의 IP주소는 어떻게 되는가까지 알 수 있다. 핫메일에 컨펌투로부터 온 '리포트'가 도착했는데, "읽었는지 여부"뿐 아니라, "읽은 시각", "읽은 이의 IP주소" 등에 대한 리포트가 있었다. "읽은 이의 컴퓨터 이름"까지도 있었는데, 필자의 경우 파이어월을 사용해서 그런지 나오지 않았다.
Gmail 보안 테스트
이번에는 지메일로 편지를 보냈다. 컨펌투를 붙여서...
지메일은 기본적으로 이미지를 차단하기에, 지메일 화면에 다음과 같은 메시지가 나왔다:
외부 이미지가 나타나지 않습니다.
아래에 이미지 표시 - 항상 foo@hotmail.com의 이미지 표시
필자는 메일에 이미지를 추가하지 않았지만 역시 컨펌투에서 추가했다.
한편, 편지를 전송했던 곳인 핫메일로는 컴펌투 회사로부터 다음의 편지 2통이 왔다.
성공적으로 전송되었다는 내용과, 돈을 주고 가입하라는 내용일 뿐
수신이 확인되었다는 내용은 없었다.
리포트도 없었다.
즉 컨펌투가 수신확인을 못한 것이다.
Subject : [confirm.to 통지] 메일 발송 포인트 (8) 소진 예정 : *메일 제목*
Content-Type: text/html
Content-Transfer-Encoding: base64
Content-Disposition: inline
CONFIRM.TO Credits Warnings account credits/status: 10/identified
[manage your account]
Status Serial ID: postel4:1123521261-ed0421edd537f726caeb34d26e29af13
Status: 성공적으로 전송되었습니다.:
그러나, 귀하의 confirm.to 크레딧(포인트)이 거의 소진되어 가고 있습니다 ( 8 ).
포인트를 추가 구매하지 않으시면, 다음부터 confirm.to 홍보 배너가 본문에 첨부되어 수신자에게 전달되게 됩니다.
Credits Required: 2
Recommended Actions: [추가 포인트 구매]
E-Mail From: foo@hotmail.com
To: foo@gmail.com
Subject: *메일 제목*
Date: Sun, 16 Apr 2006 01:12:01 +0000
Size: 204 bytes
From now on, your message may be sent with confirm.to advertizing banner added in the top of your message content.
If you credits go below zero, you can send message up to 10/per day and 30/per month. Any messsages coming after exceeding those limits will be discarded silently without this notice.
You are encouraged to buy confirm.to credits by credit card/checks or to get free credits by annoucing our service to others.
To view how the confirm.to banner looks like, you can email to yourself through confirm.to.
Please contact info@confirm.to for details.
Subject : [Notice] Confirm your Confirm.to Registration [Confidential]
Content-Type: text/html; charset=
Content-Transfer-Encoding: 8bit
Content-Disposition: inline
Confirm.To Service V2.0 ( http://www.confirm.to )
-----------------------------------------------------------------------
Dear Sir:
Thanks for using CONFIRM.TO services of Postel Services Inc.
Your Postel ID : foo@hotmail.com
Your Temporary Password : 14641
For security reasons, you have to confirm your application
by visiting the following link to activate your account and
change your password:
http://postel.info/manage.cgi?menu=agree0&email=foo@hotmail.com&password=14641
With your password, you can manage your confirm.to account
for buying more usage credits or changing options.
As a new user, you are given 12 free CREDITSs to test our services.
In our credits system, every message posting and receipt notice
consume your credits which is charged proportionally to
the message size as well as the number of recipients.
With your credits, you can enjoy our new features:
SMS/pager notification service ,
Sharing your credits with your team members,
Transfer your credits to others,
Exhaustive email tracking services ,
Certified mail using digital certificates ,
Email language translation services,
In-server redrawable/cancelable message.
To learn more about confirm.to and its credits system,
visit http://www.confirm.to/ and bookmark it in your brower.
Thank you very much.
Sincerely,
Postel Services Customer Support.
Email: info@postel.info
Phone: +82-2-785-3351
Home : http://www.confirm.to
Content-Transfer-Encoding: 8bit
Content-Disposition: inline
Confirm.To Service V2.0 ( http://www.confirm.to )
-----------------------------------------------------------------------
Dear Sir:
Thanks for using CONFIRM.TO services of Postel Services Inc.
Your Postel ID : foo@hotmail.com
Your Temporary Password : 14641
For security reasons, you have to confirm your application
by visiting the following link to activate your account and
change your password:
http://postel.info/manage.cgi?menu=agree0&email=foo@hotmail.com&password=14641
With your password, you can manage your confirm.to account
for buying more usage credits or changing options.
As a new user, you are given 12 free CREDITSs to test our services.
In our credits system, every message posting and receipt notice
consume your credits which is charged proportionally to
the message size as well as the number of recipients.
With your credits, you can enjoy our new features:
SMS/pager notification service ,
Sharing your credits with your team members,
Transfer your credits to others,
Exhaustive email tracking services ,
Certified mail using digital certificates ,
Email language translation services,
In-server redrawable/cancelable message.
To learn more about confirm.to and its credits system,
visit http://www.confirm.to/ and bookmark it in your brower.
Thank you very much.
Sincerely,
Postel Services Customer Support.
Email: info@postel.info
Phone: +82-2-785-3351
Home : http://www.confirm.to
즉, 이미지를 로딩하지 않게 하면 수신 확인이 불가능했다.
다시 말해서, 안전했다.
구글에서 검색해 보면, 이 "메일 수신 확인 서비스"가 범죄에 악용된다는 기사가 많다:
메일 수신 확인 악용
메일 수신 확인 범죄
결론
메일에 링크된 이미지 로딩을 하지 않으면, 안전한 것이었다. 그러나 국내 메일 서비스에는 이런 기능이 없는 듯했다. 한메일넷(daum.net)의 경우 "스팸메일 내용 중 이미지"에만 "보여주지 않기" 기능이 있었고, 일반 메일의 이미지를 차단할 수는 없는 것 같았다.
지메일 등의 외국 메일을 쓰는 수밖에는 없었다.
tag: security
보안 | Security
tag: web
Web | 웹 | 인터넷 사이트
전혀 상상도 못 했던 사실이네요. 앞으론 조심해야 겠습니다-_-a.
그렇다면 다음 한메일의 수신확인 기능또한 이미지 로드 여부로 작동하는 것인가요? 오로지 한메일 계정 사이에서만 지원되는지라 뭔가 다를 것 같습니다만.
이론적으로, 같은 '이메일 서비스 회사' 내에서 오가는 이메일은, 이미지 로딩 같은 편법을 쓰지 않고도 수신 확인이 가능합니다. 그렇게 하도록 프로그래밍을 하면 되겠지요. 그러나 다른 회사의 메일 서비스로 가는 메일은, 이미지 로딩으로만 수신 확인을 할 수 있습니다.
저도 오늘 처음 알았는데 요즘에는, 한메일에서 다른 메일 회사로 보내는 메일도 수신 확인이 가능하더군요.
제가 지금 한메일(HANmail)에서 핫메일(HOTmail)로 보내는 테스트를 해 보니까, 안에 이미지 링크가 몇 개 있고, 역시 컨펌투와 같은 방법으로 수신 확인을 하더군요. 그러나 한메일넷의 수신확인은, IP주소 등은 나오지 않기에 그리 위험하지는 않을 것입니다.
그렇지만 역시 국내 서비스들은 이런 면에서 취약하기 때문에 지메일 사용이 가장 안전한 방법일 것 같습니다.
(∩_∩)
그렇군요. 새로운 것 하나 배워갑니다. 고맙습니다^^.
즐거운 하루 되세요..
(∩_∩)
보안사항이라 밝힐수는 없지만, 각각의 독립된 서비스라 해도, 이미지를 막아둔 상태의 수신환경 에서 수신확인이 가능합니다.
이미지를 차단해도 수신확인이 된다면 좀 골치 아프군요...
(+_+;)
<< Home