Информационная безопасность сетей. Информационная+безопасность+сетей. Содержание понятие информационной безопасности компьютерных систем 7 Введение
Скачать 0.94 Mb.
|
Признаки атакДля того чтобы обнаружить в контролируемом пространстве (сетевом трафике или журнале регистрации) нарушения политики безопасности, необходимо уметь их идентифицировать и отличать от обычных событий безопасности. В качестве таких признаков атак могут выступать [Edwardl-99]: повтор определенных событий; неправильные или несоответствующие текущей ситуации команды; использование уязвимостей; несоответствующие параметры сетевого трафика; непредвиденные атрибуты; необъяснимые проблемы; дополнительные знания о нарушениях. Любые средства защиты (межсетевые экраны, серверы аутентификации, системы разграничения доступа и т. п.) используют в своей работе одно или два из указанных условий, в то время как системы обнаружения атак (в зависимости от их реализации) задействуют практически все указанные признаки. Эта глава не только поможет вам разобраться, на каком основании системы обнаружения атак принимают решения, но и призвана помочь разработчикам создать свои собственные системы обнаружения несанкционированных действий. Особенно это касается разработчиков прикладных систем, например, финансовых приложений или автоматизированных систем операторов связи. Кроме того, описание признаков осуществления несанкционированной деятельности будет полезным в случае отсутствия автоматизированных средств обнаружения атак и их обнаружении "ручными" методами. Повтор определенных событий Один из лучших способов обнаружения атак - распознавание повторного осуществления каких-либо действий. Этот механизм основан на предпосылке, согласно которой следует, что если нарушитель не знает точно, как получить несанкционированный доступ к ресурсу с первой попытки, то он попытается это сделать во второй раз, третий и т. д. Примерами таких действий могут служить сканирование портов в поиске доступных сетевых сервисов или подбор пароля. Алгоритмы обнаружения несанкционированной деятельности должны распознавать такие повторные попытки и решать, по завершении скольких дополнительных попыток можно сделать вывод о наличии атаки. Необходимо сразу заметить, что если нарушитель заранее знал пути доступа к ресурсу (или смог перехватить или подобрать идентификатор и пароль авторизованного пользователя) и не совершил никаких ошибок, то обнаружить такой несанкционированный доступ практически невозможно. Если злоумышленник смог создать стенд, полностью дублирующий атакуемую систему, и "тренироваться" на ней, пытаясь повторить почерк авторизованных пользователей, то обнаружить такие действия также зачастую невозможно. Справедливости ради надо сказать, что создание идентичного стенда - очень дорогостоящая задача, которая не под силу злоумышленникам-одиночкам и даже многим хакерским сообществам. Обнаружение повторных событий - очень мощный подход, потому что позволяет обнаруживать даже те атаки, о которых нет никакой дополнительной информации (иными словами, он позволяет обнаруживать неизвестные атаки определенного типа). В качестве критерия может выступать одно из двух (или сразу оба) событий: число повторов превышает некоторое пороговое значение (например, превышение числа входов в систему); события повторяются в течение заданного временного интервала (например, попытка соединения с портами узла). Контроль пороговых значений В этом случае контролируется некоторый порог, позволяющий отличить санкционированные повторы от несанкционированных. Несанкционированные повторы могут соответствовать как обычным ошибкам, так и реальным атакам. В любом случае все превышения порогового уровня будут обнаружены. Практический опыт, получаемый в процессе работы, позволяет задавать для различных компонентов информационной системы более точные пороговые значения, отличающиеся от заданных по умолчанию. Типичным примером задания пороговых значений является указание числа попыток ввода пароля в Windows 2000. Необходимо отметить, что неправильный выбор порогового значения может привести либо к проблеме false negative, либо к проблеме false positive. Иными словами, в случае задания слишком малого значения порога контроль сведется к очень частым срабатываниям системы обнаружения атак, т. е. к ложному обнаружению. В случае задания слишком большой величины некоторые атаки могут остаться необнаруженными. Контроль временных интервалов Типичный пример, описывающий этот метод, - обнаружение сканирования портов, т. е. заданного числа обращений к портам узла за определенный промежуток времени.Сканирование портов осуществляется при помощи различных программ, отличающихся реализацией данного механизма. Самые простые программы (например, Haktek) выполняют простой перебор портов, начиная с первого и заканчивая заданным пользователем. Обратите внимание, что неправильный выбор значений временного интервала, за который мы контролируем превышение порогового значения, также может привести к упомянутым в предыдущем разделе проблемам (false negative и false positive). Распознать подобную деятельность весьма легко. Однако такого рода сканирующие порты программы используются достаточно редко и только теми "пользователями", которые не имеют представления о наличии более изощренных утилит, обладающих некоторым "интеллектом". К таким утилитам относится Nmap (http://www.nmap.org), функционирующая под управлением большинства клонов UNIX и даже Windows. Данная утилита реализует большое число различных типов сканирования (в версии 3.00 этих типов больше 10), в том числе и сканирование портов. Представленные три фрагмента "лога" TCPdump очень интересны, т. к. номер сканируемого порта увеличивается не на единицу, как это происходит обычно, а совершенно случайным образом. При этом для усложнения выявления такого сканирования номер порта не только увеличивается, но и уменьшается. Дополнительным механизмом скрытия факта сканирования от систем обнаружения атак является повторение некоторых портов, к которым уже производилось обращение (например, 427 и 447). Помимо классических вариантов сканирования, легко обнаруживаемых межсетевым экраном. Существуют и более изощренные способы поиска "болевых точек", которые не обнаруживаются традиционными средствами сетевой безопасности. Это - так называемое скрытое (stealth) сканирование, использующее особенности обработки сетевых пакетов, не соответствующих стандартам TCP/IP, и рассматриваемое далее. Еще одним вариантом сканирования, осложняющим его обнаружение, является увеличение интервала времени, в течение которого происходит сканирование. Обычно сканеры узлов шлют запросы со скоростью 5-10 портов в секунду. Однако, если заданные по умолчанию временные значения меняются (например, с помощью режима -sI в сканере Nmap 3.00 или -т в сканере Nmap 2.xx), то многие системы обнаружения атак уже не реагируют на такого рода действия, считая их нормальными. Кстати, контроль временных интервалов может использоваться и для обнаружения атак "отказ в обслуживании". Например, атака Smurf характеризуется использованием широковещательных пакетов, передаваемых в течение длительного времени. Известны случаи, когда такие пакеты посылались в течение нескольких дней, приводя атакуемую сеть к неспособности обрабатывать санкционированный трафик. Ниже показан фрагмент журнала регистрации маршрутизатора Cisco, в котором зафиксированы примеры атак Smurf и Fraggle (аналог Smurf, но для протокола UDP). В реальной практике число таких записей намного превышает сотню. Неправильные команды Другим способом идентификации несанкционированной деятельности является обнаружение неправильных или некорректных запросов или ответов. Если речь идет об автоматизированных процессах или программах, то несоответствие заранее ожидаемым реакциям позволяет сделать вывод о подмене одного из участников информационного обмена - или запрашивающего информацию, или того, кто вырабатывает ответы на запросы. Проиллюстрировать обнаружение всех неправильных команд в одной книге невозможно, и поэтому остановимся только на некоторых из них. Например, уязвимые CGI-скрипты Web-сервера, которыеявляются одними из самых распространенных "дыр" во всем сетевом мире. В нижеприведенном случае запрос двух несуществующих на сервере CGI-сценариев Glimpse cgi-bin и test-cgi) может быть обнаружен путем анализа записей журнала регистрации сервера или при помощи сетевой системы обнаружения атак. Использование уязвимостей Согласно приведенным ранее определению и классификации уязвимостей, а также определению атаки, любой из описываемых признаков атаки является признаком уязвимости. Например, непредвиденные атрибуты в различных запросах и пакетах могут быть отнесены к классу уязвимостей проектирования или реализации. Однако процесс использования автоматизированных средств поиска широко распространенных уязвимостей (так называемых сканеров безопасности) или реализации атак принято выделять в отдельную категорию признаков атаки. Существует целый ряд таких средств, начиная от свободно распространяемых утилит типа X-Spider или ShadowSecurityScanner и заканчивая коммерческими продуктами, такими как Internet Scanner или Retina. Несмотря на то, что средства поиска уязвимостей должны использоваться в благих целях, часто встречаются случаи враждебного применения этих средств. Особенно тогда, когда средства поиска уязвимостей не защищены сами от такого несанкционированного использования или распространяются свободно. Существует два аспекта обнаружения таких средств: обнаружение использования средств сканирования. Например, при помощи системы Courtney, разработанной в Центре реагирования на инциденты CIAC при Министерстве энергетики США, можно обнаружить факт использования сканера SATAN; обнаружение факта реализации атак. Например, при помощи системы RealSecure Network Sensor, разработанной компанией ISS, можно зарегистрировать факт имитации действий, внешних по отношению к сканируемому узлу, совершаемых нарушителями при помощи различных систем анализа защищенности, например, CyberCop Scanner или Queso. Однако сам факт применения средств анализа защищенности еще не говорит о том, что происходит атака. Ведь эти средства могут использоваться для плановых проверок компонентов информационной системы. Поэтому необходимо проводить дополнительный разбор всех зарегистрированных фактов применения сканеров безопасности. Например, если в течение короткого периода времени после обнаружения сканирования одной из систем фиксируется факт использования уязвимостей на данной системе, то это может свидетельствовать об атаке. Такой анализ и корреляцию можно проводить как вручную, так и при помощи специализированных средств поддержки и принятия решений, например, RealSecure SiteProtector компании ISS или netForensics одноименной компании. Несоответствующие параметры сетевого трафика В качестве признака атаки могут выступать и другие параметры. Например, некоторые характеристики сетевого трафика: адреса из внешней сети, обращающиеся к адресам также во внешней сети, обнаруживаемые внутри; неожидаемый сетевой трафик (например, в обход МСЭ или превышение объема передаваемого трафика); непредвиденные параметры сетевого трафика (нестандартные комбинации флагов и т. д.); обнаружение попыток идентификации узлов сети и сервисов, запущенных на них (сканирование); повторные полуоткрытые соединения, которые могут характеризовать DoS-атаки или подмену пакетов; удачные попытки соединений с редко используемыми или необычными сервисами на узлах сети; последовательные соединения с узлами сети или сервисами одного узла; соединения из непредвиденного местонахождения или в него; повторные неудачные попытки соединения. Параметры входящего трафика Наиболее ярким примером такого признака атаки, который широко контролируется многими межсетевыми экранами и другими защитными системами, являются входящие извне в локальную сеть пакеты, имеющие адрес источника, соответствующий диапазону адресов внутренней сети (рис. 1.2). Рисунок 1.2. Подмена внешнего адреса В том случае, если система обнаружения атак или иное средство разграничения доступа (межсетевой экран или маршрутизатор) не может контролировать направление трафика, то возможна реализация так называемой атаки типа "подмена адреса" ("address spoofing"). Эта атака позволяет нарушителю выполнять различные несанкционированные действия так, как будто бы они исходят с одного из узлов внутренней сети, к которым обычно предъявляются менее серьезные требования по защите. Параметры исходящего трафика Примером такого признака являются исходящие из локальной сети пакеты, имеющие адрес источника, соответствующий диапазону адресов внешней сети (рис. 1.3). В этом случае внутренний нарушитель может пытаться замаскировать свои действия таким образом, словно они реализуются из внешней сети, чтобы в случае расследования отвести подозрение от пользователей внутренней сети и направить расследование по ложному следу. Рисунок 1.3. Подмена внутреннего адреса Непредвиденные адреса пакетов В данном случае признаком атаки могут служить пакеты с непредвиденным адресом источника (или портом получателя для протоколов на базе TCP/UDP). Первым примером можно назвать обнаружение пакета, поступившего из внешней сети с недоступным (как это было в случае с атакой Кевина Митника на компьютер Тсутому Шимомуры) или невозможным для внешней сети IP-адресом. Например, существуют адреса, которые не маршрутизируются в Internet. К этим адресам относятся: 10.*.*.*, 172.16.0.0- 172.31.255.255 и 192.168.*.*. Их описание содержится в RFC 1918 "Address Allocation for Private Internets". Помимо указанных категорий адресов, существует еще ряд диапазонов, для которых пакеты не могут появляться в вашей сети извне. Эти адреса зарезервированы IANA. К таким диапазонам относятся: 0.0.0.0/8, 1.0.0.0/8, 2.0.0.0/8, 5.0.0.0/8, 7.0.0.0/8, 23.0.0.0/8, 27.0.0.0/8, 31.0.0.0/8, 36.0.0.0/8, 37.0.0.0/8, 39.0.0.0/8, 41-42.0.0.0/8, 58-60.0.0.0/8, 67-127.0.0.0/8, 219-223.0.0.0/8, 240-255.0.0.0/8. Другим примером является атака Land, в которой адрес и порт источника совпадают с адресом и портом получателя. Обработка такого пакета приводит к зацикливанию. Следующий пример касается запросов на соединение по протоколу Telnet от неизвестного узла или от узла, с которым отсутствуют доверенные отношения. Еще один классический пример - это обнаружения несоответствия MAC- и IP-адресов сетевых пакетов. Последним примером атаки, которая использует данный признак, можно назвать "троянца" Setiri, который был продемонстрирован на Def Con 10. Данный "троянец", использующий уязвимости Internet Explorer, не обнаруживается и, соответственно, не блокируется межсетевыми экранами. Все дело в том, что он не сам инициирует подключение к Internet, как обычные "троянцы", он запускает невидимые окна Internet Explorer, на которые МСЭ не реагирует, и которые осуществляютвсе несанкционированные действия - подключение к анонимному proxy-серверу, загрузка файлов из непредвиденных узлов и т. д. Непредвиденные параметры сетевых пакетов Можно назвать множество примеров атак с непредвиденными параметрами сетевых пакетов. И число таких атак все время растет, т. к. злоумышленники постоянно находят уязвимости в реализации стека протокола TCP/IP в различных ОС. Например, если обнаружен сетевой пакет с установленными битами syn и аск (второй этап установления виртуального TCP-соединения), и при этом не было никакого предшествующего пакета с битом syn (первый этап установления виртуального TCP-соединения), то это может скрывать под собой несанкционированное вторжение. Указанный метод получил применение в так называемом Stealth-сканировании, которое широко распространено среди злоумышленников. Появление SYN/Аск-пакета без предшествующего SYN-пакета может также говорить о наличии асимметричных маршрутов в сети. Поэтому, если ваша сеть поддерживает такие потоки, то необходимо проводить дополнительное расследование. Помимо битов syn/ack, в заголовке TCP-пакета использовались также биты fin- FIN-сканирование, reset- RESET-сканирование, а также комбинации битов - Xmas-сканирование и их полное отсутствие - Null-сканирование. Последний вариант более наглядно может быть продемонстрирован на примере журнала регистрации системы обнаружения Snort. Для сравнения можно привести уже продемонстрированный вариант FIN-сканирования. Любой пакет, который не соответствует стандартам RFC, может привести к выходу из строя коммуникационного оборудования, которое этот пакет обрабатывает. Причем к такому оборудованию относятся не только маршрутизаторы или коммутаторы, но и межсетевые экраны и системы обнаружения атак. Во многих сетевых атаках используются запрещенные комбинации TCP-флагов. Некоторые комбинации приводят к выходу из строя узла, осуществляющего обработку таких пакетов, а благодаря иным комбинациям пакеты остаются незамеченными некоторыми системами обнаружения атак или межсетевыми экранами. В RFC 793 описано, как должны реагировать различные системы на нормальные TCP-пакеты. Но в этом (и других) документе не сказано, как система должна реагировать на неправильные TCP-пакеты, в результате чего различные устройства и ОС по-разному реагируют на пакеты с запрещенными комбинациями TCP-флагов. Существуют 6 флагов, которые могут встретиться в TCP-пакете: syn, ack, fin, rst, psh, urg. Запрещенные комбинации можно обнаружить по хотя бы одному из перечисленных ниже признаков [Frederickl-00]: syn + fin - поскольку это два взаимоисключающих флага. Первый устанавливает соединение, а второй завершает его. Такая комбинация очень часто используется различными сканерами, например, Nmap. Некоторое время назад большое число систем обнаружения атак не могло обнаружить такого рода сканирования. Однако сейчас ситуация изменилась к лучшему, многие системы обнаружения атак отслеживают подобные комбинации флагов. Но добавление еще одного флага к данной комбинации (например, SYN + FIN + PSH, SYN + FIN + RST, SYN + FIN + RST + PSH) опять приводит к тому, что некоторые системы обнаружения атак не распознают видоизмененное сканирование. Некоторые аналитики называют такого рода комбинации "шаблоном рождественского дерева" ("Christmas Tree Pattern"); TCP-пакеты никогда не должны содержать только один флаг fin. Обычно один установленный флаг fin свидетельствует о скрытом (stealth) FIN-сканировании; TCP-пакеты должны иметь хотя бы один флаг (но не fin); если в TCP-пакете не установлен флаг аск, и этот пакет - не первый при установлении соединения (three-way handshake), то такой пакет однозначно является ненормальным, т. к. в любом TCP-пакете должен присутствовать флаг аск; помимо указанных комбинаций, подозрительными считаются RST + FIN, SYN + RST. В протоколе TCP существуют зарезервированные биты, которые предназначены для будущего расширения протокола. Еще пару лет назад данные биты не использовались и поэтому появление сетевых пакетов, где они задействованы, могло означать только несанкционированную деятельность, в частности, попытку удаленной идентификации операционной системы (OS fingerprinting). Обычно операционная система определяется либо путем анализа заголовка пакетов (пассивный анализ), либо по реакции на посланные пакеты определенного формата, что мы сейчас и рассмотрим. На момент написания книги злоумышленники использовали три утилиты, удаленно идентифицирующие ОС - Queso, Hping и уже неоднократно упоминаемую Nmap. После запуска Queso определяет открытый порт на сканируемом узле и посылает несколько пакетов, не соответствующих стандартам RFC, отклик на которые позволяет сделать вывод об используемой операционной системе. В отправляемых пакетах могут встретиться следующие комбинации флагов: syn + дек со сброшенным аск; только fin; fin + аск со сброшенным аск; syn + fin; только push; syn + ххх + yyy, где ххх и yyy - зарезервированные флаги в TCP-заголовке (два старших бита в 13-м байте заголовка TCP-пакета). Сканер Nmap использует схожую технику для определения типа операционной системы, но в его пакетах применяются несколько иные комбинации флагов: только syn; без флагов; SYN + FIN + URGENT + PUSH; только аск; только syn, посылаемый на закрытый порт; только аск, посылаемый на закрытый порт; fin + urgent + push, посылаемые на закрытый порт. Однако с появлением RFC 2481 [RFC1-99] и 2884 [RFC1-00] ситуация изменилась не в лучшую сторону. Согласно указанным стандартам, резервные биты (Explicit Congestion Notification, ECN) могут использоваться для передачи служебной информации. Как показано в [Milled-00], появление в сети пакета раньше означало только одно - работу сканеров Queso, Hping или Nmap). Сейчас чтобы понять, что значит появление в пакете фрагмента с2 (использованы два резервных бита), придется провести дополнительное расследование, позволяющее с уверенностью сказать, атака это или нет. Такой "интеллект" приводит к тому, что аналитики могут быть введены в заблуждение системой TCPdump, которая будет считать, что пакет соответствует стандарту RFC 2481, а на самом деле происходит удаленное определение операционной системы с помощью Nmap. Налицо ложное срабатывание (False positive). К другим признакам "ненормальности" сетевого пакета можно отнести следующие: порт источника или получателя (для пакетов TCP и UDP) равен О; при установленном флаге аск (для пакетов TCP) номер подтверждения равен 0. Очень часто признаком атаки может служить размер сетевых пакетов, отличающийся от стандартного. Например, большинство запросов ICMP Echo Request имеют 8-байтовый заголовок и 56-байтовое поле данных. При появлении в сети пакетов нестандартной длины можно говорить о присутствии несанкционированной деятельности. Например, атака Loki, позволяет туннелировать различные команды в запросы ICMP Echo Request и реакции на них в ответы ICMP Echo Reply, что существенно изменяет размер поля данных по сравнению со стандартным. Другим примером является атака Ping of Death, в процессе которой создается запрос ICMP Echo Request с размером пакета больше 65 535 байтов. Длина этого сообщения, состоящего из множества фрагментов, составляет 65 740 (380 + 65 360) байтов. Еще одним классическим признаком, позволяющим в большинстве случаев распознать атаку, может быть появление в сети фрагментированных пакетов. Многие средства сетевой безопасности не умеют правильно собирать фраг-ментированные пакеты, что приводит или к выходу этих средств из строя, или к пропуску таких пакетов внутрь защищаемой сети. Первый результат может достигаться при помощи фрагментов с неправильным смещением (в вышеприведенном примере с атакой Ping of Death, как это легко увидеть, не соблюдается требование, чтобы длина передаваемого фрагмента была кратна 8 - размер фрагмента составляет 380 байтов), а второй - путем так называемой Tiny Fragment attack. В последнем случае создаются два TCP-фрагмента. Первый из них настолько мал, что даже не включает полного TCP-заголовка, и что особенно важно - порта получателя. Второй фрагмент содержит остаток заголовка. Многие межсетевые экраны позволяют пройти первому или обоим фрагментам внутрь корпоративной сети. Обозначение [itcp] указывает на то, что TCPdump не смог захватить весь TCP-заголовок и не сумел интерпретировать назначение пакета. Аномалии сетевого трафика Под аномалиями сетевого трафика понимаются любые отклонения показателей сети от заранее зафиксированных в качестве эталонных. К таким показателям могут быть отнесены коэффициент загрузки, типичный размер пакета, среднее число фрагментированных пакетов и т. п. Любое отклонение может характеризировать как атаки, например, отказ в обслуживании, так и просто проблемы в сети, вызванные сбоями в сетевом оборудовании. Подозрительные характеристики сетевого трафика В качестве подозрительных характеристик, идентифицирующих атаки, могут выступать: подозрительный трафик, от определенного адресата или к определенному адресату. В ряде случаев подозрение могут вызвать некоторые типы трафика или его содержимого. Например, обнаружение сообщений электронной почты с ключевыми словами "резюме" или "поиск работы", доступ к серверам www.playboy.com, www.job.ru, www.jobs.ru или работа по протоколу, который не ожидается от заданного адреса (скажем, запросы Telnet от сотрудника операционного отдела банка); подозрительный трафик независимо от адресата. Определенные типы трафика являются подозрительными независимо от адресата. Например, появление в сети незафиксированных ранее протоколов или присутствие во внутренней сети трафика от адресов, которые не принадлежат этой сети. В одном из московских банков при помощи системы RealSecure Network Sensor был обнаружен факт несанкционированного использования модемов одним из сотрудников, который подключался к своему рабочему компьютеру из дома и таким образом выходил в Internet по более скоростному каналу. Другим примером может служить передача за пределы сети особо важных или секретных материалов компании, обнаружить которую возможно путем слежения за возникновением в сетевом трафике соответствующих ключевых слов (например, "конфиденциально", "совершенно секретно" и т. д.). Значения по умолчанию Еще одним распространенным признаком атак являются их атрибуты, установленные по умолчанию. К таким атрибутам могут быть отнесены имена файлов или процессов в памяти (например, "троянцев"), используемые порты и т. д. Рассмотрим данный признак более подробно на примере "троянских коней". Так как большинство "троянцев" имеют заранее известные имена файлов или процессов, то появление их на вашем компьютере можно расцениватькак несанкционированную деятельность. Например, файл с именем Patch.exe - повод задуматься о присутствии на узле "троянцев" NetBus, Digital RootBeer, Krenx или Solid Gold. Список имен файлов для известных "троянских коней" может быть получен по адресу: http://www.simovits.com/ trojans/trojans_files.html. Там же можно узнать и про часто используемые "троянцами" порты. Список активных процессов также может быть привлечен для обнаружения "троянских коней". В ОС UNIX этот список может быть получен при помощи утилиты ps, а в Windows NT или 2000 - путем запуска Task Manager. Разумеется, вы должны быть уверены, что злоумышленник не установил на ваш компьютер rootkit. Другой способ обнаружения работы "троянских коней" - анализ определенных портов (контроль обращений или выявление открытого порта). По такому принципу можно опознать абсолютное большинство "троянцев", в которых жестко "зашиты" номера используемых портов. В том случае, если "троян" использует нестандартные порты, то обнаружить его можно по ключевым словам в сетевом трафике, например, по получаемым и отправляемым командам или паролю взаимодействия серверной и клиентской частей. Ниже показаны несколько примеров обнаружения широко известного "троянского коня" SubSeven, который обычно взаимодействует через порт 1243 (или 27374). "Троянский конь" Satans использует для соединения "число зверя" 666 (аналогичный номер порта в ходу и у "троянца" BackConstruction). При этом Satans можно "вычислить" еще и по наличию запущенной программы WinVMM32. "Троянский конь" BackOrifice "общается" с владельцем через порт 31337, а в ОС может "наследить" в системном реестре в разделе HKLM\Software\ Microsoft\Windows\CurrentVersion\RunServices. Как уже отмечалось выше, "троянские кони" могут быть обнаружены не только путем анализа обращений к определенным портам, но и посредством слежения за появлением в сетевом трафике ключевых слов (особенно, если порт "по умолчанию" не используется). Например, "троянец" BackOrifice может быть обнаружен по сигнатуре пароля се 63 d1 d2 l6 е7 13 cf, т. е. в первых 8-ми байтах поля данных UDP-пакета. Помимо классических атак, построенных в соответствии с моделью "один-к-одному" или "один-ко-многим", существуют и так называемые распределенные атаки, соответствующие моделям "многие-к-одному" и "многие-ко-многим". По этому принципу сконструированы некоторые "троянские кони", например, WinTrinOO, TFN2K, Stacheldraht, mstream и т. д., которые также могут быть выявлены по номерам используемых портов.Для обнаружения "троянцев" необязательно контролировать сетевой трафик - достаточно проанализировать открытые порты [Лукацкий1-01]. По такому принципу можно опознать подавляющее большинство "троянцев", в которых также жестко "зашиты" номера используемых портов. Найти открытые порты можно либо локально, либо удаленно. В первом случае, запустив утилиту netstat с параметром -а (или аналогичную), вы увидите список всех открытых портов. В данном случае было обнаружено наличие на локальном узле ws_lukich "троянца" NetBus, который функционирует на портах 12345 или 12346. Список портов, к которым прибегают троянские программы, может быть также найден по адресу: http://www.simovits.com/trojans/trojans_ports.html. Удаленное обнаружение путем анализа открытых портов осуществляется взятием на вооружение инструмента атакующего - любого сканера, например, Nmap, который может функционировать под управлением большинства клонов UNIX, а также Windows NT. Удаленное сканирование узла ws_lukich дополнительно выявило открытые порты 12345 и 12346, что позволяет сделать вывод о наличии на сканируемом узле "троянского коня" NetBus. Можно воспользоваться и нетрадиционным способом. Например, некоторые программы управления "троянскими конями" имеют возможность сканирования заданного диапазона адресов и определения установленных компонентов. Такой возможностью обладает и NetBus (рис. 4.5). Непредвиденные значения запросов Запросы любой системы, сети или пользователя характеризуются некоторыми атрибутами, которые описывают так называемый профиль системы, сети или пользователя. Такие профили используются для наблюдения и анализа контролируемого субъекта. Наиболее часто встречающиеся параметры, которые помогают обнаружить потенциальную атаку, рассмотрены далее. Время и дата Время и дата - одни из характерных атрибутов, которые используются при обнаружении нарушений политики безопасности. Предположим, что зафиксирован вход в систему после 18.30. Если подключение осуществляет администратор системы, то это может быть санкционированный вход пользователя, работающего в неурочные часы. Однако, если система обнаружения атак регистрирует вход в систему после указанного времени сотрудника финансового отдела, то данный факт может служить причиной для дополнительного разбирательства (или сотрудник не справляется со своими обязанностями, или он пишет квартальный отчет, или действительно кто-то пытается реализовать атаку от его имени). Аналогичная ситуация может возникнуть, когда регистрируется вход в систему или доступ к важным данным, осуществляемый в выходные дни или праздники. Можно привести и более специфичный пример. Например, во многих банках все платежи, поступившие по истечении определенного часа (например, 13.00), откладываются на следующий день. Если платеж пришел в пятницу после этого граничного момента, то он переносится на понедельник. В американских банках аналогичная ситуация наступает в полдень пятницы. Факт перечисления денег после указанных моментов времени может привести к подаче сигнала системе обнаружения финансовых мошенничеств, что происходит несанкционированная транзакция. Существует и другой пример использования времени как индикатора атаки - если временной промежуток между вводом и подтверждением банковского платежа слишком мал, чтобы удостовериться в правильности осуществления транзакции, то можно предположить факт некорректности или несанкционированности платежа [Конеев1-99]. Таким образом, время является достаточно важным критерием, позволяющим оценивать правомочность тех или иных действий. В частности, контроль даты и времени позволяет обнаружить также неурочный запуск процессов и программ, непредвиденные перезагрузки, запуски и остановы системы и т. д. Местоположение Обычно пользователь входит в систему с одного и того же компьютера или обращается к ресурсам Internet через коммутируемое соединение с одного и того же номера телефона. Соответственно вхождение в систему с другого компьютера или номера телефона следует рассматривать как аномальное действие, что влечет за собой определенную работу по разбору этой нештатной ситуации. В крупной территориально-распределенной сети, филиалы которой разбросаны по всей стране (или странам), иногда также контролируется и географическое расположение точки входа в сеть. Таким образом, изменение типичного места входа в систему может свидетельствовать об атаке. Более специфичный пример относится к финансовой сфере. Операции ввода и подтверждения платежного поручения с одного и того же рабочего места запрещены во многих банках, поскольку разделение этих процедур необходимо для того, чтобы сотрудники не могли злоупотреблять своим положением. Системные ресурсы Характеристики многих системных ресурсов также могут выступать в качестве индикатора атаки. Например, усиленная загрузка центрального процессора, которая отличается от среднестатистической величины, может скрывать под собой различные действия, выходящие за рамки нормальных. Такое бывает как при неправильной работе операционной системы или какого-либо приложения, так и, например, при атаке типа "подбор пароля" ("brute force"). Из прочих характеристик ресурсов, которые часто используются для идентификации атаки, можно назвать интенсивное обращение к оперативной и дисковой памяти, файлам, телекоммуникационным портам и т. д. Внезапная нехватка дискового пространства может свидетельствовать о появлении в системе "бомбы", представляющей собой упакованный файл небольшого размера, который при разархивировании раскрывается в файл размером в десятки гигабайт (такие "шалости" были очень распространены в сети FIDO в начале-середине 1990-х годов). Пользовательские и системные профили Использование профилей является более общим подходом, чем анализ запросов сервисов и услуг или системных ресурсов. Пользовательские и системные профили сами по себе включают в себя эти запросы. Но также они дополнены и новыми параметрами, учитывающими специфику конкретного пользователя, процесса или узла. Например, временем пиковых и минимальных нагрузок, длительностью типичного сеанса работы, обычным временем входа в систему и выхода из нее и т. д. Отклонения параметров текущего сеанса работы субъекта контролируемой системы от заданных в профиле могут свидетельствовать об аномальном поведении. Частным случаем проявления данного признака атаки может быть отклонение от нормы результатов контроля тех сервисов и услуг, которые чаще всего запрашиваются субъектом (пользователем, процессом и т. п.) в своей повседневной деятельности. Например, если по долгу службы сотрудникам необходимо получить доступ в Internet, то следует составить список часто используемых в работе Web-серверов и отслеживать обращения к серверам, не включенным в этот список, что может расцениваться как нарушение политики безопасности. Запросы определенных файлов, посылка (и прием) электронной почты по конкретным адресам, работа с некоторыми сервисами (например, FTP или Telnet) и иные типы активности также можно отнести к индикаторам нарушений политики безопасности. Другие параметры Существуют и другие признаки, которые позволяют идентифицировать нарушения политики безопасности. К ним относится и уже приведенный выше пример с вводом и авторизацией банковского платежа. Однако допустим, что указанные операции осуществляются на разных рабочих местах, но одним и тем же сотрудником. Это также позволяет нечистоплотным служащим производить переводы денег на подставные счета. В реальности такой ситуации никогда не должно возникать, и функции ввода и подтверждения финансовой транзакции распределяются не только между различными компьютерами, но и между разными сотрудниками банка. Обнаружение действий, приписываемых пользователю, который уволен (но учетная запись которого по непонятным причинам не удалена из контролируемой системы) или находится в отпуске, также является признаком атаки. Необъяснимые проблемы Любая проблема, которая возникает в корпоративной сети, может (и должна) служить поводом для дополнительных разбирательств. Даже если в процессе расследования выяснится, что проблема не относится к области защиты, то сам факт ее обнаружения положительно влияет на функционирование и работоспособность информационной системы. К числу таких необъяснимых проблем можно отнести нижеперечисленные примеры. Проблемы с программным и аппаратным обеспечением. Выход из строя маршрутизатора, перезагрузка сервера или невозможность запуска системного сервиса или процесса может говорить о попытке атаки типа "отказ в обслуживании". Необъяснимое поведение пользователя. Неожиданное обращение к не запрашиваемому ранее ресурсу может скрывать под собой тот факт, что злоумышленник перехватил или подобрал пароль авторизованного пользователя и пытается в рамках его полномочий получить доступ к важным данным. Заголовки Данный признак используется только в системах анализа защищенности, о которых будет рассказываться дальше. Многие сетевые сервисы на каждый запрос к ним создают определенный ответ, который называется заголовком или "шапкой" (banner). Такой анализ очень часто позволяет идентифицировать версию сканируемого сервиса, тип операционной системы и т. д., что дает возможность исследовать потенциальные уязвимости в данном компоненте ИС. Например, попытка подключения по протоколу Telnet к порту 143 (сервис ШАР) выведет стандартное сообщение, в котором содержится информация о версии и разработчике сервиса IMAP. Эта, на первый взгляд "неважнецкая", информация позволяет администратору безопасности, осуществляющему анализ защищенности, найти на "хакерских" серверах все упоминания о наличии уязвимостей в данной версии ШАР. Аналогичным образом можно осуществить и анализ другого программного обеспечения. Например, Web-сервера. Цифровой "отпечаток пальца" Этот признак также задействуется в системах анализа защищенности и основан не на проверках заголовков, а на сравнении цифрового "отпечатка пальца" (fingerprint) фрагмента программного обеспечения с "отпечатком" известной уязвимости. Аналогичным образом поступают антивирусные системы, сравнивая фрагменты сканируемого программного обеспечения с сигнатурами вирусов, хранящимися в специализированной базе данных. Разновидностью этого признака являются контрольные суммы или даты анализируемого программного обеспечения. Несоответствие эталонного значения текущему характеризует изменение контролируемого объекта (программы или файла данных), в том числе осуществленное и в результате атаки. |