Парольный аудит
Ни для кого не является секретом тот факт, что сегодня на подавляющем большинстве компьютеров для аутентификации пользователей используется парольная защита. Это касается практически всех, в том числе и корпоративных ПК. Ведь даже в США, в которой компании традиционно уделяют большое внимание своей информационной безопасности, согласно последним исследованиям всего лишь в 57 процентах фирм используют средства строгой аутентификации. Из них 42 процента применяют токены и смарт-карты, а еще 15 - биометрические сканеры. В России же дела обстоят совершенно иначе. Как? Откровенно говоря, точно об этом не знает никто: подобные исследования в нашей стране не проводятся. Но и без них понятно, что процент российских компаний, использующих для аутентификации пользователей только стандартные возможности Windows, гораздо выше.
Между тем парольная защита не удовлетворяет современным представлениям об информационной безопасности. Причина этому - слишком сильная зависимость данного вида аутентификации от так называемого человеческого фактора. Можно сказать и проще. Надежность парольной аутентификации полностью зависит от того, какое ключевое слово выбрал себе пользователь и как он его хранит. Впрочем, с последним аспектом проблемы возникают все реже и реже. Еще буквально несколько лет назад довольно часто бумажки с написанными на них паролями "прятались" под клавиатуру или прилеплялись прямо на монитор. Сегодня образованность пользователей в области информационной безопасности несколько выше, поэтому подобные вещи встречаются относительно редко.
Ну а вот с выбором паролей дела обстоят далеко не так хорошо. В идеале ключевое слово должно быть абсолютно случайным набором из букв, цифр и специальных символов и иметь длину не менее 8-10 знаков в зависимости от конкретной задачи. Между тем большинство пользователей стараются облегчить себе жизнь, для чего при выборе пароля используют либо осмысленные выражения, либо персональную информацию (фамилию, имя ребенка, имя животного, элементы адреса, телефона, номера документов и т.п.). Другие люди идут по пути сокращения ключевого слова, оставляя в нем 4-5, а то и вообще 2-3 символа. Есть еще и третий вариант упрощения использования пароля. Человек придумывает действительно надежное, отвечающее всем требованиям информационной безопасности ключевое слово, запоминает его, а потом применяет везде, то есть во всех сервисах с парольной защитой.
Все это делает пароли уязвимыми перед различными атаками злоумышленников. Так, например, использование в качестве паролей осмысленных выражений делает возможным их подбор по словарю. Ну а применение повсюду единого ключевого слова позволяет злоумышленникам проникать в хорошо защищенные информационные системы путем взлома "слабых" в плане безопасности сервисов.
Итак, проблема озвучена. Она действительно весьма серьезна и может привести к утечке коммерческой информации. Как же защититься от нее? Самым надежным способом, естественно, является переход на любую систему строгой аутентификации с использованием смарт-карт, USB-токенов или биометрических сканеров. Однако все это выливается в довольно приличные затраты. И ни для кого не является секретом тот факт, что далеко не каждый руководитель согласится на них. Более того, в небольших компаниях зачастую просто-напросто не хватает финансовых возможностей для вложения в информационную безопасность. Другой вариант - усиление надежности парольной защиты путем контроля качества используемых сотрудниками фирмы ключевых слов.
В Windows администратор, настраивая политику безопасности, может указать кое-какие требования к качеству паролей пользователей, например, их минимальную длину. Однако эти возможности очень сильно ограничены. Например, с их помощью никак нельзя проконтролировать "осмысленность" используемых выражений. Поэтому для контроля качества паролей может использоваться только их аудит.
Вообще, в области информационной безопасности наибольшее распространение получил экспертный аудит. При его проведении специалист или группа специалистов досконально исследуют систему защиту или любую ее часть, после чего выносят решение о ее надежности или, наоборот, ненадежности, а также выдают заказчику перечень потенциально опасных мест с рекомендациями по их устранению. Вот только в нашем случае экспертный аудит не подходит. Во-первых, "экспертом", скорее всего, будет выступать системный администратор, отвечающий в компании за работоспособность информационной системы. И далеко не факт, что он настолько хорошо разбирается в защите компьютерных данных, чтобы самостоятельно оценить надежность пароля. Во-вторых, в этом случае всем без исключения пользователям придется показать свои пароли одному человеку. Нужно ли говорить, что это полностью "развязывает руки" последнему, позволяя ему заходить от имени любого сотрудника и получать доступ к любой корпоративной информации. Таким образом, полный контроль над качеством паролей может осуществляться только с помощью активного аудита. При его проведении ответственный сотрудник повторяет все возможные действия злоумышленника по взлому парольной защиты, в ходе которых выясняется, насколько удачно ключевые слова пользователей могут противостоять хакеру.
Для проведения активного аудита качества паролей необходимо специальное программное обеспечение. Причем желательно, чтобы оно могло полностью взять на себя все тестирование, выдавая администратору только его результаты. Примером такой утилиты может служить продукт Proactive Password Auditor, разработанный специалистами компании "ЭлкомСофт". Давайте мы с вами, уважаемые читатели, попробуем на практике рассмотреть пример проведения активного аудита с помощью данной утилиты.
Первый шаг в любой атаке на систему аутентификации Windows - получение хэшей паролей. Дело в том, что операционная система хранит ключевые слова пользователей не в "явном" виде, а виде данных, которые получаются путем применения к ним односторонней функции. Заполучив хэши, злоумышленники могут с помощью различных атак попытаться восстановить из них начальную информацию, то есть пароли. Сделать это можно несколькими способами с помощью различных утилит. Поэтому для предупреждения вероятных действий хакера желательно, чтобы в программе, использующейся для аудита, были реализованы они все.
Сразу же после получения хэшей аудитор должен провести "быструю" атаку, которая поможет найти все пароли, созданные с грубым нарушением правил. Так, например, в рассматриваемой программе в первую очередь запускается перебор по встроенному словарю (он небольшой, но зато содержит самые часто использующиеся слова), затем следует атака brute-force со специально подобранными параметрами, попытка извлечения ключевых слов из памяти и т.д. Все эти действия отнимают минимум времени (буквально несколько минут), но зато во многих позволяют достичь успеха. Ну а если этого не произошло, то можно переходить к "правильной осаде".
Осуществляется она так. Первым делом необходимо выбрать способ атаки. Здесь возможны четыре варианта. Начинать лучше всего с атаки по словарю. При ее реализации пароль подбирается с помощью указанных пользователем списков осмысленных слов. Естественно, чем больше словарь, тем более вероятен успех атаки. Списки слов можно найти в Интернете или купить на компакт-диске.
В том случае, если подбор по словарю не дал никаких результатов, необходимо перейти к методам, требующим большего времени. Первым из них является полный перебор. При его выборе пользователю необходимо указать интервал возможных длин паролей и наборы символов, которые могут использоваться для их создания (латинские буквы, цифры, спецсимволы, введенный человеком набор). Также при необходимости администратор может включить проверку не всех возможных вариантов, а только нескольких указанных им диапазонов. Этот метод подбора паролей может использоваться для проверки их длины. Выставив значение на один символ меньше минимально достаточного значения (зависит от конкретной задачи, обычно колеблется от 8 до 10 символов), администратор сможет проверить все возможные ключевые слова, которые не удовлетворяют требованиям безопасности. Другой вариант - подбор пароля по маске. Здесь администратор указывает не просто возможную длину ключевого слова, но и может ввести некоторые известные ему символы. В остальном же эта атака ничем не отличается от полного перебора всех возможных вариантов.
В принципе, существует еще один весьма интересный метод подбора паролей, созданный Филиппом Оэшлином (Philippe Oechslin). Он основывается на использовании специально рассчитанных Rainbow-таблиц, которые генерируются только один раз. Правда, на их составление уходит довольно много времени. Так, например, создание на обычном персональном компьютере минимального числа таблиц для паролей с длиной от 1 до 7 символа, состоящих из букв латинского алфавита и цифр, занимает в среднем 15-20 часов. Зато после этого анализ одного ключевого слова будет занимать не более 5-10 секунд. Правда, вероятность успеха при этом будет относительно невелика - около 66 процентов. Решить эту проблему можно путем увеличения количества таблиц. Если, например, их сгенерировать 24 штуки, то вероятность успеха превысит 99 процентов. Вот только для их создания понадобится уже не менее 3-4 дней. Рассмотренный метод реализован в немногих программах, предназначенных для парольного аудита. Между тем хакеры все активнее и активнее используют его в своей деятельности.
Ну и последний шаг аудита - это составление отчета. Сразу стоит отметить, что обычно отчетов нужно как минимум два. Первый из них для системного администратора или сотрудника, отвечающего за информационную безопасность, второй - для руководства. Например, в программе Proactive Password Auditor это реализовано так. В первом отчете отображаются аккаунты тех пользователей, чьи пароли были обнаружены программой. Ну а второй представляет собой наглядный график, на котором отображается, сколько исследованных паролей за какое время могут подобрать злоумышленники. Он отлично подходит для иллюстрации актуальности проблемы безопасности руководству компании.