Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
55
Добавлен:
17.04.2013
Размер:
144.9 Кб
Скачать

Функции хэширования

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

Этот метод, если сравнивать его с предыдущими, вполне можно считать самым надеж­ным способом хранения пароля в системе, поскольку не придется волноваться о сохран­ности ключа. Кроме того, процесс преобразования необратим, поэтому невозможно по­лучить изначальный пароль. Вы, наверное, думаете: "Если процесс преобразования фик­сирован, как же получить сам пароль, чтобы сравнить его с паролем пользователя при регистрации в системе?". На самом деле все просто. Каждый раз когда пользователь реги­стрируется в системе и набирает пароль, компьютер принимает этот текстовой пароль, вычисляет его хэш и сравнивает с тем, который уже хранится в системе. Если они совпа­дают, значит пароль правильный, и наоборот — если нет совпадения, то пароль неверный.

Однако у функции хэширования есть определенное ограничение, связанное с принци­пом ее работы. Для проверки пароля пользователя проверяется идентичность двух хеш-кодов. Проблема в том, что если у одного человека пароль 12345разз; и у другого такой же, то закодированное значение будет одинаково. Это дает возможность хакеру ускорить время взлома, одновременно декодируя оба пароля. Чтобы этого избежать, при хэширо­вании используется дополнительный параметр, который называется соль.

Назначение этого параметра состоит в преобразовании пароля случайным способом. При этом у двух пользователей с одинаковыми паролями будут разные варианты кодиро­вания. Соль— это случайное число, которое объединяется с паролем и затем обрабатыва­ется функцией хэширования. Так как число выбирается случайным перебором, пользова­тели получат разные зашифрованные пароли, хоть в оригинальном варианте они и были одинаковы.

Теперь рассмотрим, что происходит, когда пользователь пытается зарегистрироваться на сервере. Сначала он вводит пароль. Проверяя учетную запись, система находит зашиф­рованный пароль и значение соли пользователя. Затем пароль принимается, объединяет­ся со значением соли, и с ним начинает работу функция хэширования. Полученный ре­зультат сравнивается с уже записанным, и в случае совпадения пользователь получает дос­туп (или, если результат не совпадает, в доступе будет отказано).

Атака на пароли

Теперь, зная принципы работы с паролями, рассмотрим конкретные способы и мето­ды взлома паролей. В этом разделе мы сравним разные типы атак, равно как и варианты защиты вроде блокирования ввода. Узнаем также, как улучшить безопасность сети и каким образом хакеры могут использовать блокирование паролей для атаки DoS.

Взлом паролей

Не углубляясь в подробности, взломом можно считать угадывание пароля на основе его зашифрованного значения. Для этого есть несколько способов, например простое угады­вание. Т.е. хакер попытается угадать пароль и затем напечатает его в поле регистрации. Чтобы такое сделать, нужно знать имя пользователя (ID) и получить доступ к запросу па­роля в нужной хакеру сети. ID узнать несложно, так как большинство регистрационных записей — это имя и фамилия служащего компании, которые легко узнать. Кроме того, у многих компаний есть коммутируемый доступ ко внутренней сети, что позволяет с помо­щью сканера телефонных линий определить наличие там модемов.

Для ручного взлома понадобится выполнить ряд действий.

1. Найти регистрационное имя пользователя.

2. Создать список возможных паролей.

3. Подумать, какие пароли наиболее вероятны.

4. Начать их ввод.

5. Если допуск получен — поздравляю!

6. Если же нет, то постарайтесь не допустить блокирования пароля (т.е.превысить число возможных попыток регистрации, что приведет к блокированию дальнейше­го ввода паролей).

С точки зрения сложности это самый простой технически, но самый долгий и утоми­тельный метод подбора паролей. Если хакер пытается проникнуть "на авось", едва ли у не­го что-то выйдет, так как у большинства компаний установлено блокирование доступа к регистрационным записям. Если несколько попыток не увенчаются успехом, учетная за­пись будет закрыта. Как правило, это происходит после 5 попыток в течение двух часов, после чего учетная запись блокируется на три часа. В течение этого времени легитимный пользователь не сможет подключится к системе.

В некоторых компаниях установлено постоянное блокирование. Если 5 попыток за два часа были неудачными, учетная запись пользователя закрывается до тех пор, пока его не включит администратор. С одной стороны, это неплохой метод защиты, так как если кто-то будет пытаться проникнуть в систему, администратор это заметит. С другой стороны, блокирование происходит мгновенно и администратор может о нем не знать долгое вре­мя. Тем не менее таким образом можно определить, что систему пытались взломать, и принять соответствующие меры. Если же дождаться, пока хакер все же угадает пароль, об­наружить его будет крайне тяжело.

Еще одна проблема заключается в том, что постоянное блокирование используют для организации атак DoS. Например, если злоумышленник хочет запереть доступ к системе для всех пользователей, он будет пробовать пароли для каждой учетной записи, всегда де­лая при этом 5 попыток. Может, он случайно угадает пароль и получит доступ; в против­ном случае, все пользователи будут заблокированы. В любом случае хакер остается в выиг­рыше — получает доступ или нарушает работу системы. Я знаю несколько компаний, кото­рые провели атаку DoS против самих себя (смотрите врезку).

К счастью, учетную запись администратора нельзя заблокировать. Даже если все поль­зователи не смогут подключиться, у администратора доступ останется. Поэтому очень важно, чтобы отвечающие за работу сети служащие всегда были на своих местах.

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

Если хакер уже получил файл с паролями, то выследить и обнаружить его невозможно, так как взлом может происходить где угодно. Это метод удобный и быстрый, так как есть специальные программы, которые перебирают возможные варианты, а значит, можно взломать несколько паролей одновременно. Например, берется список слов и для каждого слова подсчитывается хэш-код пароля, который затем проверяется на каждой учетной за­писи. Таким вот образом взламываются очень многие пароли. Если у 10 пользователей одинаковый пароль, то можно получить все 10 паролей одновременно (если при хэширо­вании не используется соль).

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

1. Найти имя пользователя.

2. Найти используемый алгоритм шифрования.

3. Получить зашифрованные пароли.

4. Создать список возможных паролей.

5. Зашифровать каждое слово.

6. Проверить, есть ли совпадение для каждого ID.

7. Повторять шаги 1-6 до получения результата.

Кто-то может сказать, что второй шаг, а именно выяснение алгоритма шифрования, вовсе не простое дело, но суть здесь— в принципе криптографии. Безопасность зашифро­ванного файла основана на его ключе, а не на методе кодирования. Компьютерными вы­числениями эффективно проверить алгоритм "на прочность" едва ли получится, остается лишь отдать его на растерзание группе сообразительных пользователей; если они его не взломают, тогда все в порядке. Кроме того, алгоритмы кодирования почти всех операци­онных систем известны, информация о них общедоступна.

Важность взлома

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

• Проверка сложности пароля.

Соседние файлы в папке Другие сети от другого Малова