Атака Pass-ta-key виявила неочікувані вразливості в passkeys

Чому додатки для роботи з паролями по-різному обробляють Windows порівняно з іншими операційними системами.

Атака Pass-ta-key виявила неочікувані вразливості в passkeys 1

Минулого тижня дослідник описав те, що він назвав «новою поверхнею атаки» в паролях — новій парадигмі автентифікації, яка пропонує безпечнішу альтернативу методам, що базуються на паролях. Насправді, продемонстровані в дописі атаки не є новими чи унікальними для паролів. Це розмежування важливе, оскільки дослідження викликало плутанину серед кінцевих користувачів і фахівців із безпеки, які оцінюють, чи є цей новий механізм справді безпечним для використання.

Атака називається 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 або будь-якому іншому спеціальному апаратному забезпеченні (вони називаються по-різному залежно від платформи, включаючи захищені анклави, довірені середовища виконання та StrongBoxes). Насправді більшість платформ і стороннього програмного забезпечення для керування паролями не зберігають їх у такому спеціальному обладнанні. Практично єдиним винятком є Microsoft, яка пропонує користувачам опцію зберігати паролі в TPM Windows. Компанія переважно рекомендує цей вибір підприємствам, а не споживачам.

Як я дізнався під час дослідження для цієї статті, усі платформи, окрім тих, що працюють під керуванням Windows, зберігають паролі локально на пристрої. Перехід до локального зберігання відбувся кілька років тому, після того, як розробники операційних систем і сторонніх додатків усвідомили, що паролі не матимуть шансів на широке використання, якщо їх не можна буде легко синхронізувати з усіма пристроями користувача. Вимога зберігання в TPM робила синхронізацію неможливою. Єдиним способом завантажити їх до TPM нового пристрою було б відтворення кожного пароля окремо.

Зрештою, архітектори специфікацій FIDO вирішили, що зберігати паролі на пристроях загалом безпечно. Ідея полягала в тому, що дозволи додатків настільки гранульовані, що шкідливе програмне забезпечення, яке ховається на пристрої, не матиме можливості отримати доступ до приватних ключів, що є основою безпеки паролів. Наприклад, шкідливе програмне забезпечення, встановлене на пристрої під керуванням macOS, iOS та Android, не може подолати цю ізоляцію, якщо сама операційна система не скомпрометована через якусь екзотичну експлойт нульового дня. Поки що ці припущення довели свою правильність на практиці.

Єдиним винятком є Windows. На відміну від усіх інших платформ, додатки Windows зазвичай працюють з усіма привілеями користувача, тоді як інші платформи заохочують обмеження привілеїв кожного додатка за замовчуванням. Хоча Windows надає певні захисні механізми для ізоляції додатків, вона не перешкоджає програмам, що не використовують пісочницю, таким як шкідливе програмне забезпечення, отримувати доступ до даних програми, що використовує пісочницю. Тобто, пісочниця захищає лише в одному напрямку. Технології пісочниць на інших платформах набагато більш захищені.

Це означає, що шкідливе програмне забезпечення для Windows має значно менше проблем з доступом до даних, що використовуються окремим додатком. Архітектори паролів усвідомлюють цю різницю, яка значною мірою необхідна з причин зворотної сумісності Windows. Не маючи впевненості, що паролі, збережені на пристрої Windows, не будуть викрадені у разі зараження шкідливим програмним забезпеченням, багато сторонніх розробників обрали новий дизайн — зберігання паролів у зашифрованих блобах, що шифруються наскрізно, розташованих у хмарі. Паролі, що зберігаються на сервері, зараз використовуються не тільки GPM для Windows, але й 1Password, Dashlane та іншими сторонніми додатками для ОС Microsoft.

Спрощено це працює так: коли користувач GPM для Windows хоче використовувати пароль для входу на сайт, пристрій отримує ключ користувача та/або пристрою з 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 — коли він увійшов до облікового запису, усі дані, що зберігаються там, стають доступними.

Атака Pass-ta-key виявила неочікувані вразливості в passkeys 2

Дан Гудін Старший редактор з безпеки

За даними порталу: arstechnica.com

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *