15 августа в Днепре запустили электронный «Кабинет жителя». Это единый интерфейс для всех оцифрованных госуслуг, который работает на базе iGov.
Через «Кабинет» можно оформить субсидию, занять очередь в детский сад, зарегистрировать предпринимательскую деятельность и так далее, сообщает сайт горсовета.
Вскоре о сайте заговорили в другом ключе. Как рассказал на Facebook предприниматель Андрей Хорсев, у портала проблемы с безопасностью — если получить персонализированную ссылку пользователя, можно узнать его персональную информацию.
Как это работает и чем опасно
- На сайте «Кабинета» подключена безопасная авторизация через BankID или ЭЦП.
- Но услуги указываются на сайте iGov, куда пользователя отправляют после авторизации.
- Для подтверждения, 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 под капотом”.