Отчет рабочей группы по техническому анализу срыва праймериз ­2016
Москва, Бюро ФПС, 30.06.2016

Отчет рабочей группы по техническому анализу срыва праймериз ­2016 с комментариями ответственного секретаря партии, председателя ЦВК Константина Мерзликина

Исходные данные, с которыми работала группа:

­ Разговоры с редактором сайта, программистом и системным администратором, администратором сайта, заместителем председателя Парнаса – ответственным секретарем ФПС, постановщиком задачи по программированию;
­ Логи системы управления, логи доступа и ошибок одного из четырёх вебсерверов, присланные программистом.
­ Доступ к панели управления виртуального сервера ISPServer в Иркутске.

Данные, которые были запорошены как необходимые, но не предоставлены:

­ Исходные коды системы управления.
­ Логи активности серверов.
­ Логи базы данных.
­ Доступ к системе управления.

­ Техническая документация ­ не велась. Программист: "Разработка велась посредством выполнения коротких промежуточных заданий, формулируемых в рабочем режиме."

Хронология произошедшего

17 апреля 2016 года произошел взлом сайта parnasparty.ru через один из редакторских аккаунтов, на нём появилась переписка Натальи Пелевиной. Через какой аккаунт ­ не установлено, неизвестно и как был получен к нему доступ.

29 мая 2016 года

Около 12:00 на сайте партии появилась новость со ссылкой на базу пользователей сайта праймериз.

Около 12:30 появилась новость на сайте Yodnews.

Около 12:55 новость со ссылкой на базу была снята с публикации.

Около 13:00 на сайте партии появилась новость об "ошибке администратора" с извинениями.

Около 13:10 вторая новость была снята с публикации.

Около 15:15 на сайте появилось сообщение об утечке с рекомендацией сменить пароли.

Около 18:30 на сайте появилось заявление Касьянова о взломе, без технических деталей.

В 20:50 была переустановлена операционная система на сервере­"балансировщике" ISPServer в Иркутске, через который проходили все запросы к сайту. Это привело к отключению сайта и пропаже всех данных на сервере. Судя по логам панели управления, вход был совершён с IP 94.185.85.42 (Netrouting Telecom Sweden). Ранее в 20:37 был сменён пароль пользователя parnas.party. Вход мог быть совершен:­ либо с использованием пароля пользователя parnas.party, дающего полный доступ к серверу, который, судя по разговору с программистом, не изменялся с момента регистрации сервера (!). ­ либо через основную клиентскую панель ISPServer, пароль от которой , по его словам менял перед началом голосования и сообщал только программисту.

30 мая в 11:45 в партийном фейсбуке (сайт весь день не работал) появились первые технические детали, включающие выводы о том, что утечка паролей и доступ к сайту произошли через сервер­"балансировщик".

Утром 31 мая работа сайта была восстановлена.

Около 19:00 1 июня на сайте появился отчет ЦВК с техническими подробностями взлома.

Анализ, часть 1. Техническая реализация системы

Рабочая группа не смогла оценить защищенность системы управления сайта и возможные способы совершенного похищения данных: аппарат партии отказался предоставить необходимые данные (см. Исходные данные).

Защищенность механизма балансировки нагрузки оценить тоже не представляется возможным: все данные на сервере были удалены, резервное копирование не делалось.

Недостаток, который по версии, изложенной программистом, привёл к утечке базы: расшифровка данных, вводимых пользователями, на промежуточном сервере. Этот недостаток (опять же, по словам программиста) был устранён после взлома и теперь данные на "балансировщике" не расшифровываются.

Анализ, часть 2. Установка и настройка сервера в Иркутске
Этому серверу рабочей группой уделялось особое внимание: по словам программиста, именно на нём была собрана база пользователей, а потом через него же опубликована. Несмотря на то, что он особенно уязвим: находится в России, на него сперва заходят все пользователи, он был очень уязвим для атаки.

Административный пароль мог быть кроме программиста у всех людей, имевших доступ к общей почте [email protected]: у постановщика задач, администратора, редактора сайта, ответственного секретаря партии. По словам постановщика задачи, пароль им изменялся 10 апреля, вместе со сменой email, к которому привязан аккаунт. По словам администратора, он менял пароль перед началом голосования.

Представители ЦВК передали слова программиста от 29 мая о том, что пароль изначально пришедший на эту почту, не изменялся. Из разговора с программистом стало ясно, что он привязал ключ шифрования к изначальному паролю, и не менял его ­ значит, пароль никогда не менялся. Но это не административный пароль, а пароль пользователя partas.party с полным доступом к серверу. Он был, кроме программиста, как минимум и бывшего менеджера, который входил с ним через веб­консоль.

Надо отметить, что административный пароль тоже даёт возможность войти в панель сервера и сменить пароль пользователя partas.party, который уже даёт полный доступ.

Выявленные проблемы в безопасности этого сервера:

1. Мастер­пароль от сервера был выслан в открытом виде на партийную почту, и не был изменён. Все, у кого был доступ к этой почте, имели полный доступ к серверу, в том числе к его очистке без возможности восстановления.

2. Панель управления сервера не была защищена по входу только с определённых IP, двухфакторная авторизация была выключена. Эти опции предусмотрены панелью, но были отключены.

3. Не было настроено резервное копирование, что привело к исчезновению логов,механизма балансировки, к недоступности сайта в течение двух дней с вечера 29 мая до 31 мая.

4. На сервере не было принято никаких мер после взлома сайта 17 апреля, не были сменены пароли.

Анализ, часть 3. Организация работы

1. Несмотря на замечания сотрудников, на разработку системы не выделялось достаточных ресурсов. Один сотрудник, работающий удаленно, выполнял функции системного администратора (администрировал сервера) и программиста (разрабатывал сайты и систему голосования). Из-­за большой нагрузки, по словам членов ЦВК, программист в критические моменты был невнимателен. То, что он мало спал, по его словам, стало причиной задержки в два дня с восстановлением работы сайта после взлома.

2. Не существовало политики безопасности, не было проектирования, не велась техническая документация.

Анализ, часть 4. Обратная связь с пользователями

1. Новость была снята с публикации спустя 1,5 часа после публикации, спустя час после появления ссылки на неё в новостях.

2. Пользователи, чьи данные был скомпрометированы, не были персонально извещены об этом с помощью рассылки.

3. Первая официальная реакция с информацией о том, что произошёл взлом, а не ошибка редактора, появилась спустя 8 часов после атаки.

Технические детали взлома появились спустя 3 дня, внутри отчета ЦВК о ботах.

4. После взлома в течение двух дней с вечера 29 мая до 31 мая пользователи узнавали информацию (часто ложную) из третьих источников: сайт был полностью недоступен. Не было размещено даже технически несложное информационное сообщение в HTML­формате.

Анализ, часть 5. Версии событий

1. Kто и как создал базу с паролями?

Версия программиста: хакер проник в систему, имея доступ к серверу­-"балансировщику": либо имея пароль (у кого он мог быть получен/похищен ­ см. Часть 2), либо при содействии провайдера ­ сервер находится в России. За неопределённое время до 29 мая перехватил данные пользователей, которые расшифровывались на этом сервере из­-за недостатка в системе, который на данный момент устранён.

2. Кто и как получил доступ к сайту и выложил новость?

Версия программиста: хакер (опять через сервер­-"балансировщик") перехватил сессию редактора, которая была в тот момент авторизована, и от имени пользователя опубликовал данные, а после снятия их с публикации ­ новость о том, что данные были опубликованы по ошибке.

Версия "Неподходящие результаты": файл был опубликован аппаратом по распоряжению руководства партии, чтобы прервать праймериз, результаты которых складывались неудобным образом.

Контрдоводы:

­ У рабочей группы нет подтверждающих фактов.
Сорвать праймериз можно было без публикации личных данных пользователей, нанёсшей большой ущерб партии и её руководству.

Версия "Ошибка редактора": файл был опубликован из­-за технической ошибки редактора.

Контрдоводы:

­ У рабочей группы нет подтверждающих фактов.
­ Потребовала бы сговора практически всех участников процесса (включая ЦВК) для поддержки ложной версии.

Версия "Инсайдер": файл был опубликован агентом внутри партии, имеющим редакторский доступ.

Контрдоводы:

­ У рабочей группы нет подтверждающих фактов.
­ Опровергается логом действий в системе управления, присланным программистом.

3. Кто и как получил доступ к "балансировщику" и обнулил его?

Версия программиста: Вечером того же дня тот же или другой хакер, имеющий пароль пользователя parnas.party (см. Часть 2) зашёл на сервер и переустановил операционную систему, в результате чего все данные сервера, включая логи, оказались утрачены.

Версия "Сокрытие": Чтобы скрыть технические ошибки, приведшие к утечке и публикации личных данных, представитель Парнас, знающий пароль, или его сообщник зашёл через прокси со шведским IP в панель управления сервера­"балансировщика" и запустил переустановку системы.

Контрдоводы:

­ У рабочей группы нет подтверждающих фактов.

Выводы

1. Рабочая группа не смогла провести полноценный анализ безопасности системы из­за отказа аппарата партии предоставить тестовый доступ и исходные коды системы.

2. Из­-за халатности ответственных за безопасность системы (постановщик задачи, администратор, программист) не было принято мер по защите сервера­"балансировщика" (возможные меры ­ см. Часть 2). Благодаря несанкционированному доступу к этому серверу, по версии программиста, был
украден список паролей, злоумышленником получен доступ к редакторскому аккаунту для публикации этого списка, на два дня остановлена работа сайта.

После первого взлома 17 апреля никаких мер по защите этого сервера тоже принято не было, даже не был изменён пароль администратора.

3. Существующая политика информационной безопасности и разработки IT ­систем партии требует срочного пересмотра.

4. Обратная связь не помогла уменьшить негативный информационный фон от взлома и предотвратить массовый взлом аккаунтов пользователей на других сервисах.

Рекомендации руководству партии

Срочно принять организационные и кадровые меры по предотвращению подобных ситуаций:

1. Выработать профессиональную политику информационной безопасности. Ввести персональную ответственность с организационными мерами в случае её нарушения.

2. Принять прозрачную политику найма сотрудников. Развести должности программиста и системного администратора. Разработать механизмы замены сотрудника в случае экстренной ситуации (арест, болезнь, необходимость поспать).

3. Ввести системный подход к разработке и защите систем, с ведением технической документации и её профессиональным аудитом.

4. Выработать политику обратной связи с пользователями, назначить ответственных за её соблюдение.

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

Рабочая группа:

Павел Елизаров
Стас Поздняков
Михаил Роскин
14 июня 2016 года

Комментарии ответственного секретаря, председателя ЦВК Константина Мерзликина:

"В 20:50 была переустановлена операционная система на сервере­"балансировщике" ISPServer в Иркутске, через который проходили все запросы к сайту. Это привело к отключению сайта и пропаже всех данных на сервере. Судя по логам панели управления, вход был совершён с IP 94.185.85.42 (Netrouting Telecom Sweden). Ранее в 20:37 был сменён пароль пользователя parnas.party. Вход мог быть совершен:­ либо с использованием пароля пользователя parnas.party, дающего полный доступ к серверу, который, судя по разговору с программистом, не изменялся с момента регистрации сервера (!). ­ либо через основную клиентскую панель ISPServer, пароль от которой , по его словам менял перед началом голосования и сообщал только программисту" - Речь идет об административном пароле. Программист не утверждал, что административный пароль никогда не менялся, а сказал, что не знает, менялся ли он, и что это необходимо смотреть по логам.

"30 мая в 11:45 в партийном фейсбуке (сайт весь день не работал) появились первые технические детали, включающие выводы о том, что утечка паролей и доступ к сайту произошли через сервер­"балансировщик" - 30 мая выполнялись работы по восстановлению балансировщика и переорганизации инфраструктуры. Также были приняты меры по безопасности, исключающие подобные действия в дальнейшем.

"Рабочая группа не смогла оценить защищенность системы управления сайта и возможные способы совершенного похищения данных: аппарат партии отказался предоставить необходимые данные (см. Исходные данные)." - Комиссии были переданы все необходимые для их работы доступы и логи, дающие полное представление о внешнем трафике системы. Открытие исходных кодов системы управления не представлялось возможным, потому что у рабочей группы нет юридических механизмов гарантирования конфиденциальности.

"Недостаток, который по версии, изложенной программистом, привёл к утечке базы: расшифровка данных, вводимых пользователями, на промежуточном сервере. Этот недостаток (опять же, по словам программиста) был устранён после взлома и теперь данные на "балансировщике" не расшифровываются." - Неверная формулировка. Была не утечка базы, а утечка данных, которые направлялись через балансировщик для проверки и последующей записи в базу. Это разные вещи.

"Этому серверу рабочей группой уделялось особое внимание: по словам программиста, именно на нём была собрана база пользователей, а потом через него же опубликована. Несмотря на то, что он особенно уязвим: находится в России, на него сперва заходят все пользователи, он был очень уязвим для атаки." - Еще раз обращаем внимание, что данные не собирались на балансировщике, а лишь переправлялись через него. Никакие данные на балансировщике не хранились совсем.

"Надо отметить, что административный пароль тоже даёт возможность войти в панель сервера и сменить пароль пользователя partas.party, который уже даёт полный доступ." - Налицо путаница в определениях паролей и вообще в понимании ситуации с ними. В любом случае, некорректно утверждение о паролях, якобы приходящих в открытом формате на почту. Пароли создаются и меняются вручную в контрольной панели. 

"1. Мастер­пароль от сервера был выслан в открытом виде на партийную почту, и не был изменён. Все, у кого был доступ к этой почте, имели полный доступ к серверу, в том числе к его очистке без возможности восстановления." - См. пред. комментарий

"4. На сервере не было принято никаких мер после взлома сайта 17 апреля, не были сменены пароли." - Были изменены пароли в админку.

"1. Несмотря на замечания сотрудников, на разработку системы не выделялось достаточных ресурсов. Один сотрудник, работающий удаленно, выполнял функции системного администратора (администрировал сервера) и программиста (разрабатывал сайты и систему голосования). Из-­за большой нагрузки, по словам членов ЦВК, программист в критические моменты был невнимателен. То, что он мало спал, по его словам, стало причиной задержки в два дня с восстановлением работы сайта после взлома." - Из ответа нашего программиста этого не следует. Он действительно мало спал, но никаких задержек не было. Сервер был включен в работу, как только были приняты все меры (см выше). Даже если бы в разработке и администрировании принимало участие несколько человек, это бы не сильно ускорило процесс запуска. Ответственный человек все равно один и он должен убедиться, что все сделано как надо.

"2. Не существовало политики безопасности, не было проектирования, не велась техническая документация." - Утечка данных любым способом (через инсайдеров, провайдеров и тп) – это самое уязвимое место в любой политике безопасности.

"2. Пользователи, чьи данные был скомпрометированы, не были персонально извещены об этом с помощью рассылки." - Рассылка была сделана. А пароли всем пользователям были сброшены сразу же. Это было первое действие.

"Версия программиста: хакер проник в систему, имея доступ к серверу­-"балансировщику": либо имея пароль (у кого он мог быть получен/похищен ­ см. Часть 2), либо при содействии провайдера ­ сервер находится в России. За неопределённое время до 29 мая перехватил данные пользователей, которые расшифровывались на этом сервере из­-за недостатка в системе, который на данный момент устранён." - Верно, это версия нашего программиста, которая основывается на анализе опубликованных данных, в которых есть:
1) Пароли в открытом виде (которые не хранятся нигде, и их можно только перехватить)
2) Попытки ввода паролей - вообще нигде не хранятся
3) Персональные данные только части пользователей, которые регистрировались с момента получения доступа злоумышленников к балансировщику.

"Версия программиста: хакер (опять через сервер­-"балансировщик") перехватил сессию редактора, которая была в тот момент авторизована, и от имени пользователя опубликовал данные, а после снятия их с публикации ­ новость о том, что данные были опубликованы по ошибке." - Верно, это доказано с помощью логов заходов и действий в админке.

Версия "Ошибка редактора": файл был опубликован из­-за технической ошибки редактора. - Кроме того, как говорилось выше, формат выложенных в открытый доступ данных говорит об их перехвате, а не о публикации информации изнутри системы. Об этом же говорится в заключении ЦВК.

"Версия программиста: Вечером того же дня тот же или другой хакер, имеющий пароль пользователя parnas.party (см. Часть 2) зашёл на сервер и переустановил операционную систему, в результате чего все данные сервера, включая логи, оказались утрачены." - Верно, доказано через логи заходов на балансировщик (хранятся у провайдера)

"1. Рабочая группа не смогла провести полноценный анализ безопасности системы из-­за отказа аппарата партии предоставить тестовый доступ и исходные коды системы." - Все необходимые материалы были предоставлены. Исходные коды системы не предоставлены из-за того, что рабочая группа не имеет юридических механизмов гарантирования конфиденциальности.

"2. Из­-за халатности ответственных за безопасность системы (постановщик задачи, администратор, программист) не было принято мер по защите сервера­"балансировщика" (возможные меры ­ см. Часть 2). Благодаря несанкционированному доступу к этому серверу, по версии программиста, был украден список паролей, злоумышленником получен доступ к редакторскому аккаунту для публикации этого списка, на два дня остановлена работа сайта." - Неверно: утечка пароля могла быть через провайдера, а этот вариант вовсе не рассматривается рабочей группой. Вообще нет доказательств, что была именно утечка изнутри.

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

Выводы, которая сделала комиссия, были сделаны программистом в первые часы после взлома. Фактически, это пересказ его предположений от своего лица.

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



 


читайте также
Заявление Партии о приостановке государственной регистрации
Федеральное, 18.06.2021

Считаем действия Минюста новым инструментом неправового ограничения избирательных и политических прав граждан

Михаил Касьянов: надежды на создание предвыборной коалиции несбыточны
Федеральное, 11.06.2021

Лидер ПАРНАС считает, что выборы в парламент заранее превращены в фарс.

Михаил Касьянов заявил о неучастии иностранных организаций в юридическом лице ПАРНАС
Федеральное, 08.06.2021

Предупреждение Минюста в адрес Партии ошибочны

Заявление ПАРНАС о преследовании властями Андрея Пивоварова и Дмитрия Гудкова
Федеральное, 03.06.2021

Обвинения против политиков — лживая и циничная ширма властей для устранения политических оппонентов.

МГИК два раза отказала ПАРНАС в проведении референдума
МОСКВА, 02.06.2021

На плебисцит Партия планирует вынести вопросы по целому ряду городских проблем.

Ушел из жизни многолетний соратник ПАРНАС Юрий Космынин
МОСКВА, 15.05.2021

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

Михаил Касьянов поддержал решение фонда "Городские проекты" выдвинуть кандидата в Госдуму
Федеральное, 08.05.2021

Анастасия Брюханова намерена собрать подписи и избираться в Государственную Думу по 198 округу (Ленинградский, Москва).

ПАРНАС получила предупреждение Минюста России
Федеральное, 07.05.2021

ПАРНАС обязывают устранить якобы имеющееся нарушение № 272-ФЗ в части участия нежелательной иностранной организации в деятельности Партии. В ПАРНАС не согласны с предположениями Минюста и будут их оспаривать.

Московский ПАРНАС инициирует городской референдум
МОСКВА, 12.04.2021

В партии рассчитывают, что 19 сентября москвичам предложат ответить на пять важных для города вопросов

Съезд ПАРНАС переизбрал руководящие органы
Федеральное, 20.03.2021

Съезд избрал также шесть заместителей председателя и членов Федерального политического совета.

Съезд ПАРНАС призвал все демократические силы объединиться для победы над тиранией
Федеральное, 20.03.2021

Самым эффективным действием в настоящий момент ПАРНАС считает незамедлительное формирование объединенной демократической коалиции и проведение ею кампании по участию в выборах в Госдуму.

ПАРНАС составит «список доверия» к выборам в Госдуму
Федеральное, 20.03.2021

Михаил Касьянов предложил Съезду Партии сформировать список кандидатов, которым Партия выражает доверие

В Москве открылся XIX Съезд Партии народной свободы (ПАРНАС)
Федеральное, 20.03.2021

В нем принимают участие 75 делегатов из 48 регионов России

В Москве прошло массовое задержание на форуме муниципальных депутатов
Федеральное, 13.03.2021

Среди задержанных член федерального политсовета ПАРНАС и глава Омского отделения партии.

Руководители ПАРНАС почтили память Бориса Немцова на месте его убийства
Федеральное, 27.02.2021

Выдающийся политик и общественный деятель, сопредседатель нашей Партии был убит шесть лет назад у стен Кремля.

Акции памяти Бориса Немцова прошли по всей России
Федеральное, 27.02.2021

Люди возлагали цветы и ставили портреты к памятникам жертвам политических репрессий и создавали народные мемориалы памяти выдающегося политика и общественного деятеля

Михаил Касьянов назвал приговоры Навальному отказом России от выполнения международных обязательств
Федеральное, 21.02.2021

Режим уже не считает нужным имитировать существование правовой системы

Мэрия Москвы отказала в согласовании Марша памяти Немцова из-за коронавируса
Федеральное, 17.02.2021

ПАРНАС намерена после снятия действующего запрета инициировать совместно с другими политическими и общественными организациями проведение Марша Немцова.

Мэрию Москвы уведомили о проведении Марша Немцова 27 февраля.
Федеральное, 15.02.2021

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