Двухфакторная аутентификация: еще раз о рисках при использовании SMS и голосовых вызовов
Около недели назад журналист Кристофер Мимс (Christopher Mims), опубликовал в статье, посвященной двухфакторной аутентификации, пароль от своей учетной записи в Twitter-е. Это было достаточно смело, если не сказать глупо.Всего через пару дней Кристофер был вынужден не только сменить пароль, но и поменять номер мобильного телефона. Причина проста, после ввода пароля, Twitter показывает на какой номер телефона высылается одноразовый код (к слову сказать, многие другие сервисы так не делают, скрывая некоторые цифры). Когда Кристофер получил SMS где в поле отправителя значился его же собственный номер, он понял, что поступил глупо. Он поменял номер телефона, опасаясь что злоумышленники могут воспользоваться и «подставить» его — например отправить сообщение от его имени.Далее в своей статье, он рекомендует пользоваться приложениями для генерации одноразовых паролей, на своем примере иллюстрируя, что метод аутентификации по телефону не так уж и безопасен. В этом он совершенно прав, но, на самом деле, риски здесь совершенно другого масштаба — он рисковал не только возможностью имперсонации с помощью номера его мобильного телефона, но и непосредственно взломом учетной записи.Рассмотрим все риски более подробно.ИмперсонацияАвтор статьи больше всего испугался этого, но последствия здесь минимальны, этим можно воспользоваться разве только для розыгрыша (хотя и розыгрыш может иметь серьёзные последствия). Дело в том, что, SMS шлюзы, коих сейчас в интернете великое множество, позволяют указывать любой набор символов в качестве имени отправителя- это используется в основном для буквенного имени отправителя, но можно подставить и номер, причем любой. Из нескольких SMS шлюзов которые я протестировал, только у одного была процедура «модерации» имени отправителя, но и она, я так понял, не подразумевает проверки владения номером — я без проблем добавил номер знакомого в поле отправителя и отправил ему же тестовый SMS.Я думаю, что теоретически, подключив мобильного оператора, можно при необходимости отследить реального отправителя, хотя и не уверен на 100%.Дубликат сим-карты Во всех банках процедура проверки личности достаточно строгая (иногда доходит до абсурда). Но у мобильных операторов это не так, несмотря на то, что множество систем онлайн банкинга используют номер мобильного телефона для подтверждения транзакций. Приведу пример из своего опыта: я в этом году дважды заказывал дубликаты сим-карт (нужны были нано-симы) и в обоих случаях спросили только номер телефона и никакой идентификации личности, и это, заметьте, для post-paid контракта. Не далее, как вчера, ради интереса, проделал ту же операцию в соседней стране уже с pre-paid, и ситуация повторилась в точности — никаких документов не спрашивали. Во всех приведенных выше примерах действие происходило в странах центральной Европы.Голосовая почта Многие системы двухфакторной аутентификации, включая систему Google, предлагают, помимо SMS, обычный телефонный звонок, с помощью которого робот сообщает цифры одноразового пароля. Это удобно если нет сотового телефона, или есть проблемы с уровнем сигнала в помещении. Однако, если на номере включена голосовая почта, это приводит к риску перехвата голосового сообщения. Это, например, произошло в 2012 году с CEO Cloudflare Мэтью Принцем. В этом инциденте частично использовалась социальная инженерия, однако можно обойтись и без этого метода: с помощью сервисов подмены номера звонящего (например, SpoofCard). Атака основана на том, что при доступе к голосовой почте, многие операторы не требуют дополнительной верификации если Caller-ID звонящего совпадает с номером абонента. Автралийский эскперт по безопасности Шубхам Шах провел достаточно обширное исследование, и выяснил что проблема существовала (у некоторых все еще существует) у таких ресурсов как Linkedin, Facebook, Google и др. По состоянию на сегодняшний день, проблема устранена у многих, но, например, Google и Yahoo не считают это уязвимостью и предпринимать ничего не собираются. Так что, совет — если у кого на этих сервисах основным методом выбран голосовой вызов, лучше поменять на SMS, а еще лучше: выбрать метод с мобильным приложением.Вывод SMS и голосовые звонки конечно удобны, но как выясняется, не так безопасны и надежны, как те же мобильные приложения или аппаратные ключи. К слову сказать, мобильные приложения тоже не идеальны, но риски там на порядки меньше.