Системы обнаружения атак на сетевом уровне

         

Что я должен делать, если меня атаковали?


Читайте публикацию CERT: .

Главным образом, вы должны реализовать эффективные защитные меры, которые включают:

Создание команды реагирования на инциденты "Incident Response Team". Определите тех людей, которые должны быть вызваны всякий раз, когда зафиксирован инцидент. Необходимо разработать руководящие документы, описывающие варианты реагирования. Например, вы должны решить позволять ли осуществлять атаку злоумышленнику в случае нападения или сразу прекратить ее. Иногда, для предоставления доказательств в суде или иной инстанции необходимо не прекращать атаку, а собирать дополнительную информацию об атакующем и его действиях. Необходимо разработать руководящие документы, описывающие варианты связи с другими людьми в случае обнаружения атаки. Вы информируете об атаке своего руководителя и т.д. вплоть до руководства компании или распространяете также среди всех заинтересованных лиц по горизонтали? Вы принимаете участие в таких организациях как FIRST (или RU-CERT в России - примечание переводчика)? Вы сообщаете об атаке в милицию или иное силовое ведомство? Вы сообщаете об атаке Вашим партнерам, которые подключены к Вашей сети и также могут быть скомпрометированы? Вы скрываете факт атаки от печатных изданий? Создайте и опишите процедуры регистрации/аудита/мониторинга. Вы должны иметь адекватную и актуальную информацию о том, что, когда и откуда происходит в вашей сети. Обучите свой персонал всем этим вопросам.

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



Что представляют собой наиболее распространенные DoS (отказ в обслуживании) атаки?


1.10.1 Ping-of-Death

Посылает ICMP-пакета, размером более 64 Кбайт, что может привести к переполнению буфера ОС и выведению атакуемой системы из строя.

1.10.2 SYN Flood

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

1.10.3 Land/Latierra

Посылает поддельный SYN-пакет с идентичными исходным/конечным адресом/портом, так что система движется по бесконечной петле, пытаясь выполнить TCP-соединение.

1.10.4 WinNuke

Посылает OOB/URG-данные для TCP-соединения с портом 139 (NetBIOS Session/SMB), который приводит к зависанию Windows-системы.





Что представляют собой некоторые широко распространенные "сигнатуры атак"?


Существует три типа атак:

Разведка. Эти атаки включают ping sweeps, передачу DNS-зоны, разведку с помощью e-mail, сканирование TCP или UDP-портов и, возможно, анализ общественно доступных серверов с целью нахождения cgi-дыр.

Exploit. Нарушители будут использовать преимущества скрытых возможностей или ошибок для получения несанкционированного доступа к системе.

Атаки типа "отказ в обслуживании" (Denial of Service, DoS) Когда нарушитель пытается разрушить сервис (или компьютер), перегрузить сеть, перегрузить центральный процессор или переполнить диск. Нарушитель не пытается получить информации, а просто действует как вандал, стараясь вывести вашу машину и строя.



Что происходит после того, как NIDS обнаруживает атаку?


Реконфигурация МСЭ

Сконфигурируйте МСЭ так, чтобы отфильтровать IP-адрес хакера. Однако, это по-прежнему позволяет хакеру осуществлять атаки с других адресов. Компания Checkpoint имеет стандарт OPSEC для реконфигурации МСЭ путем блокирования атакующего IP-адреса. МСЭ компании Checkpoint поддерживает "Протокол мониторинга подозрительной деятельности" (Suspicious Activity Monitoring Protocol, SAMP) для конфигурирования своего межсетевого экрана.

Звуковой сигнал

Звуковой сигал или воспроизведение .WAV файла. Например, вы можете услышать запись "Вы атакованы".

SNMP Trap

Посылка управляющей SNMP-последовательности на консоль управления типа HP OpenView, Tivoli TNE, Cabletron Spectrum и т.д.

NT Event

Сохранение информации о событии в журнале регистрации Windows NT Event Log.

syslog

Сохранение информации о событии в журнале регистрации syslog UNIX.

Посылка e-mail

Посылка администратору уведомления об атаке по e-mail.

Сообщений на пейджер

Посылка администратору уведомления об атаке на пейджер.

Регистрация атаки

Сохранение информации об атаке (время, IP-адрес хакера, IP-адрес атакованной машины/порта, информация о протоколе).

Сохранение свидетельств

Сохранение tracefile-файла необработанных (raw) пакетов для последующего анализа.

Запуск программы

Запуск заданной программы для обработки события

Отключение TCP-сессии

Создание TCP FIN-пакета (или RST) для того, чтобы автоматически завершить соединение.



Что такое "система обнаружения атак на сетевом уровне (NIDS)"?


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

"Система обнаружения атак (Intrusion Detection System, IDS)" - это система, предназначенная для обнаружения таких атак. В контексте настоящего FAQ IDS можно разбить на следующие категории:

Системы обнаружения атак на сетевом уровне (Network IDS, NIDS) контролирует пакеты в сетевом окружении и обнаружить попытки злоумышленника проникнуть внутрь защищаемой системы (или реализовать атаку типа "отказ в обслуживании"). Типичный пример - система, которая контролирует большое число TCP-запросов на соединение (SYN) со многими портам на выбранном компьютере, обнаруживая, таким образом, что кто-то пытается осуществить сканирование TCP-портов. Система обнаружения атак на сетевом уровне (NIDS) может запускаться либо на отдельном компьютере, который контролирует свой собственный трафик, или на выделенном компьютере, прозрачно просматривающем весь трафик во сети (концентратор, маршрутизатор, зонд). Отметим, что "сетевые" IDS контролируют много компьютеров, тогда как другие системы обнаружения атак контролируют только один (тот, на котором они установлены).

Системы контроля целостности (System integrity verifiers, SIV) проверяют системные файлы для того, чтобы определить, когда злоумышленник внес в них изменения. Наиболее известной из таких систем является "Tripwire".

Мониторы регистрационных файлов (Log-file monitors, LFM) контролируют регистрационные файлы, создаваемые сетевыми сервисами и службами. Аналогично NIDS, эти системы ищут известные сигнатуры, только в файлах регистрации, а не в сетевом трафике, которые указывают на то, что злоумышленник осуществил атаку. Типичным примером является синтаксический анализатор для log-файлов HTTP-сервера, который ищет хакеров, пытающихся использовать хорошо известные уязвимости, например, используя атаку типа "phf".

Обманные системы (deception systems), которые работают с псевдо-сервисами, цель которых заключается в воспроизведении хорошо известных уязвимостей для того, чтобы обмануть злоумышленников. В качестве примера можно назвать систему The Deception Tool Kit ().



Другие источники


Страница Michael Sobirey's Intrusion Detection Systems ()

Страница Purdue COAST IDS ()



Если у меня есть МСЭ, нужно ли мне обнаружение атак?


Да, по многим причинам. Некоторые из причин:

Вы никогда не узнаете, когда ваш МСЭ неправильно сконфигурирован, и что хакеры проникли в вашу сеть, если у вас нет системы обнаружения атак.

Вы никогда не узнаете, когда хакеры пытаются атаковать вашу сеть (за исключением редких случае - примечание переводчика).

Большинство корпоративных атак идут с внутренней стороны сети



Если у меня есть система обнаружения атак, нужен ли мне МСЭ?


Несомненно. Каждой корпорации требуется хорошее управление, одна точка входа в сеть. Хакеры всегда запускают автоматические программы (типа SATAN) на сеть Internet в поисках уязвимостей. Без МСЭ эти автоматические программы могут обнаруживать и незаметно использовать дыры.



Где я могу найти самую последнюю информацию о новых дырах защиты?


5.1.1 CERT (Computer Emergency Response Team)

Если есть какая-нибудь проблема с защитой, вы обязательно, в конце концов, узнаете о ней, когда она появится в CERT advisory. Координационный центр CERT (Computer Emergency Response Team) был организован большим количеством университетов и DARPA в ответ на червь Морриса в 1988. Для большей информации смотрите: .

5.1.2 AUSCERT (AUStralian Computer Emergency Response Team)

AUSCERT - это австралийская команда реагирования на компьютерную опасность AUStralian Computer Emergency Response Team. Для информации о регистрации обратитесь на их сервер:

Для получения более детальной информации свяжитесь непосредственно с AUSCERT по адресу: .

5.1.3 CIAC (Computer Incident Advisory Capability) Департамента Энергетики США

Имеет большое количество полезных консультантов. Для большей информации смотрите: .



Где мне разместить NIDS в своей сети?


Сетевой периметр

IDS наиболее эффективна на сетевом периметре с обоих сторон межсетевого экрана, близко к dial-up серверу и на соединении с сетью партнеров. Эти соединения, как правило, низкоскоростные, так что IDS не снижает их пропускной способности.

Магистраль WAN

Другой важной точкой расположения NIDS является глобальная магистраль. Частая проблема - атака на сеть из удаленной точки. Так как эти соединения также низкоскоростные, то IDS не снижает их пропускной способности.

У важного узла

Иногда NIDS устанавливают перед критичными серверами (например, сервер баз данных - примечание переводчика) для контроля трафика с этим сервером. (К такому варианту размещения можно отнести и использование IDS в демилитаризованной зоне (DMZ) или у модемного пула - примечание переводчика). Однако в данном случае проблема состоит в том, что трафик во внутренней сети передается с большей скоростью, чем в сети внешней, что приводит к неспособности IDS справляться со всем трафиком и, как следствие, снижению пропускной способности локальной сети. Именно поэтому NIDS ставят перед конкретным сервером, контролируя только определенные соединения. (В таких случаях иногда предпочтительнее установить систему обнаружения атак на уровне хоста, которая устанавливается на каждый защищаемый сервер и обнаруживает атаки именно на него - примечание переводчика).

Магистраль локальной сети

IDS непрактичны во внутренней сети из-за неспособности контролировать высокоскоростной трафик. Некоторые производители интегрируют IDS с коммутаторами и маршрутизаторами (например, ODS Network и CISCO - примечание переводчика). Система обнаружения атак, выполняющая полный разбор пакетов, вряд ли сможет быть применена в высокоскоростных сегментах LAN. Упрощенный вариант NIDS, который позволяет обнаруживать только простейшие атаки, возможно, будет более эффективным выбором.



История версий


Версия 0.3, 1 января 1999 года

Небольшие изменения

Версия 0.2, 1 ноября 1998 года

Небольшие изменения

Версия 0.1, 1 августа 1998 года

Первая версия



Как я должен ответить, когда мне


В списке рассылки по системам обнаружения атак как-то спросили, как они должны ответить на следующий e-mail:

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

Nov 6 07:13:13 pbreton in.telnetd[31565]: refused connect from xx.xx.xx.xx

Эта запись была сгенерирована TCP Wrappers. Она показывает попытку несанкционированного доступа с вашего компьютера на указанный узел.

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

Кто-то напечатал "telnet xx.xx.xx.xx" и IP-адрес неправильно напечатан. Кто-то хотел напечатать "telnet xx.xx.xx.xx 25" для соединения со службой SMTP для осуществления спама или иных действий. Этот кто-то мог забыть указать "25" или неправильно набрать номер порта. Кто-то мог фактически зондировать целевые компьютеры в ответ на спам. Я лично для отслеживания источника спама просматриваю информацию finger, rusers и т.д. Возможно, была зафиксирована обычная ошибка.

Имеются и другие менее вероятные возможности:

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

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

Законный IP-адрес целевого компьютера (хотя он не так интересен). Ваш собственный IP-адрес (вышеупомянутое сообщение было послано postmaster'у или иному известному адресату, но скорее всего ответите на него с Вашего собственного адреса). Ваш уровень готовности: если Вы ответили "мы не можем принять соответствующие меры, потому что у нас нет регистрационных файлов", то нарушитель понимает, что Вы лакомый кусок для атак. Это может быть "спам типа социальный инжиниринг". Отправителем сообщения может быть компания, продающая системы обнаружения атак.

Есть и положительные стороны от такого письма (особенно если вы не нашли ему подтверждения). Вы сможете проверить насколько эффективно работает ваша система регистрации и аудита. Если она отключена, то настало время включить ее.



Как я могу улучшить обнаружение атак/защиту под ОС Windows 95/Windows 98?


В этой части предполагается, что вы являетесь домашним пользователем, использующим Win95/Win98 для доступа к сети Интернет. Win95/Win98 не имеет возможностей аудита или создания регистрационных записей, вам действительно потребуется обновить ее до WinNT, если вы используете систему для каких-либо серьезных целей.

Установите самые последние патчи (несомненно).

Отключите совместное использование принтера. Когда совместное использование принтера включено, система создает разделяемый ресурс PRINTER$, который позволяет удаленным системам получать доступ к драйверам принтера из локальной директории system32. К сожалению, это позволяет удаленным системам получать доступ и к другим файлам, не имеющим никакого отношения к драйверам, таким как файл паролей Windows 95 (комбинированный с другими ошибками Win95).

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

(еще больше информации будет потом)

Джон Козубик предлагает следующие меры по защите корпоративных пользователей. Т.к. ОС Windows 95/98 очень уязвимы, то они обеспечивают базовую площадку для проникновения на другие компьютеры сети. Windows 95 кэширует пароли в легко читаемом формате, поэтому файлы, содержащие эти пароли должны быть удалены.

del c:\windows\*.pwl

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

REGEDIT /s \\MY_PDC\netlogon\nocache.reg

где, "nocache.reg" содержит:

REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Network] "DisablePwdCaching"=dword:00000001



Как я могу усилить обнаружение атак/защиту предприятия?


Первое и самое главное, создайте политику безопасности. Предположим, что вы наблюдаете за сетью поздно вечером и вы видите, что развивается атака. Что вы делаете? Вы позволяете атаке развиться и собираете данные? Вы отсоединяете свою сеть от Internet? Если так, вы выдергиваете штекер на МСЭ между intra- и extra- сетью? Или вы полностью отключаете соединение с сетью Интернет (препятствуя доступу пользователей на ваш Web-сервер)? Кто имеет полномочия вытаскивать штепсель?

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

Как только вы точно определили приоритеты, вам необходимо понять технологию. Это описывается в следующей секции.



Как я могу усилить обнаружение атак/защиту под ОС UNIX?


Не инсталлируйте больше сервисов, чем надо. Я установил все из моего RedHat Linux дистрибутива и теперь машина светится, как новогодняя елочка, когда я осуществляю сканирование портов. Я уже нашел несколько дыр на этой (тестовой) машине, которые я могу использовать для проникновения внутрь нее.

Используйте 'netstat' или TCP/UDP сканер и 'rpcinfo' для получения перечня всех сервисов на вашей машине. Опять же, убедитесь, что все, что вы не совсем точно понимаете, отключено.

(еще больше информации будет потом; откровенно, я давно занимаюсь администрированием Windows NT - поэтому мои профессиональные знания по Unix слабы).

Прочитайте ftp://ftp.auscert.org.au/pub/auscert/papers/unix_security_checklist.


ОС Macintosh является более защищенной, чем Windows 95, которая является более защищенной, чем UNIX. Причина заключается в том, что Macintosh представляет собой систему 'конечного пользователя', и поддерживают небольшое число сервисов, которые могут быть использованы хакерами. Наоборот, UNIX-машины повально используются в качестве серверов, с несколькими приложениями конечного пользователя. Windows NT живет одновременно в двух мирах. Как результат, Macintosh занимают последнее места в списке потенциально уязвимых ОС.



Как мне собрать достаточно доказательств о деятельности хакера?


NIDS собирает немало информации для идентификации злоумышленника. Однако высококвалифицированные хакеры используют различные методы для скрытия своего реального местоположения. Например, использования уже скомпрометированной системы в качестве площадки для дальнейших атак. Или подмена IP-адреса, что приводит к тому, что атака как бы исходит от компьютера, который даже может быть не включен.

Лучше всего собирать настолько много информации, насколько это возможно. Я, например, использую программу-сниффер в своей T-1-сети и храню все журналы регистрации на диске объемом 16 Гбайт. Вы можете посчитать это забавным, но я часто просматриваю эти данные. Удивительно как много попыток TCP\UDP-сканирования я постоянно вижу.

Также вы должны быть уверены, что в ваших системах "смотрящих" в Internet включена подсистема аудита и регистрации. Она поможет Вам разобраться, если вас атакуют.



Как называют лиц, которые пытаются взломать или скомпрометировать систему?


Есть два слова для описания нарушителя: хакер (hacker) или взломщик (cracker). Хакер - это общее определение для человека, который хочет вмешаться в события. Добрый хакер - это человек, которому нравится проникать в собственный компьютер и который пытается понять, каким образом он работает. Злой хакер - это человек, которой нравится проникать в системы других людей. Добрые хакеры хотят, чтобы средства массовой информации прекратили обзывать всех "хакерами" и использовали вместо этого термин "взломщик". К сожалению, этого не происходит. В любом случае в этом FAQ используется термин "intruder" ("нарушитель") для обобщенного обозначения любого, кто пытается проникнуть в ваши системы.

Нарушители могут быть разбиты на две категории.

Outsiders - это нарушители из сети Internet, которые атакуют ваши внутренние ресурсы (удаление информации на корпоративном Web-сервере, пересылка спама через почтовый сервер и т.д.) и которые временами обходят ваш межсетевой экран (МСЭ) для того, чтобы проникнуть в вашу внутреннюю сеть. Злоумышленники могут атаковать из Internet, через модемные линии, через физическое подключение к каналам связи или из сети партнеров (поставщиков, заказчики, дилеры и т.д.).

Insiders - это те, кто находится внутри Вашей сети, и имеют полный доступ к вашим серверам. Они включают пользователей, неправильно использующих свои привилегии, или исполняющих роль привилегированного пользователя (например, с привилегированного терминала). Исследования показывают, что 80% дыр защиты создаются именно insiders. Заметим, что МСЭ не обеспечивают защиты против них.

Существует несколько типов нарушителей: Joy riders (Любители веселых прогулок в чужом автомобиле) из-за того, что они могут. Vandals (Вандалы) вызывают разрушения или оставляют свои следы на ваших Web-страницах. Profiteers (Спекулянты) намереваются получить прибыль от своих действий, таких как кража корпоративных данных и их продажа.



Какие бесплатные системы обнаружения атак доступны?


Наиболее полный список систем обнаружения атак можно получить по адресу: .

4.1.1 Network Flight Recorder (NFR)

Анализатор пакетов под UNIX, основанный на libcap/tcpdump. Насколько я знаю, NFR поставляется с небольшим число сигнатур атак, но так как исходный текст NFR доступен, то многие специалисты сами пишут фильтры для нее. (Однако не многие специалисты имеют необходимый опыт и время для такой работы - примечание переводчика). Общее описание можно найти по адресу .

4.1.2 Bro

Система обнаружения атак Vern Paxson's Bro. Также основана на libcap. Я не слышал о фактах применения этой системы. Более подробную информацию можно получить в: .

4.1.3. AAFID

Идея распределенного агента для обнаружения атак, предложенная COAST. Я не знаю, сколько в этой идее вымысла, а сколько реальности.

4.1.4. Shadow

Я думаю, что это проект используемый в Вооруженных силах США для обнаружения атак. Имеется интересный документ () в котором описаны случаи распределенных в пространстве атак, обнаруженных этой системой.

4.1.5. Argus

Это не система обнаружения атак. Однако, она контролирует сетевые пакеты и события в журналах регистрации. Вы можете затем обрабатывать эти данные для обнаружения атак.

См. для большей информации или

4.1.n Другие

Nnstat



Какие другие кроме NIDS существуют контрмеры?


Межсетевые экраны

Многие люди думают о межсетевых экранах, как о первой и единственной линии обороны. Это означает, что если злоумышленники смогут обойти ее (что просто реализуется , тем более что атак совершается сотрудниками компании), то они будут неконтролируемыми внутри корпоративной сети. Лучшим подходом было бы думать, что МСЭ - это последняя линия обороны. Вы в первую очередь должны правильно конфигурировать свои компьютеры и использовать обнаружение атак. И только потом устанавливать межсетевой экран. Помните, что практически любой современный маршрутизатор обладает функциями межсетевого экрана.

Аутентификация

Вы должны использовать системы анализа защищенности, которые автоматизируют поиск учетных записей без паролей. Вы должны использовать пароли не менее чем из 7 символов (включая цифры, пунктуацию и символы в верхнем и нижнем регистрах), используя для их проверки специальные программы встроенные в операционные системы или дополняющие их (PASSFILT.DLL для Windows NT и Crack для Unix - примечание переводчика). Вы также можете использовать системы Single-Sign On или интегрировать системы типа RADIUS/TACACS в Unix или Windows NT, а также использовать встроенные возможности (например, Kerberos в Windows 2000). Эти системы аутентификации помогут устранить опасность использования паролей, передаваемых "открытым текстом" по протоколам Telnet, FTP, IMAP, POP и т.д.

VPN (Virtual Private Networks)

VPN создает защищенное соединение через Internet. Сейчас это используют многие технологии. Например, протокол PPTP создает зашифрованное соединение по PPP над TCP (некорректный пример, особенно после нахождения "дыры" в реализации PPTP в Windows - примечание переводчика). Новая версия IPsec дополняет традиционный IP новыми механизмами защиты.

Шифрование

Шифрование становится все более популярным. Вы можете шифровать электронную почту, шифровать файлы или шифровать всю файловую систему (последний вариант является наилучшим).

(Другие методы

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



Какие есть другие ресурсы по защите информации?


5.2.1 Purdue's COAST -архив

Если вы хотите найти сервер в Internet с самым большим количеством информации по защите, обратитесь по адресу:

5.2.2 SANS-Институт

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

5.2.3 L0pht Heavy Industries

Есть некоторые хакеры с достаточно хорошими инструментами и полезными системами уведомления (тревоги), нацеленными на Windows. Для большей информации смотрите:

5.2.4 Технические контрмеры против атак

Мне нравится этот сервер; он сдержит массу хорошо организованной информации по атакам. Для большей информации смотрите:

5.2.5 Список рассылки по системам обнаружения атак

Пошлите строку subscribe ids в теле сообщения электронной почты по адресу:



Какие есть ограничения у систем обнаружения атак?


Рассмотрим следующие ограничения:

Подмена адреса/посредничество: Одна из целей обнаружения атак заключается в том, чтобы указать пальцем на того, кто вас атакует. Это может оказаться трудным по целому ряду причин. В случае 'smurf'-атаки, например, вы получаете тысячи ответов на запрос, который вы никогда не посылали. NIDS как раз и обнаруживает эти ответы, но не может обнаружить того, кто послал поддельный пакет. При предсказании номера ТСР-последовательности (TCP Sequence Number Prediction) поддельные IP-адреса используются так, чтобы NIDS не могла точно определить откуда действует хакер. В конце концов, большинство хакеров будут 'хвастаться' своими атаками через FTP или Web- procy-сервера, или организовывать свои атаки с других серверов, которые они уже взломали. Таким образом, найти того, кто атакует ваш сервер будет очень трудно, не поможет и конфигурирование фильтров IP-адресов в вашем МСЭ.

Ограничения по ресурсам: NIDS страдает от того факта, что она требует немалые ресурсы для удержания хакеров. Большинство NIDS разбирает TCP-потоки, но немногие из них разбирают пакеты (из-за требуемых ресурсов центрального процессора и оперативной памяти). Нарушители, которые фрагментируют свои пакеты, часто могут остаться необнаруженными. Аналогично, хакеры могут потратить месяцы, медленно зондируя сеть. Опять же, NIDS не имеют достаточно ресурсов для того, хранить журналы регистрации очень долго для того, чтобы сравнивать прошедшие события с событиями, которые имеют место в настоящий момент во время атаки. В конце концов, несмотря на то, что устройства, работающие в режиме "прослушивания" (promiscuous) трафика могут поддерживать T-1-соединения с сетью Интернет, им требуется гораздо больше времени в случае 100 Мбит/сек или гигабитных скоростей на главной магистрали.



Какие инструменты используют хакеры для проникновения в мои системы?


4.3.1 UNIX-утилиты

Эти утилиты либо поставляются вместе со знаменитой UNIX-платформой, либо могут быть загружены бесплатно.

ping

чтобы определить "жив" ли атакуемый хост

traceroute

чтобы найти маршрут к атакуемому хосту

nslookup/dig

чтобы открыть всю вашу DNS информацию

whois

чтобы найти информацию о регистрации в Internic

finger

чтобы определить, кто входил в атакуемую систему, или найти информацию о пользователях

rpcinfo

чтобы определить, какие RPC-сервисы запущены

showmount

чтобы отобразить все разделяемые ресурсы машины

SAMBA

Отображает информацию о совместно используемых ресурсах Windows NT SMB

telnet

позволяет вам подключаться и "играть" с любым тексто-ориентированным протоколом (HTTP, FTP, SMTP и т.д.)

4.3.2 WinNT-утилиты

Все из UNIX-утилит, упоминавшихся выше, могут быть использованы вместе с Windows NT. Есть также некоторые утилиты, характерные только для Windows NT.

nbtstat

показывает NetBIOS информацию об удаленной машине

net view

это LANMAN-программа, которая позволяет вам дистанционно просматривать совместно используемые ресурсы сети Windows NT

4.3.3 Специальные утилиты для хакерской деятельности

Стандартный набор инструментов для хакера

netcat

характеризуется как швейцарский армейский нож для "TCP/IP", позволяющий хакерам создавать скрипты взаимодействия по различным протоколам, особенно по тексто-ориентированным протоколам.

crack / NTcrack / L0phtCrack / и т.д.

Позволяет взламывать сетевые пароли (атаки по словарю или подбор пароля). Эти пакеты также содержат утилиты для выгрузки паролей из баз данных и перехват их из сети.

Sniffing утилиты

Для просмотра необработанного трафика, такие как Gobbler, tcpdump или даже Sniffer© Network Analyzer такой честной перед богом компании, как Network Associates

TCP и UDP сканеры портов

Для сканирования/зондирования доступных портов. Сканеры портов могут также запускаться в большом количестве смешанных режимов для того, чтобы избежать регистрации.

Ping sweepers


Для обнаружения активности большого количества компьютеров.

Exploit packs

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

Средства дистанционного анализа защищенности

Такие как SATAN, которые ищут большое количество хорошо известных уязвимостях в компьютерах во всей сети.

War dialers

Которые осуществляют большое количество телефонных звонков в поисках модемных номеров.

NAT (NetBIOS Audit Tools)

Основан на исходном коде SAMBA и является полезным для получения информации NetBIOS/SMB с Windows и SAMBA-серверов.

Сканеры

Программы (типа SATAN, ISS, CyberCop Scanner) которые ищут уязвимости в системах. Они автоматизируют поиск большого числа уязвимостей, обеспечивая хакера большими результатами с минимальными затратами.



Какие коммерческие системы обнаружения атак являются доступными?


Имеется таблица, собранная из различных источников.

Название Производитель Протокол Интерфейс Сервисы Web-сервер Тип обнаружения атак ОС Реагирование Примечание
RealSecure Internet Security Systems, Inc. TCP/IP Ethernet, Fast Ethernet, FDDI, Token Ring SMB, NFS, DNS, HTTP, FTP, Telnet, SNMP, SMTP, RPC На уровне сети
На уровне хоста
Windows NT, Unix E-mail, консоль, пейджер, телефон, SNMP, реконфигурация МСЭ и маршрутизаторов, блокировка учетных записей, завершение соединения Первая система, которая получила распространение в России
OmniGuard Intruder Alert Axent Technologies Не применимо Не применимо Журналы регистрации, события от маршрутизаторов Cisco, su, события от МСЭ На уровне хоста Windows NT, Unix, Netware Пейджер, e-mail 
NetRanger Cisco Systems TCP/IP Ethernet, Fast Ethernet, FDDI, Token Ring SMB, NFS, DNS, HTTP, FTP, Telnet, SNMP, SMTP, RPC На уровне сети Solaris Пейджер, e-mail, консоль Система была разработана компанией WheelGroup, которую приобрела корпорация Cisco.
Kane Security Monitor Security Dynamics Не применимо Не применимо Журналы регистрации, БД NT SAM, реестр NT На уровне хоста Windows NT, Netware Пейджер, консоль, звуковой сигнал, e-mail Система была разработана компанией Intrusion Detection, которую приобрела корпорация Security Dynamics
Network Flight Recorder NFR TCP/IP Ethernet, Fast Ethernet, FDDI DNS, HTTP, FTP, Telnet, SMTP, RSH На уровне сети Unix Пейджер, факс, консоль, e-mail 

4.2.1 CyberCop компании Network Associates

Я вижу, что многие люди неправильно информированы относительно CyberCop. Первоначально CyberCop был создан в компании Network General (разработчиками программы Sniffer) на основе технологии обнаружения атак, лицензированной у компании WheelGroup. CyberCop использовал Web/Java интерфейс. Network Associates купила Network General (точнее McAfee Associates и Network General объединились - примечание переводчика), а Cisco купила компанию WheekGroup. По неизвестной причине Cisco отказалась возобновлять лицензионное соглашение (потому что компания Cisco выпускает конкурирующую систему обнаружения атак NetRanger - примечание переводчика) и насколько мне известно Network Associates больше не предлагает CyberCop.


Однако NAI любит название CyberCop и использует его для новых продуктов. У компании Secure Networks она приобрела систему анализа защищенности Ballista и назвала ее CyberCop Scanner.

Также NAI предлагает систему, называемую CyberCop Server, которая относится к классу систем обнаружения атак на уровне хоста и функционирует под управлением Sun и Windows NT. Я думаю, что этот продукт основан на системе Stalker, разработанной компанией Haystack и приобретенной компанией NAI.

Для большей информации смотрите: .

4.2.2 RealSecure компании Internet Security Systems, Inc. (ISS)

Это единственное ПО, работающее на большом количестве Windows и UNIX-платформ. Для большей информации смотрите: . Система создана в 1996 году. (Обнаруживает атаки, как на уровне сети, так и на уровне операционной системы - примечание переводчика).

4.2.3 NetRanger компании WheelGroup/Cisco

В отличие от Cybercop и RealSecure, которые контролируют трафик в режиме прослушивания трафика (promiscuous), NetRanger - это маршрутизатор, который просматривает трафик, проходящий через него. Компания WheelGroup в 1998 была куплена Cisco, поэтому можно предположить, что вы увидите это ПО, представленное во всех других маршрутизаторах последней (или в межсетевом экране Pix - примечание переводчика). Для большей информации смотрите: .

4.2.4 Netective компании Netect

Для большей информации смотрите: .

4.2.4 SessionWall-3 компании AbirNet/Memco

Для большей информации смотрите: .

4.2.5 ID-Trak компании Internet Tools

Для большей информации смотрите: .

4.2.6 SecureNet Pro компании MimeStart

Для большей информации смотрите: .

4.2.8 Kane Security Monitor (KSM) компании Security Dynamics

Система создана в 1996.

4.2.7 Network Flight Recorder

Более конфигурируемый набор инструментов, чем plug-and-play система обнаружения атак. Система создана в 1998 году.



Какие места являются интересными?


Вот несколько мест, которые собирают информацию с других серверов. Наверное стоит взглянуть.

5.3.1 NIH security site

Для большей информации смотрите:

5.3.2 NTSecurity.net

Для большей информации смотрите: .



Какие наиболее распространенные процессы сканирования с целью разведки?


1.9.1 Ping sweeps

В течение этого простого процесса сканирования диапазон IP-адресов анализируется утилитой ping с целью определения активных компьютеров. Заметим, что большинство более сложных сканеров будет использовать другие протоколы (такие как SNMP sweep), чтобы делать ту же самую вещь.

1.9.2 TCP-сканирование

Зондирования открытых TCP-портов в поисках сервисов, которые может использовать нарушитель. Сеансы сканирования могут использовать обычные TCP-соединения или скрытые (stealth) сеансы сканирования, которые используют наполовину открытые соединения (с тем, чтобы защитить их от регистрации в журналах) или FIN-сеансы сканирования (никогда не открывают порт, но тестируют, если что-то прослушивается). Сеансы сканирования могут быть либо последовательными, либо случайными, либо сконфигурированы по перечню портов.

1.9.3 UDP-сканирования

Эти сеансы сканирования являются несколько более трудными, потому что UDP - протокол без установления виртуального соединения. Метод заключается в том, чтобы послать "мусорный" UDP-пакет к намеченному порту. Большинство машин будут реагировать с помощью ICMP-сообщения "destination port unreachable", указывающего, что на данном порту нет прослушиваемого сервиса. Однако, многие компьютеры "душат" ICMP-сообщения, поэтому вы не сможете осуществлять очень быстрое UDP-сканирование.

1.9.4 Идентификация ОС

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



Какие проблемы встречаются у IDS?


См. документ по адресу для знакомства с этими проблемами.

6.1.1 Распределенное по времени сканирование

Из-за большого объема сетевого трафика NIDS с трудом поддерживают регистрацию продолжительного трафика. Таким образом, трудно обнаруживать "распределенное по времени сканирование" (ping sweeps или port scans), при котором нарушители сканируют один порт/адрес каждый час.

6.1.2 Загруженные сегменты

В настоящее время NIDS не могут поддерживать сильно загруженные сегменты, например, 100-Мбит/сек. Таким образом, в то время как они являются подходящими для незначительно загруженных сетей или WAN-связей, они имеют проблемы с сильно загруженными сегментами.

6.1.3 Коммутируемые сети

Коммутируемые сети ставят множество проблем перед NIDS, а также перед сетевым анализом вообще. Есть много решений этой проблемы, но они не всегда являются удовлетворительными. Некоторые решения:

embed

Некоторые продукты внедрены непосредственно в сам коммутатор. Однако это просто усугубляет проблему, указанную выше, в случае сильно загруженных сегментов. Объединительные платы на задней панели коммутатора работают на скоростях несколько Гбит/сек.

monitor port

Многие коммутаторы имеют "monitor port" (span port, mirror port, managed port - примечание переводчика) для установки сетевых анализаторов. NIDS также может быть легко присоединена к этому порту. Очевидная проблема заключается в том, что порт запускается на гораздо более низкой скорости, чем объединительная плата на коммутаторе, поэтому NIDS не сможет увидеть весь трафик на сильно загруженном сегменте.

inter-switch соединение

Поскольку многие коммутаторы конфигурируются иерархическим образом, качественное обнаружение может быть обеспечения путем установки NIDS на соединения между коммутаторами. Однако большинство NIDS могут только обрабатывать ограниченный объем полосы пропускания, и вероятно насыщаются в таких случаях.

6.1.4 Скоординированные атаки с невысокой пропускной способностью

Иногда хакеры собираются вместе и запускают медленное сканирование с многочисленных IP-адресов. Это затрудняет диагностику атаки системой обнаружения атак.



Какие существуют свободно распространяемые системы обнаружения атак?


4.4.1. TCP Wrappers

TCP Wrappers - модуль для Unix, который функционирует между inetd и сетевыми сервисами (типа ftp, telnet и т.д.). Inetd передает информацию TCP Wrappers, который осуществляет аутентификацию по IP-адресу и регистрирует все соединения. Затем, если необходимо, TCP Wrappers вызывает соответствующий сервис.



Каким является типичный сценарий атаки?


Стадия 1: внешняя разведка. Нарушители собирают как можно больше информации об атакуемой системе, ничем себя не выдавая. Они могут делать это, собирая доступную информацию, или маскируясь под обычного пользователя. На этой стадии вы действительно не сможете обнаружить их. Нарушитель будет высматривать "кто есть кто", чтобы собрать как можно больше информации о вашей сети, которая зарегистрирована вместе с вашим доменным именем (таким как, например, microsoft.com). Нарушитель, возможно, пройдется по вашим DNS-таблицам (используя 'nslookup', 'dig' или другие утилиты, используемые для работы с DNS), чтобы найти имена ваших машин. Нарушитель будет разыскивать другую информацию для открытого использования, такую как ваши публичные Web- и FTP- сервера с анонимным входом. Нарушитель может просматривать новые статьи или пресс-релизы о вашей компании и т.д.

Стадия 2: внутренняя разведка. Нарушитель использует более сильные методы для получения информации, но по-прежнему не делает ничего вредного. Он может пройти через все ваши Web-страницы и посмотреть CGI-скрипты, которые очень часто подвергаются хакерским атакам. Он может запустить утилиту 'ping' для того, чтобы посмотреть какие компьютеры активны в сети. Он может провести сканирование UDP/TCP-портов на намеченных для атаки компьютерах для того, чтобы определить доступные сервисы. Он может запустить утилиты типа 'rpcinfo', 'showmount', 'snmpwalk' и т.д. для того, чтобы определить, какие службы являются доступным. В данный момент нарушитель ведет "нормальную" деятельность в сети и нет ничего, что могло быть классифицировано как нарушение. В этот момент NIDS могут сказать вам, что "кто-то дергает за ручки дверей", но пока еще никто не ломится в закрытую дверь.

Стадия 3: exploit. Нарушитель пересекает границу и начинает использовать возможные уязвимости на выделенных компьютерах. Нарушитель может попытаться скомпрометировать CGI скрипт, посылая команды shell в полях входных данных. Нарушитель может попытаться использовать хорошо известные уязвимости "переполнения буфера", посылая большое количество данных.
Нарушитель может начать проверку учетных записей с легко подбираемыми (или пустыми) паролями. Хакер может пройти через несколько стадий атаки. Например, если хакер смог получить доступ к учетной записи обычного пользователя, то затем он будет пытаться совершать дальнейшие подвиги для того, чтобы получить доступ к учетной записи супервизора root/admin.

Стадия 4: скрытие следов. На этой стадии хакер успешно проник в вашу сеть. Теперь цель хакера заключается в том, чтобы скрыть свидетельства атак путем исправления журналов регистрации. Они могут инсталлировать специальные утилиты, дающие им удаленный доступ, возможность замены существующих сервисов своими собственными "троянскими конями", или возможность создавать свои собственные учетные записи и т.д. Системы контроля целостности (SIV) могут часто обнаруживать нарушителя именно на этом этапе, отслеживая измененные системные файлы. Далее хакер будет использовать систему в качестве опорной площадки для проникновения в другие системы или компьютеры, поскольку большинство сетей имеет незначительное число средств для защиты от внутренних атак.

Стадия 5: прибыль. Нарушитель использует преимущества своего статуса для кражи конфиденциальных данных, злоупотребления с системными ресурсами (т.е. организует атаки в другие сайты с вашего сервера) или стирает Web-страницы.

Другой сценарий начинается по-другому. Скорее это атака на конкретный сервер, и нарушитель может просто просканировать случайный адрес в сети Internet, пытаясь найти конкретную дыру. Например, нарушитель может попытаться просканировать всю сеть Интернет в поисках машин, которые имеют дыру SendMail DEBUG. Они просто атакуют те компьютеры, которые находят. Они не нацеливаются непосредственно на Вас, и они в действительности просто даже не хотят знать, кем вы являетесь. (При заданном перечне хорошо известных уязвимостей и перечне IP-адресов, есть хороший шанс, что есть несколько машин, которые имеют хотя бы одну из этих уязвимостей).



Каким образом я могу реализовать систему обнаружения атак на своем предприятии?


Подумайте о том, каким образом вы можете сконфигурировать следующие системы для того, чтобы обнаруживать нарушителей:

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

Сервисы, такие как Web-сервера, SMTP-сервера и базы данных, также включают функции регистрации и аудита. Более того, есть много инструментов, которые могут быть использованы для анализа этих файлов с целью обнаружения сигнатур атак.

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

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

Межсетевые экраны обычно имеют некоторые возможности по обнаружению сетевых атак. Кроме того, блокирование атак - это их главная цель, которую было бы глупо не использовать.

Платформы управления сетью (такие как, например, OpenView) имеют механизмы для того, чтобы помочь сетевым менеджерам установить варианты реагирования о подозрительной деятельности. Как минимум, все SNMP-устройства должны посылать "Authentication Failure" traps на консоль управления и должны извещать администраторов, когда это происходит.



Каким образом я могу улучшить обнаружение атак/защиту под ОС Windows NT?


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

Инсталлируйте самую последнюю версию service packs и "hot fixes". Они перечислены по адресу http://www.microsoft.com/security/. Если вы используете WinNT 4.0 и у вас нет инсталлированного Service Pack #3 (SP3), нарушитель может проникнуть внутрь вашей системы. ИНСТАЛЛЯЦИЯ: Используйте файловую систему NTFS вместо FAT. NTFS допускает, чтобы права доступа устанавливались на каждый файл/директорию. NTFS также позволяет проводить аудит для каждого файла/директории. Заметим, что много людей рекомендуют использовать FAT в качестве загрузочного дисковода и NTFS для всех остальных дисководов (вследствие простоты использования DOS для устранения проблем на FAT-дисководе). Однако использование NTFS для всех драйверов определенно является более безопасным. USRMGR: Переименуйте учетную запись "administrator". Наиболее распространенная атака заключается в использовании атаки по словарю или "подбор пароля" на учетную запись "administrator". Обычные учетные записи могут быть сконфигурированы на автоматическую (и временную) "блокировку" после нескольких неудачных попыток подбора пароля. Однако, эта возможность не применима для учетной записи administrator, потому что это делает возможными атаки типа "отказ в обслуживании" (т.е. помешать администрированию компьютера путем блокировки учетной записи administrator). USRMGR: Создать новую учетную запись с именем "administrator" для фиксации попыток вторжения. USRMGR: Сделайте недоступным учетную запись "guest". Вы, возможно, также захотите переименовать эту учетную запись. Как только вы переименовали учетную запись с именем "guest", вы можете захотеть создать новую учетную запись, названную "guest" для фиксации хакерских атак. NTFS: Сделайте недоступным доступ на запись для группы "Everyone" в директорию %systemroot%/system32. REGEDT32: Включите аудит для контроля доступа к ключу "HKEY_LOCAL_MACHINE\Security" для того, чтобы обнаруживать удаленный доступ к системному реестру. ИНСТАЛЛЯЦИЯ: Не инсталлируйте все программные продукты в директорию "C:\WINNT".
Иногда нарушители могут получить доступ к файлам, если они знают название файла. Еще лучше, инсталлируйте все в C:\WINNT, затем переинсталлируйте всю в какую-нибудь другую директорию, затем запустите аудит внутри директории C:\WINNT, чтобы он предупредил вас, когда люди будут получать доступ к инсталлированным файлам. ИНСТАЛЛЯЦИЯ: Используйте загрузочный раздел (boot partition) только для загрузочных и системных файлов. Разместите данные и приложения на отдельном логическом диске. Также неплохая идея - отделить приложения от данных. ПАНЕЛЬ УПРАВЛЕНИЯ: Сделайте доступным функцию "Password Protected" в хранителе экрана. Самый лучший хранитель экрана - это "Blank Screen". Вы, возможно, думаете, что хранители экранов запускаются в процессе ожидания, но это не всегда так, поэтому вы можете улучшить характеристику вашего сервера, используя "Blank Screen". Это также снизит потребление мощности у монитора, особенно в тех, которые могут обнаруживать blank screen и самостоятельно отключаться. И, наконец, некоторые хранители экрана (например, PointCast) являются уязвимыми для атак. REGEDT32: Отключите автоматическое включаемое совместное использование ADMIN$, C$, D$, и т.д. через параметр "AutoShare" в реестре. Этот параметр находится в ключе "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters", и представляет "AutoShareServer" для Windows NT Server или "AutoShareWks" для Windows NT Workstation. Он имеет тип DWORD со значением '1' - доступно (default), или значением '0' - недоступно. Вам придется добавить значение самостоятельно, потому что его нет в реестре. REGEDT32: Отключите информацию об учетных записях и разделяемых ресурсах через анонимный доступ. Добавьте "RestrictAnonymous" типа DWORD со значением "1" к ключу "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA". Заметим, что если вы видите ошибку "Could not find domain controller for this domain." в момент установки доверенных связей с доменом, вам придется изменить их обратно. USRMGR: Если вы используете домен (а не рабочую группу), измените права пользователя "Access this computer from the network" на "Authenticated Users", а не на "Everyone".


Это сделает невозможным удаленный доступ через локальные учетные записи на вашем компьютере, и позволит осуществлять доступ только через учетные записи домена. PASSPROP: Позволяет блокировать учетную запись "administrator" для удаленного доступа. Это делает возможной ситуацию, когда удаленный нарушитель отключается после трех раз ввода неправильного пароля. После блокировки администратор может войти только локально на консоль системы. Также вы можете сделать полностью недоступным удаленный доступ администратора в USRMGR, удалив право "Access this computer from the network" из "Administrators", но это сделает невозможным все удаленное администрирование, что довольно сильно затруднит администрирование в крупном межсетевом окружении под управлением Windows NT.

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

regedit /s \\MY_PDC\netlogon\scrn.reg

В файл "scrn.reg" поместите текст:

REGEDIT4 [HKEY_CURRENT_USER\Control Panel\Desktop] "ScreenSaveTimeOut"="1800" "ScreenSaveActive"="1" "SCRNSAVE.EXE"="c:\winnt\system32\logon.scr" "ScreenSaverIsSecure"="1"

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



Каким образом нарушители получают пароли?


Нарушители получают пароли следующими путями:

Перехват открытого текста: Большое количество протоколов (Telnet, FTP, HTTP) используют передачу незашифрованные паролей при передаче по сети между клиентом и сервером. Нарушитель с помощью анализатора протоколов может "слушать" сеть в поисках таких паролей. Никаких дальнейших усилий не требуется; нарушитель может начать немедленно использовать эти пароли для регистрации в систему (сеть).

Перехват зашифрованного текста: Большинство протоколов, однако, использует некоторое шифрование паролей. В этих случаях нарушителю потребуется провести атаку по словарю или "подбор пароля" для того, чтобы попытаться провести дешифрование. Заметим, что вы по-прежнему не знаете о присутствии нарушителя, поскольку он/она является полностью пассивным и ничего не передает по сети. Взлом пароля не требует того, чтобы передавать что-нибудь в сеть, тогда как собственный компьютер нарушителя используется для аутентификации вашего пароля.

Повторное использование: В некоторых случаях нарушителям нет необходимости расшифровывать пароль. Они могут повторно передать зашифрованный пароль в процессе аутентификации.

Кража файла с паролями: Вся база данных пользователя обычно хранится в одном файле на диске. В ОС UNIX этим файлом является /etc/passwd (или некоторое зеркало этого файла) и в ОС Windows NT это SAM-файл. В любом случае, как только нарушитель получает этот файл, он/она может запускать программы взлома (описанные выше) для того, чтобы найти слабые пароли внутри данного файла.

Наблюдение: Одна из традиционных проблем при защите паролей заключается в том, что пароли должны быть длинными и трудными для расшифровки (для того, чтобы сделать Dictionary и Brute Force взломы неприемлемыми). Однако часто такие пароли очень трудно запомнить, поэтому пользователи записывают их где-нибудь. Нарушители могут часто обыскивать рабочие места пользователей для того, чтобы найти пароли, записанные на небольших клочках бумаги (обычно под клавиатурой). Нарушители могут также подглядывать пароли, стоя за спиной пользователя.

Социальный инжиниринг: Наиболее распространенный (удивительно успешный) метод - просто позвонить пользователю и сказать: "Привет, это Леха из отдела автоматизации. Мы пытаемся решить некоторые проблемы в сети, кажется, что они исходят от твоего компьютера. Какой пароль ты используешь?". Многие пользователи в такой ситуации называют свой пароль. (Во многих корпорациях существует политика, которая предписывает пользователям никогда не выдавать свой пароль, даже своим собственным подразделениям автоматизации, но этот метод по-прежнему является успешным. Одним из легких способов выполнить его заключает в звонке новичку, который работает менее месяца, и спросить у него пароль, затем взломать их, сделав это таким образом, что они долго будут помнить :-)



Каким образом нарушители проникают в системы?


Основные пути, по которым нарушители проникают в систему:

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

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

Удаленное вторжение. Этот тип хакерской деятельности подразумевает, что нарушитель пытается проникнуть в систему через сеть с удаленной машины. Этот нарушитель действует без каких-либо специальных привилегий. Существует несколько типов такой хакерской деятельности. Например, нарушитель тратит гораздо больше времени и усилий, если между ним или ей и выбранной машиной установлен МСЭ.

Заметим, что системы обнажения атак на уровне сети прежде всего имеют отношение к удаленному (дистанционному) вторжению.



Каким образом NIDS сравнивает сигнатуры с входящим трафиком?


Трафик состоит из IP-пакетов, проходящих через сеть. NIDS способна захватывать эти пакеты по мере их прохождения через сеть. NIDS состоит из специального TCP/IP-стека, который разбирает IP-пакеты и TCP-потоки. Затем они применяет некоторые из следующих методов:

Проверка стека протокола. Большое количество атак, таких как "Ping-Of-Death" или "TCP Stealth Scanning" используют, лежащие в основе всего стека протоколов TCP/IP, нарушения в IP, TCP, UDP и ICMP-протоколов для того, чтобы атаковать компьютеры. Простая проверка системы может показать недопустимые пакеты. Эта проверка может включать контроль допустимых, но подозрительных пакетов, таких как, например, несколько фрагментированных пакетов.

Проверка прикладных протоколов. Большое количество атак используют недопустимые режимы протоколов, например, "WinNuke", который использует недопустимые параметры NetBIOS-протокола. Для того чтобы эффективно обнаруживать эти атаки NIDS должна заново реализовать широкий ряд прикладных протоколов для того, чтобы обнаруживать подозрительные или недопустимые действия.

Создание новых регистрируемых событий NIDS может быть использована для расширения возможностей подсистемы аудита вашего ПО управлению сетью. Например, NIDS может просто регистрировать все протоколы на уровне приложения, используемые на компьютере. Системы регистрации событий в поступающем потоке данных (Windows NT Event Log, UNIX syslog, SNMP TRAPS и т.д.) могут затем сравнивать эти события с другими событиями в сети.



Каким образом обнаруживаются атаки?


Есть два основных способа обнаружения атак.

Распознавание сигнатуры является наиболее распространенным методом, при котором входящий/исходящий трафик сравнивается с известными "сигнатурами". Например, большое число TCP-соединений с различными портами указывает на то, что кто-то занимается сканированием TCP-портов.

Обнаружение аномалий является другим методом, когда отклонения от основного режима функционирования описываются такими параметрами как внезапное увеличение трафика, использование CPU, обращения к файлом и т.д.). Этот метод менее эффективный, чем распознавание сигнатуры, но имеет преимущество, которое заключается в том, что он может улавливать атаки, для которых нет сигнатур. Обнаружение аномалий с этой точки зрения является более теоретическим и представляет собой тему для интенсивных исследований (некоторые исследователи получают степень Ph.D. просто классифицируя сигнатуры), особенно в области нейронных сети, нечеткой логики или других методов искусственного интеллекта.

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



Какими являются некоторые наиболее распространенные варианты использования?


1.8.1 CGI-скрипты

CGI-программы являются незащищенными "по умолчанию". Типичные уязвимости включают прохождение зараженных данных непосредственно к командной оболочке, использование скрытых уязвимостей, конкретизирующих любое имя файла в системе, или, иначе, открывающих гораздо больше информации о системе, чем надо. Наиболее хорошо известная ошибка CGI - это 'phf'-библиотека, поставляемая вместе с NCSA httpd. 'Рhf'-библиотека может быть использована для получения любого файла с Web-сервера. Другие хорошо-известные CGI-скрипты, которые нарушитель возможно попытается использовать: TextCounter, GuestBook, EWS, info2www, Count.cgi, webdist,cgi, php.cgi, files.pl, nph-test-cgi, nph-publish, AnyForm, FormMail. Если вы видите, что кто-то пытается получить доступ к одному или всем из этих CGI-скриптов (и вы не используете их), то это ясно указывает на попытку вторжения.

1.8.2 Атаки на Web-сервер

Помимо выполнения CGI-программ, Web-сервера имеют другие возможные дыры. Большое количество Web-серверов (включая IIS 1.0 и NetWare 2.x) имеют "дыру", из-за которой название файла может включать ряд последовательностей "../" в названии пути для перемещения еще куда-либо в файловой системе и получения любого файла. Другая широко распространенная ошибка - это переполнение буфера в поле запроса или в одном из остальных HTTP-полей.

1.8.3 Атаки на Web-броузер

По-видимому, Web-броузеры компаний Microsoft и Netscape имеют уязвимости (хотя, конечно, в самых свежих версиях, насколько нам известно в данный момент, пока еще они не найдены. Что не отрицает их наличия - примечание переводчика). К таким атакам можно отнести URL-, HTTP-, HTML-, фрейм-, JavaScript-, Java- и ActiveX-атаки.

URL-поля могут стать причиной переполнения буфера, в процессе обработки в заголовке HTTP или выполнении в некоторой форме. Также старые версии Internet Explorer содержали ошибку, позволяющую выполнять файлы с расширением .LNK или .URL.

HTTP-заголовки могут использоваться для реализации атак путем передачи информации полям, которые не предназначены для приема этой информации.


HTML- теги часто могут быть использованы для атаки (например, MIME-переполнение в теге <EMBED> Netscape Communicator).

JavaScript делает возможной функцию "загрузка файла". В теории это действие безопасно, т.к. требует заполнения пользователем полей "имя файла" и нажатия кнопки submit. Однако, JavaScript может автоматизировать эту деятельность и, как следствие, хакер может выложить Web-страницу с указанным скриптом на свой сайт, и как только осуществляется переход пользователя на эту страницу, происходит загрузка указанных в скрипте файлов.

Фреймы могут также использоваться как часть атаки при помощи JavaScript или Java (например, хакер может создать фрейм размером 1х1 пиксел с враждебным кодом внутри).

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

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

1.8.4 SMTP (SendMail)-атаки

SendMail является чрезвычайно сложной и широко используемой программой, и как следствие, она является наиболее частым источником найденных уязвимостей. В прежние времена (времена червя Мориса), хакеры обычно использовали уязвимости в команде DEBUG или скрытой WIZ-характеристике для взлома протокола SMTP. В настоящее время они часто пытаются использовать переполнение буфера. SMTP также может быть использован в атаках с целью разведки, например, использование команды VRFY для определения имен пользователей на удаленной системе.

1.8.5 Доступ

Неудачные попытки регистрации, неудачные попытки доступа к файлам, взлом паролей, злоупотребление административными привилегиями.

1.8.6 IMAP



Пользователи запрашивают e-mail от серверов через IMAP-протокол (в противовес SMTP-передачам e-mail между серверами). Хакеры нашли большое количество ошибок в нескольких популярных IMAP-серверах.

1.8.7 IP spoofing

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

IP spoofing часто используется как часть различных атак:

SMURF

Исходный адрес при широковещательной передаче подделан таким образом, чтобы большое число машин ответила обратно жертве с данным исходным адресом, тем самым выводя ее из строя большим числом ответных пакетов ("отказ в обслуживании").

TCP sequence number prediction

При TCP-соединении выбирается порядковый номер последовательности, позволяющий восстанавливать пакеты в правильном порядке. Старые реализации стека TCP/IP выбирали предсказуемые порядковые номера, позволяя злоумышленникам создать TCP-соединение от имени поддельного IP-адреса, что потенциально позволяет обойти систему защиты.

DNS poisoning через предсказание последовательности

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

1.8.8 Buffer Overflows

Некоторые другие атаки типа "buffer overflow":

DNS overflow

DNS-серверу посылается длинное имя (больше чем 256 байт).

statd overflow

1.8.9 Атаки на DNS

DNS является важным компонентов сети и несанкционированный доступ к нему позволяет скомпрометировать доверенные соединения.

DNS cache poisoning

Каждый DNS-пакет содержит раздел Questions и раздел Answers. Уязвимые сервера будут доверять (и кэшировать) Answers, которые Вы посылаете серверам наряду с Questions. Многие, но не все DNS-сервера были исправлены в ноябре 1998 года.

DNS poisoning через предсказание последовательности

См. выше.

DNS overflow

См. выше.



Насколько опасны различные атаки?


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

Что более важно, существует проблема допустимой ответственности. Вы потенциально несете ответственность за повреждения, нанесенные злоумышленником, использующим ваш компьютер как базовую площадку для атаки. Вы должны доказать суду, что принимали "соответствующие" меры для защиты от хакеров. Например, к вашему компьютеру подключен модем, и доступ к привилегированным учетным записям не ограничен. Затем, если хакер через ваш компьютер вторгается в какой-нибудь банк, то вы можете быть задержаны за несоблюдение защитных мер на вашем компьютере. (Что характерно, с принятием нового Уголовного Кодекса, эта ситуация применима и в России. Статья 274 устанавливает ответственность за несоблюдение мер эксплуатации компьютерной техники - примечание переводчика).

Имеется хорошая публикация на эту тему, в которой описано в какой опасности вы находитесь, когда подключаетесь к Internet ().



Перевод


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

|



Почему нарушители могут проникать внутрь систем?


Программное обеспечение (ПО) всегда имеет ошибки и уязвимости. Системные администраторы и программисты никогда не могут отследить и исключить все возможные проблемы. Нарушителю же надо найти только одну "дыру", чтобы проникнуть внутрь.

1.4.1 Ошибки ПО

Ошибки ПО можно классифицировать следующим образом:

Переполнение буфера. Почти все уязвимости, о которых вы можете прочитать в прессе, связаны с этой проблемой. Типичный пример - программист, который хранения имени пользователя выделает только 256 символов. Несомненно, программист думает, что ни у кого не будет имени состоящего, из более чем 256 символов. Но хакер думает иначе, "Что произойдет, если я введу ложное имя пользователя длиннее 256 символов?" Где хранятся дополнительные символы? Если хакеры выполнят свою работу "правильно", они могут послать 300 символов, включая исполняемый код, который будет выполняться сервером, что может привести к опасным последствиям. Хакеры находят эти ошибки различными путями. Прежде всего, в Сети имеется исходный код для массы сервисов. Хакеры, как правило, просматривают этот код в поисках программ и утилит, имеющих проблемы с переполнением буфера. Во-вторых, хакеры могут и сами изучать программы с целью определить, имеют ли они какие-нибудь проблемы, хотя чтение двоичного кода является достаточно трудной задачей. В третьих, хакеры будут исследовать каждый участок программы, который работает с входными данными, и будут пытаться переполнить его с помощью случайных (произвольных) данных. Если программа выходит из строя, то появляется хороший шанс для проникновения внутрь. Отметим, например, что эта проблема является широко распространенной в программах, написанных на C/C++, но редкой в программах, написанных на языке Java.

Неожиданные комбинации. Программы обычно составляются с использованием многих слоев (уровней) кода, включая ядро операционной системы (ОС) в качестве основы для большой части других слоев. Нарушители могут часто посылать входные данные, которые являются бессмысленными для одного слоя (уровня), но много значащими для другого.
Наиболее распространенный язык для обработки входных данных пользователя на Web - PERL. Программы, написанные на PERL, как правило, будут посылать эти входные данные к другим программам для дальнейшей оценки. Наиболее распространенный хакерский метод - ввести строку типа "| mail < /etc/passwd". И она будет выполняться, потому что PERL "просит" ОС запустить дополнительную программу с этими входными данными. Однако ОС перехватывает символ '|' и запускает 'mail' -программу, которая передает нарушителю файл паролей по электронной почте.

Необрабатываемые входные данные. Большинство программ пишутся для обработки достоверных входных данных. Большинство программистов не учитывают ситуацию, когда кто-то вводит данные, не соответствующие спецификации.

Состязания. Большинство систем сегодня являют "многозадачными ". Это означает, что они могут выполнять одновременно более одной программы. Есть опасность, если двум программам требуется доступ к одним и тем же данным в одно и то же время. Представим себе две программы А и В, которым необходимо изменить один и тот же файл. Для того, чтобы модифицировать файл, каждая программа должна сначала загрузить файл в оперативную память, изменить содержание в памяти, затем скопировать из памяти обратно в файл. Состязание имеет место, когда программа A читает файл в памяти, а затем производит изменение. Однако, до того как А запишет файл, программа В вступит в действие и полностью прочитает/модифицирует/запишет в файл. Теперь программа A записывает свою собственную копию обратно в файл. Поскольку программа А начала свое копирование до того, как программа В сделала свои изменения, все эти изменения, сделанные программой В, будут потеряны. Так как вы получаете последовательность событий как раз в правильном порядке, "состязание" проявляется очень редко. Нарушители, обычно, делают сотни и тысячи попыток, прежде чем они смогут реализовать данную ситуацию и проникнуть в систему.

1.4.2 Конфигурация системы



Ошибки в конфигурации системы можно классифицировать следующим образом:

Конфигурации по умолчанию: Большинство систем поставляется покупателям с конфигурациями, установленными по умолчанию, и облегчающими использование систем. К сожалению, "облегчающие использование" означает "легко взламываемые". Практически любой компьютер, поставляемый с ОС UNIX или WinNT, может быть легко взломан.

Ленивые администраторы: Поразительное количество машин сконфигурировано с пустым root/administrator паролем. Это связано с тем, что администраторы слишком ленивы для того, чтобы сразу сконфигурировать компьютер. Они хотят побыстрее включить и запустить его с минимумом действий. К сожалению, позднее они устраняют эту проблему с паролем, позволяя нарушителям легко получать несанкционированный доступ к компьютеру. Одна из первых вещей, которую сделает нарушитель при проникновении в сеть, заключается в том, что он просканирует все компьютеры на предмет пустых паролей.

Создание дыры: Виртуально все программы могут быть сконфигурированы для запуска в незащищенном режиме. Временами администраторы неумышленно открывают уязвимости в компьютере. Большинство руководств администратора рекомендует администраторам выключить все, в чем нет необходимости на компьютере. Отметим, что системы анализа защищенности защиты могут, как правило, находить эти дыры и уведомлять администратора.

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

1.4.3 Взлом пароля

Это довольно-таки специфическая категория:

Действительно слабые пароли: Большинство людей используют в качестве паролей свои имена, имена своих детей, супруга/супруги, любимого(ой) или модели машины. Также есть пользователи, которые выбрали в качестве пароля выбрали слово "пароль" или "password" или вообще никакого слова. В целом существует перечень из не менее чем 30 возможностей, которые может использовать нарушитель для подбора паролей.



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

Подбор пароля: Аналогично атаке по паролю, нарушитель старается использовать все возможные комбинации символов. Короткий пароль, состоящий из 4-х букв в нижнем регистре, может быть взломан за несколько секунд (приблизительно полмиллиона возможных комбинаций). Длинный семизначный пароль, состоящий из символов в нижнем и верхнем регистре, а также чисел и знаков препинания (10 триллионов комбинаций) может потребовать не один месяц для взлома, допуская что вы можете осуществлять миллион комбинаций в секунду.

1.4.4 Перехват незащищенного трафика

Общедоступная среда: На традиционном Ethernet вы можете разместить перехватчик (sniffer), чтобы перехватывать весь трафик на сегменте. В настоящее время это становится все более и более трудным, т.к. многие организации используют коммутируемые сети, состоящие из многих сегментов.

Перехват на сервере: Однако в коммутируемых сетях вы можете установить сниффер на сервере, тем самым, получая доступ ко всей циркулирующей в сети информации. Например, вы можете не знать пароля определенного пользователя, но перехват пароля, передаваемого по протоколу Telnet позволяет вам получить доступ к удаленного узлу.

Удаленный перехват: В больших сетях вы можете получить много интересной информации даже не имея возможности "прослушивать" весь трафик (например, в случае доступного RMON).



Ведутся ли работы по стандартизации в области обнаружения атак?


6.4.1. Формат журнала регистрации подсистемы аудита

6.4.2. Универсальный формат для регистрации событий

6.4.3. Рабочая группа IETF по обнаружению атак

Charter:

Архив:

Подписка:

6.4.4. CIDF (Common Intrusion Detection Framework)

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

(6.4.5. Консорциум разработчиков систем обнаружения атак ICSA

- примечание переводчика)

|