Статьи Расшифровка Windows CardSpace (ранее InfoCards)

Discussion in 'Статьи' started by IvanO, 28 Aug 2008.

  1. IvanO

    IvanO Member

    Joined:
    25 Aug 2008
    Messages:
    3
    Likes Received:
    5
    Reputations:
    0
    Расшифровываем Windows CardSpace (InfoCards)

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

    В отличие от более ранних технологий унифицированной идентификации (например, Microsoft Passport) Windows CardSpace управляет непосредственно пользователями и приложениями, с которыми устанавливается контакт. Иными словами, можно использовать разные схемы и уровни сложности для идентификации при доступе, например, при регистрации в Web-форумах или для банковских операций.

    Поддержка WCS реализована в .Net Framework 3.0. Сотрудники Microsoft также изложили планы в отношении развития ее технологий идентификации. После планируемого на конец 2007 года выхода Longhorn Server в корпорации собираются выпустить технологию Security Token Service, предназначенную для интеграции в Active Directory. Security Token Service представляет собой малоресурсоемкий шлюз на основе спецификации WS-Trust для серверов и клиентов, выполняющий роль посредника при обмене маркерами безопасности Kerberos, SAML и др. Как сообщают в Microsoft, основой ее платформы идентификации - Identity Metasystem - являются Active Directory и Microsoft Identity Integration Server (последний планируется встроить в Windows). Со временем корпорация обеспечит в этих двух продуктах поддержку сильных верительных данных (таких, как смарткарты), контроля доступа, единого входа, объединенной идентификации, защиты прав на информацию, аудита и автоматизации процессов.

    На прикладном уровне Windows CardSpace - это интерфейс в виде панели идентификационных карточек, которыми можно пользоваться для аутентификации на различных сетевых ресурсах. Селектор указывает, какой тип верительных данных необходим для доступа к каждому из ресурсов.
    Windows CardSpace предоставляет пользователю доступ к созданию и управлению своими Информационными Картами (или просто ИнфоКартами). Также как и личная информация, заверенная, к примеру, водительскими правами, паспортом или кредиткой, ИнфоКарта представляет собой данные, заверенные цифровой подписью издателя.


    Personal Information Card
    Personal Information Card (или личная ИнфоКарта) - один из типов InfoCard, которую создает сам пользователь и записывает в нее свои персональные данные. Поэтому Personal Information Card часто называют 'Self-issued Card'. В отличие от Managed Card, Personal Information Card вместе со всеми данными хранится локально, в специальном зашифрованном хранилище. Personal Information Card содержит фиксированные набор персональных данных, который не может быть расширен. Наряду с приватным набором данных, Personal InfoCard включает в себя общие данные (версия InfoCard, дата выпуска и обновления, состояние, статус и т.д.), Уникального ИДентификатора и Мастер Ключа, служащего для шифрования приватных данных и генерации криптографических ключей. Стоит также отметить, что свои персональные данные пользователь может дополнительно защитить при помощи PIN - пароля InfoCard.

    Методика хранения и шифрования данных Personal InfoCard заслуживает более детального рассмотрения главным образом из-за многих мелких хитростей, применяемых при защите данных.
    Начнем с того, что хранилище InfoCard представляет собой закрытый каталог в профиле пользователя, доступ к которому запрещен всем (включая Администратору), кроме самой системы. Обычно, путь к Vista CardSpace выглядит так: C:\Users\%USERNAME%\AppData\Roaming\ Microsoft\CardSpace. В этом каталоге находятся два файла:
    CardSpace.db - основное хранилище для всех карт пользователя
    CardSpace.db.shadow - запасное хранилище, используемое при операциях добавления, удаления карт и т.п.


    Шифрование Windows CardSpace
    При шифровании Windows CardSpace применяется принцип использования Мастер Ключа. Т.е. для расшифровки CardSpace сначала необходимо расшифровать главный (Мастер) ключ, который затем будет служить основным исходным материалом при расшифровке карт. Интересная особенность Мастер Ключа CardSpace заключается в том, что он расшифровывается в два этапа: сначала с использованием DPAPI текущего пользователя, затем DPAPI системы. Таким образом, Windows CardSpace привязывается не только к текущему пользователю, но и к операционной системе.

    Мастер Ключ CardSpace, в свою очередь, участвует в расшифровке всех карт. Каждая карта, хранимая в Windows CardSpace, состоит из трех объектов:
    • InfoCard public data. Общедоступные данные, где хранятся служебная информация ИнфоКарты. Например, версия карты, ее имя и дата создания/установки/изменения, уникальный идентификатор, логотип и т.д.
    • InfoCard private data. В этом объекте, как в телефонной книге, хранится набор наиболее часто используемых персональных записей пользователя (claims). В Personal Information Card этот набор является фиксированным. В него не входят ни пароли, ни информация об учетной записи, ни номер кредитной карты, сведя, таким образом, риск открытия конфиденциальных данных к минимуму.
    • InfoCard Master Key. Мастер Ключ ИнфоКарты - набор случайных данных, который используется для генерации ключей шифрования, а также для шифрования InfoCard private data, если задан PIN.
    Персональные данные ИнфоКарты зашифрованы при помощи пароля пользователя (или InfoCard PIN). А что делать, если PIN был забыт? К счастью, есть решение для восстановления InfoCard PIN. Плохая новость - в наиболее тяжелых случаях (длинный или хитрый PIN), восстановить его будет чрезвычайно сложно, если вообще возможно. Что ж, так или иначе, давайте посмотрим, как это реализовано в программе Network Password Recovery Wizard .

    Линейную схему восстановления InfoCard private data без знания PIN можно разбить на 7 этапов:
    1. Выбор источника данных - CardSpace или CardSpace Backup
    2. Чтение и расшифровка паролей системы (system credentials)
    3. Расшифровка Мастер Ключа системы
    4. Расшифровка Мастер Ключа пользователя - владельца данных
    5. Расшифровка InfoCard public data, выбор Карты, подбор простых PIN
    6. Восстановление InfoCard PIN
    7. Расшифровка InfoCard private data, если предыдущий шаг увенчался успехом
    * Шаги 2-4 Мастера программы недоступны в автоматическом режиме.


    1. Выбор источника данных - CardSpace или CardSpace Backup
    На начальном этапе работы, Мастер программы сканирует систему, предлагая выбрать одно из доступных хранилищ CardSpace, по умолчанию - CardSpace текущего пользователя. Если в выпадающем списке необходимое хранилище CardSpace не найдено можно задать путь к этому каталогу вручную (кнопка 'Add new CardSpace'). Работа с CardSpace подразумевает наличие привилегий Администратора.
    [​IMG]
    Другим, альтернативным источником ИнфоКарт, является CardSpace Backup File. Обычно он представляет собой файл с расширением *.CRDS, если пользователь не задал другое. Учтите, что для расшифровки CardSpace Backup File необходимо знать его пароль. Windows Vista устанавливает минимальную длину на пароль CRDS в размере 8 символов.

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


    2. Чтение и расшифровка паролей системы
    Любая учетная запись Windows, будь то пользователь или система, имеет право на существование только при наличии паролей, пусть даже пустых. Системная учетная запись прячет свои пароли в секретах (Windows secrets) - специальном хранилище приватной информации, доставшейся в наследство от старой доброй Windows NT.
    [​IMG]
    В автоматическом режиме, программа считывает эти данные сама, без участия пользователя. В нашем случае, необходимо указать путь к двум файлам реестра: SECURITY, в котором хранятся секреты (нас интересует только один секрет, с паролем системной учетной записи), и SYSTEM с системными данными, необходимыми для их расшифровки. По умолчанию файлы реестра находятся в системном каталоге Windows, а точнее в %WINDIR%\system32\config.


    3. Расшифровка Мастер Ключа системы
    Итак, системные пароли получены. Что дальше? А дальше нам нужно расшифровать Мастер Ключ системы. Если Вы помните, Мастер Ключ системы вместе с Мастер Ключом пользователя участвуют в расшифровке Мастер Ключа CardSpace. Н-да, звучит довольно забавно. Если так и дальше пойдет, то скоро разработчики Windows должны будут изобрести супер-мега-макси-главный-ключ.
    [​IMG]
    Опустив ненужные детали и говоря человеческим языком, на данном этапе необходимо указать путь к файлу, который обычно находится в каталоге %WINDIR%\system32\Microsoft\Protect\S-1-5-18\User\. Имя файла программа вычисляет сама, исходя из данных, полученных на предыдущих шагах. Вам достаточно будет лишь указать путь к этому каталогу. Идем дальше.


    4. Расшифровка Мастер Ключа пользователя - владельца данных
    Последний подготовительный этап перед расшифровкой CardSpace необходим для получения Мастер Ключа пользователя. В Windows Vista, Мастер Ключ пользователя по умолчанию находится в папке: C:\ Users \%USER%\ AppData\ Roaming\ Microsoft\ Protect\ %SID%\.
    Имя Мастер Ключа программа задает сама. В расшифровке Мастер Ключа пользователя принимают участие пароль учетной записи владельца CardSpace и его SID, который в большинстве случаев совпадает с именем папки %SID%.
    [​IMG]
    Покончив с Мастер Ключом пользователя и имея все необходимые данные, наконец-то можно приступать непосредственно к расшифровке CardSpace.


    5. Расшифровка InfoCard public data, выбор Карты, подбор простых PIN.
    Если предыдущие шаги Мастера прошли успешно, то Вы должны увидеть примерно такую картину (см. рисунок). Вверху - список расшифрованных InfoCard с именем и уникальным идентификатором. Немного ниже - свойства выбранной карты. Чтобы просмотреть свойства карты, необходимо выделить ее в списке.
    [​IMG]
    В списке, напротив имени Карты могут стоять значки, показывающие защищена ли карта паролем или нет. Вот что они означают:
    [​IMG] - Карта не защищена PIN. Возможна дальнейшая расшифровка закрытых данных, т.е. claims. Кнопка 'Next >>' при этом будет активной.
    [​IMG] - Карта закрыта PIN, но он был найден. Поэтому, как и в первом случае, смело переходим к финальному диалогу Мастера - расшифровке приватных данных.
    [​IMG] - Карта закрыта PIN. Кнопка 'Next >>' становится неактивной. Восстановление общих данных невозможно, однако стоит попытаться подобрать PIN.


    6. Расшифровка InfoCard PIN
    Для начала неплохо было бы проверить простые и часто используемые комбинации паролей (кнопка 'Check Simple PINs >>') . В одной из последних версий программы был встроен механизм Passcape Password Permutation, который задействован при этой проверке. Суть его сводится к тому, что чем больше паролей было найдено перед этим, причем не важно каких, тем эффективнее будет происходить поиск остальных паролей. В общей сложности этот поиск займет менее одной минуты на современном компьютере.
    [​IMG]
    Допустим, PIN найден не был, что дальше? А далее, поиск PIN возможен только путем подбора или перебора. Что это означает? Устанавливаем опцию 'I don't know the PIN, but want to recover one', щелкаем 'Next >>' и переходим к поиску PIN.

    В настоящее время, программа использует разные подходы для восстановления паролей инфокарт:
    • Dictionary attack. Атака по словарю - наиболее эффективный метод восстановления, при котором программа пробует каждое слово из заданного вами словаря/словарей до тех пор, пока не будет найден исходный пароль или не кончатся слова в списке. Это метод эффективен, потому что многие люди в качестве пароля используют обычные слова или фразы. Кроме того, такая проверка осуществляется достаточно быстро по сравнению, например, с атакой перебором.
    • Brute-force attack. Атака перебором. Если атака по словарю завершилась неудачно, возможно, вам надо повнимательнее присмотреться к атаке перебором, при которой используются все возможные комбинации из заданного диапазона символов. Например, для трехсимвольного диапазона малых латинских символов подбираются все возможные комбинации: 'aaa', 'aab', 'aac'... 'zzz'. Этот тип атак самый медленный, поэтому он больше подходит для коротких паролей. К тому же можно ошибиться с выбором оптимального диапазона символов.
    • Mask attack. Атака по маске полезна, если известна какая-нибудь информация о пароле. Например, первые четыре символа в пароле латинские буквы, за которыми следует трехзначное число. Атака по маске является вариацией атаки перебором, за тем лишь исключением, что некоторые символы для нахождения пароля остаются неизменными, а меняется только определенная часть пароля. Для задания маски или правила для нахождения пароля, используется специальный синтаксис, который подробно будет описан ниже, в соответствующем разделе.
    • Base-word attack. На первый взгляд, этот тип атаки похож на предыдущий. Она также эффективна, если известна часть пароля или его составляющая. Но, в отличии, от предыдущей атаки, тут не нужно задавать маску, только базовое слово или фразу, если хотите. Все остальное программа берет на себя. Атака по фразе основана на опыте социальной инженерии и использует более 150 правил модификации исходного словосочетания для нахождения большого количества возможных парольных комбинаций.
    • Combined dictionary attack. Комбинированная атака по словарю специально разработана для восстановления паролей, состоящих из нескольких слов. Например, 'nothing to do' или 'ничегонескажу'. Необходимо задать один или несколько словарей, из которых программа, следуя определенным правилам мутации, будет составлять фразы, используемые для нахождения оригинального пароля. Правила создания фраз можно создавать и редактировать самостоятельно.
    • Phrase attack. Атака по фразе обычно используется для нахождения сложных паролей, состоящих из нескольких слов, используя готовые наборы словарей с фразами и словосочетаниями.
    Предпоследний шаг мастера расшифровки пароля предназначен для запуска выбранной вами атаки, сбора и отображения ее статистики.
    [​IMG]



    7. Расшифровка закрытых данных
    Финальный диалог Мастера программы с расшифрованными закрытыми данными (claims) выглядит примерно так, как показано ниже.
    [​IMG]
    Personal Information Card, как уже было сказано ранее, содержит фиксированные набор персональных данных пользователя.


    (с) 2008 Passcape Software
    О программе Network Password Recovery Wizard
    Обсуждение программы Network Password Recovery Wizard
     
    #1 IvanO, 28 Aug 2008
    Last edited: 28 Aug 2008
  2. O.mnenie

    O.mnenie Banned

    Joined:
    18 Aug 2008
    Messages:
    6
    Likes Received:
    124
    Reputations:
    0
    Это бред
     
  3. gisTy

    gisTy Elder - Старейшина

    Joined:
    24 May 2008
    Messages:
    432
    Likes Received:
    160
    Reputations:
    27
    как я понял, данная "статья" описывает какие кнопочки и в каких позах надо надимать? ну еще чуть-чуть теории... просто проиллюстрированный мануал к программе..
     
  4. Thanat0z

    Thanat0z Негрин

    Joined:
    6 Dec 2006
    Messages:
    627
    Likes Received:
    498
    Reputations:
    311
    Копипаст руководства с целью пиара сайта и проги, имхо
     
    1 person likes this.