15 августа в Днепре запустили электронный «Кабинет жителя». Это единый интерфейс для всех оцифрованных госуслуг, который работает на базе iGov.

Через «Кабинет» можно оформить субсидию, занять очередь в детский сад, зарегистрировать предпринимательскую деятельность и так далее, сообщает сайт горсовета.

Вскоре о сайте заговорили в другом ключе. Как рассказал на Facebook предприниматель Андрей Хорсев, у портала проблемы с безопасностью — если получить персонализированную ссылку пользователя, можно узнать его персональную информацию.

Электронный кабинет, источник — сайт Днепровского горсовета

Как это работает и чем опасно

  1. На сайте «Кабинета» подключена безопасная авторизация через BankID или ЭЦП.
  2. Но услуги указываются на сайте iGov, куда пользователя отправляют после авторизации.
  3. Для подтверждения, iGov опирается на уникальную ссылку, в которую внесен идентификатор сессии. Ссылку можно получить из истории посещений браузера или адресной строки, нажав «Назад» при первом редиректе на iGov.

Персонализированная ссылка позволяет любому, кто ее получит, узнать следующее:

  • ФИО;
  • паспортные данные;
  • ИНН;
  • номер телефона.

Как рассказывает Хорсев, этих данных достаточно, чтобы оформить кредит на человека.

Это равносильно тому чтобы ПриватБанк выдавал ссылки по которым каждый мог заходить в ваш Privat24.

Позиция iGov

IT-директор iGov Владимир Белявцев считает, что проблема раздута. Он рассказал AIN.UA, что вина за утечку данных в таком случае может лежать только на пользователе:

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

Это равноценно тому, чтобы отправлять кому-то ссылку на восстановление пароля в аккаунте. Кроме того, ссылка прекращает действие по истечению сессии — а она длится сутки.

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

Вскоре идентификатор сессии будет передаваться иначе. Думаю, сегодня работу над этим уже завершат.

Мнение эксперта

С тем, что нынешний вариант полностью безопасен, не соглашается Егор Папышев, offensive Security researcher:

Нынешний вариант, скажем так, не вполне соответствует лучшим практикам по кибербезопасности.

Нужно совсем убрать сессию из GET-параметра и передавать ее в cookie, добавить CSRF-токен. Сам сессионный токен должен быть достаточно большим и случайным.

Еще необходимо реализовать ACL при которой нельзя будет результативно осуществить брутфорс, лимитировать обращения к критичным API. Трафик, естественно, должен быть защищен TLS. Это минимальный набор необходимых мер.

Обновлено

16 августа IT-директор iGov Владимир Белявцев рассказал, что потенциальную уязвимость закрыли — идентификатор сессии стал одноразовым и сразу после перехода по ссылке, он аннулируется. Использовать уникальный URL повторно больше не получится, а его утеря не несет угрозы.

Появились подробности и о разработке сервиса — на тендер о разработке «Кабинета жителя» обратил внимание Андрей Хорсев.

Он указал, что стоимость разработки составила 600 000 грн, при этом в документации торгов были неконкурентные условия. В документах значится пункт: «технічні можливості для проведення інтеграції має лише ТОВ “Айкор Технолоджі”». Эта компания и выиграла торги.

Что нужно знать о разработчиках

«Кабинет жителя» — это подсистема, которая работает на базе системы электронной автоматизации и документооборота iDoc. Ее создание в рамках iGov в 2017 году анонсировал Дмитрий Дубилет.

Лицензию на использование и годовую поддержку iDoc горсовет Днепра ранее купил у «АйКор Технолоджі» за 49 725 грн на конкурентном тендере. Основатель и руководитель «АйКор Технолоджі» компании — тот же Владимир Белявцев, он совмещает работу в iGov и iDoc.

Белявцев — выходец из «ПриватБанка», был один из ближайших соратников Дмитрия Дубилета в рамках iGov. На его счету — разработка архитектуры iGov, а также iDoc. Этим сервисом он владеет как объектом интеллектуальной собственности.

Как связаны iDoc и iGov

В разговоре с журналистом AIN.UA Владимир также рассказал, что сервисы созданы в дополнение друг к другу:

iDoc — производная от iGov, но создан он отдельно. Это независимый и самостоятельный продукт. Я создавал архитектуру системы iGov, продумывал и выстраивал — поэтому многие наработки, архитектура, подходы взяты для для разработки iDoc. Можно сказать, что iDoc комплиментарен iGov. Но при этом уже код iDoc делался не волонтерами, а нанятыми разработчиками.

iGov в 2018 году полностью передали передали на баланс государства, а вот iDoc — нет, объясняет Белявцев.

Трансфер iGov в государственное владение длился 3 года.

По факту, правообладателем iGov является «ГП Инвестиционно-инновационный центр». Но компания «АйКор Технолоджі» является эксклюзивным обладателем лицензии на дальнейшую поддержку и развитие системы. Почему? Потому что архитектор системы — я, а в команде разработки компании есть лучшие специалисты по iDoc.

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

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

Мы в этой формулировке — компании «АйКор Технолоджі» Белявцева и «Айдок» Дубилета. Оба имеют лицензии на внедрение iDoc, но активно работает именно первое юрлицо. Как говорит Белявцев, у «Айдок» сложное прошлое:

Дмитрий Дубилет владеет ООО «Айдок» — оно тоже имеет лицензию на работу с iDoc, но активно не развивается. Это юрлицо со сложной историей, раньше называлось «Папка24» и было фигурантом расследования. У «Айдок» мало клиентов, поэтому мы решили начать все с начала с новым юрлицом.

В комментарии AIN.UA Дубилет подтвердил, что не планирует развивать «Айдок»:

К сожалению, я таки несколько отошел от этих проектов… Планирую скоро передать все права и собственность на фактического руководителя Владимира Белявцева.

Что же с тендером

Тендер на 600 000 грн был неконкурентным, потому что горсовет уже лицензировал у «АйКор Технолоджі» систему iDoc и другая компания не могла бы работать с этим продуктом.

Кроме того, объясняет Белявцев, было и другое обоснование:

При разработке «Кабинета жителя», одним из требованием горсовета была интеграция с iGov, а тажке миграция авторизации. Победитель тендера должен был иметь право работать с этими системами. Но никто другой этого объективно сделать не может — у нас есть лицензия на работу с iDoc и лицензия обслуживание и разработку объекта интеллектуальной собственности iGov.

Это не единственный тендер на внедрение iDoc, который выиграла «АйКор Технолоджі» . Помимо кейса с «Кабинетом жителя», у компании еще 10 выигранных государственных закупок.

Есть и коммерческие пользователи: на странице компании указаны банки («Универсал Банк»), ритейлеры (Eva, Varus), провайдеры (People.net). Белявцев говорит, что «клиентов не миллионы», но компании хватает на развитие. iDoc можно развернуть как в облаке, так и на базе собственного сервера. Когда проект запускался, заявленный ценник составлял 250 000 грн.

Почему виден «чужой» код

Еще одна претензия к новому «Кабинету жителя» — параметры элементов страницы.

В них вписаны упоминания «KyivCity», это указания на фронтенд-часть проекта киевского «Кабинета жителя». Белявцев говорит, что заимствование — не проблема:

По лицензии от текущего государственного правообладателя iGov, мы имеем права использовать и модифицировать его код. Потому та часть, которая во многом должна была сохраниться в «ре-компиляции» — была нами и сохранена. Мы «состыковали» ее с уже с совершенно другой “базой iDoc под капотом”.