Руководство по парольной политике. Часть 3
6. Многофакторная аутентификация (МФА)
Этот раздел посвящен обсуждению того факта, что одного пароля недостаточно для надежной защиты учетных записей. А также обоснованию утверждения о необходимости внедрения многофакторной аутентификации.
6.1. Что такое МФА и почему она важна?
Авторизация только по паролю не является лучшим решением для обеспечения безопасности.
МФА, иногда называемая двухфакторной аутентификацией (2ФА), является улучшенной версией аутентификации по паролю, позволяющей пользователю предъявлять два или более доказательств (называемых факторами) при входе в систему. МФА доказала свою эффективность в борьбе с компрометацией учетных записей. Злоумышленнику в этом случае необходимо получить от пользователя не один фактор, а несколько, что создает много проблем, и, как правило, скомпрометировать такие учетные записи не удается.
Факторы могут относиться к одной из трех категорий:
✧ «То, что вы знаете» (фактор знания): пароль или персональный идентификационный номер (PIN).✧ «То, что у вас есть» (фактор владения): смарт-карта, токен безопасности, приложение для аутентификации или текст SMS-сообщения на мобильный телефон пользователя.
✧ «То, кем вы являетесь» (фактор неотъемлемости): отпечаток пальца или рисунок сетчатки глаза.
Для повышения уровня безопасности факторы пользователя должны быть из разных категорий, поэтому ввод двух разных паролей не будет считаться многофакторной аутентификацией.
МФА – самый надежный метод аутентификации пользователей из доступных на сегодняшний момент, и оказывающий минимальное влияние на удобство использования систем.
Примечание. «Двухэтапная» или «многоэтапная» аутентификация – это не то же самое, что 2ФА или МФА. «Двухэтапная» или «многоэтапная» аутентификация предполагает последовательное прохождение в целевой системе одного или нескольких дополнительных шагов аутентификации после успешного выполнения первого шага. Каждый из этих шагов может включать или не включать различные факторы аутентификации. По сути, каждый шаг является независимым рубежом, и успех на нем приближает пользователя к цели – доступу к системе. 2ФА или МФА –более надежный подход, предполагающий одновременное предоставление всех факторов для учетной записи, которые целевая система проверяет на валидность. Система принимает или не принимает учетные данные в целом, не указывая, какой фактор был признан неверным. Можно использовать 2ФА или МФА в качестве одного из этапов «двухэтапного» или «многоэтапного» процесса аутентификации.
6.2. Проблемы, связанные с МФА
Основная проблема – сложность внедрения.
МФА – отличный инструмент, который находит все большее применение в самых разных системах. Например, большинство банковских веб-приложений сегодня поддерживает 2ФА через приложение аутентификации или SMS-сообщение на мобильный телефон пользователя. Однако эта технология еще не так широко распространена и не так стандартизирована, как использование паролей.
Некоторые особенности МФА:
1. МФА часто включает пароль в качестве одного из факторов, поэтому хорошая парольная политика по-прежнему необходима.2. В подавляющем большинстве случаев МФА не является компонентом самой информационной системы, а представляет из себя дополнение, реализованное сторонним разработчиком. Организациям рекомендуется ограничить количество применяемых решений по МФА, в идеальном варианте использовать только одно. Это облегчит поддержку такого программного обеспечения (обновление, отслеживание опубликованных уязвимостей и их исправление).
3. «То, что вы знаете» считается самым слабым фактором, а «То, кем вы являетесь» – самым сильным.
4. «То, что вы знаете» считается наиболее эффективным по затратам и простым в реализации, а «То, кем вы являетесь» — наиболее дорогим и сложным в реализации (нужен физический считыватель).
5. «То, что у вас есть» – наиболее распространенный фактор в 2ФА, используемый в сочетании с паролем. Самыми популярными формами этого фактора являются:
✧ Телефонный звонок, электронное письмо или SMS-сообщение: пользователь входит в систему с именем пользователя и паролем, затем ему предлагается ввести уникальный код в качестве второго фактора. Система отправит этот уникальный код на заранее определенный телефонный номер пользователя (голосовой звонок), электронную почту или номер мобильного телефона (SMS). Иногда пользователь может выбрать, какое средство будет использоваться, но во всех случаях срок действия кода истекает через заданный период времени или после ввода.
✧ Приложение для аутентификации на мобильном устройстве пользователя: с точки зрения пользователя этот метод очень похож на метод SMS, за исключением того, что уникальный код генерируется приложением на его мобильном устройстве. Число таких приложений растет, и не все они совместимы друг с другом (Google Authenticator, LastPass, Microsoft Authenticator, Authy, RSA SecureID).
✧ Токен физической безопасности: существует два распространенных типа токенов:
➣ уникальный идентификатор: с точки зрения пользователя это то же самое, что и использование приложения аутентификации за исключением того, что уникальный код генерируется и отображается на отдельном физическом устройстве (RSA SecureID Token, Fortinet FortiToken);
➣ физический предмет: эти устройства предназначены для установки или прикладывания к считывателю (через USB или NFC) и указывают на присутствие человека. Некоторые из них также включают авторизацию по уникальному идентификатору через соответствующее приложение (Yubico Yubikey, Google Titan).
Двухфакторные методы аутентификации более безопасны, чем одни пароли, но у каждого из них есть свои недостатки, которые следует учитывать:
2. Из факторов «То, что у вас есть», приложения для аутентификации и физические маркеры считаются очень надежными, а вот с SMS-сообщениями есть проблемы:
✧ SMS-тексты проходят по телефонной сети общего пользования (ТСОП), которая находится вне контроля пользователя или администраторов сети;
✧ ТСОП фактически представляют собой совокупность объединенных в сеть компьютеров, посылающих друг другу голосовые вызовы и SMS-сообщения по протоколу, известному как Signaling System 7 (SS7). Этот протокол имеет известные уязвимости, позволяющие перенаправлять текстовые SMS-сообщения на телефон злоумышленника;✧ С помощью методов социальной инженерии злоумышленники могут без особого труда убедить службы поддержки поставщика услуг мобильной связи в том, что телефон пользователя был утерян или поврежден, и его номер необходимо присвоить его новому телефону (принадлежащему злоумышленнику).
Примечание. В связи с этими проблемами мы рассматривали возможность исключения из рекомендаций использование SMS в качестве второго фактора. Но из-за его повсеместной распространенности и того, что он, возможно, лучше, чем ничего, убирать его не стали. Мы настоятельно рекомендуем всем, кто использует SMS для 2ФА, разработать план по отказу от этого метода как можно скорее.
3. Факторы «То, чем вы являетесь» многие считают самыми безопасными, поскольку они основаны на физических характеристиках пользователя, которые невозможно изменить (отпечаток пальца, рисунок сетчатки глаза и т.д.). Такой подход кажется идеальным, но существует довольно много проблем с использованием этих факторов в качестве основного средства аутентификации. Они должны использоваться в паре с секретным небиометрическим атрибутом (например, паролем).
В качестве примера возьмем отпечаток пальца:
✧ отпечаток пальца пользователя, как и все биометрические данные, не является секретным, как пароль или закрытый ключ шифрования, и может быть снят любым человеком, следящим за пользователем. Самая большая проблема с несекретными факторами аутентификации заключается в том, что их легко скопировать для злонамеренного повторного использования. Например, в июне 2015 года китайская APT-группа украла более 5,6 миллионов записей отпечатков пальцев граждан США, содержащихся в базе соискателей на получение допуска к секретности;
✧ при сканировании отпечатка пальца пользователя он должен быть сопоставлен с сохраненным отпечатком пальца. Сохраненные данные отпечатков пальцев представляют из себя отображение реального отпечатка пальца и не являются действительно уникальными. Отпечаток пальца пользователя превращается в серию особых точек, где отмечаются концы папиллярных линий и их ветвления. Изображение, которое хранится в базе данных, и соответствие которому оценивается при аутентификации, на самом деле больше похоже на рисунок небесного созвездия, чем на реальный отпечаток пальца;
✧ отпечаток пальца – не пароль, который можно легко поменять, и не уникальный идентификатор, который действителен в течение 5 минут. Если отпечаток пальца был скомпрометирован, то это навсегда.
В данном разделе описаны плюсы и минусы от реализации различных форм МФА. В конечном итоге, решение о внедрении МФА во многом зависит от уровня требуемой безопасности, бюджета, а также политик и процедур, установленных лицами, принимающими решения.
7. Выводы
Общая цель данного руководства – свести большую часть современных рекомендаций по паролям в единый краткий документ и изложить реальные причины, по которым эти рекомендации были сделаны.
Безусловно, на сегодняшний день не в каждой системе имеется возможность реализации всех этих рекомендаций (по разным причинам), но со временем их будут поддерживать большинство систем, если не все. Ни одна из приведенных здесь рекомендаций не является технически сложной для выполнения, и каждая из них имеет свои примеры реализации.
Для проектировщиков систем и интеграторов этот документ должен стать руководством по формированию парольной политики. Разработчики систем могут использовать это руководство для определения набора функций, которые могут потребоваться.
Надеемся, это руководство станет основой для других стандартов безопасности и спецификаций и со временем позволит достичь единообразия парольных политик, в котором нуждаются пользователи.
8. Приложение: что делает пароль хорошим?
В приложении рассматриваются общие принципы создания паролей. Оно представляет из себя не готовый справочник, а скорее руководство, основанное на лучших практиках.
Пароли всегда будут несовершенным средством защиты, но при правильном использовании они играют важную роль в обеспечении безопасности информационных систем. Руководство по парольной политике в сочетании с обучением пользователей может сделать пароли надежным и безопасным инструментом. Чтобы облегчить обучение, рассмотрим ключевые моменты в создании надежных паролей.
8.1. Как создать хороший пароль
Вот несколько простых концепций для создания хороших паролей. Помните, что мы пытаемся сделать их не гарантированно стойкими, но надежными.
2. Используйте парольную фразу, а не пароль: используя одно «слово», трудно придумать что-то длинное и запоминающееся, но, если использовать «фразу», состоящую из 4 или более слов, сделать это будет гораздо проще.
Слова из 14 и более символов: Антидепрессант, Фундаментализм, Привлекательность и т.д. Такие пароли сложно запоминать, не говоря уже об их правильном написании.
Фразы из 14 и более символов (с пробелами и без пробелов для удобочитаемости):
✧ с пробелами — Мой Дядя Живет в Грузии, без пробелов — МойДядяЖиветвГрузии;✧ с пробелами -Лучшая Машина Ваз Жигули, без -ЛучшаяМашинаВазЖигули;
✧ с пробелами -Дальний Восток Моя Родина, без -ДальнийВостокМояРодина.
3. Избегайте шаблонов: не используйте последовательности цифр-букв или клавиатурные шаблоны типа 12345671234567, abcdefgabcdefg, passwordpassword, abc123abc123ab, qwertyuqwertyu и т.д.
4. Не используйте пароль повторно и не используйте похожие пароли в нескольких системах: особенно в домашней и рабочей учетных записях. Основная причина запрета в том, что, если кто-то узнает один из ваших паролей, то он получит доступ к нескольким вашим учетным записям.Это, пожалуй, самая сложная из четырех основных идей, но вы можете использовать приемы, например, название группы/песни/фильма/актера для создания релевантной и запоминающейся фразы:
✧ финансовый аккаунт: с пробелами — АББА Мани Мани Мани, без — АББАМаниМаниМани;✧ аккаунт в магазине: с пробелами — Гарцующий Пони Фродо Бэггинс, без — ГарцующийПониФродоБэггинс;
✧ медицинский аккаунт: с пробелами — Доктор Хаус Хью Лори, без — ДокторХаусХьюЛори.
8.2. Более продвинутые приемы
Теперь вы хотите выйти за рамки основ и создать действительно впечатляющие пароли!
1. Избегайте слов, связанных с вашей личной информацией или общими интересами: избегайте фактов, которые люди могут найти о вас в Интернете. Если вы являетесь президентом местного автомобильного клуба любителей Жигулей, вам, вероятно, не следует использовать слово «Жигули» в качестве пароля.
С учетом сказанного, можно ли использовать предыдущий пример ЛучшаяМашинаВазЖигули? Конечно, есть варианты и получше, но слово «Жигули» составляет только 6 из 21 символов парольной фразы (15 символов еще неизвестны), так что это все равно неплохо!
2. Ограничьте использование словарных слов: как правило, злоумышленники подбирают пароли, пробуя сначала различные словарные комбинации. Это много слов, но вариантов все равно гораздо меньше, чем если пробовать все возможные комбинации букв.Например, возьмем пароль из 3 латинских символов. Если использовать только строчные буквы, то существует 263 = 17 576 комбинаций букв (включая такие, как zxy, rhb, qqt и т.д.), но допустимых трехбуквенных слов гораздо меньше (1 355 по одному онлайн-словарю). Это меньше, чем одна десятая часть.
Ситуация становится намного хуже по мере добавления символов:
✧ все комбинации из 8 символов: 208,827,064,576;✧ все комбинации из 12 символов: 95,428,956,661,682,176;
✧ все комбинации из 16 символов: 43,608,742,899,428,874,059,776.К сожалению, настоящих слов из них не так много: существует всего 88,342 английских слова длиной от 3 до 15 символов. Теперь понятно, что перебор словарных слов закончится намного быстрее, чем перебор всех возможных комбинаций букв для пароля заданной длины.
Использование нескольких словарных слов в парольной фразе также усложнит работу противника, но, если вы действительно хотите доставить ему неприятности, добавьте что-нибудь, чего нет в словаре. Например:
✧ вместо ЛучшаяМашинаВазЖигули, попробуйте ЛучшаяМашинаВазЖигули№1!✧ вместо ДальнийВостокМояРодина попробуйте Дальний;Восток;Моя;Родина.
✧ вместо МойДядяЖиветвГрузии, попробуйте МойДядяЖивет-вГрузии!
Можно также заменить некоторые буквы на числовые и символьные представления. Например:
✧ ЛучшаяМашинаВазЖигули№1! – Лу4ш@яМ@шин@8@3Жигули№1!✧ Дальний;Восток;Моя;Родина – Д@льний;80(т0к;М0я;Родина@
✧ МойДядяЖивет-вГрузии! – М0йДядяЖи83т-8Гру3ии!
Выполнение каждого из этих действий сделает ваш пароль чуть более надежным и устойчивым к взлому злоумышленником, но отдача от этого будет снижаться. Почему? Потому что злоумышленники знают про эти трюки и учитывают это при взломе паролей.
Если вы хотите получить действительно хороший пароль, вам нужен длинный пароль, сгенерированный случайным образом и сохраненный в менеджере паролей, потому что вы, скорее всего, не запомните результат, который будет выглядеть примерно так:
✧ GHj*65%789JnF4$#$68IJHr54^78
В итоге мы настоятельно рекомендуем использовать многофакторную аутентификацию везде, где это возможно, поскольку она устраняет полную зависимость от паролей для обеспечения безопасности учетной записи.
Перевод: Аделина Любимова, Origin Security