Финальная битва между добром и нейтралитетом

Взлом ФБК. История одного предательства

Мы задолжали вам несколько вещей, дорогие читатели. Во-первых, извинения за то, что из-за нашей ошибки, нашего недосмотра и неосмотрительности была украдена имейл база наших сторонников. Извините нас. Мы сделаем все, чтобы такого никогда не повторилось. А во-вторых, конечно же, расследование о том кто, когда и почему совершил это преступление.

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

Однако эта история не только про очередной виток путинских репрессий против нас, Фонда борьбы с коррупцией и штабов Навального. Мы для них враги, все понятно. Но теперь решили бороться и с вами — людьми, которые виноваты только в том, что им не нравится несменяемая власть, и которые заступились за незаконно посаженного человека в то время, когда он болел, голодал и не получал помощи. Путин ненавидит и вас.

Когда Алексея Навального незаконно арестовали, мы сделали сайт «Свободу Навальному», на котором вы оставляли свои электронные почты, для того чтобы скоординированно выйти в определенный день на митинги против незаконного ареста.

16 апреля зарегистрированным людям стали приходить письма. Не от нас. С угрозами и запугиваниями.

Злоумышленники добавили в рассылки личные данные из государственных баз — регистрации по месту жительства, места работы, данные с сайта госуслуг. Аналогичные письма были разосланы работодателям — мол, посмотрите, ваш сотрудник зарегистирован на сайте Навального.

21 апреля 2021 года прошли акции протеста в десятках городов, люди, несмотря ни на что выходили на улицы ради спасения Алексея Навального.
После митингов власть включила машину преследования участников митинга: административные аресты и штрафы, посещения полицейскими, проблемы на работе и учебе. К нам обратилось 34 человека в связи с увольнениями из бюджетных организаций. В СМИ информация об угрозах увольнения сотен людей.

Эта история еще и про предательство. Про то, как один конкретный человек, работавший раньше вместе с нами, продал за относительно небольшую сумму вас всех. Личным решением, непосредственно своими руками сделал так, что десятки человек потеряли работу. Перестали иметь возможность кормить свои семьи и платить по счетам.

Мы приступили к разбору произошедшего со всей основательностью.

Первое, что надо сделать для поиска вора, когда у вас что-то украли, — понять откуда украли и как. К счастью, между кражей чего-то через интернет и кражей кошелька на рынке есть большая разница. Когда воруют через интернет, то остаётся куча цифровых следов, которые невозможно удалить. Особенно если вор ваш достаточно глупый. И мы начали смотреть, какие улики у нас есть.

Первая улика, которую надо исследовать, — это, конечно, сами украденные данные. Это только адрес электронной почты и время.

А самого главного мы не видим — не видим домашних адресов людей, которые регистрировались на нашем сайте. Единственная причина, по которой они не опубликованы (согласитесь, это было бы куда большим уроном), — это просто отсутствие этих данных у воров. Не было у них никаких ваших домашних адресов. Запомним это.

Теперь про время, это вторая колонка, которую мы видим в слитых данных. Мы это время не узнаем — у нас вообще таких данных нет и никогда не было. Ничего на нашем сайте в указанное время не происходило. Мы записывали время регистрации человека на сайте, и это не оно. Время, указанное в сливе, — на несколько часов позже, у многих пользователей оно отличается с точностью до минут. Что это может быть? Мы разобрались.

Это время рассылки имейлов с просьбой подтвердить свою регистрацию на сайте. Первая отметка — дата отправки письма с просьбой подтвердить регистрацию, вторая — с благодарностью за подтверждение. То есть утечка была не с нашего сайта, а с сервиса, который делает для нас рассылки. Что это за сервис такой? Объясняю. Отправить 10 000 или 500 000 писем, как это было нам нужно, невозможно вручную. Надо же следить, чтобы каждое письмо было отправлено вовремя, доставлено, прочитано и так далее. Для этого существуют сервисы рассылок, которые все это автоматизируют и делают за тебя. А клиент, то есть мы, просто смотрит статусы — столько-то дошло, столько-то потерялось. Мы пользовались почтовым сервисом «Мейлган», он надежный, не базируется в России. И сотрудники ФСБ не могут прийти и сказать: «А ну-ка отдайте нам все письма, которые вы от Навального отправляете».

И целью вора был именно этот сервис. Мы не передавали почтовому сервису домашние адреса (зачем они им?), поэтому они и не утекли. А сами имейлы, список для рассылки — передавали. Именно эти имейлы и находятся в слитой базе.

Мы сделали дополнительную проверку и окончательно убедились, что время указаное в слитой базе отличается не только форматом серверного времени записи регистрации в нашу базу данных на несколько часов, но некоторые регистрации отличаются с точностью до минут. Легко было заметить, что пользователь регистрировался на нашем сайте с более ранней временной отметкой, а письмо с просьбой подтвердить регистрацию отправлялось чуточку позже.

Например:

2021-03-26 02:18:59.992578+00 — действительный timestamp регистрации пользователя в нашей базе
26.03.2021 5:19 — timestamp указанный в слитой базе

Формат имеет разницу в три часа, что легко объясняется отличием между форматом времени нашего сервера и форматом поддерживаемым сервисом Мейлган. На нашем сайте пользователь регистрировался в 18 минут, а в слитой базе ему присвоена отметка — 19 минут. Мы прошлись по таким «пограничным» регистрациям, попадающим на последние секунды минут, и убедились, что все они отличаются. Если бы злоумышленник имел доступ напрямую к нашей базе, то как минимум указал бы более точное время.

Великолепно. Место преступления установлено с точностью. Теперь надо понять, как была совершена кража. Попасть в наш аккаунт на почтовом сервисе можно двумя способами. Первый, очевидный, через пароль. По паролю в сервис попадают так же, как в свою электронную почту. Можно зайти и посмотреть, что и кому отправляется. Но мы проверили, по паролю в аккаунт никто не заходил и данные не выкачивал.

А теперь второй способ, для него нужен специальный секретный ключ, которые позволит сервису распознать, что вы свой. Это называется API-ключ, он вписывается в программу, которая отправляет письма, чтобы она могла работать без ввода логина и пароля. Чтобы могла от вашего имени отправлять письма и делать все, что надо, для работы с рассылками, а еще смотреть кому что отправлено. Количество людей, имеющих доступ к этому ключу, жестко ограничено. Это все наши сотрудники, которым положено его иметь.

Мы спросили у сервиса рассылок, кто же заходил и что-то делал по нашему ключу, и получили список, грубо говоря, компьютеров (адресов). У большинства было алиби — они были наши, и, самое главное, они не выкачивали список электронных почт. Но в этом списке обнаружился и преступник, пользователь, который с помощью специально написанного несложного скрипта планомерно выкачивал данные. Мы смогли увидеть во всех подробностях, как это происходило: сколько тысяч адресов было украдено в один день, сколько в другой. И даже откуда. Наши базы выкачивались из Приморского края и Санкт-Петербурга.

Пока наше расследование идет на редкость удачно. Мы точно определили, откуда и как была совершена кража, и даже узнали, как перемещался по стране наш глупый воришка. Осталось понять, кто же он.

И мы вычислили его очень просто. По айпи-адресу. Адресов, с которых выкачивались данные, оказалось всего несколько. При этом программа, выкачивающая данные из «Мейлгана», всегда работала по единому принципу, с какого бы адреса она не исполнялась — Санкт-Петербургского или Приморского: в ней была заложена 11-минутная пауза. Злоумышленник, видимо, боялся ограничений со стороны сервиса «Мейлган» по количеству допустимых запросов за определенное время. Пауза была явно инициирована в скрипте и не являлась ограничением «Мейлгана»: у них в логах указано, сколько времени запрос выполнялся — везде крошечная доля секунды. Все запросы были с успешным кодом 200. Злоумышленник видимо упустил этот момент и тем самым выдал себя. В программе была возможность указывать дату и время за которые требовалось выкачивать список емайлов, а так же тему (заголовок) письма, например — подтверждение регистрации и источник — адрес сайта.

Ниже скриншот журнала попытки исполнения программы 24 марта с Приморского адреса по базе free.navalny.com с указаной стартовой датой сбора емайлов — 22 марта:

Журнал исполнения программы с 11-минутной паузой с Приморского адреса - выкачиваются логи отправки писем free.navalny.com за 22 марта (предоставлено Мейлган)

Программа по выкачиванию данных была везде одна, а значит и злоумышленник был один и тот же. Оставалось только проверить адреса и понять, не засветились ли они у нас где-то еще. Ну мало ли, вдруг вор настолько глупый, что пытался взломать и другое. И мы нашли. С того же самого айпи-адреса, с которого выкачивались имейлы, кто-то заходил в корпоративную почту ФБК. В почту, принадлежащую конкретному, давно уволенному сотруднику. С паролем, который никто, кроме этого, сотрудника не знал.

И этот человек спустя несколько лет после увольнения решил покопаться в своей рабочей почте.

Этого человека зовут Федор Горожанко. И, удивительное совпадение, в ФБК до увольнения он занимался рассылками. То есть имел доступ к секретному API-ключу.

Неумелый хакер Горожанко оставил буквально свои отпечатки пальцев на месте преступления. Сомнений тут не может быть никаких. И вот еще забавная деталь: он воровал наши данные не в первый раз. В январе нам пришло два письма от наших сторонников из Санкт-Петербурга. Им неожиданно пришли письма от нашего бывшего сотрудника Горожанко с просьбой поддержать его трансляцию с митинга 31 января в поддержку Навального и отправить ему денег. Хотя они знать не знают, кто это, и никогда на него не подписывались.

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

Из журналов, предоставленных Мейлганом, мы увидели, что Федор продолжал выкачивать базу по тем, кто получает от нас письма в Санкт-Петербурге. Программа имела аналогичную структуру.

Горожанко совершил уголовно наказуемое преступление. В Уголовном кодексе есть статья 272 — неправомерный доступ к компьютерной информации с корыстным мотивом. В данном случае это персональные данные. Это как воровство, только воровство не вещей или денег, а информации. Создание программы для неправомерного доступа — статья 273 Уголовного кодекса. Я вижу тут состав еще статьи 137 Уголовного кодекса — нарушение неприкосновенности частной жизни. И 138 УК РФ — нарушение тайны переписки.

Но кроме банального воровства, уголовно наказуемого преступления, есть и еще один момент. Я думаю, вы согласитесь, очень важный и интересный. Федор проработал в ФБК четыре года. Еще больше лет он является заметным питерским либеральным активистом. Он боролся с нарушениями в жилищно-комммунальной сфере, баллотировался в Законодательное собрание от партии «Яблоко». Отец Федора — известный в Петербурге и псковской области журналист и общественный деятель. Действующий депутат, тоже от партии «Яблоко».

Что с Федором случилось? Откуда взялись написанные по лучшим кремлевским темникам посты? Людей сажает не Путин, а Навальный. У Навального нет программы. Он идет по головам. А яхту Абрамовича трогать нельзя. Пропагандиста Соловьева тоже. И вообще, обещал всем, что Навальный после отравления останется в Европе пить вино.

Разочаровался? Может быть, бывает. Выгорел или обиделся, мало ли. Но одно дело — обиженные твиты, а другое — уголовное преступление, на которое он пошел. Поставлены в опасность сотни тысяч людей. Разочарования мало, чтобы слить базу сторонников, где есть почта собственных брата и отца. Разочарования недостаточно, чтобы срывать митинг, в котором призывает всех участвовать твой же отец. Нужна другая очень веская причина. И мы ее нашли.

Это деньги. Федор Горожанко человек небогатый. Заметной работы после ФБК толком не было, политической карьеры построить он не смог. Жил непонятно на что. Из имущества только комната в коммуналке.

До недавнего времени Федор жил настолько плохо, что залез в микрокредиты. Взял, а вернуть не смог. Долг продали коллекторам, а они подали на него в суд, вот карточка дела.

Мы связались с коллекторами, которые подали в суд, и уточнили сумму иска. 96 тысяч рублей.

Но все изменилось после взлома базы имейлов ФБК.

3 апреля Федор внес наличными на свой счет 245 тысяч рублей.

9 апреля, опять наличными, 995 тысяч рублей.

Больше миллиона рублей наличных за несколько дней у человека, который не может вернуть долг в 96 тысяч, — согласитесь, редко такое бывает?

Эти банковские выписки нам прислали на Черный Ящик, за что мы говорим огромное спасибо. Мы их верифицировали и подтвердили доступными нам способами.
Пример одной из выписок тут.

Деньги вносились через банкомат. То есть либо Федору принесли чемодан с миллионом, либо он продал свалившийся на него гонорар из биткоинов. Благодаря расследованиям журналистов из «Медузы» и «Настоящего времени» мы знаем, что заказчиком этого взлома была администрация президента. Журналисты называют конкретных людей: Андрей Ярин — начальник Управления по внутренней политике, и Михаил Дудин, программист, который раньше просто помогал администрации президента со всякими спецоперациями типа взломов, а теперь в этой администрации официально трудоустроен. А Федор Горожанко был мелким исполнителем, человеком, который поднес нужные ключи. Продавшим полмиллиона комплектов личных данных сторонников Навального как минимум за один с лишним миллион рублей. Чтобы порадовать Путина и сделать так, чтобы он правил подольше.

Кстати, если кому-то вдруг не хватает доказательств. Помните, мы писали, что наша база выкачивалась с айпи-адресов в Санкт-Петербурге и Приморском крае? С Петербургом понятно — там Федор живет постоянно. Например 2 апреля он вновь проводил тесты и выкачивал базу free.navalny со стартовой датой 22 марта

Журнал исполнения программы 2 апреля с адреса локации Санкт-петербург - выкачиваются логи отправки писем free.navalny.com за 22 марта (предоставлено Мейлган)

А вот в Находке, судя по его покупкам в аптеке и пекарне, он был именно тогда, когда с айпи-адреса, привязанного к этому городу, взломали нашу базу. Перемещения Горожанко между Приморским краем и Санкт-Петербургом идеально совпадают с перемещениями нашего хакера.

Самое поразительно в этой истории, пожалуй, как недорого стоит совесть. Федор Горожанко продал свою по два рубля за человека, если считать грубо. Во столько оценил вашу безопасность и личные данные. Столько он получил за каждого из уволенных сотрудников метрополитена и дептранса, которые остались без работы и возможности содержать свои семьи. Зато Федор разжился двумя рублями.

И еще очень важная вещь. Безусловно, эта история во многом про нашу ошибку. Мы могли сменить ключ API, перестраховаться, раньше распознать предателя. Мы выучили этот урок и сделаем все, чтобы такого никогда не повторилось.

Но еще это история про преступления. На одну нашу ошибку приходится пять уголовных преступлений, совершенных вполне конкретными людьми.

Дудин, Ярин, Кириенко и все, кто отвечает за гонения на оппозицию в администрации президента. Придумали «классную» схему с хакерами? Молодцы. Но это пять уголовных статей.

Максим Ликсутов, глава департамента транспорта Москвы, из подведомственных организаций которого уволили десятки людей. Сотни запугивали. По его личному приказу. Ликсутов через этих людей мстит нам лично — за то, что много лет мы публикуем расследования о том, как этот невероятно богатый чиновник зарабатывает деньги на московском транспорте и как он фиктивно развелся с женой (самой богатой женщиной Эстонии), чтобы не декларировать доходы от переписанных на нее активов.

Виновато руководство и глава ВГТРК Добродеев. Личную беседу с одной из уволенных сотрудниц проводил известный ведущий и депутат Мосгордумы Андрей Медведев. Он сказал, что нельзя поддерживать Навального и получать зарплату на ВГТРК — и вообще он испытывает личную обиду, потому что он большой друг Маргариты Симоньян, а Навальный рассказывает про то, как она на своей «Раше Тудей» бессовестно ворует. Поэтому — увольнение.

Горожанко, заказчики из администрации президента, Ликсутов, руководство ВГТРК и другие люди, принявшие решение уничтожать людей за поддержку Навального, — вот те, кто должен нести ответственность за происшедшее. Мы подадим заявления о преступлении против каждого. Всем незаконно уволенным мы помогаем и будем помогать вплоть до Европейского суда по правам человека. Напишите нам на pravo@navalny.com, если вы пострадали от этого взлома. Мы обращаемся и к тем, кто постоянно проживает за пределами России, — для подачи заявлений о преступлении в других юрисдикциях.

И не забывайте, правда на нашей стороне. Никто не обещал, что схватка с огромным злым монстром — путинским режимом — будет простой. Но мы обязательно справимся вместе.

Свободу Алексею Навальному.

Подпишись на рассылку
чтобы получать короткий обзор лучших постов недели
Уведомления