Утилита с открытыми исходниками вскрыла пароли Mac OS X

Тема в разделе "Новости информационной безопасности", создана пользователем Severnyj, 7 сен 2012.

  1. Severnyj
    Оффлайн

    Severnyj Команда форума Супер-Модератор Ассоциация VN/VIP

    Сообщения:
    7.841
    Симпатии:
    8.599
    Финский программист Юусо Салонен (Juuso Salonen) представил небольшую утилиту на языке C, которая способна извлекать содержание паролей из отдельных «брелоков» в системе Mac OS X. Полный исходный код утилиты уже доступен в репозитарии GitHub. Примечательно, что для взлома пароля не нужен физический доступ к компьютеру. Более того, в утилите никак не используются уязвимости в Mac OS X. Тем не менее, утилита работает, хотя и требует прав администратора, но это ограничение, теоретически, можно обойти, если обманным путем заставить пользователя ввести административный пароль.

    [​IMG]

    Использование прав администратора заставило многих экспертов усомниться в эффективности утилиты keychaindump. Действительно, в системах на базе UNIX, к которым относится и Mac OS X, административные права позволяют выполнять вообще любые действия, так что извлечение защищенных паролей, по идее, не должно быть такой сложной задачей. Системы уровня Mac OS X на самом деле не хранят пароли в открытом виде и не предоставляют оригинальных возможностей для их извлечения. Поскольку пароли все равно используются системой, для безопасности они циркулируют в открытом виде только в оперативной памяти. Именно эту особенность современных систем и использует утилита keychaindump, которая находит нужный участок памяти и дешифрует пароли.

    По словам Салонена, файлы ключей в Mac OS X шифруются по нескольку раз по принципу русской матрешки. В системе OS X используется множество разных ключей, в том числе один на базе личного пароля пользователя, которому принадлежит тот или иной ключ. В при доступе к списку ключей с правами администратора пароль преобразуется в 24-байтный мастер-ключ и сохраняется в памяти для применения в системном процессе «securityd». Салонен обнаружил общие свойства у участков памяти, где хранится мастер-ключ. В частности, в таких участках есть 8-байтное поле со значением «0x18» (24, только в 16-ричной системе счисления).

    Утилита Keychaindump использует метод распознавания последовательностей, чтобы найти указатель на мастер-пароль, а затем проверяет расположенные дальше значения (запись длиной 24 байта), на возможность использования в качестве мастер-ключа. Подобранный мастер-ключ открывает промежуточный ключ, известный, как «ключ обертки» (wrapping key). С помощью жестко заданного «ключа обфускации» (obfuscation key), «ключ обертки», в свою очередь, открывает зашифрованный «ключ полномочий» (credential key), который, в итоге, открывает пароль пользователя в исходном виде. За подсказку по методике последовательной дешифрации Салонен приносит благодарность своему коллеге, Мэтту Джонсону (Matt Johnston).

    Важно иметь в виду, что цель данной утилиты заключается не в стимулировании вирусописателей, а в исследовании контуров безопасности Mac OS X. Примечательно, что недавно компания Passware представила коммерческие инструменты для взлома паролей Mac OS X. Выгодное отличие утилиты keychaindump от этих инструментов заключается в полной открытости – впервые способ взлома полностью документирован, как и вся технология шифрации ключей в Mac OS X.

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

    Источник
     
    2 пользователям это понравилось.

Поделиться этой страницей