Чтение онлайн

ЖАНРЫ

Техника сетевых атак
Шрифт:

Врезка «для начинающих» *

Что такое RFC (Request For Comments)? В силу открытости архитектуры сети Internet и необходимости поддерживать общие соглашения между независимыми разработчиками появился набор стандартов и соглашений, доступный для массового использования.

Любой разработчик имеет право внести свое предложение. Оно будет подвергнуто тщательной экспертной оценке и, если не встретит никаких возражений, будет добавлено в RFC.

За каждым соглашением закреплен определенный номер, так, например, POP3 протокол описывается в RFC-1081, RFC-1082, RFC-1225, RFC-1725, RFC-1939.

Для

удаления сообщений из почтового ящика предусмотрена команда “DELE”, которая принимает в качестве аргумента порядковый номер уничтожаемого сообщения. Один из примеров ее использования продемонстрирован ниже:

· +OK QPOP (version 2.52) at mail.computerra.ru starting.

· LIST

· +OK 4 messages (789046 octets)

· 1 4363

· 2 6078

· 3 4933

· 4 4644

·.

· DELE 1

· +OK message 1 deleted

· LIST

· +OK 3 messages (16655 octets)

· 2 6078

· 3 4933

· 4 4644

·.

Внимание: непосредственно после операции удаления перенумерации сообщений не происходит! Т.е. уничтоженное сообщение просто «выпадает» из списка, а следующие за ним сообщение не занимает этот индекс, и не сдвигается вверх. Сообщения будут перенумерованы только при следующем сеансе работы с сервером.

Сеанс завершает команда “QUIT”. Сервер переходит в состояние обновления транзакции (transaction update) и разрывает соединение. Выглядеть это может следующим образом:

· +OK QPOP (version 2.52) at mail.computerra.ru starting.

· QUIT

· +OK POP3 server at mail.ru signing off

Если до обновления транзакции произойдет обрыв соединения, сервер выполнит откат транзакции, т.е. приведет почтовый ящик в тот вид, каким он был до начала последнего сеанса связи и все удаленные сообщения окажутся восстановленными (вернее, правильнее было бы сказать, не удаленными, поскольку команда “DELE” физически не уничтожает письма, а лишь помечает их для удаления, которое происходит в процессе обновления транзакции; если же связь оборвется, и обновление транзакции не будет выполнено, - все сообщения так и остаются не удаленными).

Ниже будут рассмотрены некоторые дополнительные возможности протокола POP3. Для проведения описанных экспериментов потребуется подключиться к серверу, поддерживающему такие расширения. Одним из подходящих серверов является бесплатная служба электронной почты mail.ru.

Подключение к серверу mail.ru

После успешного установления TCP-соединения, сервер mail.ru возвращает приглашение, содержащее уникальный идентификатор (на рисунке 004 он обведен вокруг пером):

Приглашение

сервера mail.ru

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

Один из таких алгоритмов, именуемый «запрос-отклик», работает следующим образом: сервер посылает клиенту случайную последовательность условно именуемую меткой. Клиент зашифровывает ее, используя в качестве ключа свой пароль, и полученный результат отправляет серверу. При этом алгоритм шифрования специальным образом подобран так, чтобы, зная зашифрованный пароль и метку, было бы невозможно найти ключ шифрования иначе, чем прямым перебором. Затем сервер самостоятельно шифрует метку хранящимся у него паролем пользователя и сравнивает полученные результаты. Если они идентичны, следовательно, пользователь ввел правильный пароль и наоборот. Подробнее о схеме «запрос-отклик» рассказывается в главе «Атака на Windows NT» и здесь, во избежание повторения, никакие математические выкладки приводиться не будут.

Уникальная последовательность, передаваемая клиенту при каждом соединении с сервером, называется временной меткой. Стандарт не оговаривает формат представления метки, но обычно она имеет следующий вид: processID.clock@hostname, где processID - идентификатор процесса, clock - состояние таймера сервера на момент установления соединения, а hostname - имя узла. Один из примеров временной метки показан ниже (в тексте он выделен жирным шрифтом):

· +OK mPOP POP3 server ready 93089.95277996@mail.ru

Пользователь шифрует временную метку своим паролем по алгоритму MD 5, и полученный результат (который именуется зашифрованным паролем, или, технически более грамотно, “digest”) передает на сервер.

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

· +OK mPOP POP3 server ready «29238.953050801@aport.ru»

· +OK mPOP POP3 server ready «29554.953050821@aport.ru»

· +OK mPOP POP3 server ready «29857.953050839@aport.ru»

· +OK mPOP POP3 server ready «29998.953050848@aport.ru»

· +OK mPOP POP3 server ready «30168.953050858@aport.ru»

· +OK mPOP POP3 server ready «30583.953050881@aport.ru»

· +OK mPOP POP3 server ready «30926.953050900@aport.ru»

· +OK mPOP POP3 server ready «31110.953050913@aport.ru»

· +OK mPOP POP3 server ready «31225.953050927@aport.ru»

· +OK mPOP POP3 server ready «31338.953050940@aport.ru»

· +OK mPOP POP3 server ready «31401.953050949@aport.ru»

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

Пример использования команды APOP приведен ниже:

· +OK mPOP POP3 server ready 31225.353351917@aport.ru

Поделиться с друзьями: