Сетевые сканеры и защита от них
Структура стека TCP/IP, краткая характеристика протоколов. Механизм работы сетевого сканера. "Активные зондирующие проверки". Основные этапы сканирования. Возможности сканирования на сетевом уровне. Сетевой взгляд на риски безопасности организации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 09.06.2018 |
Размер файла | 53,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Сетевые сканеры и защита от них
Автор: Мурадян Тигран
Содержание
Введение
1. Структура стека TCP/IP. Краткая характеристика протоколов
2. Классификация
3. Механизм работы сетевого сканера
4. Анализ уязвимостей
5. Защита портов от сетевых сканеров
Заключение
Введение
а) Понятие уязвимости
Уязвимостью (vulnerability) называется любая характеристика информационной системы, использование которой нарушителем может привести к реализации угрозы. При этом неважно, целенаправленно используется уязвимость или это происходит намеренно. В качестве нарушителя может выступать любой субъект корпоративной сети, который попытался осуществить попытку несанкционированного доступа к ресурсам сети по ошибке, незнанию или со злым умыслом.
Проблема уязвимостей и их обнаружения исследуется очень давно, и за время ее существования предпринимались различные попытки классифицировать уязвимости по различным критериям. Например, американские проекты Protection Analysis Project и RISOS, исследования лаборатории COAST или компании Internet Security Systems и т.д. Каждая организация приводила и обосновывала свою классификацию. Однако ни одна классификация не может быть категоричной. Существует неразбериха и в самих названиях атак и уязвимостей.
Для устранения описанной неразберихи с именованием уязвимостей и атак в 1999 году компания MITRE Corporation предложила решение, независимое от различных производителя средств поиска уязвимостей. Это решение было реализовано в виде базы данных CVE (Common Vulnerability Enumeration), которая затем была переименована в Common Vulnerabilities and Exposures. Это позволило всем специалистам и производителям разговаривать на одном языке.
В разработке базы данных CVE помимо экспертов MITRE принимали участие специалисты многих известных компаний и организаций. Например, ISS, Cisco, BindView, Axent, NFR, L-3, CyberSafe, CERT, Carnegie Mellon University, институт SANS, UC Davis Computer Security Lab, CERIAS и т.д. О своей поддержке базы CVE заявили компании Internet Security Systems, Cisco, Axent, BindView, IBM и другие. Однако, несмотря на столь привлекательную инициативу, база данных CVE пока не получила широкого распространения среди производителей коммерческих продуктов.
Существует классификация, отражающая этапы жизненного цикла любой информационной системы (ИС).
протокол сетевой сканирование безопасность
Категории уязвимостей
Этапы жизненного цикла ИС |
Категории уязвимостей ИС |
|
Проектирование ИС |
Уязвимости проектирования |
|
Реализация ИС |
Уязвимости реализации |
|
Эксплуатация ИС |
Уязвимости конфигурации |
Наиболее опасны уязвимости проектирования, которые обнаруживаются и устраняются с большим трудом. В этом случае, уязвимость свойственна проекту или алгоритму и, следовательно, даже совершенная его реализация (что в принципе невозможно) не избавит от заложенной в нем уязвимости. Например, уязвимость стека протоколов TCP/IP. Недооценка требований по безопасности при создании этого стека протоколов привела к тому, что не проходит месяца, чтобы не было объявлено о новой уязвимости в протоколах стека TCP/IP. Например, 7 и 8 февраля 2000 года было зафиксировано нарушение функционирования таких популярных и ведущих Internet-серверов, как Yahoo (http://www.yahoo.com), eBay (http://www.ebay.com), Amazon (http://www.amazon.com), Buy (http://www.buy.com) и CNN (http://www.cnn.com.Проведенное ФБР расследование показало, что указанные сервера вышли из строя из-за огромного числа направленных им запросов, что и привело к тому, что эти сервера не могли обработать трафик такого объема и вышли из строя. Например, организованный на сервер Buy трафик превысил средние показатели в 24 раза, и в 8 раз превысил максимально допустимую нагрузку на сервера, поддерживающие работоспособность Buy. Раз и навсегда устранить эти недостатки уже невозможно - существуют только временные или неполные меры. Однако бывают и исключения. Например, внесение в проект корпоративной сети множества модемов, облегчающих работу персонала, но существенно усложняющих работу службы безопасности. Это приводит к появлению потенциальных путей обхода межсетевого экрана, обеспечивающего защиту внутренних ресурсов от несанкционированного использования. И обнаружить, и устранить эту уязвимость достаточно легко.
Смысл уязвимостей второй категории (уязвимости реализации) заключается в появлении ошибки на этапе реализации в программном или аппаратном обеспечении корректного с точки зрения безопасности проекта или алгоритма. Яркий пример такой уязвимости - "переполнение буфера" ("buffer overflow") во многих реализациях программ, например или Internet Explorer. Обнаруживаются и устраняются такого рода уязвимости относительно легко - путем обновления исполняемого кода или изменения исходного текста уязвимого ПО.
Последняя причина возникновения уязвимостей - ошибки конфигурации программного или аппаратного обеспечения. Наряду с уязвимостями реализации они являются самой распространенной категорией уязвимостей. Существует множество примеров таких уязвимостей. К их числу можно отнести, например, доступный, но не используемый на узле сервис Telnet, использование "слабых" паролей или паролей менее 6 символов, учетные записи (accounts) и пароли, установленные по умолчанию и т.д. Обнаружить и исправить такие уязвимости проще всего.
б) Протоколы и их виды
Transmission Control Protocol/Internet Protocol (TCP/IP) - это промышленный стандарт стека протоколов, разработанный для глобальных сетей.
Стандарты TCP/IP опубликованы в серии документов, названных Request for Comment (RFC). Документы RFC описывают внутреннюю работу сети Internet. Некоторые RFC описывают сетевые сервисы или протоколы и их реализацию, в то время как другие обобщают условия применения. Стандарты TCP/IP всегда публикуются в виде документов RFC, но не все RFC определяют стандарты.
Стек был разработан по инициативе Министерства обороны США (Department of Defence, DoD) более 20 лет назад для связи экспериментальной сети ARPAnet с другими сателлитными сетями как набор общих протоколов для разнородной вычислительной среды. Сеть ARPA поддерживала разработчиков и исследователей в военных областях. В сети ARPA связь между двумя компьютерами осуществлялась с использованием протокола Internet Protocol (IP), который и по сей день является одним из основных в стеке TCP/IP и фигурирует в названии стека.
Итак, лидирующая роль стека TCP/IP объясняется следующими его свойствами:
· Это наиболее завершенный стандартный и в то же время популярный стек сетевых протоколов, имеющий многолетнюю историю.
· Почти все большие сети передают основную часть своего трафика с помощью протокола TCP/IP.
· Это метод получения доступа к сети Internet.
· Этот стек служит основой для создания intranet- корпоративной сети, использующей транспортные услуги Internet и гипертекстовую технологию WWW, разработанную в Internet.
· Все современные операционные системы поддерживают стек TCP/IP.
· Это гибкая технология для соединения разнородных систем как на уровне транспортных подсистем, так и на уровне прикладных сервисов.
· Это устойчивая масштабируемая межплатформенная среда для приложений клиент-сервер.
1. Структура стека TCP/IP. Краткая характеристика протоколов
Так как стек TCP/IP был разработан до появления модели взаимодействия открытых систем ISO/OSI, то, хотя он также имеет многоуровневую структуру, соответствие уровней стека TCP/IP уровням модели OSI достаточно условно. Структура протоколов TCP/IP приведена на рисунке 2.1..
Рис. 2.1. Стек TCP/IP
Протоколы TCP/IP делятся на 4 уровня:
Самый нижний (уровень IV) соответствует физическому и канальному уровням модели OSI. Этот уровень в протоколах TCP/IP не регламентируется, но поддерживает все популярные стандарты физического и канального уровня: для локальных сетей это Ethernet, Token Ring, FDDI, Fast Ethernet, 100VG-AnyLAN, для глобальных сетей - протоколы соединений "точка-точка" SLIP и PPP, протоколы территориальных сетей с коммутацией пакетов X.25, frame relay. Разработана также специальная спецификация, определяющая использование технологии ATM в качестве транспорта канального уровня. Обычно при появлении новой технологии локальных или глобальных сетей она быстро включается в стек TCP/IP за счет разработки соответствующего RFC, определяющего метод инкапсуляции пакетов IP в ее кадры.
Следующий уровень (уровень III) - это уровень межсетевого взаимодействия, который занимается передачей пакетов с использованием различных транспортных технологий локальных сетей, территориальных сетей, линий специальной связи и т. п.
В качестве основного протокола сетевого уровня (в терминах модели OSI) в стеке используется протокол IP, который изначально проектировался как протокол передачи пакетов в составных сетях, состоящих из большого количества локальных сетей, объединенных как локальными, так и глобальными связями. Поэтому протокол IP хорошо работает в сетях со сложной топологией, рационально используя наличие в них подсистем и экономно расходуя пропускную способность низкоскоростных линий связи. Протокол IP является дейтаграммным протоколом, то есть он не гарантирует доставку пакетов до узла назначения, но старается это сделать.
К уровню межсетевого взаимодействия относятся и все протоколы, связанные с составлением и модификацией таблиц маршрутизации, такие как протоколы сбора маршрутной информации RIP (Routing Internet Protocol) и OSPF (Open Shortest Path First), а также протокол межсетевых управляющих сообщений ICMP (Internet Control Message Protocol). Последний протокол предназначен для обмена информацией об ошибках между маршрутизаторами сети и узлом - источником пакета. С помощью специальных пакетов ICMP сообщается о невозможности доставки пакета, о превышении времени жизни или продолжительности сборки пакета из фрагментов, об аномальных величинах параметров, об изменении маршрута пересылки и типа обслуживания, о состоянии системы и т.п.
Следующий уровень (уровень II) называется основным. На этом уровне функционируют протокол управления передачей TCP (Transmission Control Protocol) и протокол дейтаграмм пользователя UDP (User Datagram Protocol). Протокол TCP обеспечивает надежную передачу сообщений между удаленными прикладными процессами за счет образования виртуальных соединений. Протокол UDP обеспечивает передачу прикладных пакетов дейтаграммным способом, как и IP, и выполняет только функции связующего звена между сетевым протоколом и многочисленными прикладными процессами.
Верхний уровень (уровень I) называется прикладным. За долгие годы использования в сетях различных стран и организаций стек TCP/IP накопил большое количество протоколов и сервисов прикладного уровня. К ним относятся такие широко используемые протоколы, как протокол копирования файлов FTP, протокол эмуляции терминала telnet, почтовый протокол SMTP, используемый в электронной почте сети Internet, гипертекстовые сервисы доступа к удаленной информации, такие как WWW и многие другие. Остановимся несколько подробнее на некоторых из них.
Протокол пересылки файлов FTP (File Transfer Protocol) реализует удаленный доступ к файлу. Для того, чтобы обеспечить надежную передачу, FTP использует в качестве транспорта протокол с установлением соединений - TCP. Кроме пересылки файлов протокол FTP предлагает и другие услуги. Так, пользователю предоставляется возможность интерактивной работы с удаленной машиной, например, он может распечатать содержимое ее каталогов. Наконец, FTP выполняет аутентификацию пользователей. Прежде, чем получить доступ к файлу, в соответствии с протоколом пользователи должны сообщить свое имя и пароль. Для доступа к публичным каталогам FTP-архивов Internet парольная аутентификация не требуется, и ее обходят за счет использования для такого доступа предопределенного имени пользователя Anonymous.
В стеке TCP/IP протокол FTP предлагает наиболее широкий набор услуг для работы с файлами, однако он является и самым сложным для программирования. Приложения, которым не требуются все возможности FTP, могут использовать другой, более экономичный протокол - простейший протокол пересылки файлов TFTP (Trivial File Transfer Protocol). Этот протокол реализует только передачу файлов, причем в качестве транспорта используется более простой, чем TCP, протокол без установления соединения - UDP.
Протокол telnet обеспечивает передачу потока байтов между процессами, а также между процессом и терминалом. Наиболее часто этот протокол используется для эмуляции терминала удаленного компьютера. При использовании сервиса telnet пользователь фактически управляет удаленным компьютером так же, как и локальный пользователь, поэтому такой вид доступа требует хорошей защиты. Поэтому серверы telnet всегда используют как минимум аутентификацию по паролю, а иногда и более мощные средства защиты, например, систему Kerberos.
Протокол SNMP (Simple Network Management Protocol) используется для организации сетевого управления. Изначально протокол SNMP был разработан для удаленного контроля и управления маршрутизаторами Internet, которые традиционно часто называют также шлюзами. С ростом популярности протокол SNMP стали применять и для управления любым коммуникационным оборудованием - концентраторами, мостами, сетевыми адаптерами и т.д. и т.п. Проблема управления в протоколе SNMP разделяется на две задачи.
Первая задача связана с передачей информации. Протоколы передачи управляющей информации определяют процедуру взаимодействия SNMP-агента, работающего в управляемом оборудовании, и SNMP-монитора, работающего на компьютере администратора, который часто называют также консолью управления. Протоколы передачи определяют форматы сообщений, которыми обмениваются агенты и монитор.
Вторая задача связана с контролируемыми переменными, характеризующими состояние управляемого устройства. Стандарты регламентируют, какие данные должны сохраняться и накапливаться в устройствах, имена этих данных и синтаксис этих имен. В стандарте SNMP определена спецификация информационной базы данных управления сетью. Эта спецификация, известная как база данных MIB (Management Information Base), определяет те элементы данных, которые управляемое устройство должно сохранять, и допустимые операции над ними.
2. Классификация
Сканирование портов - это процесс пробного подключения к портам TCP и UDP исследуемого компьютера с целью определения, какие службы на нем запущены и обслуживаются ли ими соответствующие порты. Средства, которыми можно осуществить данный процесс называются сетевыми сканерами.
Сетевые сканеры можно разделить на 3 большие группы:
· CGI сканеры
· Сканеры портов
· Сканеры безопасности
CGI сканеры
Сканируют WEB сервер на наличие уязвимых скриптов, директорий или ошибок WEB серверов .Сканирование заключается в посылке GET запроса к серверу и проверке его ответа. Особо продвинутые сканеры могут работать со списком серверов или диапазоном IP адресов. Базы уязвимостей обычно берутся из текстовых файлов и их можно легко найти в сети. Список уязвимостей обычно берется из текстового файла.
Сканеры портов
Это более обширная категория сканеров объединенных одной целью - найти открытые TCP и UDP порты. Их можно разделить на 2 подвида. Первые сканируют список серверов или IP диапазон на открытость одного порта, а другие один хост на список известных портов или на все возможные. Существуют сканеры объединяющие в себе оби эти возможности. В отдельную категорию можно выделить NetBIOS сканеры которые ищут открытые (share) ресурсы в сетях Microsoft т.к. они не только сканируют порты NetBIOS но и осуществляют другие операции (выяснение имен найденных машин, поиск открытых ресурсов,подбор паролей).
Сканеры безопасности
Это программы для удаленной или локальной диагностики различных элементов сети на предмет выявления в них различных уязвимостей. По мимо обычного сканирования они различными средствами определяют версии ПО и проверяют по своей базе наличие известных уязвимостей и в случае их нахождения дают краткое описание и руководство к их устранению. Также выдается информация о степени опасности данной уязвимости.
3. Механизм работы сетевого сканера
Сеть состоит из каналов связи, узлов, серверов, рабочих станций, прикладного и системного программного обеспечения, баз данных и т.д. Все эти компоненты нуждаются в оценке эффективности их защиты. Средства анализа защищенности исследуют сеть и ищут "слабые" места в ней, анализируют полученные результаты и на их основе создают различного рода отчеты. В некоторых системах вместо "ручного" вмешательства со стороны администратора найденная уязвимость будет устраняться автоматически. Перечислим некоторые из проблем, идентифицируемых системами анализа защищенности:
· "люки" в программах (back door) и программы типа "троянский конь";
· слабые пароли;
· восприимчивость к проникновению из незащищенных систем;
· неправильная настройка межсетевых экранов, Web-серверов и баз данных;
· и т.д.
Технология анализа защищенности является действенным методом реализации политики сетевой безопасности прежде, чем осуществится попытка ее нарушения снаружи или изнутри организации.
Механизмы работы
Существует два основных механизма, при помощи которых сканер проверяет наличие уязвимости - сканирование (scan) и зондирование (probe).
Сканирование - механизм пассивного анализа, с помощью которого сканер пытается определить наличие уязвимости без фактического подтверждения ее наличия - по косвенным признакам. Этот метод является наиболее быстрым и простым для реализации. В терминах компании ISS данный метод получил название "логический вывод" (inference). Согласно компании Cisco этот процесс идентифицирует открытые порты, найденные на каждом сетевом устройстве, и собирает связанные с портами заголовки (banner), найденные при сканировании каждого порта. Каждый полученный заголовок сравнивается с таблицей правил определения сетевых устройств, операционных систем и потенциальных уязвимостей. На основе проведенного сравнения делается вывод о наличии или отсутствии уязвимости.
Зондирование - механизм активного анализа, который позволяет убедиться, присутствует или нет на анализируемом узле уязвимость.Зондирование выполняется путем имитации атаки, использующей проверяемую уязвимость. Этот метод более медленный, чем "сканирование", но почти всегда гораздо более точный, чем он. В терминах компании ISS данный метод получил название "подтверждение" (verification). Согласно компании Cisco этот процесс использует информацию, полученную в процессе сканирования ("логического вывода"), для детального анализа каждого сетевого устройства. Этот процесс также использует известные методы реализации атак для того, чтобы полностью подтвердить предполагаемые уязвимости и обнаружить другие уязвимости, которые не могут быть обнаружены пассивными методами, например подверженность атакам типа "отказ в обслуживании" ("denial of service").
На практике указанные механизмы реализуются следующими несколькими методами.
"Проверка заголовков" (banner check)
Указанный механизм представляет собой ряд проверок типа "сканирование" и позволяет делать вывод об уязвимости, опираясь на информацию в заголовке ответа на запрос сканера. Типичный пример такой проверки - анализ заголовков программы Sendmail или FTP-сервера, позволяющий узнать их версию и на основе этой информации сделать вывод о наличии в них уязвимости.
Наиболее быстрый и простой для реализации метод проверки присутствия на сканируемом узле уязвимости. Однако за этой простотой скрывается немало проблем.
Эффективность проверок заголовков достаточно эфемерна. И вот почему. Во-первых, вы можете изменить текст заголовка, предусмотрительно удалив из него номер версии или иную информацию, на основании которой сканер строит свои заключения. И хотя такие случаи исключительно редки, пренебрегать ими не стоит. Особенно в том случае, если у вас работают специалисты в области безопасности, понимающие всю опасность заголовков "по умолчанию". Во-вторых, зачастую, версия, указываемая в заголовке ответа на запрос, не всегда говорит об уязвимости программного обеспечения. Особенно это касается программного обеспечения, распространяемого вместе с исходными текстами (например, в рамках проекта GNU). Вы можете самостоятельно устранить уязвимость путем модификации исходного текста, при этом забыв изменить номер версии в заголовке. И в-третьих, устранение уязвимости в одной версии еще не означает, что в следующих версиях эта уязвимость отсутствует.
Процесс, описанный выше, является первым и очень важным шагом при сканировании сети. Он не приводит к нарушению функционирования сервисов или узлов сети. Однако не стоит забывать, что администратор может изменить текст заголовков, возвращаемых на внешние запросы.
"Активные зондирующие проверки" (active probing check)
Также относятся к механизму "сканирования". Однако они основаны не на проверках версий программного обеспечения в заголовках, а на сравнении "цифрового слепка" (fingerprint) фрагмента программного обеспечения со слепком известной уязвимости. Аналогичным образом поступают антивирусные системы, сравнивая фрагменты сканируемого программного обеспечения с сигнатурами вирусов, хранящимися в специализированной базе данных. Разновидностью этого метода являются проверки контрольных сумм или даты сканируемого программного обеспечения, которые реализуются в сканерах, работающих на уровне операционной системы.
Специализированная база данных (в терминах компании Cisco - база данных по сетевой безопасности) содержит информацию об уязвимостях и способах их использовании (атаках). Эти данные дополняются сведениями о мерах их устранения, позволяющих снизить риск безопасности в случае их обнаружения. Зачастую эта база данных используется и системой анализа защищенности и системой обнаружения атак. По крайней мере, так поступают компании Cisco и ISS.
Этот метод также достаточно быстр, но реализуется труднее, чем "проверка заголовков".
"Имитация атак" (exploit check)
Данные проверки относятся к механизму "зондирования" и основаны на эксплуатации различных дефектов в программном обеспечении.
Некоторые уязвимости не обнаруживают себя, пока вы не "подтолкнете" их. Для этого против подозрительного сервиса или узла запускаются реальные атаки. Проверки заголовков осуществляют первичный осмотр сети, а метод "exploit check", отвергая информацию в заголовках, позволяет имитировать реальные атаки, тем самым с большей эффективностью (но меньшей скоростью) обнаруживая уязвимости на сканируемых узлах. Имитация атак является более надежным способом анализа защищенности, чем проверки заголовков, и обычно более надежны, чем активные зондирующие проверки.
Однако существуют случаи, когда имитация атак не всегда может быть реализована. Такие случаи можно разделить на две категории: ситуации, в которых тест приводит к "отказу в обслуживании" анализируемого узла или сети, и ситуации, при которых уязвимость в принципе не годна для реализации атаки на сеть.
Как мы все знаем, многие проблемы защиты не могут быть выявлены без блокирования или нарушения функционирования сервиса или компьютера в процессе сканирования. В некоторых случаях нежелательно использовать имитацию атак (например, для анализа защищенности важных серверов), т.к. это может привести к большим затратам (материальным и временным) на восстановление работоспособности выведенных из строя элементов корпоративной сети. В этих случаях желательно применить другие проверки, например, активное зондирование или, в крайнем случае, проверки заголовков.
Однако, есть некоторые уязвимости (например, проверка подверженности атакам типа "Packet Storm"), которые просто не могут быть протестированы без возможного выведения из строя сервиса или компьютера. В этом случае разработчики поступают следующим образом, - по умолчанию такие проверки выключены и пользователь может сам включить их, если желает. Таким образом, например, реализованы системы CyberCop Scanner и Internet Scanner. В последней системе такого рода проверки выделены в отдельную категорию "Denial of service" ("Отказ в обслуживании"). При включении любой из проверок этой группы система Internet Scanner выдает сообщение "WARNING: These checks may crash or reboot scanned hosts" ("Внимание: эти проверки могут вывести из строя иди перезагрузить сканируемые узлы").
Этапы сканирования
Практически любой сканер проводит анализ защищенности в несколько этапов:
1. Сбор информации о сети. На данном этапе идентифицируются все активные устройства в сети и определяются запущенные на них сервисы и демоны. В случае использования систем анализа защищенности на уровне операционной системы данный этап пропускается, поскольку на каждом анализируемом узле установлены соответствующие агенты системного сканера.
2. Обнаружение потенциальных уязвимостей. Сканер использует описанную выше базу данных для сравнения собранных данных с известными уязвимостями при помощи проверки заголовков или активных зондирующих проверок. В некоторых системах все уязвимости ранжируются по степени риска. Например, в системе NetSonar уязвимости делятся на два класса: сетевые и локальные уязвимости. Сетевые уязвимости (например, воздействующие на маршрутизаторы) считаются более серьезными по сравнению с уязвимостями, характерными только для рабочих станций. Аналогичным образом "поступает" и Internet Scanner. Все уязвимости в нем делятся на три степени риска: высокая (High), средняя (Medium) и низкая (Low).
3. Подтверждение выбранных уязвимостей. Сканер использует специальные методы и моделирует (имитирует) определенные атаки для подтверждения факта наличия уязвимостей на выбранных узлах сети.
4. Генерация отчетов. На основе собранной информации система анализа защищенности создает отчеты, описывающие обнаруженные уязвимости. В некоторых системах (например, Internet Scanner и NetSonar) отчеты создаются для различных категорий пользователей, начиная от администраторов сети и заканчивая руководством компании. Если первых в первую очередь интересуют технические детали, то для руководства компании необходимо представить красиво оформленные с применением графиков и диаграмм отчеты с минимумом подробностей. Немаловажным аспектом является наличие рекомендаций по устранению обнаруженных проблем. И здесь по праву лидером является система Internet Scanner, которая для каждой уязвимости содержит пошаговые инструкции для устранения уязвимостей, специфичные для каждой операционной системы. Во многих случаях отчеты также содержат ссылки на FTP- или Web-сервера, содержащие patch'и и hotfix'ы, устраняющие обнаруженные уязвимости.
5. Автоматическое устранение уязвимостей. Этот этап очень редко реализуется в сетевых сканерах, но широко применяется в системных сканерах (например, System Scanner). При этом данная возможность может реализовываться по-разному. Например, в System Scanner создается специальный сценарий (fix script), который администратор может запустить для устранения уязвимости. Одновременно с созданием этого сценария, создается и второй сценарий, отменяющий произведенные изменения. Это необходимо в том случае, если после устранения проблемы, нормальное функционирование узла было нарушено. В других системах возможности "отката" не существует.
В любом случае у администратора, осуществляющего поиск уязвимостей, есть несколько вариантов использования системы анализа защищенности:
Запуск сканирования только с проверками на потенциальные уязвимости (этапы 1,2 и 4). Это дает предварительное ознакомление с системами в сети. Этот метод является гораздо менее разрушительным по сравнению с другими и также является самым быстрым.
· Запуск сканирования с проверками на потенциальные и подтвержденные уязвимости. Этот метод может вызвать нарушение работы узлов сети во время реализации проверок типа "exploit check".
· Запуск сканирования с вашими пользовательскими правилами для нахождения конкретной проблемы.
· Все из вышеназванного.
Особенности применения
Если сканер не находит уязвимостей на тестируемом узле, то это еще не значит, что их нет. Просто сканер не нашел их. И зависит это не только от самого сканера, но и от его окружения. Например, если Вы тестируете сервис Telnet или FTP на удаленной машине, и сканер сообщает Вам, что уязвимостей не обнаружено - это может значить не только, что уязвимостей нет, а еще и то, что на сканируемом компьютере установлен, например, TCP Wrapper. Да мало ли еще чего? Вы можете пытаться получить доступ к компьютеру через межсетевой экран или попытки доступа блокируются соответствующими фильтрами у провайдера и т.д. Для ОС Windows NT характерен другой случай. Сканер пытается дистанционно проанализировать системный реестр (registry). Однако в случае запрета на анализируемом узле удаленного доступа к реестру, сканер никаких уязвимостей не обнаружит. Существуют и более сложные случаи. И вообще различные реализации одного итого же сервиса по-разному реагируют на системы анализа защищенности. Очень часто на практике можно увидеть, что сканер показывает уязвимости, которых на анализируемом узле нет. Это относится к сетевым сканерам, которые проводят дистанционный анализ узлов сети. И удаленно определить, существует ли в действительности уязвимость или нет, практически невозможно. В этом случае можно порекомендовать использовать систему анализа защищенности на уровне операционной системы, агенты которой устанавливаются на каждый контролируемый узел и проводят все проверки локально.
Для решения этой проблемы некоторые компании-производители пошли по пути предоставления своим пользователям нескольких систем анализа защищенности, работающих на всех указанных выше уровнях, - сетевом, системном и уровне приложений. Совокупность этих систем позволяет с высокой степенью эффективности обнаружить практически все известные уязвимости. Например, компания Internet Security Systems предлагает семейство SAFEsuite, состоящее из четырех сканеров: Internet Scanner, System Scanner, Security Manager и Database Scanner. В настоящий момент это единственная компания, которая предлагает системы анализа защищенности, функционирующие на всех трех уровнях информационной инфраструктуры. Другие компании предлагают или два (Axent) или, как правило, один (Network Associates, NetSonar и др.) сканер.
Компания Cisco, предлагающая только систему анализа защищенности на уровне сети пошла другим путем для устранения проблемы ложного срабатывания. Она делит все уязвимости на два класса:
· Потенциальные - вытекающие из проверок заголовков и т.н. активных "подталкиваний" (nudge) анализируемого сервиса или узла. Потенциальная уязвимость возможно существует в системе, но активные зондирующие проверки не подтверждают этого.
· Подтвержденные - выявленные и существующие на анализируемом хосте.
Проверки на потенциальную уязвимость проводятся через коллекцию заголовков и использование "несильных подталкиваний". "Подталкивание" используется для сервисов, не возвращающих заголовки, но реагирующих на простые команды, например, посылка команды HEAD для получения версии HTTP-сервера. Как только эта информация получена, система NetSonar использует специальный механизм (rules engine), который реализует ряд правил, определяющих, существует ли потенциальная уязвимость.
Таким образом, администратор знает, какие из обнаруженных уязвимостей действительно присутствуют в системе, а какие требуют подтверждения.
Однако в данном случае остаются уязвимости, с трудом обнаруживаемые или совсем не обнаруживаемые через сеть. Например, проверка "слабости" паролей, используемых пользователями и другими учетными записями. В случае использования сетевого сканера вам потребуется затратить очень много времени на удаленную проверку каждой учетной записи. В то же время, аналогичная проверка, осуществляемая на локальном узле, проводится на несколько порядков быстрее. Другим примером может служить проверка файловой системы сканируемого узла. Во многих случаях ее нельзя осуществить дистанционно.
Достоинства сканирования на уровне ОС кроются в прямом доступе к низкоуровневым возможностям ОС хоста, конкретным сервисам и деталям конфигурации. Тогда как сканер сетевого уровня имитирует ситуацию, которую мог бы иметь внешний злоумышленник, сканер системного уровня может рассматривать систему со стороны пользователя, уже имеющего доступ к анализируемой системе и имеющего в ней учетную запись. Это является наиболее важным отличием, поскольку сетевой сканер по определению не может предоставить эффективного анализа возможных рисков деятельности пользователя.
Многие сканеры используют более чем один метод проверки одной и той же уязвимости или класса уязвимостей. Однако в случае большого числа проверок использование нескольких методов поиска одной уязвимости привносит свои проблемы. Связано это со скоростью проведения сканирования.
Например, различие между системами CyberCop Scanner и Internet Scanner в том, что разработчики из NAI никогда не добавят в свой продукт проверку, если не могут с уверенностью сказать, что проверка надежно обнаруживает уязвимость. В то время как разработчики ISS пополняют свою базу даже в том случае, если их проверка обнаруживает уязвимость с некоторой точностью. Затем, уже после выпуска системы, происходит возврат к разработанным проверкам, их улучшение, добавление новых механизмов осуществления проверок той же уязвимости для повышения достоверности, и т.д. Достаточно спорный вопрос, что лучше. С одной стороны лучше, когда вы с уверенностью можете сказать, что на анализируемом узле определенной уязвимости нет. С другой, даже если существует хоть небольшой шанс, что вы можете обнаружить уязвимость, то надо этим шансом воспользоваться. В любом случае наиболее предпочтительным является проверка типа "имитация атак", которая обеспечивает наибольший процент точного обнаружения уязвимостей.
Не все проверки, разработанные в лабораторных условиях, функционируют так, как должны. Даже, несмотря на то, что эти проверки тестируются, прежде чем будут внесены в окончательную версию сканера. На это могут влиять некоторые факторы:
· Особенности конфигурации пользовательской системы.
· Способ, которым был скомпилирован анализируемый демон или сервис.
· Ошибки удаленной системы.
· И т.д.
В таких случаях автоматическая проверка может пропустить уязвимость, которая легко обнаруживается вручную и которая может быть широко распространена во многих системах. Проверка заголовка в совокупности с активным зондированием в таком случае может помочь определить подозрительную ситуацию, сервис или узел. И хотя уязвимость не обнаружена, еще не значит, что ее не существует. Необходимо другими методами, в том числе. и неавтоматизированными, исследовать каждый подозрительный случай.
4. Анализ уязвимостей
Анализ уязвимостей - это процесс обнаружения, оценки этих рисков, связанных с системами и устройствами, функционирующими на сетевом и системном уровнях, с целью рационального планирования применения информационных технологий. Инструменты, реализующие этот процесс, позволяют установить собственную политику безопасности, автоматизировать анализ уязвимостей и создать отчеты, которые эффективно связывают информацию об обнаруженных уязвимостях с подробными корректирующими действиями на всех уровнях организации. Одновременное использование систем анализа защищенности, функционирующих на сетевом и системном уровнях, обеспечивает мощнейшую защиту против трех типов уязвимостей, вводимых поставщиком, администратором и пользователем.
Какие типы уязвимостей защиты необходимо знать?
Анализ рисков безопасности корпоративным вычислительным устройствам позволяет произвести классификацию рисков, связанных с открытой вычислительной средой. Все риски можно разделить на три категории:
Риски, связанные с ПО, поставляемым поставщиком - включает ошибки, неустановленные обновления (patch'и и hotfix'ы) операционной системы, уязвимые сервисы и незащищенные конфигурации по умолчанию.
Риски, связанные с действиями администратора - включает доступные, но не правильно используемые настройки и функции системы, не отвечающие политике безопасности требования к минимальной длине пароля и несанкционированные изменения в конфигурации системы.
Риски, связанные с деятельностью пользователя - включают уклонение от предписаний принятой политики безопасности, например, отказ запускать ПО для сканирования вирусов или использование модемов для выхода в сеть Интернет в обход межсетевых экранов и другие, более враждебные действия.
Эти типы рисков могут быть представлены (реализованы) при проектировании информационной системы, в сетевых устройствах, операционных системах и приложениях.
Возможности сетевого сканирования
Сетевой сканер должен быть первым инструментом, используемым в процессе анализа защищенности. Он обеспечивает быстрый обзор уязвимостей самой высокой степени риска, которые требуют немедленного внимания. Анализ уязвимостей при сканировании на сетевом уровне поможет обнаружить очень серьезные уязвимости, такие как неправильно сконфигурированные межсетевые экраны (МСЭ) или уязвимые Web-сервера , которые могут предоставить потенциальную возможность для проникновения хакеров и позволить им скомпрометировать систему защиты организации. Сканирование на сетевом уровне обеспечивает быстрый и детальный анализ сетевой инфраструктуры предприятия как со стороны внешнего, так и со стороны внутреннего наблюдателя.
Возможности сканирования на сетевом уровне можно разделить на две основных категории:
1. Централизованный доступ к информации
· Сканеры сетевого уровня анализируют сеть, опираясь на устройства, установленные в сети предприятия, быстро предоставляя детальные отчеты, которые позволяют своевременно реализовать действия, устраняющие обнаруженные уязвимости.
· Сканеры сетевого уровня обнаруживают неизвестные и несанкционированные устройства и системы в сети, такие как несанкционированные сервера удаленного доступа или соединения с незащищенными сетями партнеров по бизнесу.
· Сетевые сканеры предоставляют исчерпывающий обзор всех функционирующих в сети операционных систем и сервисов, а также перечни всех учетных записей пользователей. Эти данные и соответствующие отчеты дают администраторам ясную картину того, что действительно используется в их сети. Кроме того, эта информация может использоваться сетевым сканером для дальнейшего анализа уязвимостей, таких как проверки надежности паролей учетных записей и т.д.
· Поскольку сетевые сканеры не требуют, чтобы на сканируемых системах устанавливалось какое-либо дополнительное ПО, то они могут быть быстро установлены и задействованы, не требуя разработки, планирования и инсталляции дополнительного программного обеспечения на сканируемых хостах. Другими словами, сканеры сетевого уровня не оказывают никакого влияния на отдельные системы и их администраторов с организационной точки зрения, и обеспечивают быстрый возврат средств, затраченных на защиту организации. Для сравнения, продукты сканирования на системном уровне могут осуществлять сканирование только тех систем, на которых установлены соответствующие агенты.
2.Сетевой взгляд на риски безопасности организации
Сканеры сетевого уровня обнаруживают уязвимости путем моделирования методов, которые используют хакеры для атаки на удаленные системы.
· Многие уязвимости наиболее эффективно обнаруживаются через сеть. К таким уязвимостям можно отнести уязвимые демоны и сервисы операционной системы (ОС), DNS-сервера, возможность реализации атаки типа "отказ в обслуживании" (например, "teardrop" и "land"), и уязвимые протоколы нижнего уровня.
· Сканеры сетевого уровня тестируют уязвимости наиболее критичных сетевых устройств, которые не поддерживаются системами анализа защищенности на уровне хоста, включая маршрутизаторы, коммутаторы, принтеры, серверы удаленного доступа и МСЭ. Сетевые сканеры могут включать такие уникальные возможности, как скрытое сканирование (stealth scan) для МСЭ, проверку уязвимостей, характерных для маршрутизаторов и проверки типа "подбор пароля" ("brute force") для тестирования учетных записей, установленных в системе по умолчанию и "люков" (back door), встроенных изготовителями сетевых устройств.
· Сканеры сетевого уровня обеспечивают реальное тестирование систем, которые уже проверены с помощью систем анализа защищенности на уровне ОС, которые проводят такие проверки как тестирование наиболее критичных файлов, баз данных, Web-серверов и прикладных серверов и МСЭ. В дополнение к тестированию стандартных механизмов защиты в процессе анализа защищенности также можно определить ошибки при конфигурации, которые оставляют эти устройства, открытыми для хакеров.
Возможности сканирования ОС
Достоинства сканирования на уровне ОС кроются в прямом доступе к низкоуровневым возможностям ОС хоста, конкретным сервисам и деталям конфигурации. Тогда как сканер сетевого уровня имитирует ситуацию, которую мог бы иметь внешний злоумышленник, сканер системного уровня может рассматривать систему со стороны пользователя, уже имеющего доступ к анализируемой системе и имеющего в ней учетную запись. Это является наиболее важным отличием, поскольку сетевой сканер по определению не может предоставить эффективного анализа возможные рисков деятельности пользователя.
Добавление этих рисков безопасности, создаваемых пользователем, является не только крайне важным для конкретного хоста, подверженного им, но и для защиты всей сети. Как только пользователь получает доступ к локальной учетной записи (даже просто к учетной записи "Guest"), перед ним открывается широкий диапазон возможностей для атаки и осуществления контроля над локальной системой. Хакер, который получил доступ к конкретному хосту, может злоупотреблять учетными записями авторизованного пользователя или это может быть учетная запись, украденная хакером, который зарегистрировался в системе как гость и "подобрал" пароль. В обоих случаях сканер системного уровня помогает убедиться, что данная система сконфигурирована соответствующим образом, и что уязвимости устранены, так что локальный пользователь не получает доступа к привилегиям администратора.
Достоинства сканера системного уровня можно разделить на три основные категории:
1. Идентификация рисков деятельности пользователя:
· Диапазон рисков деятельности пользователя возникает из-за игнорирования пользователем установленных правил политики безопасности внутри сети и преднамеренной работе в режиме, который нарушает политику безопасности для обычного индивидуального пользователя. Все типы рисков, вызванных деятельностью пользователя, в пределах этого спектра могут в перспективе скомпрометировать защиту всех систем в организации.
Пользователи, выбирающие легко угадываемые пароли или вообще не использующие пароли, являются классическим примеров рискованной деятельности пользователя. Другое значительное нарушение сетевой защиты - совместное использование жесткого диска компьютера пользователями сети.
· Сканеры системного уровня обнаруживают инсталлированные на хосте устройства, такие как модемы, и определяют, подключены ли они к действующей телефонной линии. Такой тип установки аппаратных средств может указывать на несанкционированный доступ к ресурсам сети в обход межсетевого экрана и процедуры защищенного Dial-In-доступа в организацию.
· Сканеры системного уровня обнаруживают присутствие таких приложений для удаленного доступа, как Carbon Copy или pcANYWHERE, которые могут быть использованы сотрудниками, звонящими из дома, для доступа к ресурсам в нерабочее время или через неизвестные места сетевого периметра, такие как сервер несанкционированного удаленного доступа.
2. Идентификация хакера и обнаружение атаки (внутренние и внешние хакеры):
· Сканеры системного уровня обнаруживают признаки того, что хакер уже проник в систему. Эти признаки включают: подозрительные имена файлов, неожиданные новые файлы, файлы устройств, находимые в неожиданных местах и неожиданные SUID/SGID привилегированных программ, которые в перспективе помогут получить "root"-привилегию.
· Сканеры системного уровня могут запоминать контрольные суммы наиболее критичных файлов, позволяя администраторам сравнивать текущие контрольные суммы файлов в системе с ранее вычисленными значениями. Этот процесс позволяет обнаруживать любые несанкционированные изменения в этих файлах, таких как замещение программы "login" программой типа "троянский конь". Кроме того, данные сканеры на Windows NT-системах могут использовать подсчет контрольных сумм для уведомления администраторов о несанкционированных изменениях в записях реестра, которые содержат наиболее важные настройки системы защиты.
· Сканеры системного уровня обнаруживают признаки того, что хакер по-прежнему активно действует в системе в данный момент, включая расположение "sniffer"-программ, активно ищущих пароли и другую важную информацию, или несанкционированные сервисы, популярные у хакеров, запускаемые в данный момент на системе, такие как IRC chat и FSP-сервера передачи данных.
· Сканеры системного уровня обнаруживают хорошо известные хакерские программы типа "троянский конь", например, такие как "Back Orifice", разработанной группой "Культ мертвой коровы" (Cult of the Dead Cow). Они также обнаруживают локальные системные сервисы, уязвимые к атакам типа "переполнение буфера". Без проведения сканирования на системном уровне эти программы могут быть легко загружены с популярных хакерских Web-серверов типа www.rootshell.com, и затем запущены пользователем для получения немедленного доступа ко всем администраторским привилегиям.
3. Проверки, которые являются невозможными или трудновыполнимыми сетевым сканером или занимают крайне много времени при проведения сканирования через сеть:
· К примерам проверок, которые могут быть проведены значительно быстрее или более надежно, используя сканирование на системном уровне, можно отнести проверки "слабых" паролей или поиск файлов хешированных паролей (.PWL) для Windows 95/98.
· Сканеры системного уровня являются идеальными для проведения проверок контрольных сумм и проверок файловой системы, которые требуют существенных ресурсов в случае использования сканеров сетевого уровня и, вероятно, потребуют, чтобы все содержание жестких дисков передавалось через сеть на сканирующую систему.
· Сканеры системного уровня могут проверять сетевые сервисы для того, чтобы убедиться в том, что они корректно сконфигурированы и реализованы, включая сервисы NFS, HTTPD и FTP. Например, некорректно сконфигурированный сервис NFS может позволить хакеру, который уже проник в одну систему, "открыть дверь" ко всем другим NFS-системам во всей сети.
· Сканеры системного уровня часто предоставляют более детальную информацию о хостах, работающих под управлением ОС Windows 95/98, чем она может быть получена при сканировании через сеть. Эти исследования являются важными вследствие большого количества "троянских коней" и "sniffer"-программ, доступных для атаки на эти операционные системы.
Если мы вернемся снова к нашему исходному описанию трех типов рисков безопасности, вы заметите из примеров выше, что сканеры системного уровня являются превосходными инструментами для оценки рисков защиты, связанных со всеми типами пользовательских рисков. Они включают риски, вызванные игнорирующими все пользователями, враждебными пользователями и всеми пользователями между ними. Они также предоставляют дополнительный охват для целого ряда рисков, связанных как с продавцами, так и с администраторами.
Сканеры системного уровня также являются великолепными инструментами в "блокировании" потенциальных атак на наиболее важные системы, такие как файловые, прикладные и web-сервера, сервера баз данных и МСЭ. В дополнение к тестированию стандартных характеристик защиты они также могут обнаруживать ошибки конфигурации, которые оставляют устройства открытыми для вторжения.
5. Защита портов от сетевых сканеров
Рассмотрим вопрос сокрытия портов используемых какими-либо программами. Подразумевается протокол tcp, хотя некоторые выкладки применимы и к udp.Теперь рассмотрим, как нам можно “обмануть” сканер, чтобы нас нельзя было обнаружить. Как известно установка соединения требует обмена тремя пакетами: первый - SYN (для синхронизации битов), затем SYN/ACK - ответ на запрос web-сервера, и, наконец, ACK (для подтверждения возвращения сигнала). Таким образом, устанавливается соединение. Теперь посмотрим, что происходит в случае отказа сервера от соединения (т.е. если, например, у нас порт не открыт). Мы получили запрос на соединение - SYN. Так как порт не слушается, то ядро отвечает ответом - RST, ACK. То есть соединение не установлено - в общем случае это означает, что порт не слушается, либо там установлен и грамотно настроен межсетевой экран.
По спецификации TCP не оговаривается передача данных именно после установления соединения, чтобы клиент отправлял данные в 1-ом SYN пакете, а сервер считал данные из этого SYN пакета. Т.е. таким образом, мы можем произвести идентификацию (проверка доступности пользователю данного ресурса) клиента. В случае если клиент не прошел идентификацию - не верная строка или вообще данные отсутствуют, то сервер должен послать ему RST. При таком раскладе, простой порт сканер не сможет определить реально открытый порт, а специально подкрученный сканер уязвимостей не сможет пройти идентификацию - что позволит нам сохранить невидимость. Для улучшения системы защиты нашего порта можно добавить еще и аутентификацию (проверка пользователя на соответствие). Т.е., предположим, соединение осуществляется только при условии, что строка идентифицирована. Для аутентификации клиента можно использовать криптографию с открытым ключом. У клиента находится секретный ключ, которым он зашифровывает строку для идентификации и некоторую случайную последовательность. Получившуюся строку отправляем серверу вместе со случайной последовательностью. На стороне сервера находится публичный ключ (ну не будем же мы в тылу врага оставлять секретный ключ) которым происходит расшифровка строки, которая затем разбивается для проверки с внутренней строкой и полученной случайной последовательностью. Таким образом, мы снижаем вероятность обнаружения нашего трояна - даже если появится специализированный сканер (хотя в при условии применения криптографии это сделать затруднительно) нашего руткита, да и в трафике не будет видно реальной строки для идентификации. В принципе, можно вообще весь трафик между клиентом и сервером шифровать.
Подобные документы
Этапы преобразования изображения в репродукционной системе, сущность процесса считывания. Технологии сканирования: механизмы, элементы конструкции, типы сканеров и принцип работы. Анализ работы образца устройства, скорость и качество сканирования.
курсовая работа [550,1 K], добавлен 13.02.2012История изобретения прибора для передачи изображения на расстояние - пантелеграфа. Патент на технологию фотоэлектрического сканирования (телефакс). Планшетный способ сканирования, принцип оцифровки. Виды сканеров, их характеристика и принцип работы.
презентация [478,3 K], добавлен 07.06.2015Устройства ввода графической информации. Настольные барабанные сканеры. Планшетные сканеры. Технологии планшетного сканирования. Сканеры для обработки пленок и диапозитивов. Листовые и многоцелевые сканеры. Ручные сканеры. Беспленочные камеры.
реферат [26,9 K], добавлен 02.10.2008История появления сканера - устройства, которое, анализируя какой-либо объект, создаёт цифровую копию изображения объекта. Технология фотоэлектрического сканирования, получившая впоследствии название телефакс. Типы сканеров, их применение, принцип работы.
презентация [1,6 M], добавлен 06.04.2015Характеристика транспортного и сетевого протокола TCP/IP. Уровни его стека (физический, канальный, сетевой, транспортный, прикладной). Распределение протоколов по ним. Скорость загрузки Web-страницы, факторы, влияющие на нее и возможности ее ускорения.
контрольная работа [15,9 K], добавлен 06.06.2011Особенности передачи информации в локальных сетях и методах её отслеживания (нахождения). Анализ программного обеспечения, которое позволяет осуществлять сканирование ресурсов локальной сети. Специфика технологий, используемых для сканирования, их виды.
курсовая работа [74,7 K], добавлен 02.12.2010Общая характеристика и особенности операционной системы Windows 95, ее сетевые возможности, оценка преимуществ и недостатков. Сравнительная характеристика Windows 95, 98 и Millennium. Принципы работы и устройство принтеров, их части и назначение.
курсовая работа [42,2 K], добавлен 05.03.2010Механизм создания и обмена пакетами в сети передачи информации на основе стека протоколов ZigBee. Принцип действия, особенности работы и коммутации с другими протоколами, определение основных методов и способов защиты информации, передаваемой в сети.
курсовая работа [2,6 M], добавлен 12.09.2012Особенности организации передачи данных в компьютерной сети. Эталонная модель взаимодействия открытых систем. Методы передачи данных на нижнем уровне, доступа к передающей среде. Анализ протоколов передачи данных нижнего уровня на примере стека TCP/IP.
курсовая работа [1,0 M], добавлен 07.08.2011Архитектура клиент-сервер на основе сокетов Windows. Описание утилиты Ipconfig. Конфигурирование стека TCP/IP. Реализация сокетов через классы NET. Структура библиотечных и пользовательских классов. Схема интерфейса пользователя и работы приложения.
курсовая работа [419,5 K], добавлен 13.12.2012