Кажется, что уязвимость - штука техническая, но на Госуслугах есть интересная комбинация уязвимостей (ну или, скажем, особенностей) в сфере CSS, дизайна, юзабилити, которые мошенники используют в социальной инженерии.
Описание атаки
Атака начинается обычным способом, как и всегда. Звонок, представляются, например, сотрудником мобильного оператора и говорят, что нужно подтвердить владельца телефона через госуслуги. Ввести код подтверждения из SMS. (Да, конечно, этого делать нельзя, но все-таки, постоянно какая-то часть людей ведется на это). Узнав код, быстро “захватывают” ЛК в госуслугах и меняют пароль. Однако, это не вся атака. Они развивают успех - смеются и говорят - “Ха-ха! Мы вас обманули!”. Очень странное поведение… Человек напуган, тут же лезет на госуслуги и ожидаемо не может войти. Окей, он пытается восстановить пароль и видит тоже ожидаемое сообщение, что его аккаунт заблокирован за подозрительную активность, обратитесь на номер такой-то.
Этот номер - номер мошенников. И сообщение от них же. Но сайт госуслуг настоящий! Адрес верный. Сертификат валидный. Как же так? На самом деле, если просто спокойно и без паники посмотреть на картинку, то за 5 секунд все понятно. Этот текст - просто текст пользовательского вопроса для восстановления доступа. А дальше жертва звонит по номеру “с госуслуг” и уже более доверяет (она же сама увидела его на госуслугах, значит, официальный номер) и дальше ее разводят уже смелее.
Разбор
Никакой технической уязвимости нет. Человек сам дал код, они просто вошли, сменили пароль и поставили свой вопрос для восстановления доступа. Система работает строго по документации, как и должна.
Но при этом - текст написан жирным шрифтом, он “доминирует” на странице, он совпадает с ожиданиями (страхами) пользователя. Немного некрасиво, что это “сообщение о блокировке” идет после слов “Контрольный вопрос:”, но напомню - что человек напуган, дезориентирован и этот небольшой абсурд вполне логичное продолжение того абсурда, в который он попал. Кроме того, как программист, я вполне мог бы дофантазировать, что код, который должен выдать текст контрольного вопроса, при блокировке аккаунта выдает такое вот сообщение. Некрасиво? Да. Ожидаем ли мы, что на госуслугах что-то может быть как-то некрасиво? Да вполне!
Что еще сделали Госуслуги чтобы “помочь” мошенникам? Этот номер выглядит как обычный номер сотового. Мы не ожидаем увидеть на госуслугах такой номер. Мы ожидаем что-нибудь вроде 8-800-…. Номер настораживает… Как же сделать, чтобы “клиент” позвонил на такой подозрительный номер, а не на какой-нибудь официальный 8-800-… ? А это за мошенников сделали госуслуги! Там нет номера, куда позвонить. Ни в шапке/подвале страницы, ни через помощь. Нигде. Может быть, если прямо хорошо порыться - то можно будет где-то найти, но мы ведь говорим о ситуации, когда человек запутан, испуган и неспособен спокойно все обдумывать. Госуслуги не желают общаться со всякими бабками - убрали телефон, зато мошенники желают - и свой поставили.
Что мы из этого извлекли
- Сайт без технических уязвимостей вполне может быть использован для атаки на пользователя методом социальной инженерии
- Страница, прекрасно работающая в штатном режиме (забыл пароль, хочу сбросить) может быть не очень удачной в нештатной ситуации (злоумышленник получил доступ к аккаунту)
- Шрифты, фон, оформление - могут иметь значение! Представьте текст “Ваш аккаунт заблокирован” шрифтом комик-санс. Никто при всем желании не подумает, что это в самом деле от администрации. Но если комик-санс это не слишком подходит для реального применения, то какой-нибудь италик, стилизованный под рукописный текст - вполне себе дает сигнал, что это пользовательский текст, а не казенное системное сообщение.
- Любите и поддерживайте ваших пользователей, особенно, если Вы для них - важны и опасны (как аккаунт в госуслугах). Не полюбите их Вы - их окружат вниманием, любовью и заботой мошенники.