Thursday, 4 March 1999

"Слабые" пароли

   The article examines typical (25-30 per cent) users' mistakes encountered while making self-choice of passwords. Some users resort to so-called "social-oriented" passwords related to their personalities, which allows the intruder to gain easy access.
В этой статье речь не пойдет о слабостях криптоалгоритмов, используемых операционными системами и распространенными пакетами обработки документов, о математических методах вскрытия. Мне хотелось бы осветить проблему того, что пользователи выбирают так называемые легкоугадываемые пароли, давая взломщику легкий путь для входа в систему.
   В своей работе хакеры, вовсю практикуют методы "социальной инженерии", т.е. знание психологии для поиска слабых мест, так называемую "обработку открытых источников" для установления реквизитов организации или пользователя, которые подвергается атаке.
   Для подбора пароля используется факт, что пользователь не желает утруждать себя излишним изобретательством при генерации пароля или не желает сильно напрягать память для его запоминания. У Эдисона на столе стояла надпись: "Человек прибегает к любым уловкам, только бы не работать головой".
   В 25% случаев пользователь вместо пароля вводит:
  • cвое имя,
  • название своей организации,
  • свои инициалы,
  • год рождения,
  • номер служебного или домашнего телефона,
  • номер своей автомашины,
  • дублирует символы своей учетной записи (другими словами имени пользователя при входе в систему),
  • славянское имя латинскими буквами.

   Имеющие хобби, вводят пароли из интересующей их области:
  • названия вокальных групп,
  • пород собак или кличек собак,
  • географические названия,
  • гастрономические блюда,
  • имена объектов сексуального пристрастия,
  • то же слово, продублированное дважды,
  • то же слово, записанное справо-налево,
  • русские слова набираются на латинском регистре и наоборот,
  • используют несколько рядом расположенных клавиш на клавиатуре,
  • используют одинаковый пароль в нескольких системах.

   Этими же предположениями пользуются хакеры для "разведки боем". Анекдотом стал случай проверки пентагоновских серверов, где военные в трети случаев при запросе пароля так и набирали: "пароль". Простое комбинирование вышеперечисленных пунктов не дает должного эффекта. Тем не менее, пароли неискушенных пользователей базируются на осмысленном слове и простом правиле его преобразования: прибавить цифру, прибавить год, через букву перевести в верхний регистр, приписать записанное наоборот слово и т.п. В продвинутых программах для подбора паролей эти правила могут быть программируемыми и задаваться самим хакером.
   Вторая распространенная ошибка состоит в том, что пользователи используют распространенные слова родного языка, или иностранного, которым они овладели. Здесь хакерами применяется атака "перебором по словарю" Самый большой словарь русского языка включает в себя около 200 тысяч слов. Ясно, что даже средний Pentium сделает подобный перебор в "режиме реального времени". Во-вторых, словарный запас, к примеру, Пушкина составлял 12 тысяч, и у средне образованного человека он того же порядка, даже если сюда включить молодежный жаргон, неологизмы последнего времени. В неродном, иностранном языке эта цифра может быть в несколько раз меньше. По Сети ползают файлы с названием: "200 самых распространенных паролей", "1000 самых распространенных паролей" и т.п. Не стану приводить подобные таблицы в статье для экономии места.
   Третья ошибка в том, что для генерации пароля сужается набор символов (только верхний регистр или только латинские буквы и цифры и т.п.) или пароль берется малой длины. Если предположить, что ваша программа для закрытия использует "абсолютно криптостойкий алгоритм", (архиваторы и MS Office подобными не являются) для взломщика остается последний способ атака "прямым перебором".
   Здесь стойкость ключа определяется двумя критериями, во-первых, размером множества символов использующихся для пароля, другими словами количеством возможных символов (верхний предел: вся кодовая таблица = 256-32, служебные не используются), пароль составленный из букв и цифр будет "крепче", чем пароль состоящий только из букв. Во-вторых, длина ключа должна быть максимальной, как минимум рекомендовано 12 символов.
   Подводя итоги, приведу правила генерации "сильных паролей":
  • Пароль должен быть несмысловой, т.е. не содержать слова из языка, тем более не включать в себя сведения из личной жизни.
  • Пароль должен включать в себя любые символы, другими словами, латинские и русские буквы на больших и малых регистрах, специальные символы (#$%& и т.п.), цифры вперемешку.
  • Длина пароля должна быть максимальной или как минимум 8-12 символов.

   P.S. Автор не несет ответственности за то, что материалы статьи могут использоваться как пособие для начинающих хакеров.
Опубликовано в Компьютерных Вестях