Всем привет! Меня зовут Валерий Кузьменков, я работаю аналитиком информационной безопасности в Positive Technologies (если интересно, чем занимается мой отдел и почему специалисты этого направления уникальны на рынке, читайте другой наш пост).

Начну немного издалека: специалисты по кибербезопасности множество раз пытались похоронить символьные пароли, но сделать это все никак не удавалось. Вместо них предлагали использовать то ПИН-коды, то графические ключи, а с приходом нейросетей хотели даже идентифицировать пользователей по манере ввода символов с клавиатуры.

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

Золотой стандарт

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

Давайте рассчитаем точное число вариантов для пароля такой длины. В современном английском алфавите 26 букв, а для записи всех чисел мы используем 10 арабских цифр — от 0 до 9. В группу специальных символов, в свою очередь, входят ! " # $ % & ' ( ) * + , -. / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ и пробел. Отмечу, что некоторые разработчики ограничивают использование определенных символов, но я не буду брать это в расчет.

Итого: 33 спецсимвола.

Получается, что для каждого символа в пароле предусмотрено 95 вариантов. Для желающих меня проверить привожу подробный расчет: 26 букв верхнего регистра + 26 букв нижнего регистра + 10 цифр + 33 спецсимвола = 95. Тогда полному 8-символьному паролю будет соответствовать 958 вариантов, или 6 634 204 312 890 625, если перевести в числовое выражение. Далее я буду отталкиваться от этого числа.

Как дела у эмодзи

В настоящее время насчитывается 1809 эмодзи — это значительно больше, чем число вариантов, приходящихся на один символ в пароле.

Сколько эмодзи нужно, чтобы максимально приблизиться к числу вариантов, которые дает «золотой стандарт»?

18094 = 10 709 131 895 361

18095 = 19 372 819 598 708 049

Выходит, хватит и пяти.

Как заявляет Microsoft, у пользователей возникают проблемы с запоминанием паролей, если их длина превышает 10 символов. В нашем случае длина пароля ровно вполовину меньше. Звучит многообещающе. А какие тогда у эмодзи минусы?

О кракозябрах и Unicode

Хотелось бы мне посмотреть на пароль в виде эмодзи для BIOS, но, думаю, лучше не стоит. Не все приложения, как известно, поддерживают Unicode. Хотя некоторым это не нужно. Наверное.

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

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

Требования к сложности

Что делать, если приложение требует использовать в пароле спецсимволы и буквы разного регистра по аналогии с «золотым стандартом»? Придется добирать обязательные символы, чтобы при регистрации наш эмодзи-пароль с формальной точки зрения был признан надежным. С одной стороны, уровень безопасности повысится, что, конечно, радует, а с другой — мы получим монстра Франкенштейна. Смотрите, какой красавец:

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

Безвыходных ситуаций не бывает

Если не удается воспользоваться клавиатурой, где эмодзи привычно представлены в виде картинок, можно попробовать ввести пароль с помощью уникального кода, присвоенного каждому эмодзи. Как это сделать — описано в этой статье.

А теперь вопрос на засыпку: вы знаете код эмодзи ???? в ОС Windows?

Нет? Тогда можете запомнить — Alt + 128273, вдруг пригодится. А после останется выучить еще 1808 ????.

Далее умножаем наш пароль из пяти эмодзи на 6 и получаем 30. Вот мы и посчитали общую длину пароля, которая равняется 30 символам. Увы, это в три раза больше, чем, по мнению Microsoft, удобно будет запомнить пользователям. На этом приключения не заканчиваются: возможно, вам потребуется приложить дополнительные усилия и провести даже целое расследование, чтобы ввести верный символ.

Можете попробовать объяснить пользователям, как из U+1F511 получается Alt + 128273. А затем посмотреть (не забыв вооружиться секундомером), как быстро они ваши разъяснения забудут. Как вам идея?

Решение

Эмодзи «ключ» в Unicode имеет следующий код: U+1F511. Берем его вторую часть (1F511) и переводим ее из шестнадцатеричной системы счисления в десятичную. Для этого необходимо воспользоваться стандартным калькулятором Windows, скорее всего на компьютере коллеги (обычно пользователи сталкиваются с подобной проблемой, когда не могут войти в свою систему). Переводим калькулятор в режим Programmer (не забудьте после операции вернуть ему первоначальный вид). Получаем — 128273. Чтобы напечатать нужный эмодзи в пароле, зажмите клавишу Alt на клавиатуре и введите полученное шестизначное число. Возможно, потребуется также объяснить пользователям, где искать коды символов эмодзи.

Нажать за 30 секунд

Сможете быстро найти на клавиатуре эмодзи с Санта-Клаусом? Напомню, вариантов совсем немного — всего около 1800 ????. А еще в разных приложениях эмодзи расположены не так, как вы привыкли.

Что есть что

Как вы считаете, где на картинке ниже DVD, а где optical disk?

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

Вот как выглядит тот же самый оптический диск в Твиттере:

Идем дальше: как вам разница между black large square, black medium square, black medium small square и black small square? А ведь на экране смартфона они будут выглядеть сильно меньше.

Словари паролей становятся все толще, но без password’a никуда

Использование стандартного пароля вкупе со спецсимволами предполагает, что у пользователей есть более 6 квадриллионов вариантов. Выбирай — не хочу. Но они ленятся придумывать сильные пароли и продолжают писать в поле для ввода password, который, кстати, замыкает пятерку самых популярных паролей как в России, так и в мире за 2021 год (7,6 млн и 21 млн использований соответственно).

Как думаете, удастся ли кибербезопасникам когда-нибудь убедить пользователей не брать для паролей символы с первого экрана, если до сих пор мы не можем донести до многих, что ставить галочку «Сохранить пароль» при входе в веб-приложения — это плохая идея?

Ну заблокируем мы первый экран, тогда в ход пойдут символы со второго. Пользователи всегда найдут способ упросить себе жизнь. Например, начнут использовать распространенные сочетания эмодзи. Кстати, а вы узнали пароль из картинки на превью? Это correct horse battery staple (со скобкой вышла неудача, пришлось импровизировать).

А еще есть игра «Угадай известный фильм по эмодзи». Думаю, многие пользователи просто копипастнут оттуда понравившиеся варианты или будут использовать их для вдохновения. Как и злоумышленники. Да, наверное, они сами будут эти варианты составлять.

Финальный аккорд

Идея использовать эмодзи в качестве паролей не лишена привлекательности, и в ней есть рациональное зерно. Так, например, техногигант Apple и некоторые производители сетевого оборудования ее уже воплотили. Если тоже захотите реализовать эту возможность, имейте в виду, что проект будет неизбежно сопряжен с трудностями технического характера. Если (читайте: когда) что-то пойдет не так, специалистам по кибербезопасности и разработчикам не хватит ромашкового чая ????????, чтобы успокоить нервы и разрешить проблемы. А еще эти пользователи… они умудряются испортить любую хорошую идею!

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


  1. salnicoff
    18.01.2022 10:51
    +4

    Помнится, когда Принс перестал называть себя Принсем, а стал использовать для идентификации некий значок в виде гибрида Зеркала Венеры и Копья Марса, то его просто перестали крутить по радио. Просто потому, что этот знак никак не читался... :-)


  1. Number7
    18.01.2022 12:04

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


    1. x67
      18.01.2022 12:38

      Обычные пользователи. Вспоминаем наскальные надписи


      1. Number7
        18.01.2022 12:57
        +1

        то есть вы хотите намекнуть, что современное интеллектуальное развитие вернулось (или возвращается) обратно к пещерным людям? в принципе, я с вами согласен.


  1. alexs963
    18.01.2022 12:24
    +2

    Есть же парольные фразы, достаточно просто запомнить, достаточно сложно подобрать.


    1. Number7
      18.01.2022 17:17
      +1

      недоумение вызывает не то, что есть люди которые не используют такие парольные фразы, а то что есть люди, которым удобнее запоминать в каком порядке располагаются иконки эмодзи.


  1. JustDont
    18.01.2022 13:36
    +2

    Получаем — 128273. Чтобы напечатать нужный эмодзи в пароле, зажмите клавишу Alt на клавиатуре и введите полученное шестизначное число.

    Нет, это не будет работать. Windows на уровне операционной системы умеет исключительно в 3/4-символьные комбинации через alt+, не более того. Еще можно в 4-символьные hex, но это надо отдельно включать через реестр. Всё свыше этого — специфично для отдельных приложений (так, MS Word умеет и в длинные комбинации), но "где угодно" alt+128273 работать не будет (вернее будет, но выведет 128273 mod 256, ◄). Начиная с десятой винды какой-то версии (скорее всего 19хх) появилась панель эмодзи (win + .), вот там уже можно что угодно ввести, причем с текстовым поиском. ????


  1. alfixer
    18.01.2022 14:18

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

    А что мешает выводить виджет таблицы с эмодзи при заполнении поля?


    1. JustDont
      18.01.2022 14:30
      +1

      На что будем быть похожим? На эмодзи-панель венды? Маков? Дискорда? Еще чего-то? Что будем делать, если юзеры, привыкшие к какой-то версии панели, заблудятся в отличиях нашей панели от их привычной, и введут очень похожий (см. в статье про эмодзи дисков), но не тот эмодзи, который они вводили при создании пароля?


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


      1. alfixer
        18.01.2022 14:41

        Что будем делать, если юзеры, привыкшие к какой-то версии панели, заблудятся в отличиях нашей панели от их привычной, и введут очень похожий (см. в статье про эмодзи дисков), но не тот эмодзи, который они вводили при создании пароля?

        Исключить похожие символы.

        На что будем быть похожим? На эмодзи-панель венды? Маков? Дискорда?

        Ни на что, чтоб не путали панель с привычными.