Еще в 2010 году в Германии ввели систему электронных удостоверений личности (electronic ID, eID). Эти документы имеют RFID-чип и содержат такие данные владельца, как имя, дату рождения, биометрические параметры (включая отпечатки пальцев, по желанию). eID может использоваться для авторизации на различных государственных порталах, для подтверждения возраста, а также принимается почти во всех странах Европы в качестве выездных документов.
Специалисты компании SEC Consult обнаружили проблему, благодаря которой можно было подделать данные eID в онлайне и, по сути, выдать себя за другого человека. Уязвимость была найдена не в самих RFID-чипах удостоверений, но в софтверной составляющей этой системы, Governikus Autent SDK. Данный SDK применяется на различных немецких сайтах, включая правительственные порталы, для авторизации и регистрации посредством eID.
Исследователи объясняют, что корень проблемы заключался в том, как сайты обрабатывают полученные от пользователей ответы, когда те пытаются пройти аутентификацию с использованием eID. В нормальных обстоятельствах данная процедура должна выглядеть так:
По данным SEC Consult, сайты, работавшие со старыми версиями Governikus Autent SDK, могли принимать ответы, содержащие одну криптографическую подпись, но несколько параметров SAML (Security Assertion Markup Language), содержащих данные пользователя. В итоге систему валидации можно было обмануть, а ответ пользователя модифицировать.
Для эксплуатации проблемы атакующему требовалась действительная строка запроса, подписанная аутентификационным сервером, в которую можно было внести изменения. Манипуляции позволяли теоретическому злоумышленнику выдать себя за другого человека, или аккуратно «подправить» в ответе имя, возраст и так далее. Исследователи подчеркивают, что осуществить подобную атаку было не так уж сложно. Дело в том, что многие eID-серверы «светят» своими логами в интернет (1, 2), и атакующий мог с легкостью почерпнуть все необходимые для атаки данные отсюда.
Демонстрацию атаки можно увидеть в ролике ниже.
Специалисты уведомили Governikus о проблеме еще летом текущего года, и в августе была выпущена исправленная версия Autent SDK (3.8.1.2). Теперь немецкий CERT и разработчики Governikus предупреждают, что все версии Autent SDK от 3.8.1 и ниже уязвимы перед обнаруженной проблемой и требуют немедленного обновления.
Читайте также
Последние новости