031 Системный Администратор 06 2005

Page 73

безопасность

Ч

тобы определить версии операционной системы или прикладных сервисов, последователи Кевина Митника предпочли бы позвонить системному администратору и выяснить все подробности по телефону. Остальные же будут проводить исследование особенностей реализации стека TCP/IP и других протоколов в удаленной операционной системе. Кроме того, fingerprinting используется при сборе какой- либо статистической информации. В системах обнаружения атак он позволяет определить ОС атакующего или даже однозначно выделить его из общей массы (так же, как отпечатки пальцев позволяют идентифицировать преступника).

дого производителя. К ним можно отнести протоколы стека TCP/IP, SNMP, HTTP, Telnet, FTP. Таким образом, достаточно подобрать хороший набор тестов, в которых различные системы ведут себя по-разному.

Fingerprinting стека протоколов TCP/IP-серверов

Посмотрим, что выдает версию операционной системы и публичных сервисов, и узнаем, от чего нам защищаться. В fingerprinting используются следующие методы: ! Сбор баннеров и ручной анализ системы. ! Активное исследование реализации протоколов. ! Пассивное исследование реализации протоколов. ! Исследование некоторых технических характеристик системы.

Сетевой стек в разных операционных системах различается по нескольким параметрам, и для каждого из них есть технология получения отличий. Часть возможных исследований, в результатах которых есть различия, приведена в таблице 1. Этого вполне достаточно, чтобы легко распознать эти системы. Кроме этого можно проводить исследования: ! значения поля ACK в TCP-заголовке в ответах на нестандартные запросы; ! закона изменения ISN сервера; ! флага DontFragment в IP-заголовке; ! ICMP-заголовка эхо-ответа; ! время отсылки повторных пакетов в реализации TCP; ! модели протокола TCP (TCP-reno, TCP-Vegas, TCP-Tahoe, TCP-newreno, TCP-SACK), которые по-разному реагируют на ухудшение пропускной способности канала, появление частых ошибок и пропадание связи.

Сбор баннеров

Fingerprinting публичных сервисов

Это один из классических методов fingerprinting. Он заключается в опросе открытых в системе сервисов и анализа возвращаемых ими стандартных приглашений (баннеров). Помимо этого сервисы иногда предоставляют дополнительную возможность для определения версии ОС. Так, например, ftp-сервис может позволить выполнение команды SYST, которая выдает версию операционной системы. Заголовок веб-сервера можно получить командой:

Большинство публичных сервисов или служб используют достаточно сложные протоколы, которые подвержены снятию отпечатков (SMTP, IMAP, Telnet, FTP, HTTP, LPD, IKE, SNMP). От прав ка большого количества нестандартных или неправильных команд позволяет определить как версию публичного сервиса на сервере, так и операционную систему. Подробности об активном fingerprinting вы можете найти в [1, 2].

От чего защищаться?

# echo 'GET / HTTP/1.0\n' | nc securitylab.ru 80 | ↵ grep '^Server:' Server: Apache/2.0.52 (Unix)

Активное исследование реализаций протоколов Это контрольный набор тестов, проводимых над удаленной системой. Нас будут интересовать в первую очередь те протоколы, реализация которых имеет свои особенности у каж-

Пассивное исследование реализаций протоколов Это анализ проходящего через систему сетевого трафика с выделением некоторых ключевых параметров. Этот метод, как и предыдущий, основывается на особенностях реализации протоколов в различных системах. Только вот зачастую приходится довольствоваться меньшей точностью. Идея пассивного fingerprinting заключается в анализе информации, доступной без непосредственного воздействия на исследуемую систему. Чаще всего он применяет-

Таблица 1. Результаты исследования стека TCP/IP Windows, Linux и FreeBSD

№6, июнь 2005

71


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.