Пароли не взламывает только ленивый. Недавняя массовая утечка учетных записей из Yahoo только подтверждает тот факт, что одного лишь пароля — и совершенно неважно, какой он будет длины и сложности, — уже недостаточно для надежной защиты. Двухфакторная аутентификация — это то, что обещает дать такую защиту, добавляя дополнительный уровень безопасности.

В теории все выглядит неплохо, да и на практике, в общем-то, работает. Двухфакторная аутентификация действительно усложняет взлом учетной записи. Теперь злоумышленнику недостаточно выманить, украсть или взломать основной пароль. Для входа в учетную запись необходимо ввести еще и одноразовый код, который… А вот каким именно образом получается этот одноразовый код — и есть самое интересное.

Ты неоднократно сталкивался с двухфакторной аутентификацией, даже если никогда не слышал о ней. Когда-нибудь вводил одноразовый код, который тебе присылали через СМС? Это оно, частный случай двухфакторной аутентификации. Помогает? Честно говоря, не очень: злоумышленники уже научились обходить и этот вид защиты.

Сегодня мы рассмотрим все виды двухфакторной аутентификации, применяемой для защиты учетных записей Google Account, Apple ID и Microsoft Account на платформах Android, iOS и Windows 10 Mobile.

 

Apple

Впервые двухфакторная аутентификация появилась в устройствах Apple в 2013 году. В те времена убедить пользователей в необходимости дополнительной защиты было непросто. В Apple не стали и стараться: двухфакторная аутентификация (получившая название двухэтапной проверки, или Two-Step Verification) использовалась только для защиты от прямого финансового ущерба. Например, одноразовый код требовался при совершении покупки с нового устройства, смене пароля и для общения со службой поддержки на темы, связанные с учетной записью Apple ID.

Добром это все не кончилось. В августе 2014 года произошла массовая утечка фотографий знаменитостей. Хакеры сумели получить доступ к учетным записям жертв и скачали фото из iCloud. Разразился скандал, в результате которого Apple в спешном порядке расширила поддержку двухэтапной проверки на доступ к резервным копиям и фотографиям в iCloud. В это же время в компании продолжались работы над методом двухфакторной аутентификации нового поколения.

 

Двухэтапная проверка

Для доставки кодов двухэтапная проверка использует механизм Find My Phone, изначально предназначенный для доставки push-уведомлений и команд блокировки в случае потери или кражи телефона. Код выводится поверх экрана блокировки, соответственно, если злоумышленник добудет доверенное устройство, он сможет получить одноразовый код и воспользоваться им, даже не зная пароля устройства. Такой механизм доставки — откровенно слабое звено.

Также код можно получить в виде СМС или голосового звонка на зарегистрированный телефонный номер. Такой способ ничуть не более безопасен. SIM-карту можно извлечь из неплохо защищенного iPhone и вставить в любое другое устройство, после чего принять на нее код. Наконец, SIM-карту можно клонировать или взять у сотового оператора по поддельной доверенности — этот вид мошенничества сейчас приобрел просто эпидемический характер.

Если же у тебя нет доступа ни к доверенному iPhone, ни к доверенному телефонному номеру, то для доступа к учетной записи нужно использовать специальный 14-значный ключ (который, кстати, рекомендуется распечатать и хранить в безопасном месте, а в поездках — держать при себе). Если же ты потеряешь и его, то мало не покажется: доступ в учетную запись может быть закрыт навсегда.

 

Насколько это безопасно?

Если честно, не очень. Двухэтапная проверка реализована из рук вон плохо и заслуженно получила репутацию худшей системы двухфакторной аутентификации из всех игроков «большой тройки». Если нет другого выбора, то двухэтапная проверка — это все же лучше, чем ничего. Но выбор есть: с выходом iOS 9 Apple представила совершенно новую систему защиты, которой дали бесхитростное название «двухфакторная аутентификация».

В чем именно слабость этой системы? Во-первых, одноразовые коды, доставленные через механизм Find My Phone, отображаются прямо на экране блокировки. Во-вторых, аутентификация на основе телефонных номеров небезопасна: СМС могут быть перехвачены как на уровне провайдера, так и заменой или клонированием SIM-карты. Если же есть физический доступ к SIM-карте, то ее можно просто установить в другое устройство и получить код на совершенно законных основаниях.

Также имей в виду, что преступники научились получать SIM-карты взамен «утерянных» по поддельным доверенностям. Если твой пароль украли, то уж узнать твой номер телефона — плевое дело. Подделывается доверенность, получается новая SIM-карта — собственно, для доступа к твоей учетной записи больше ничего и не требуется.

 

Как взломать аутентификацию Apple

Взломать этот вариант двухфакторной аутентификации достаточно несложно. Есть несколько вариантов:

  • считать одноразовый код с доверенного устройства — разблокировать не обязательно;
  • переставить SIM-карту в другой аппарат, получить СМС;
  • клонировать SIM-карту, получить код на нее;
  • воспользоваться двоичным маркером аутентификации, скопированным с компьютера пользователя.
 

Как защититься

Защита с помощью двухэтапной проверки несерьезна. Не используй ее вообще. Вместо нее включи настоящую двухфакторную аутентификацию.

 

Двухфакторная аутентификация

Вторая попытка Apple носит официальное название «двухфакторная аутентификация». Вместо того чтобы сменить предыдущую схему двухэтапной проверки, две системы существуют параллельно (впрочем, в рамках одной учетной записи может использоваться лишь одна из двух схем).

Включение двухфакторной аутентификации
Включение двухфакторной аутентификации

Двухфакторная аутентификация появилась как составная часть iOS 9 и вышедшей одновременно с ней версии macOS. Новый метод включает дополнительную проверку при любой попытке зайти в учетную запись Apple ID с нового устройства: на все доверенные устройства (iPhone, iPad, iPod Touch и компьютеры под управлением свежих версий macOS) моментально приходит интерактивное уведомление. Чтобы получить доступ к уведомлению, нужно разблокировать устройство (паролем или датчиком отпечатка пальцев), а для получения одноразового кода потребуется нажать на кнопку подтверждения в диалоговом окне.

Как и в предыдущем методе, в новой схеме возможно получение одноразового пароля в виде СМС или голосового звонка на доверенный телефонный номер. Однако, в отличие от двухэтапной проверки, пользователю в любом случае будут доставлены push-уведомления, и неавторизованную попытку зайти в учетную запись пользователь может заблокировать с любого из своих устройств.

Уведомление о попытке войти в учетную запись
Уведомление о попытке войти в учетную запись

Поддерживаются и пароли приложений. А вот от кода восстановления доступа в Apple отказались: если ты потеряешь свой единственный iPhone вместе с доверенной SIM-картой (которую по каким-то причинам не сможешь восстановить), для восстановления доступа к учетной записи тебе придется пройти настоящий квест с подтверждением личности (и нет, скан паспорта таким подтверждением не является… да и оригинал, что называется, «не канает»).

Зато в новой системе защиты нашлось место для удобной и привычной офлайновой схемы генерации одноразовых кодов. Для нее используется совершенно стандартный механизм TOTP (time-based one-time password), который каждые тридцать секунд генерирует одноразовые коды, состоящие из шести цифр. Эти коды привязаны к точному времени, а в роли генератора (аутентификатора) выступает само доверенное устройство. Коды добываются из недр системных настроек iPhone или iPad через Apple ID -> Password and Security.

Получаем одноразовый код
Получаем одноразовый код

Мы не станем подробно объяснять, что такое TOTP и с чем его едят, но об основных отличиях реализации этого метода в iOS от аналогичной схемы в Android и Windows рассказать все-таки придется.

В отличие от основных конкурентов, Apple позволяет использовать в качестве аутентификаторов исключительно устройства собственного производства. В их роли могут выступать доверенные iPhone, iPad или iPod Touch под управлением iOS 9 или 10. При этом каждое устройство инициализируется уникальным секретом, что позволяет в случае его утраты легко и безболезненно отозвать с него (и только с него) доверенный статус. Если же скомпрометирован окажется аутентификатор от Google, то отзывать (и заново инициализировать) придется статус всех инициализированных аутентификаторов, так как в Google решили использовать для инициализации единственный секрет.

 

Насколько это безопасно

В сравнении с предыдущей реализацией новая схема все же более безопасна. Благодаря поддержке со стороны операционной системы новая схема более последовательна, логична и удобна в использовании, что немаловажно с точки зрения привлечения пользователей. Система доставки одноразовых паролей также существенно переработана; единственное оставшееся слабое звено — доставка на доверенный телефонный номер, который пользователь по-прежнему должен верифицировать в обязательном порядке.

Теперь при попытке входа в учетную запись пользователь мгновенно получает push-уведомления на все доверенные устройства и имеет возможность отклонить попытку. Тем не менее при достаточно быстрых действиях злоумышленник может успеть получить доступ к учетной записи.

 

Как взломать двухфакторную аутентификацию

Так же как и в предыдущей схеме, двухфакторную аутентификацию можно взломать с помощью маркера аутентификации, скопированного с компьютера пользователя. Атака на SIM-карту тоже сработает, но попытка получить код через СМС все же вызовет уведомления на всех доверенных устройствах пользователя, и он может успеть отклонить вход. А вот подсмотреть код на экране заблокированного устройства уже не удастся: придется разблокировать девайс и дать подтверждение в диалоговом окне.

Извлечь маркер аутентификации с компьютера можно с помощью Elcomsoft Phone Breaker
Извлечь маркер аутентификации с компьютера можно с помощью Elcomsoft Phone Breaker
 

Как защититься

Уязвимостей в новой системе осталось не так много. Если бы Apple отказалась от обязательного добавления доверенного телефонного номера (а для активации двухфакторной аутентификации хотя бы один телефонный номер верифицировать придется в обязательном порядке), ее можно было бы назвать идеальной. Увы, необходимость верифицировать телефонный номер добавляет серьезную уязвимость. Попытаться защититься можно точно так же, как ты защищаешь номер, на который приходят одноразовые пароли от банка.

Продолжение статьи доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи одну статью

Заинтересовала статья, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для статей, опубликованных более двух месяцев назад.


1 комментарий

Подпишитесь на ][, чтобы участвовать в обсуждении

Обсуждение этой статьи доступно только нашим подписчикам. Вы можете войти в свой аккаунт или зарегистрироваться и оплатить подписку, чтобы свободно участвовать в обсуждении.

Check Also

Компания Oracle выпустила экстренный патч для критических уязвимостей в продуктах PeopleSoft

Инженеры Oracle выпустили внеплановый патч, исправляющий пять уязвимостей. Одна из проблем…