Анонимность в Интернет. Часть I: электронная почта

Анонимность в Интернет. Часть I: электронная почта
Электронная почта, в простонародье email, -- одно из древнейших средств связи на планетев Интернет. Самым распространенным протоколом обмена электронной почтой является SMTP . Это протокол был разработан без учета требований безопасности, поэтому практически весь секюрный функционал реализован в нем в виде обертки, или скорее "костыля". Например, для обеспечения целостности и конфиденциальности сообщений эл. почты традиционно используются протоколы S/MIME и OpenPGP , громоздкие "надстройки" над SMTP-сообщениями.


Я часто слышу вопросы вроде "насколько анонимна электронная почта?" и "возможно ли определить личность автора вредоносного и/или спамерского email?" В общем случае ответ зависит от технической подготовки злоумышленника, но как правило замаскировать или скрыть идентификационную информацию в email не составляет труда.


Сообщение SMTP состоит из тела и заголовков. Тело, это собственно текст и вложения, а заголовки содержат служебную информацию. Разделителем между заголовками и телом письма служат две пустых строки. Увидеть структуру SMTP-сообщения можно в любом почтовом клиентском ПО, в Gmail для этого нужно выбрать действие "Show original".

Delivered-To: xaocuc@gmail.com
Received: by 10.86.89.19 with SMTP id m19cs400771fgb;
Fri, 25 Dec 2009 07:09:02 -0800 (PST)
Received: by 10.114.214.24 with SMTP id m24mr8615191wag.93.1261753740738;
Fri, 25 Dec 2009 07:09:00 -0800 (PST)
Received: from mx006.twitter.com (mx006.twitter.com [128.121.146.142])
by mx.google.com with ESMTP id 18si28987983pwi.37.2009.12.25.07.08.59;
Fri, 25 Dec 2009 07:08:59 -0800 (PST)
Received: from twitter.com (localhost [127.0.0.1])
by mx006.twitter.com (Postfix) with ESMTP id 04248DE4D13
for
; Fri, 25 Dec 2009 15:08:59 +0000 (UTC)
Date: Fri, 25 Dec 2009 15:08:59 +0000
From: Twitter

Reply-To: noreply@postmaster.twitter.com
To: xaocuc@gmail.com
Subject: Vasiliy Pupkin is now following you on Twitter!


Hi, Volodymyr Styran (xaocuc).

Vasiliy Pupkin (VasiliyPupkin) is now following your tweets on Twitter.

Check out Vasiliy Pupkin's profile here:
http://twitter.com/VasiliyPupkin

You may follow Vasiliy Pupkin as well by clicking on the "follow" button.
Vasiliy Pupkin may not appear in your follower list. Vasiliy Pupkin may hav=
e decided to stop following you, or the account may have been suspended f=
or a Terms of Service violation.

If you believe Vasiliy Pupkin is engaging in abusive behavior on Twitter, =
you may report Vasiliy Pupkin
for spam.
Best,
Twitter

Существует великое множество различных заголовков, в этом посте мы рассмотрим только некоторые из них. В примере выше, видно историю доставки сообщения. Она отражена в заголовках Received (читать нужно снизу вверх). В каждом заголовке указан почтовый сервер (имя и IP-адрес), который участвовал в доставке сообщения. Самый первый, или нижний, заголовок демонстрирует, откуда письмо было отправлено первоначально.

Если первый заголовок Received, содержащий имя и адрес компьютера, дает достаточно информации о расположении компьютера автора, то отыскать его теоретически возможно. Например, первым идет заголовок вида:





Received: from 133.133.133-pool.ukrtel.net ([95.133.133.133])
by mx.google.com with ESMTP id 5si22328856vws.103.2009.12.26.07.49.01;
Sat, 26 Dec 2009 07:49:34 -0800 (PST)
Порывшись в Гугле и воспользовавшись службой   whois  , можно предположить, что письмо отправлено из сети ОАО "Укртелеком". Имеем время отправки, есть с чем идти к провайдеру подозреваемого и просить сделать сверку с информацией из биллинга, -- какой абонент в заданное время пользовался этим IP-адресом. И вуаля -- автор сообщения определен. Быстро сказка сказывается, а в действительности это меленный и болезненный бюрократический процесс, справиться с которым в силах разве что следователи правоохранительных органов. Так что без веской причины никто подобные расследования не проводит.

Итак, для того, чтобы отправить сообщение анонимно, злоумышленнику нужно замаскировать информацию в первом заголовке Received. К сожалению, это не очень сложная задача. В большинстве случаев, когда спам или вредоносные сообщения рассылаются на множество пользователей, это делается с использованием ботнетов. Ботнет представляет собой сеть из компьютеров-зомби, на которых выполняется специальная программа-бот (сокращенно от робот). Боты периодически обращаются за инструкциями к командным центрам (C&C) ботнета, через которые хозяева ботнета (bot herders) или злоумышленники, которые этот ботнет арендуют, приказывают ботам делать нам всякие гадости. Например, проводить распределенные DoS-атаки (Distributed Denial of Service attacks) или рассылать вирусы и спам. Естественно, в такой ситуации дальше имени и IP-адреса компьютера-зомби наше расследование не пойдет, а владелец зараженного ботом ПК в большинстве случаев об этом даже не знает. То есть, придется проводить более глубокое расследование, чем бы описали ранее: выяснять методы доставки бота на зомбированный компьютер, отслеживать центры управления, выяснять личность бот-хердера и только после этого, при помощи   терморектального криптоанализа  , выходить на заказчиков.

Использование ботнетов не единственный способ разослать почту анонимно. Я уже писал о сети   Tor  , созданной организацией EFF с самой что ни есть подходящей целью: для обеспечения анонимности в Интернет. Условия использования Tor не разрешают распространение спама и вредоносного кода, но мы ведь говорим сейчас о злостных хакерах и прочих аморальных элементах. Используя Tor, который представляет собой сеть распределенных   SOCKS  -прокси, продвинутый злоумышленник без труда замаскируется до неузнаваемости. В заголовках SMTP будет виден адрес Tor-сервера, "выпустившего" SMTP-сессию в обычный Интернет, и имя компьютера злоумышленника, которым его SMTP-клиент представился первому SMTP-серверу в цепочке доставки. Злоумышленнику не составит труда подставить вместо имени нечто совершенно неразборчивое, вроде sFhBV09fv1jN. С использованием Tor и утилиты   socat  , я за несколько минут смог сформировать и выслать сообщение, оригинал которого выглядит следующим образом:




Delivered-To: sapran@gmail.com
Received: by 10.220.97.194 with SMTP id m2cs273420vcn;
Sat, 26 Dec 2009 07:49:35 -0800 (PST)
Received: by 10.220.122.170 with SMTP id l42mr14851380vcr.33.1261842574567;
Sat, 26 Dec 2009 07:49:34 -0800 (PST)
Return-Path:
Received: from sFhBV09fv1jN ([119.110.103.59])
by mx.google.com with ESMTP id 5si22328856vws.103.2009.12.26.07.49.01;
Sat, 26 Dec 2009 07:49:34 -0800 (PST)
Received-SPF: fail (google.com: domain of support@twitter.com does not designate 119.110.103.59 as permitted sender) client-ip=119.110.103.59;
Authentication-Results: mx.google.com; spf=hardfail (google.com: domain of support@twitter.com does not designate 119.110.103.59 as permitted sender) smtp.mail=support@twitter.com
Message-ID: <486960.911748127-sendEmail@kk64>
From: "support@twitter.com"
To: "sapran@gmail.com"
Subject:
Date: Sat, 26 Dec 2009 15:48:25 +0000
X-Mailer: sendEmail-1.55
MIME-Version: 1.0
Content-Type: multipart/related; boundary="----MIME delimiter for sendEmail-576975.834862427"

This is a multi-part message in MIME format. To properly display this message you need a MIME-Version 1.0 compliant Email program.

------MIME delimiter for sendEmail-576975.834862427
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hi @sapran!

We checked your account and now it is unlocked!

Happy twitting!
------MIME delimiter for sendEmail-576975.834862427--
Судя по whois,   119.110.103.59 это где-то в Малайзии  .

Как же отличить полезное письмо от подделки? В общем случае -- никак. Только подходя критично к каждому получаемому письму, можно существенно снизить свои шансы попасть в число жертв фишинга, социальной инженерии и прочего клиент-сайда. Будьте аккуратны во время работы с электронной почтой, и вам воздастся.
Alt text

Если вам нравится играть в опасную игру, присоединитесь к нам - мы научим вас правилам!

Подписаться

Vlad Styran

информационно. безопасно.*