Атака на пароль
Воровство паролей доступа к компьютеру, конечно же преступление. Однако большинство людей и особенно деловых настолько небрежны с ключами, что доказать потом именно воровство, а не передачу, невозможно. Потеряв $82000 из-за незаконных обращений по телефону вследствие кражи пароля, одна компания США "просто" сменила все 800 своих телефонных номеров и переопределила тысячи паролей доступа пользователей.
Определенные типы связанного с компьютерами мошенничества, типа вхождения в базы данных платежной ведомости или банковских счетов, при подборе хакером пароля могут быть блокированы созданием ложных клиентов или призраков. Если кто-то войдет в систему под идентификатором призрака, то это означает, что либо произошли грубая ошибка, либо вмешательство хакера. Не поленитесь в любой системе сделать длинный ряд таких призраков: BOOKKEEPER, CHIEF, DIRECTOR, ENGINEER, GUEST, MANAGER, MASTER, PRESIDENT, SYSTEM и, конечно же, SUPERVISOR. В процедуры загрузки призраков вставьте оповещение по тревоге, блокировку клавиатуры и выгрузку врага с выдачей ему сообщения: "Sorry! Backup in process now. Please, call us 20 min late." Останется лишь обратиться к службе безопасности, чтобы дальше нежелательным визитером занялись они, это уже их дело.
Подбор паролей ведется хакером строго закономерно. В одном из 20 случаев пользователь вместо пароля вводит: свое имя, название своей компании, свои инициалы, год рождения, номер служебного или домашнего телефона, номер своей автомашины и прочую ерунду. У ряда пользователей есть особенность набирать в виде пароля славянское имя на английском регистре. Пользователи, имеющие хобби, вводят пароли из интересующей их области - названия вокальных групп, пород собак и спортивные термины. Пользователи системы всегда будут предлагать пароли, которые легки для запоминания. Например, если "Белый ветер" - название фирмы пользователя, то хакер мог бы пробовать WHITE, WIND, WHITEWIND или WWIND как пароли. Если хакеру известно. что бухгалтер в "Белом ветре" Иван Углов, то он вводил бы IVAN, VANYA, UGLOV или IVANUGLOV как пароли. При анализе списка пароля наблюдались такие общеизвестные факты: четверть паролей были женские или мужские имена, страны, исторические лица, города или блюда (это в Италии) и лишь каждый двадцатый пароль был такого характера, чтобы его нелегко было разгадать. Вспомните заводской пароль BIOS фирмы AMI конечно же AMI, а у Norton Utilites - бесспорно NORTON! Этот список можно было и продолжать, но боюсь, что побьют программисты, так как подобные пароли рассчитаны лишь на неопытных пользователей.
Если ничто не помогает, хакер может воспользоваться 240 стандартными паролями, адаптированными к условиям России. Обнаружив такое имя, администратор системы должен заставить пользователя сменить его. Список этих паролей, которых любой администратор систем должен избегать как СПИДа, дан в приложении. Теперь сделаем выводы. Охрану коммуникаций обсудим позже, а вот правила для выбора пароля должны быть следующие:
Пароль должен быть неожиданным, а лучше - случайным.
Если пароль придумывает пользователь, то пусть он хотя бы будет длинным - не менее 12 символов.
В больших организациях при уходе служащего в отпуск не ленитесь блокировать его доступ в систему до возвращения.
Когда чувствуют хоть малейшую опасность, изменяют все пароли, а не только пароли, вовлеченные в инцидент.
Убедите пользователей не использовать один и тот же пароль в нескольких системах одновременно! Хакеры могут коварно воспользоваться этим.
Заводите пароли призраки, являющиеся западнями для хакеров.
Считается, что алфавитно-цифровой ключ должен состоять как минимум из 7 знаков, то есть около 20 бит информации, иначе вскрытие шифра предельно просто. Класс символов, составляющих ключ должен быть как можно более представительным, включая в себя буквы, цифры, знаки препинания и псевдографику. Так, если в ключ из 6 символов входят только прописные русские буквы, образующие осмысленное слово, то вряд ли число ключей будет больше 20000 и перебор прост. Если же орфографическая правильность и постоянство регистра не требуется, то, счет допустимых ключей пойдет уже на миллионы. В принципе, можно использовать отрывки из книг, беря каждую третью букву, начиная с определенного места или комбинируя два слова как ГОРОДрапз.
Хорошие результаты дает использование двух типов ключей: текущего, для входа в систему или шифрования текста, и основного, для шифрования ключей и паролей. Основной ключ, которым шифруют ключи, должен быть очень надежен и используется на протяжении определенного времени - от одного месяца до года. Им шифруют текущий ключ из 30-40 случайных байт. Текущим ключом шифруют сообщение и посылают эту шифровку получателю вместе с шифровкой текущего ключа, сделанной по основному ключу. Такая техника длительное время употреблялась в отечественной криптографии. Она также необходима при пересылке и хранении ключей, потому что даже надежному курьеру или самой защищенной системе вряд ли стоит доверять открытый текст ключей и паролей. Ключ для шифрования ключей еще называют главным или master key. Основной ключ в классических системах шифрования вскрыть из шифровки практически невозможно, так как в сообщении отсутствует избыточность, которая является основной помощницей криптоаналитика. Все рассказанное не снимает вопроса о получении основных ключей - крайне желательно, чтобы все символы в них были бы независимыми. Ключи лучше всего получать с помощью той же системы засекречивания случайным набором с клавиатуры сначала файла ASCII, а затем максимально длинного ключа. Фрагмент шифровки и будет представлять собой хороший ключ, если у нее выбросить стандартный заголовок, специфичный для каждой системы.
Наиболее опасна атака на пароль супервизора. Большинство сетевиков наслышано о программе, основанной на "дупле" в Novell 3.11, когда за счет посылки сообщения с адресом станции супервизора, пославшему его пользователю назначается эквивалент супервизора. Хотя в Novell 3.12 и 4.01 эта ошибка исправлена, но по последним сообщениям теоретически есть обходные ходы. Собственно говоря, заплата (patch) для этой дыры в энциклопедии Novell появилась давно, однако, видимо, дыра пошире, чем ее увидел некий голландский студент. Утилита SETSPASS позволяет сменить пароль супервизора в NetWare 3.11 на любой введенный, но для этого надо знать серийный номер пакета инсталляции системы. А вот номер пакета тоже можно поменять на любой утилитой SERNO. Не стоило бы писать об этом, если не два крутых обстоятельства. Во-первых, по статистике получается так, что в Novell 3.11 сейчас работает около четверти всех сетевых пользователей. Во-вторых, большая часть администраторов работает под именем SUPERVISOR, что абсолютно недопустимо, так как это имя известно абсолютно всем. Естественно, что лучшей защитой от будущих невзгод в этом случае является назначение супервизором себе эквивалента с неизвестным именем, а в процедуру регистрации супервизора надо встроить механизм обнаружения наглеца и закрытия или смывания всех секретных данных.
Бороться с незаконным использованием чужих паролей в сети можно и с помощью устройств идентификации, среди которых особенно привлекательны системы идентификации по "почерку" работы пользователей на клавиатуре. Такого рода приборы предлагаются фирмами Electronic Signature Lock и International Bioaccess Systems по цене около $500. Данный подход исключителен по скрытности и непрерывности действия. Он не требует в отличие от других методов никаких настораживающих хакеров действий и великолепно распознает стиль работы людей за клавиатурой от стиля программ, подбирающих пароли. Другая процедура идентификации может быть реализована, когда, регистрируясь в сети, пользователи дают о себе дополнительную информацию, а система при каждом их входе требует ввести ее фрагменты. Например, пользователь может быть запрошен о своем годе рождения или адресе места жительства.
Очень сильная атака на ключ - подделка его. Опасность подделки очень серьезна хотя бы потому, что ее обычно тяжело заметить. Для классических одноключевых криптосистем подделка ключа встречается очень редко - автору довелось лишь раз видеть хакерскую подделку, заменяющую все символы вводимого ключа на пробелы. Однако для систем с отрытым ключом, знать открытый ключ мало, надо еще быть уверенным в его авторстве. Поэтому, открытый ключ всегда должен быть заверен цифровой подписью или распространяться точно так же, как и секретные ключи.