Ошибка, описанная в данной статье, нами была передана разработчикам ЭП и исправлена, соответственно эксплуатация уязвимости уже невозможна. С учетом указанного, считаем данная публикация не повлечет утечку чьих-либо персональных данных. Но мы не можем гарантировать того, что документы наших граждан уже не были получены злоумышленниками и не сохранены для каких-либо действии.
Итак, на портале электронного правительства, при запросе той или иной справки, пользователь получает прямую ссылку на документ в формате *.PDF, которая выглядит примерно так:
http://egov.kz/shepDownloadPdf?favorId(номер документа)&iin=(номер ИИН)
Ошибка админов заключается в общей доступности Server-Status, что в свою очередь раскрывает все передаваемые запросы GET (показано на рисунке ниже).
Дальше еще интереснее. По прямой ссылке можно было скачать документ без авторизации, а это позволяет злоумышленнику проводить атаку прямым перебором для получения всех выданных документов, или документы конкретного человека по его ИИН. В итоге, все выдаваемые электронным правительством документы, независимо от точки обработки запроса (дома за собственным компьютером, Центре обслуживания населения, мобильное устройство) были доступны для третьих лиц.
Итак, используя незначительную ошибку, которую многие ошибочно считают таковой, можно произвести масштабную атаку по краже документов. Все, что для этого требуется – немного свободного времени и простой скрипт для автоматизации процесса.
Был написан небольшой счетчик для анализа, который показал, что существовала возможность выкачать более 50 000 документов (или около 10GB) граждан Республики Казахстан за недельный срок. А это не только безобидные адресные справки граждан, но и различные документы с чувствительной информацией, такие как справки о наличии недвижимого имущества.
Вот так вот «незначительная» уязвимость из-за некорректной настройки администратора может повлечь за собой слив базы данных граждан.
Комментарии (30)
Bo0oM
18.04.2016 13:56+2Один из самых банальных миссконфигов.
Интересно то, что вы рассказываете, как украли
более 50 000 документов (или около 10GB) граждан Республики Казахстан за недельный срок.
и не боитесь ответственности за это! =)questor
18.04.2016 14:05+2Интересно то, что вы рассказываете, как украли
Говорится о потенциальной дырке, которую прикрыли. Были ли реальные кражи — не сообщается:
Одна «незначительная» деталь, которая может привести
который показал, что существовала возможность выкачать
Bo0oM
18.04.2016 14:09+1Если уж на сайте апача есть сервер-статус, что же говорить о других.
Да и вообще, зачем в 2016 apache? Но это уже другая история…
EminH
18.04.2016 14:07Это не мелочи, можно так и id сессии, например, перехватить и дальше будет еще хуже (если есть какая-либо админка на том же сервере)
bormotov
18.04.2016 16:39только я считаю, что открытый server-status играет малозначительную роль?
equand
18.04.2016 17:22Тут больше проблема, в том что данные доступны по GET запросу :/
bormotov
18.04.2016 17:50+1в смысле, по GET запросу «со стороны».
Самое простое — кроме номера документа и ИНН в GET, просить куку, которую ставить после логина.
Чуть сложнее — отслеживать сессии. Сессии привязывать к IP-адресу клиента.
Сделать ограничение по времени актуальности ссылки
Люди, которые сейчас занимаются такого рода вещами в 100500 раз лучше меня расскажут, как можно сделать так, что бы зная GET-запрос, было очень сложно утащить контент.
И вот это реальная проблема, а не то, что кто-то смог посмотреть URL'и
SleepingLion
18.04.2016 18:50http://egov.kz/shepDownloadPdf?favorId(номер документа)&iin=(номер ИИН)
favorID. Не ServiceID. Favor. ID. Идентификатор одолжения. Всё.
А инкрементальные ID — классика, которая, кажется, никогда не переведётся и у нас будет ещё много утечек связанных с таким типом ошибок.
VANSCoder
19.04.2016 00:17Классика: попилили бюджет, а что осталось, то и выделили разработчикам.
Apokalepsis
20.04.2016 18:57Распил бюджетов в нашей стране к сожалению имеет быть.
Но никто же не заставлял под дулом пистолета брать заказ на сайт с маленьким бюджетом — нормальная компания должна же оценивать свои свои силы и возможности сделать за такой бюджет не какашку.
IbrahimKZ
19.04.2016 09:24А еще, когда ЭЦП выдают, то пароль ставят год рождения. Ну и еще куча уязвимостей при походе в наши ЦОНы (центр обслуживания населения) и при пользовании egov.kz
vsb
19.04.2016 11:16Если получаете ЭЦП в криптотокене, то это не имеет большого значения, т.к. пароль можно (и нужно) изменить. Если получаете ЭЦП в простом файле, можно прийти домой, выпустить новый ЭЦП, а полученный через ЦОН отозвать. Всё это делается через pki.gov.kz Всем рекомендую именно так и делать, т.к. сотрудники могут скопировать ваш ЭЦП в процессе выдачи.
skifwhite
20.04.2016 18:57Большинство стандартный пароль 123456 на эцп юзает. Если бы еще дата рождения
akaSStalkALEX
20.04.2016 18:56Хотелось бы в статье увидеть больше про Server-Status, что это такое, как делать надо, как не надо.
TOLK
20.04.2016 18:58Помнится когда только настраивался e-gov, мы c коллегой решили просто протестировать сайт, зашли и попали в админку IBM WebSphere, вместо стандартного пользовательского контента ) Было воскресенье, счетчик показывал двух пользователей, скорее всего сайтом только мы и интересовались )
andrejs
20.04.2016 19:01В Латвии точно таким же образом «хакер Нео» в 2009–2010 гг. скачал много налоговых деклараций и опубликовал выдержки данных о разных известных государственных людях. Подгорело массово и хорошо.
Одна из первых новостей на тему: rus.tvnet.lv/novosti/kriminal_i_chp/127398-proizoshla_utjechka_dannih_74_millionov_djeklaraciy
ExplosiveZ
Либо НЛО удалит, либо хабр может в бан попасть. В Казахстане не любят гласности.
evr1ka
Прошлая подобная статья потом оказалась в черновиках… )
NFM
прошлые две статьи оказались в черновиках из-за того, что в ней присутствовала реклама нас, за что мы очень сожалеем и больше так не будем =)
Первая была про раскрытие номера телефона через ЭП, вторая про уязвимость на портале Билайн Казахстан.
JIenpukoH
Я буду следить за этим! :D
evr1ka
) ОО. Про Билайн, это шикарно. Как-то решили вопрос? Могу помочь донести знание о уязвимости, если она была.
Хотя они что-то обновляли на днях, может и из-за этого.
NFM
там была проблема просто в том, что на oplata.beeline.kz при восстановление пароля высылался 4 значный код. Который брутился в 40 потоков меньше чем за 10 минут. Никакой защиты не было. После того как мы сообщили им они исправляли это около 2 недель. Кроме устной благодарности мы больше ничего не получили =)
evr1ka
) Да, я после своего коммента заглянул к вам на сайт, почитал.
Думаю, если вы ожидали чего-то более, то вы не правильно формулировали свое желание )
Вы только КазНет патрулируете?
NFM
В основном да, нашими услугами в Казнете пользуются финансовые структуры (Банки, крупные фин компании), но есть среди клиентов также несколько стартапов с России и Америки.
teecat
http://informburo.kz/novosti/kazahstancam-sovetuyut-obrashchatsya-v-mvd-i-knb-po-povodu-utechki-personalnyh-dannyh-advokat.html
В данном случае скорее наоборот — прошла раскрутка паники