18 января 2016 в 20:44

Пользователи LastPass уязвимы для простейшей фишинговой атаки в Chrome

image

Один из наиболее популярных менеджеров паролей, LastPass, несколько раз испытывал проблемы с безопасностью. К примеру, сервис взломали летом 2015 года, после чего пользователям пришлось менять свои данные для доступа к LastPass. В ноябре прошлого же года специалисты по информационной безопасности обнаружили у сервиса ряд багов, позволявших злоумышленникам получить доступ к учетным данным пользователей.

Теперь же обнаружилось, что и двухфакторная защита сервиса не спасает, если злоумышленник будет использовать простейшую фишинговую атаку. Специалист по информационной безопаности Шон Кессиди, обнаруживший уязвимость, придумал и название для нее — «LostPass». Для того, чтобы продемонстрировать уязвимость, специалист создал специальный инструмент.

Все дело в том, что LastPass при определенных условиях показывает пользователю уведомление о том, что сессия истекла и необходимо снова залогиниться. Если злоумышленник будет использовать на определенного рода ресурсах поддельные уведомления, двухфакторная аутентификация пользователю не поможет — его аккаунт будет скомпрометирован. Поддельная форма, выглядящая так же, как и обычная форма для ввода учетных данных LastPass, может обмануть многих, тем более, что и адрес у нее будет схож с техническим url сервиса.

image

В результате атакующий без проблем сможет верифицировать полученные данные, а в некоторых случаях — запросить код двухфакторной аутентификации, используя LastPass API. Интересно, что работает все это только в браузере Chrome. В других браузерах используется несколько иной способ вывода уведомлений сервиса.

По словам Кессиди, он уже обратился к разработчикам сервиса, и получил от них ответ о том, что это не уязвимость, а фишинг. По мнению специалиста, если представители компании не изменят принцип вывода уведомлений в Chrome, пользователи LastPass будут подвергаться опасности. Для того, чтобы не утерять свои данные, Кессиди советует использовать ввод данных на странице сервиса. Кроме того, хорошим выходом является аутентификация через приложение.
marks @marks
карма
171,2
рейтинг 0,0
Редактор Habrahabr, Geektimes
Самое читаемое Разработка

Комментарии (26)

  • +18
    Я думаю можно проще сформулировать:
    «Пользователи, хранящие пароли в интернете, уязвимы.»
    • 0
      А где вы их храните, например?
      • +13
        В чертогах разума.
        //Извините, не смог удержаться.
        • +3
          А пользователи, хранящие пароли в чертогах разума уязвимы к перебору сильнее тех, кто генерит новые пароли регулярно. А таковые уже в чертогах не сохранить.

          Вообще пароли в принципе обречены, т.к. строки, достаточно простые для запоминания человеком, априори слишком просты для компьютеров.

          Пароли не нужны. Нужны не пароли.
          • 0
            Двухфакторная авторизация, как вариант. И генерирование кодов приложением на телефоне. А если уж злоумышленник ради вашей информации находит возможность и пароль узнать, и телефон получить, то о защите такой информации уже другой разговор должен быть.
          • +2
            А пользователи, хранящие пароли в чертогах разума уязвимы к перебору сильнее тех, кто генерит новые пароли регулярно. А таковые уже в чертогах не сохранить.

            Верно лошадь батарея скрепка.

            «Движенья нет» — сказал мудрец брадатый.
            Другой смолчал и стал пред ним ходить.
            Сильнее он не мог бы возразить —
            Хвалили все ответ замысловатый.
            • 0
              Здесь не учитывается перебор с использованием словарей
              • +2
                Учитывается. Здесь считается, что слово даёт всего 2^11 бит, т.е. словарь придумывающего пароль может иметь всего 2048 слов (в жизни — гораздо больше), но за счёт того, что слов-то четыре, получаем 2^44.

                Я привёл этот комикс как возражение к тезису о слабости чертогов разума. Ничего они не слабые, если их правильно использовать.
                • +1
                  Более-того, незначительные индивидуальные изменения алгоритма «в чертогах разума» позволяют значительно увеличить ту самую энтропию.

                  К примеру всего 2 правила:
                  • Начинаем и заканчиваем любимым символом (здесь типа regexp)
                  • Заменяем гласные в конце или последнюю букву цифрами (здесь подряд 123...)

                  превращают 244 в 2113

                  correcthorsebatterystaple    — 244  = 17.592.186.044.416
                  ^correc1hors2batter3stapl$  — 2113 = 10.384.593.717.069.655.257.060.992.658.440.192

                  Добавив еще всего одно простое правило «вторая буква второго слова в апперкейсе», увеличиваем энтропию уже с 1034 как минимум до 2126 ~ 1038 (на самом деле в реале гораздо больше, ибо почти уже только «тупой» брут по 6-битным символам), но думается мне что-то около 2136 ~ 1040:

                  ^correc1hOrs2batter3stapl$

                  Т.е. 4-е слова уже и не нужны (можно остановиться на двух-трех в меру длинных).
                  Кстати, английский — язык в основном с короткими словами.

                  Мне, например, почему-то гораздо легче запомнить три длинных слова + мои стандартные правила к ним, чем четыре слова (и их последовательность).
                  Ну и наконец — пальцы тоже помнят…

                  А хранить или не хранить где пароли (дополнительно) — одно другому не мешает…
                  • 0
                    У меня, кстати, давно существует идея написать систему аутентификации с паролем по формуле:
                    (случайное прилагательное) + (случайное существительное) + (случайное наречие) + (случайный глагол) + (случайное прилагательное) + (случайное существительное)
                    Например:
                    грустный комод двусмысленно пинает фиолетового слона
                    Запоминается влёт (известное свойство памяти: ерунда запоминается быстро и накрепко). Энтропии — никак не меньше 64 бит.
          • 0
            У меня, например, в чертогах разума хранится один единственный набор символов, который соль, к нему прибавляется строка, содержащая адрес сайта, а получившаяся строка хешируется одним из распространённых алгоритмов, в результате получается пароль, который и не пароль вовсе. Но я полностью согласен, что это тоже костыли и что нужна нормальная аутентификация по ключам.
      • +5
        В локальном криптоконтейнере (KeePass).
        Да, криптоконтейнер хранится в интернете (dropbox), но при этом сам KeePass с интернетом никак не связан вообще — значит, никакой фишинг, никакие сетевые уязвимости ему самому не страшны. Только вирус, перехватывающий клавиатуру и буфер обмена… но это уже другой уровень)
        • 0
          Только вирус, перехватывающий клавиатуру и буфер обмена…
          Драг & Дроп же…
          Или то про мобильный имелось ввиду?
        • 0
          А насколько устойчив к взлому файл с паролями KeePass?
          • 0
            Ключ получается из пароля алгоритмом, похожим на PKDBF2, данные зашифрованы AES-256 CBC.
          • 0
            Можно сертификатом и паролем, вообще сложно в лоб.
        • –5
          У KeePass даже сайт не на https, как с него можно что-то скачивать и надеятся на безопасность?
          • 0
            Ставьте из репозиториев.
      • –1
        ownCloud на собственном сервере с включенным шифрованием, Grade A+ настройки SSL, KeePass контейнер собственно в ownCloud и KeePass-клиент натравленный на https://my.host.name/remote.php/webdav/filename.kdbx. Очень удобно. Не сильно опаснее локального KeePass контейнера.
    • +3
      ИМХО, пользователи делятся на тех, кто пользуется менеджерами паролей, и тех, у кого один пароль на всё. Ну и 0.1% с чертогами разума =). При всей спорности и уязвимости менеджеров, они сильно надёжнее второго варианта.
      Про хранение в интернете, кстати. Если верить схеме, по которой LastPass хранит пароли, нигде, кроме пользовательского девайса, пароли в расшифрованном виде не появляются. Так что «в интернете» всё хранится в зашифрованном виде.
  • +10
    А что ж самый основной скриншот не запостили — весь фишинг строится на том, что Хромиум не выделяет никак протокол расширения и можно делать следующее — содрать страницы расширения и захостить его на домене похожем на протоколб например «chrome-extension.pw»

    image

    Но с таким же успехом можно и фишить настройки на chrome://settings/passwords или установленные расширения на chrome://extensions

    Никакой принципиальной разницы между фишингом конкретно ластпасса и фишингом чего-то другого в хроме нету. Просто ластпасс дает доступ к большему количеству секретов, т.к. можно проксировать ответы пользователя к API.LastPass. Но проблема то в хромиуме, кстати такого же рода как и мимикрия расширений — можно содрать чужое расширение и пользователи будут его ставить, т.к. никто на длинный-мнемонический-идентификатор-расширения не смотрит…
    PS: оригинал статьи тут
    • +2
      Спасибо. Какой-то отстойный перевод: ссылки на оригинал нет, сути атаки (не заметить адрес — это надо постараться) нет, замечания, что LastPass вчера принял меры — тоже нет.
  • +1
    Использую LasPass + одноразовые пароли yubikey. В статье о защите от фишинга они пишут, что при вводе мастер пароля на неизвестном им сайте должно выходить предупреждение об опасности. Тут подробнее. Я в безопасности?
    • 0
      А зачем вы это у «переводчика» спрашиваете 8-) или это был сарказм?
      спасибо за линк, полезно перечитать о мерах ЛП по защите от такого.
  • 0
    При потере сессии расширение LP просит ввести только код второго фактора. У меня так работает. Или у кого-то оно просит мыло/пароль?
  • 0
    тем более, что и адрес у нее будет схож с техническим url сервиса.

    Можно же было написать расширение, адрес которого уже никак не будет отличаться от «технического url» (за исключением пользователей, которые наизусть помнят все хеши всех расширений или каждый раз проверяют)

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