Новая атака Pass-ta-key раскрывает все то, чего мы не знали о паролях.
Почему приложения для ввода пароля обрабатывают Windows иначе, чем другие операционные системы.
Фото: Aurich Lawson | Getty Images Фото: Aurich Lawson | Getty Images
На прошлой неделе исследователь описал то, что он назвал «новой уязвимостью» в ключах аутентификации — новой парадигме аутентификации, предлагающей более безопасную альтернативу методам, основанным на паролях. На самом деле, атаки, продемонстрированные в публикации, не являются ни новыми, ни уникальными для ключей аутентификации. Это различие важно, поскольку исследование вызвало путаницу среди конечных пользователей и специалистов по безопасности, которые пытаются оценить, действительно ли этот новый механизм безопасен для использования.
Атака получила название Pass-ta-key — это сочетание слова passkey с фразой «pass the key» и отсылкой к тарелке пасты. Ари Ольштейн, исследователь из компании Palo Alto Networks, занимающейся вопросами безопасности, на прошлой неделе в своей публикации описал, как Pass-ta-key может получить все пароли, хранящиеся в приложении Google Password Manager (GPM) для Windows, когда оно работает на компьютере, зараженном вредоносным ПО.
Для многих это стало неожиданностью, поскольку они считали, что пароли хранятся исключительно в менеджере доверенной платформы (TPM) — защищенном анклаве в защищенном кремниевом чипе, предназначенном для хранения криптографических ключей и другой особо конфиденциальной информации на компьютерах под управлением Windows. Если пароли хранятся в TPM, то как Pass-ta-key удалось извлечь весь набор паролей, хранящихся в приложении, — хотели они узнать.
Хранение локальных ключей доступа допустимо, за одним исключением.
Ответ заключается в том, что, вопреки распространенному мнению, спецификации FIDO 2, разрабатываемые отраслевой группой FIDO Alliance, не требуют хранения паролей в TPM или любом другом специализированном аппаратном обеспечении (они называются по-разному в зависимости от платформы, включая защищенные анклавы, доверенные среды выполнения и StrongBox). Фактически, большинство платформ и стороннего программного обеспечения для управления паролями не хранят пароли в таком специализированном оборудовании. Практически единственным исключением является Microsoft, которая предоставляет пользователям возможность хранить пароли в Windows TPM. Компания в основном рекомендует этот вариант предприятиям, а не потребителям.
До начала исследования для этой статьи я не знал, что на всех платформах, кроме тех, что работают под управлением Windows, пароли хранятся локально на устройстве. Переход к локальному хранилищу произошел несколько лет назад, после того как разработчики операционных систем и сторонних приложений поняли, что у паролей нет шансов на широкое распространение, если их нельзя будет легко синхронизировать со всеми устройствами пользователя. Требование использования TPM-хранилища сделало синхронизацию невозможной. Единственный способ загрузить их в TPM нового устройства — это создать каждый пароль заново.
В конечном итоге, разработчики спецификаций FIDO пришли к выводу, что хранение паролей на устройствах в целом безопасно. Идея заключалась в том, что разрешения приложений настолько детализированы, что вредоносное ПО, скрывающееся на устройстве, не сможет получить доступ к закрытым ключам, которые являются основой безопасности паролей. Например, вредоносное ПО, установленное на устройстве под управлением macOS, iOS и Android, не сможет обойти эту изоляцию, если только сама ОС не будет скомпрометирована с помощью какой-либо экзотической уязвимости нулевого дня. Пока что эти предположения подтверждаются на практике.
Единственное исключение — Windows. В отличие от всех других платформ, приложения Windows, как правило, работают со всеми правами пользователя, в то время как другие платформы по умолчанию поощряют ограничение прав каждого приложения. Хотя Windows предоставляет некоторые средства защиты в виде «песочницы», предназначенные для изоляции приложений, она не предотвращает доступ к данным изолированного приложения со стороны неизолированных приложений, таких как вредоносное ПО. То есть, песочница обеспечивает защиту только в одном направлении. Технологии «песочницы» на других платформах обеспечивают гораздо более надежную защиту.
Это означает, что вредоносные программы для Windows испытывают значительно меньше проблем с доступом к данным, используемым отдельным приложением. Разработчики ключей доступа прекрасно понимали это различие, которое в значительной степени необходимо для обеспечения обратной совместимости Windows. Не будучи уверенными в том, что ключи доступа, хранящиеся на устройстве Windows, не будут использованы в случае заражения вредоносным ПО, многие сторонние разработчики выбрали новый подход — хранение ключей доступа в зашифрованных сквозным шифрованием хранилищах данных в облаке. Хранение ключей доступа на сервере теперь используется не только GPM для Windows, но и 1Password, Dashlane и другими сторонними приложениями для ОС Microsoft.
В упрощенном виде это работает так: когда пользователь Windows GPM хочет использовать пароль для входа на сайт, устройство получает ключ пользователя и/или устройства от TPM и передает его бэкэнд-аутентификатору Google. Передача ключа в сочетании с тем, что устройство уже авторизовано в учетной записи Google пользователя, запускает процесс отправки сервером Google подтверждения аутентификации на сайт, на который пользователь хочет войти. Подтверждение подписывается закрытым ключом, который хранится в зашифрованном виде на сервере Google. После этого пользователь авторизуется. Опять же, большинство других сторонних приложений для Windows работают аналогично.
В отличие от них, приложения для других платформ хранят пароли локально на устройстве. Когда пользователь хочет войти в систему, используя пароль, локальное устройство, а не облачное, отправляет подтверждение аутентификации. Оно подписывается закрытым ключом, который также хранится в зашифрованном виде на локальном устройстве.
Когда ваше устройство заражено, все ставки отменяются.
Вредоносная программа в атаках Pass-ta-key использует доступ к учетной записи Google — а в некоторых случаях и к ключу пользователя или устройства, хранящемуся в TPM, — для получения секретных паролей. Самый мощный из трех вариантов атаки заставляет зараженный компьютер под управлением Windows маскироваться под iPhone. Это активирует функцию синхронизации в GPM, которая позволяет пользователям перенести все сохраненные пароли на новое устройство. Теперь ключи передаются на зараженное устройство Windows.
Ольштейн описал Pass-ta-key как «новаторскую» атаку, нацеленную на уязвимое место в экосистеме паролей. В реальности все гораздо сложнее. Риски этой атаки были бы примерно такими же, если бы зараженная машина под управлением Windows была полностью аутентифицирована в других важных приложениях. Злоумышленник, находящийся по другую сторону клавиатуры, скорее всего, смог бы активировать механизмы в приложении для управления учетными данными, чтобы войти на сайт или загрузить все пароли.
Этот риск существовал всегда, и именно поэтому некоторые считают менеджеры паролей небезопасными для использования. Судя по статье Ольштейна, возможно, GPM не обладает некоторыми средствами защиты, которые есть в таких менеджерах паролей, как 1Password, например, возможностью вызова API операционной системы для ограничения доступа других процессов к его памяти. Однако, в целом, общепринято, что игра окончена, как только зараженное устройство входит в конфиденциальную учетную запись. Другими словами, Pass-ta-key — это реальность, существующая столько же, сколько и компьютерная безопасность. Здесь нет ничего нового, и поверхность атаки распространяется на любые данные, для доступа к которым требуется аутентификация.
Цель использования паролей — исключить возможность получения общего секрета путем фишинга или взлома серверов. Пароли не предназначены для противостояния физическим атакам на устройства, которые их хранят. Неудивительно, что Pass-ta-key может извлекать ключи при взломе устройства под управлением Windows. Исследование, возможно, не является новым, но тем не менее, оно будет полезно, если поможет пользователям понять, что как только устройство — особенно работающее под управлением Windows — будет взломано во время входа в учетную запись, все хранящиеся на нем данные станут доступны для кражи.
Источник: arstechnica.com
Похожие записи
Оцените материал:
Присоединяйтесь и подпишитесь на рассылку самых свежих новостей по Email
Получайте свежие новости и идеи на почту. Без спама — только самое интересное.
Нажимая «Подписаться», вы соглашаетесь с политикой конфиденциальности.
