html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

Как не нужно реализовывать двухфакторную авторизацию на примере одного банка, или почему продакт-менеджер должен консультироваться с безопасниками

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

Но, собственно, пост вылез из недавнего «улучшения». Месяц-два назад кто-то в банке решил улучшить пользовательское взаимодействие и присылать одноразовые коды для определенных операций не эс-эм-эской, а через USSD-сообщение (UPDATE: или, как подсказали в комментариях, возможно, через Flash-SMS, что, впрочем, дела не меняет). Здесь защита и стала падать.



Когда стали использоваться USSD-сообщения:
  1. При первичном входе на мобильном устройстве.
  2. При совершении операций через мобильный клиент (для их подтверждения).

Во всех других случаях для отсылки одноразового пароля используется старая-добрая SMS.

Что стало не так


Важно понимать предназначение USSD. Основное направление использования USSD-сервиса — предоставление абонентам возможности получать дополнительную информацию от приложений и управлять этими приложениями. Т. е. узнать баланс, выполнить серию действий (проход по меню), заказать какую-то услугу.

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

С одной стороны, всё хорошо: одноразовый пароль не сохранится ни в какой базе, придет быстрее SMS, весь диалог ведется в рамках одной сессии, выходить из мобильного приложения в смски не нужно (USSD появится поверх интерфейса). Но есть одно но, из-за того, что USSD-сообщение нигде не хранится, оно показывается мгновенно и сразу же поверх любого интерфейса (как на картинке выше; не дай бог, спамеры начнут слать свои «письма» через USSD). Если еще не стало понятно, USSD-сообщение будет показано, даже если ваш телефон заблокирован паролем (текст SMS, а вместе с ним и одноразовый пароль, при заблокированном телефоне не прочитать), как минимум, на iOS.

Поэтому, если вдруг злоумышленник узнал ваш обычный пароль и при этом имеет физический доступ на 5 секунд к вашему телефону (например, вы оставили его на столе и отошли), он сможет зайти в мобильный банк. Даже если у вас запаролен телефон. И ему даже не нужно удалять будет USSD-сообщение, т. к. оно нигде не сохранится на телефоне, а просто исчезнет при нажатии кнопки Dismiss. Опять же, из-за того, что сообщение будет показано принудительно (SMS само не откроется, пока вы, например, играете), можно просто находиться рядом с телефоном (в этом случае, правда, жертва что-то заподозрит, ведь она не инициировала сообщение).

Никогда не делайте исключений для двухфакторной аутентификации для удобства пользователей


Думаете, на этом проблемы кончились? Кто-то «гениальный» из отдела взаимодействия решил сделать сервис еще удобнее. «Давайте будем просить одноразовый пароль на вход только в первый раз, когда пользователь установил приложение» — сказал он. Сказал, да не подумал: а что, если этот пользователь зашел в свой личный кабинет не через свой планшет / телефон? Если это было устройство злоумышленника, то теперь, чтобы залогиниться ему будет достаточно знать обычный пароль юзера (двухфакторная аутентификация просто не будет запрашиваться).

В итоге, сейчас происходит прекрасная схема:
1. Введем двухфакторную аутентификацию (типа).
2. Будем отсылать одноразовый пароль через USSD, а не SMS так, чтобы код можно было увидеть даже на заблокированном телефоне.Верно для текущих клиентов на Windows 8 и Android, но уже поправлено для последней версии клиента под iOS.
3. Не будем спрашивать одноразовый пароль, если на устройстве хоть раз зашли по двухфакторной аутентификации (т. е. формально отключим двухфакторную аутентификацию для конкретного устройства).
4. Сделаем так, чтобы жертва зашла через наше устройство, и узнаем ее пароль (был прекрасный ролик про софт, который «снимает» набираемый пароль по отражению экрана в стеклах очков или keylogger).
5. Profit!

Вывод


1. Пока есть подобное поведение, как минимум, в iOS всегда используйте SMS (и только SMS) для передачи одноразовых паролей.
2. Если уж пользователь согласился на двухфакторную авторизацию всегда используйте ее (не отключайте ее для отдельных устройств после первого входа, если пользователь вышел из своего «профиля»). Это гораздо более серьезное нарушение политики безопасности, чем отправка паролей в виде USSD (ведь в этом случае вообще не нужно ничего отправлять).

Банк, если что, Тинькова. Отсюда мораль, если вас всё это беспокоит, пользуйтесь только веб-мордой (там всегда приходят только SMS и всегда требуется двухфакторная аутентификация). Как отвечает суппорт: «На данный момент произвести соответствующие изменения, к сожалению, не представляется возможным». Надеюсь, этот пост, как-то поднимет приоритет «соответствующих изменений» с «когда-нибудь, если будет время» до «срочно».

Update: сотрудник банка в комментариях считает подобные нарушения безопасности «сомнительными багами» и считает нормальным считать авторизированным любое устройство, где хоть раз ввели код подтверждения (вы же никогда не воспользуетесь чужим планшетом / телефоном). Молодец, что.
Читать дальше
Twitter
Одноклассники
Мой Мир

материал с habrahabr.ru

2

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • habrahabr.ru
          • домен habrahabr.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

            Ваш профиль на рассмотрении, обновите страницу через несколько секунд

            Facebook

            К сожалению, вы не попадаете под условия акции