Главная » Хабрахабр » [Перевод] Курс MIT «Безопасность компьютерных систем». Лекция 17: «Аутентификация пользователя», часть 3

[Перевод] Курс MIT «Безопасность компьютерных систем». Лекция 17: «Аутентификация пользователя», часть 3

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год

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

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
Лекция 9: «Безопасность Web-приложений» Часть 1 / Часть 2 / Часть 3
Лекция 10: «Символьное выполнение» Часть 1 / Часть 2 / Часть 3
Лекция 11: «Язык программирования Ur/Web» Часть 1 / Часть 2 / Часть 3
Лекция 12: «Сетевая безопасность» Часть 1 / Часть 2 / Часть 3
Лекция 13: «Сетевые протоколы» Часть 1 / Часть 2 / Часть 3
Лекция 14: «SSL и HTTPS» Часть 1 / Часть 2 / Часть 3
Лекция 15: «Медицинское программное обеспечение» Часть 1 / Часть 2 / Часть 3
Лекция 16: «Атаки через побочный канал» Часть 1 / Часть 2 / Часть 3
Лекция 17: «Аутентификация пользователя» Часть 1 / Часть 2 / Часть 3

Если вы помните, энтропия паролей колеблется в пределах от 10 до 20 бит. Так что безопасность биометрии относительна – вы видите, какой энтропией она обладает, это не намного лучше энтропии паролей. Итак, по мнению авторов, биометрия легка для изучения, потому что вам достаточно расположить своё тело определённым образом, приблизить глаз к сканеру сетчатки и так далее, так что в этом смысле биометрия и пароли одинаково соответствуют требованиям. Это немного тревожно, однако всё равно позволяет сравнить биометрию с паролями.

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

Если у вас имеется сканер с большим разрешением сканирования, то эти показатели энтропии будут выше. Профессор: я думаю, что эти значения обусловлены используемым оборудованием, «железом». Я думаю, что имеется некий минимальный гарантируемый предел распознавания индивидуальности, такой, как ДНК и подобное, и очевидно, что это не фундаментальные пределы энтропии.

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

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

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

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

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

Требование доступности выполняется условно, поэтому авторы указывают «условно да».

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

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

Студент: однако злоумышленник может сделать вашу фотографию, использовать особое копирующее стекло и получить отпечаток сетчатки в высоком разрешении или даже может скопировать отпечатки ваших пальцев на особую плёнку.

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

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

Причина заключается в следующем. Авторы указывают, что биометрия устойчива к попыткам интенсивного угадывания, но не стойка к не интенсивному угадыванию. Если помните, энтропия биометрии недостаточно велика. В первом случае злоумышленник не может противостоять защите Antihammering, но если он сможет заниматься отгадыванием с такой скоростью, с какой захочет, то здесь дело обстоит по-другому. Поэтому если у нас есть тот, кто использует не форсированное отгадывание, мы говорим «нет», биометрия в этом смысле слаба.

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

Это потому, что кто-то может повредить считыватель отпечатков пальцев и получить доступ к вашему отпечатку, который по существу является статическим секретом и может неоднократно использоваться. Требование стойкости к внутреннему наблюдению биометрия не выдерживает, авторы говорят здесь «нет».

По отношению отсутствия доверия к третьей стороне указывается «да». В отношении стойкости к фишингу авторы также говорят «нет». Здесь практически та же причина, по которой этому требованию не соответствуют пароли, потому что ваши биометрические данные представляют собой статические токены. Интерес представляет требование к сопротивлению утечке через другие сервисы – здесь они говорят «нет». Поэтому если я использую свой отпечаток сетчатки для аутентификации на Amazon.com, и с него происходит утечка данных, то ваши данные можно будет использовать для персонификации на Facebook.

Один, всего лишь один из многих способов толкования этого, состоит в том, что мы можем просуммировать полученные результаты. Итак, что означают два столбца с этими «да», «условно да» и «нет»?

Вы должны понимать, что если подобная схема оценки если и не полностью случайна, то она всё-таки достаточно случайна. Давайте считать, что каждое «да» соответствует 1 баллу, каждое «нет» соответствует 0 баллов, а каждое условное «да» равно 0,5 балла.

Итак, подсчитаем результат для всех параметров таблицы. Однако это довольно интересное упражнение для понимания того, о чём говориться в лекционной статье. И что же означают эти 2 числа? Мы увидим, что пароли набирают суммарную оценку 8 баллов, а биометрия – 6,5 балла.

Эти цифры не означают, что при разработке схем безопасности нужно строго учитывать данные результаты, они лишь показывают, что биометрия не сметает пароли со счетов. Я считаю, что это очень интересные числа, потому что они имеют не количественную, а качественную характеристику. Это не означает, что мы намного успешнее сможем сопротивляться атакам brute-force, используя пароли, просто авторы статьи, разместив эту таблицу, рекомендуют обратить внимание на то, что в чём-то пароли лучше, в чём-то хуже биометрии, и что биометрия так же обладает как преимуществами, так и недостатками.

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

Поэтому стоит задуматься, как можно объединить несколько разных схем аутентификации. Итак, рассмотрев эту таблицу, можно сказать, что очень трудно утверждать, что какая-то схема аутентификации имеет подавляющие преимущества относительно другой. Её идея состоит в том, чтобы использовать углублённую защиту, то есть заставить пользователя применять два или более различных механизма аутентификации. Авторы попробовали воплотить эту идею в схеме, которую назвали «многофакторной аутентификацией», Multi-factor authentication, или MFA. Подразумевается, что эти механизмы должны иметь разные способы проверки подлинности. Каждый из этих механизмов должен использовать разные процедуры, или условия.

Например, один из этих механизмов одновременно должен использовать:

  • что-то, что вы знаете, например, пароль;
  • что-то, чем вы располагаете, например, сотовый телефон или смарт-карта;
  • что-то, чем вы являетесь, например, биометрический показатель.

Например, хакер сможет украсть ваш пароль, но не сможет украсть ваш телефон. Идея состоит в том, что если вы используете что-то наподобие такого механизма, атакующий должен будет похитить множество различных вещей, чтобы суметь выдать себя за вас. Наиболее распространённым примером такого механизма является двухфакторная аутентификация Google, например, в аккаунте Gmail.

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

У них имеется также функция установки на телефон мобильного приложения, позволяющего ввод вашего пароля. AWS, безопасный облачный сервис «Амазон», также использует двухфакторную аутентификацию для своих служб, и вы проходите такую аутентификацию, чтобы, например, управлять своей виртуальной машиной и тому подобное. Также они используют вещь, называемую custom security dongle, или электронный ключ безопасности пользователя, позволяющий вам произвести двухфакторную аутентификацию.

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

Студент: многие сервисы используют для идентификации 4 последних цифры кредитной карты, которые легко можно угадать.

Вы могли заметить, что если используете свою карту за рубежом, то после того, как вы вставили её в банкомат, вам могут позвонить из банка и спросить: «Это вы использовали сейчас свою карту?», и вы отвечаете: «да-да, это я её использовал» Так что с банкоматами обеспечить безопасность намного легче, чем когда вы используете свою карту на веб-сайтах или для покупок в интернет-магазинах. Профессор: вы правы, в этом смысле использование кредитных карт очень интересно, потому что кроме этих 4 цифр защита использует множество других схем предотвращения мошенничества, но с точки зрения машинного подсчёта комбинаций цифр это довольно интересно.

Например, во многих книжных интернет-магазинах типа «Мой маленький пони», если вы не введёте пароль подтверждения операции, высланный на вашу электронную почту или на телефон в течение нескольких минут, ваша кредитная карта блокируется. Потому что по некоторым причинам данные вашей карты могут оказаться за пределами вашего защищённого профиля. Это способ обеспечения безопасности, размещаемый на заднем плане инфраструктуры сайта электронной коммерции, которая использует машинную аналитику для предотвращения мошенничества и подобных угроз. Причина, по которой они так делают, заключается в том, что им приходится выбирать между интересами человека, который может принести им деньги, и интересами злоумышленника, который может их этих денег лишить.

Например, на вопрос, какие потенциальные факторы влияют на выбор схемы аутентификации в целой куче различных сценариев. Итак, каковы могут быть ответы на вопросы домашнего задания? Нужно опираться на результат нашего сегодняшнего обсуждения и подходить к этому так: «в этом сценарии я больше подумаю о таком способе аутентификации, а в этом сценарии – о другом способе». Я имею ввиду, что на высоком уровне отсутствуют чёткие понятия, что данный способ аутентификации является верным или неверным.

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

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

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

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

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

Доверяют ли они этим физическим терминалам? Если взглянуть на это с точки зрения использования биометрии, возникает вопрос – доверяют ли банки банкоматам? В некоторых странах достаточно популярна схема использования фейковых банкоматов, или банкоматов «под прикрытием», устройств, внешне схожих с настоящими ATM. С одной стороны, можно сказать «да», потому что их создали сами банки, но с другой стороны, только Зевс знает, что с ними может происходить. Так что, возможно, банк не должен доверять этим терминалам. Когда вы вставляете в него карту, на пути между вами и банком находится считыватель злоумышленника, ворующий вашу информацию, либо этот фальшивый банкомат вообще не общается с банком, а просто крадёт ваши данные. Она может казаться хорошей идеей, однако вы не защищены от того, что кто-то украдёт ваши деньги, даже если его параметры не совпадают с вашей биометрической идентификацией. И в этом случае биометрия не будет хорошей идеей.

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

Потому что сокращенная версия статьи заканчивается выводом, что не существует абсолютно никакой схемы аутентификации, которая бы четко проявила свои преимущества по сравнению с паролями. Таким образом, лекционная статья утверждает, что преимущества той или иной схемы аутентификации зависят от конкретных условий, в которых она может использоваться.
Интересной вещью, которая упоминается только в расширенной версии статьи, является CAP – ридер (CAP — Chip Authentication Program, или программа аутентификации чипа).

Коротко говоря, эта вещь защищает транзакции, проводимые с помощью кредитной карты. Что же такое CAP – ридер? Она выглядит как маленький карманный калькулятор.

Говоря абстрактно, он разработан специально для вашей MasterCard, и она ему доверяет, потому что никто не может обновить прошивку этого CAP – ридера и никто не может установить на него какую-то вредоносную программу типа клавиатурного перехватчика. Вы вставляете в него свою карту и вводите свой PIN-код. Этот код вы можете использовать, например, для веб-сервиса, для того, чтобы подтвердить, что именно вы являетесь владельцем конкретной кредитной карты. Итак, вы вставляете свою карту в этот доверенный терминал, вводите PIN, и он выводит на экран 8-мизначный код. Это физический аспект использования механизма безопасности.

Относительно редкости ошибок при использовании они пишут «условно да», по той же причине, по которой они отметили «условно да» для паролей. В расширенной версии статьи о CAP-ридере говорится, что его использованию легко обучиться, потому авторы статьи пишут в этой строке таблицы сравнения характеристик «да». Например, вы можете совершить ошибку при вводе своего PIN-кода и тому подобное.

По отношению к выполнению требования масштабируемости для пользователя они пишут «нет», потому что вы должны иметь разные PIN-коды для разных карт, и, возможно, даже для разных CAP – ридеров.

Естественно, этот ридер не соответствует требованию ничего не носить с собой, потому что вы обязаны иметь CAP – ридер для своей карты. Легкость восстановления также отмечается словом «нет», потому что если вы потеряете свой CAP – ридер или карту, попытка восстановления своей идентичности причинит вам множество хлопот.

Это устройство характеризуется совместимостью с браузерами, здесь авторы указывают «да», потому что CAP-ридеры можно использовать, применив HTML или JavaScripts на конечной стадии аутентификации. В параметрах развёртываемости авторы отмечают «нет» по отношению к совместимости с сервером, потому что сервер не используют никаких специальных протоколов для совместной работы с этими ридерами.

CAP-ридер не соответствует требованию доступности, потому что люди с ограниченными возможностями могут испытывать затруднения с прочтением 8-мизначного кода, который он выдаёт.

Это потому, что 8-мизначный код, который формирует CAP-ридер, является одноразовым. В отношении вопроса безопасности данное устройство доминирует, потому что соответствует каждому перечисленному требованию. Каждый раз, когда вы собираетесь совершить новую транзакцию, он выдаёт уникальный набор цифр, который никогда не будет использован повторно.

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

Даже если вы перехватите мой код, вы всё равно не сможете использовать его, чтобы выдать себя за меня. Аналогично обстоит ситуация со стойкостью к интенсивному отгадыванию, потому что угаданные значения просто пропадают. Опять-таки, стойкость к утечкам через сторонние сервисы объясняется тем, что код — одноразовая вещь.

Так почему же люди до сих пор широко не используют эти CAP-ридеры на практике? Таким образом, CAP-ридер в этой таблице с легкостью проходит требования безопасности. Если посмотреть на бальную оценку, то эти ридеры получают оценку 10,5 баллов! Почему так происходит?

Люди не хотят носить CAP-ридеры с собой, они не хотят вникать во все эти протоколы, брать эти 8-мизначные величины и вводить их куда-то на веб-сайте. Дело в том, что в реальной жизни они не являются оптимальным балансом между требованиями безопасности и удобством применения. Потому что разработчики заинтересованы в механизмах, которые бы не увеличивали стоимость пользования их сервисами, а клиенты не хотят испытывать никаких затруднений при использовании подобных вещей. На практике оказывается, что удобство использования и развёртываемость часто оказываются важнее безопасности. Стоит заметить, что даже если пользователи свободны в выборе параметров схемы безопасности, они всё равно чаще выбирают короткие пароли, слабы вопросы и так далее.

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

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

Полная версия курса доступна здесь.

Вам нравятся наши статьи? Спасибо, что остаётесь с нами. Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? Хотите видеть больше интересных материалов? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps до декабря бесплатно при оплате на срок от полугода, заказать можно тут.

класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки? Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 ТВ от $249 в Нидерландах и США! Читайте о том Как построить инфраструктуру корп.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Из песочницы] Контроллер, полегче! Выносим код в UIView

У вас большой UIViewController? У многих да. С одной стороны, в нём работа с данными, с другой — с интерфейсом. Они решают проблему потока данных, но не отвечают на вопрос как работать с интерфейсом: в одном месте остается создание элементов, лейаут, ...

Нужно больше разных Blur-ов

Размытие изображение посредством фильтра Gaussian Blur широко используется в самых разных задачах. Но иногда хочется чуть большего разнообразия, чем просто один фильтр на все случаи жизни, в котором регулировке поддаётся только один параметр — его размер. В этой статье мы ...