Мы живем в мире имен пользователей, паролей и ПИН-кодов, связанных с вычислительными устройствами, подключенными к Интернету. Это очень важные элементы цифровой экономики, а организация инфраструктуры для них в Windows — очень серьезная задача. Эта работа начинается с самого основного этапа — входа в Windows, а затем включает в себя технологии для защиты множества учетных записей, которые вы будете использовать. В этой статье мы рассмотрим архитектурные улучшения Windows, которые обеспечивают еще более надежное управление множеством паролей. Эту статью написал Дастин Ингаллс (Dustin Ingalls), руководитель группы программ группы безопасности и удостоверений.

– Стивен


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

На данный момент самый распространенный способ проверки цифрового удостоверения — использование пароля. Пароли применяются для входа на компьютер, на сайт банка, веб-магазина и т. д. Наше исследование показало, что у среднего пользователя ПК в США обычно около 25 учетных записей.(1) Отслеживать их все довольно сложно. К слову, данные исследования также показали, что число уникальных паролей для этих 25 учетных записей — всего около 6. Для тех, кто думает о безопасности, это тревожный «звонок» — средний пользователь применяет один и тот же пароль для нескольких разных учетных записей. А с учетом того, что на разных веб-сайтах используются разные политики паролей (на некоторых сайтах требуется использовать пароли из букв, цифр и специальных символов, на других — использовать специальные символы запрещено, на некоторых сайтах задана минимальная длина пароля, на других — нет и т. д.), число уникальных паролей для учетных записей было бы еще меньше, если бы на веб-сайтах применялись одинаковые политики паролей.

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

(К слову, группа разработчиков Hotmail приложила немало усилий для переработки процесса восстановления пароля для Hotmail.) Существует множество способов, с помощью которых «плохие парни» пытаются скомпрометировать учетные записи (от всех поставщиков), в том числе и учетные записи Hotmail. Если учетная запись скомпрометирована (или вы действительно забыли пароль), у нас имеется ряд действий, позволяющих убедиться, что вы и только вы можете восстановить свою учетную запись. Хотя это и кажется не очень удобным, вспомните, что при этом указывается относительно небольшой объем информации. Поэтому мы советуем пользователям указывать в сведениях учетной записи дополнительную учетную запись электронной почты или, что еще лучше, номер мобильного телефона. Последний вариант особенно трудно подделать или «взломать». Если ваша учетная запись Hotmail все же была скомпрометирована, вы можете сменить пароль. А тем пользователям, которые применяют общедоступные терминалы или недоверенные среды для доступа к Hotmail, мы советуем использовать одноразовый пароль, который присылается в SMS-сообщении).

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

Если проанализировать эту задачу, существует два основных подхода для упрощения и повышения безопасности цифровых удостоверений. Первый из них — позволить Windows помочь в управлении паролями. Если бы у вас были сложные уникальные пароли для каждого веб-сайта и вам не нужно было бы запоминать их все, это определенно было бы удобнее, чем использовать один легко запоминаемый пароль. В то же время сложный пароль затруднил бы хакерам компрометацию вашего удостоверения. Другой подход — использовать для защиты удостоверения нечто отличное от пароля. Уже много лет доступно множество альтернатив паролям — такие технологии, как одноразовые пароли (OTP), сертификаты, смарт-карты и т. д. Но несмотря на более высокий уровень безопасности этих способов, они не получили широкого распространения, в основном из-за того, что они не настолько просты в использовании, как пароли.

В Windows 8 мы обеспечиваем поддержку безопасного хранилища сочетаний имени пользователя и пароля и технологии поддержки альтернативной проверки подлинности. Т.е. мы стараемся повысить безопасность ваших паролей и упростить использование новых и более надежных методов защиты цифровых удостоверений.

Недостатки использования паролей

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

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

Подбор. Поскольку люди предпочитают использовать легко запоминающиеся пароли, злоумышленники зачастую могут получить доступ к учетной записи, просто перебирая 10-20 самых часто используемых в Интернете паролей.Злоумышленники также могут использовать общедоступную информацию (возможно, полученную из вашего профиля в социальной сети) для поиска легко угадываемых паролей, таких как название вашей любимой спортивной команды или имя домашнего питомца.

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

Перехват нажатий клавиш. Если злоумышленники смогут установить на устройство программу для перехвата нажатий клавиш, они будут записывать все нажимаемые клавиши и смогут легко подобрать комбинации имени пользователя и пароля. Эта атака особенно часто применяется на общедоступных ПК и киосках. (Вот почему, например, использование одноразового кода вместо пароля для Hotmail является хорошей идеей в таких ситуациях.)

Повышение безопасности и удобства использования паролей

Существует ряд важных действий, которые можно выполнить для защиты от всех типов атак. Одно из самых важных действий — защита компьютера от вредоносных программ (чтобы защититься от фишинг-атак и перехвата нажатий клавиш). Windows 8 содержит ряд важных функций из этой области, о которых мы рассказали в предыдущих записях блога (безопасная загрузка, усовершенствования SmartScreen и Защитника Windows и т. д.). Однако некоторые атаки (например, подбор и взлом) зависят только от надежности пароля, поэтому важно использовать надежные, сложные пароли, уникальные для каждой учетной записи.

Windows 8 упрощает задачу управления уникальными и сложными паролями двумя способами. Первый из них — обеспечение автоматического и безопасного сохранения и извлечения множества имен учетных записей и паролей для всех используемых веб-сайтов и приложений. Internet Explorer 10 использует эти сохраненные учетные данные, чтобы помнить имена и пароли для посещаемых веб-сайтов (если вы выбрали этот параметр). Кроме того, любой разработчик приложения в стиле Metro может использовать интерфейс API для безопасного сохранения и извлечения учетных данных для этого приложения. (Важно отметить, что в Internet Explorer учитываются инструкции веб-сайтов о сохранении учетных данных, так как на некоторых веб-сайтах требуется, чтобы пароли не сохранялись.)

Управление учетными данными / Просмотр и удаление сохраненных учетных данных для веб-сайтов, приложений и сетей. / Учетные данные для Интернета / Учетные данные Windows / [список веб-сайтов и соответствующих паролей]

Windows 8 позволяет безопасно хранить все учетные данные и управлять ими

Второй важный подход в этой области описала Кэти Фригон (Katie Frigon) в статье Вход в Windows 8 с помощью идентификатора Windows Live ID. Одним из преимуществ входа в Windows с помощью идентификатора Windows Live ID является возможность синхронизировать учетные данные, сохраненные на всех компьютерах с Windows 8, которые вы зарегистрировали как «Доверенные ПК».

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

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

Стоит повторить, что вход на компьютер с помощью Windows Live ID не только упрощает процесс входа, но также обеспечивает повышенную безопасность входа и четкую процедуру восстановления пароля Windows, если вы его забудете. Если вы забыли локальный пароль, вы в трудном положении — если вы не создали USB-устройство для восстановления пароля, придется настраивать компьютер с нуля. Но если вы входите на компьютер с помощью Windows Live ID, вы можете сменить пароль на другом компьютере. Если пароль Windows Live ID был украден, вы можете использовать ряд функций безопасности Windows Live, предназначенных для обнаружения компрометации и ограничения использования вашей учетной записи до тех пор, пока вы не докажете, что являетесь полноправным владельцем своей учетной записи, и не восстановите свою учетную запись. В процедуре восстановления учетной записи используются возможности двухфакторной проверки подлинности (дополнительные доказательства владения учетной записью), т.е. заданные ранее дополнительные сведения, такие как номер мобильного телефона или второй адрес электронной почты (если вы еще не предоставили эти сведения, мы попросим вас об этом при первом использовании Windows Live ID в Windows 8). Кроме того, даже если ваш идентификатор Windows Live ID был скомпрометирован, у вас будет полный доступ к вашему компьютеру, поскольку Windows кэширует последний легитимный пароль (конечно, зашифрованный) и позволяет использовать его для входа в систему.

Создание простой в использовании альтернативы паролям

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

Один из них — пары открытых и закрытых ключей. Примером являются сертификаты SSL (Secure Sockets Layer) и TLS (Transport Layer Security), самые распространенные способы защиты сетевого трафика в Интернете на сегодняшний день. Пары открытых и закрытых ключей отличаются от паролей тем, что они «ассиметричные» — закрытый и открытый ключ отличаются, а знание открытого ключа не позволяет злоумышленнику получить закрытый ключ. Если говорить просто, в схеме с открытым и закрытым ключами, когда вы хотите войти в службу, служба отправляет вам запрос на вход, вы подписываете его закрытым ключом, после чего служба использует открытый ключ для чтения подписи, криптографически подтверждая, что запрос на вход подписан лицом, обладающим соответствующим закрытым ключом. Это называют «доказательством владения». Пока вы не потеряли закрытый ключ, существует надежное криптографическое доказательство того, что вы являетесь настоящим владельцем учетной записи для входа в службу. Так как сам закрытый ключ никогда не передается, ни перехват нажатий клавиш, ни фишинг-атаки не работают. Нет нажатий клавиш, которые можно перехватить, а в худшем случае, когда пользователя обманным путем заставили применить закрытый ключ для подписи запроса проверки подлинности фальшивого веб-сайта, не передаются никакие полезные сведения — злоумышленники не смогут использовать эти данные для входа на настоящий сайт.

Хотя эта технология часто используется в Интернете, она все еще не заменила обычный вход в систему с паролем. Почему? Основная причина заключается в том, что для надежной защиты закрытого ключа обычно требуется специализированное оборудование (например, аппаратные модули безопасности (HSM) и смарт-карты), а исторически сложилось так, что использование таких средств не очень удобно (если вы потеряете или забудете его, вы не сможете войти в систему).

В Windows 8 есть ряд новых возможностей, значительно упрощающих применение способов защиты с открытыми и закрытыми ключами как для пользователей, так и для разработчиков приложений. Windows уже обеспечивает широкую поддержку сертификатов и пар ключей, но надежная защита закрытого ключа, как я сказал ранее, обычно зависит от аппаратного модуля безопасности или смарт-карт. В Windows 8 имеется новый поставщик хранилища ключей (KSP), который позволяет удобно использовать доверенный платформенный модуль (TPM) в качестве способа надежной защиты закрытых ключей. Доверенный платформенный модуль — это доверенная среда выполнения, доступная на многих современных компьютерах бизнес-класса (а с выходом Windows 8 мы ожидаем, что доверенные платформенные модули станут еще доступнее), которая позволяет компьютерам надежно хранить ключи шифрования. У приложений в стиле Metro имеются программные интерфейсы API, которые упрощают автоматическую регистрацию ключей и управление ими от вашего лица. В центре разработчиков Windows доступен пример банковского приложения, в котором демонстрируется использование этого API.

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

Для компаний, в которых используются смарт-карты, мы реализовали новую возможность, перекрывающую функцию TPM KSP и позволяющую доверенному платформенному модулю действовать как «виртуальная смарт-карта». Это решение более удобно и экономично, поскольку вам не требуется физическое устройство чтения смарт-карт, но при этом развертывание выполняется проще, так как виртуальная смарт-карта работает с существующими приложениями и решениями, использующими смарт-карты. Виртуальные смарт-карты можно использовать вместо существующих смарт-карт с любым приложением или решением, поддерживающим смарт-карты. При этом не требуется изменять серверные или клиентские приложения. Кроме того, Windows 8 продолжает поддерживает карты, совместимые со стандартами PIV (Personal Identity Verification) и GIDS (Generic Identity Device Specification). Благодаря использованию этих стандартов развертывание смарт-карт в Windows 8 стало намного проще. Все эти варианты доступны для входа в Windows (на компьютерах, подключенных к домену), в приложения, на веб-сайты — все ресурсы, ранее доступные при использовании физической смарт-карты. В этом коротком видеоролике показано применение этой возможности после ее настройки администратором через политику или сценарий входа.


Загрузите это видео, чтобы просмотреть его в предпочитаемом мультимедиа-проигрывателе:
MP4, высокое качество | MP4, низкое качество

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

- Дастин Ингаллс (Dustin Ingalls)

(1) Источник: Dinei Florencio and Cormac Herley, A Large Scale Study of Web Password Habits (Диней Флоренцио и Кормак Херли, «Крупномасштабное исследование привычек использования веб-паролей»), Microsoft Research. 2007