Оценка угроз паролей

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

Начните с анализа архитектуры сети или системы. Ниже приведено несколько примеров.

  • Количество паролей, которые необходимо защитить. Требуется ли пароль для входа на локальный компьютер? Используется ли тот же пароль для входа в сеть? Распространяются ли пароли на несколько серверов в сети? Сколько паролей необходимо вместить?
  • Тип сети (при наличии), которая будет использоваться. Реализована ли сеть с помощью корпоративной системы каталогов (например, LDAP) и используется ли ее архитектура паролей? Хранятся ли какие-либо объекты с незашифрованными паролями?
  • Открытая и закрытая сеть. Является ли сеть автономной или открытой для внешних? Если да, защищен ли он брандмауэром?
  • Удаленный доступ. Потребуется ли пользователям доступ к сети из удаленного расположения?

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

  • Чтение незашифрованного пароля из реестра компьютера.
  • Чтение незашифрованного пароля, жестко закодированного в программном обеспечении.
  • Чтение незашифрованного пароля с переключения кодовой страницы компьютера.
  • Чтение пароля из журнала событий программы.
  • Чтение пароля из расширенной схемы службы каталогов Microsoft Active Directory с объектами, содержащими пароль в виде открытого текста.
  • Запустите отладчик в программе, для которую требуется пароль.
  • Угадай пароль. Можно использовать любой из нескольких методов. Например, злоумышленник может узнать некоторые личные сведения о пользователе и попытаться угадать пароль из этих сведений (например, имя супруга/партнера или ребенка). Кроме того, можно использовать метод подбора, в котором используются все сочетания букв, цифр и знаков препинания (возможно только при использовании коротких паролей).

Сравнение возможных методологий атак с архитектурой системы или сети, скорее всего, покажет риски безопасности. На этом этапе можно установить фактор риска для каждого риска, а факторы риска можно использовать для рассмотрения исправлений.