Атака на Internet
Шрифт:
1. Актуальность – защищаться надо от реальных атак, а не от фантастических или, наоборот, архаичных времен вируса Морриса.
2. Разумность затрат – поскольку 100-процентной защиты мы все равно не обеспечим, надо найти тот рубеж, за которым затраты на дальнейшее повышение безопасности оказываются выше стоимости той информации, которую может украсть взломщик.
Итак, ниже (табл. 9.2) приводится список очень простых правил и действий (некоторые идеи взяты из [26]) с учетом важности и первоочередности применения.
Таблица 9.2. Административные меры усиления защиты серверов в Internet
Перечисленные меры позволят вам не подпустить к своему хосту до 99 % всех кракеров. Но ненадолго. Для того чтобы поддерживать систему в таком защищенном состоянии, советуем раз в одну-две недели вновь посещать CERT или CIAC. Также не забывайте контролировать наличие вирусов или «троянских» коней. Не менее полезно подписаться на листы рассылки или дайджесты по безопасности, лучшим из которых, на наш взгляд, является BUGTRAQ.
Остальные меры, предусмотренные для отлова последнего процента самых достойных кракеров, являются превентивными, они не направлены конкретно на ту или иную службу. Возможно, они будут сопряжены с более или менее значительной переделкой вашего хоста:
1. Придумайте какую-нибудь собственную изюминку, очень простую (чтобы поставить слишком умных кракеров в тупик), типа переименования
2. Используйте более простые программы – в них меньше ошибок. В UNIX – избавьтесь от sendmail, поставьте другой SMTP-демон, в Windows NT – не стоит для этих же целей использовать монстров типа Microsoft Exchange Server.
3. Выкиньте некоторые малоиспользуемые службы (типа finger, talk, rpc) и ужесточите настройки вашего межсетевого экрана.
4. Поставьте proxy-сервер для дополнительной аутентификации извне, а также для скрытия адресов и топологии внутренней подсети.
5. Перенесите весь сервис, требующий входящих соединений (http, SMTP), на отдельную машину и оставьте ее в открытой сети. Удалите с этой машины всю лишнюю информацию. Все остальные машины спрячьте за межсетевым экраном с полным отключением входящего трафика.
6. Поставьте защищенную версию UNIX или другой операционной системы.
Средства автоматизированного контроля безопасности
Мы уже говорили о пользе средств автоматизированного контроля безопасности отдельного компьютера, а также всей подсети, за которую он отвечает, для системного администратора. Естественно, такие средства появлялись ранее, и чаще других встречаются названия COPS (Computer Oracle and Password System), SATAN (Security Administrator Tool for Analizyng Networks), ISS (Internet Security Scanner). К сожалению, они не лишены недостатков:
1. Системозависимость – обычно рассчитаны на вполне конкретную ОС или даже ее версию.
2. Ненадежность и неадекватность – если эти программы сообщают, что все о\'кей, то совсем не значит, что так оно и есть, и наоборот – некая «уязвимость», с их точки зрения, может оказаться специальным вариантом конфигурации системы.
3. Маленький срок жизни – с момента обнаружения уязвимости до ее искоренения проходит не больше года, и программа устаревает.
4. Неактуальность – с момента выхода программы в свет все новые, и потому самые опасные, уязвимости оказываются неизвестными для нее, и ценность программы быстро сводится к нулю. Этот недостаток является самым серьезным.
5. Возможность использовать средства с прямо противоположными целями – для взлома вашей системы, а не для тестирования на предмет изъянов.
Прослеживается явная аналогия программ с антивирусными сканерами первого поколения – те знали лишь строго определенный набор вирусов, а новые вирусы добавлялись только в следующем выпуске программы. Если посмотреть на возможности современных антивирусных программ – это и оперативное лечение вирусов, и автоматизированное пополнение базы вирусов самим пользователем, и поиск неизвестных вирусов, то можно пожелать, чтобы хороший сканер Internet смог позаимствовать некоторые из них. В первую очередь – пополнять базы новыми уязвимостями. Причем в наши дни сделать это несложно – достаточно лишь скачивать информацию с источников типа CERT или CIAC, занимающихся как раз сбором таких сведений.
Программа SATAN
После общего введения мы решили познакомить читателя с таким нашумевшим средством, как SATAN, которое и до сих пор иногда считается чуть ли ни самой опасной программой из написанных, на что указывает и зловещее название, и возможность влезть в самый защищенный компьютер (рис. 9.6). Насчет названия сразу подчеркнем, что в момент инсталляции с помощью специальной процедуры вы можете поменять его на SANTA (Security Analysis Network Tool for Administrator), а заодно и зловещего сатану на симпатичного Деда Мороза (рис. 9.7). А что касается влезания в компьютер (не любой, конечно) – если подобная программа и имелась бы у хакеров или спецслужб, то она никогда не стала бы свободно распространяться по Internet, как это происходит с SATAN.
На самом деле SATAN – это добротно сделанная, с современным интерфейсом программа для поиска брешей в вашей подсети (Intranet – как модно говорить в последнее время), написанная на машинно-независимых языках Perl и С, поэтому она в некоторой мере преодолевает первый из вышеописанных недостатков. SATAN даже допускает возможность для расширения и вставки новых модулей. К сожалению, во всем остальном ей присущи указанные недостатки, в том числе и самый главный – она уже устарела и не может в настоящий момент серьезно использоваться ни администраторами, ни хакерами. Поэтому непонятен мистический страх перед всемогуществом SATAN. Авторы, готовя материал для книги, сами столкнулись с таким отношением и были немало этим удивлены. Однако на момент выхода (1995 г.) программа была достаточно актуальной, содержала в себе поиск большинства уязвимостей, описанных в разделе «Типичные атаки». В частности, последняя (во всех смыслах) ее версия ищет уязвимости в следующих службах:
• FTP и TFTP;
• NFS и NIS;
• rexd;
• sendmail;
• r-службах;
• X-Window.
Существуют также и дополнения к SATAN, в которые включены другие уязвимости.
Для поиска уязвимостей программа сначала различными способами собирает информацию о вашей системе, причем уровень проникновения конфигурируется пользователем и может быть легким, нормальным или жестким (рис. 9.8).
Легкий уровень, по утверждению авторов программы, не может быть обнаружен атакуемой стороной (по крайней мере, такая активность программы не принимается за враждебную) и включает в себя DNS-запросы для выяснения версии операционной системы и другой подобной информации, которую можно легально получить с использованием DNS. Далее она посылает запрос на службу RPC (remote procedure call), чтобы выяснить, какие rpc-сервисы работают.
Нормальный уровень разведки включает в себя все запросы легкого уровня, а также дополняет их посылкой запросов (сканированием) некоторых строго определенных портов, таких как FTP, telnet, SMTP, NNTP, UUCP и др., для определения установленных служб.
Наконец, жесткий уровень включает в себя предыдущие уровни, а также дополняется полным сканированием всех возможных UDP– и TCP-портов для обнаружения нестандартных служб или служб на нестандартных портах. Авторы программы предостерегают, что такое сканирование может быть легко зафиксировано даже без специальных программ (например, на консоли могут появляться сообщения от вашего межсетевого экрана).
Другим важным параметром, задаваемым при настройке SATAN, является глубина просмотра подсетей (proximity): 0 означает только один хост, 1 – подсеть, в которую он входит, 2 – все подсети, в которые входит подсеть данного хоста, и т. д. Авторы средства подчеркивают, что ни при каких обстоятельствах это число не должно быть более 2, иначе SATAN выйдет из-под контроля и просканирует слишком много внешних подсетей.
Собственно ничем более страшным, кроме как сканированием портов и обнаружением работающих служб и их конфигурации, SATAN не занимается. При этом, если находятся потенциальные уязвимости, она сообщает об этом. Как пишут сами авторы программы, фаза проникновения в удаленную систему не была реализована.
SATAN использует очень современный интерфейс – все сообщения программы оформляются в виде HTML-страниц, поэтому работа с ней мало чем отличается от плавания (surf) по Internet в любимом браузере (SATAN поддерживает любой из них, будь то lynx, Mosaic или Netscape). Пользователь может отсортировать найденные уязвимости (по типу, серьезности и т. п.) и тут же получить развернутую информацию по каждой из них. Для поддержки браузеров в SATAN входит собственный http-сервер, выполняющий ограниченное число запросов, а связь с ним осуществляется при помощи случайного 32-битного числа (magic cookie), которое выполняет дополнительную аутентификацию http-клиента. Иначе говоря, оно служит для предотвращения перехвата конфиденциальной информации браузером,
отличным от запущенного самой SATAN, а также против любого взаимодействия с собственным http-сервером SATAN. Любопытно, что версии до 1.1.1 в этой схеме аутентификации тоже содержали ошибку, которая даже попала в один из бюллетеней CERT.Итак, типичный сценарий работы с SATAN заключается в следующем:
1. Настроить желаемые параметры, в том числе глубину сканирования.
2. Задать адрес цели и уровень сканирования.
3. Просмотреть полученные результаты и получить по ним более подробную информацию.
4. Устранить найденные уязвимости.
Администратору безопасности рекомендуется просканировать все свои хосты, а также все доверенные хосты, обязательно спросив на это разрешение у их администраторов. Несмотря на то что SATAN устарела, выполнив это, вы сможете быстро получить список используемых сетевых служб и их версий и проверить, нет ли среди них уязвимых, воспользовавшись материалами CERT или CIAC.Семейство программ SAFEsuite
В последние годы заслуженной популярностью пользуются программные средства, предлагаемые компанией Internet Security Systems (ISS,. Они имеют достаточно долгую историю, в частности программа Internet Security Scanner (тоже ISS) известна с 1992 года, когда она была еще условно бесплатной и работала только под UNIX.
С тех пор многое изменилось. В настоящее время компания ISS производит целое семейство продуктов автоматизированного контроля безопасности и обнаружения атак SAFEsuite. Туда входит сильно измененная Internet Scanner (по существу, это уже другая программа), анализирующая систему снаружи; System Scanner, анализирующая ее изнутри; и RealSecure, обнаруживающая и отражающая удаленные атаки. Безусловным достоинством этих программ является то, что они регулярно обновляются, причем в них добавляется не только описание новых уязвимостей и подвидов атак, но и новые механизмы их обнаружения и отражения. Именно мощная поддержка семейства SAFESuite и выводит его в лидеры – иначе через полгода эти программы были бы никому не нужны, как это случилось со многими разработками конкурентов.
Значительные вложения оправдывают и цену – эти программы далеко не бесплатны, в отличие от SATAN, и стоят сотни долларов, что в данном случае неплохо, так как несколько ограничит число потенциальных кракеров. Для запуска программ нужен ключ, пересылаемый вам при покупке пакета, а в оценочную (evaluation) версию обычно включен ключ, который разрешит вам сканирование только своего собственного хоста.
Это семейство реализовано под 10 платформ:
• Windows NT;
• Windows 95;
• Windows 98;
• Windows 2000;
• HP/UX;
• AIX;
• Linux;
• SunOS;
• Solaris;
• IRIX.
Любая из реализаций знает уязвимости и других платформ.
Система Internet Scanner, хотя должна запускаться на одной из вышеперечисленных платформ (за исключением Windows 9х и IRIX), может быть использована для анализа защищенности любых систем, основанных на стеке протоколов TCP/IP.
Функционально Internet Scanner 5.6 (последняя версия на начало 1999 года) состоит из трех частей: сканер межсетевого экрана (Firewall Scanner), Web-сканер (Web Security Scanner) и сканер Intranet (Intranet Scanner). При этом, как и в SATAN, есть три стандартных уровня сканирования – легкий, нормальный и жесткий, но пользователь может сам настроить те уязвимости, которые войдут в каждый уровень сканирования (рис. 9.9). К тому же он имеет широкие возможности по редактированию следующих классов уязвимостей и проверок:
Рис. 9.9. Рабочий режим программы internet Scanner
• наличие пользователей/паролей по умолчанию и проверка на тривиальность паролей в FTP, POP3, telnet, rsh, rexec;
• проверка многих уязвимых демонов, от UUCP до httpd;
• проверки на подверженность атакам в обслуживании, от различных штормов до плохих пакетов, а также ICMP Redirect;
• проверки NFS и X-Windows;
• проверки на уязвимость служб, использующих RPC, в том числе NIS, pcnfsd и др.;
• отдельно вынесены проверки в Sendmail/FTP – от команды «debug» до современных уязвимостей;
• наличие разделяемых ресурсов Windows и тривиальность их паролей;
• надежность паролей пользователей Windows NT, а также установленной политики использования паролей и обнаружения нарушителей;
• различные настройки реестра Windows NT;
• настройки системы аудита Windows NT;
• проверки WWW-сервера, в том числе возможность задания URL, содержащего точки и доступности исходных текстов ASP-файлов;
• настройки межсетевых экранов и возможность входа на них (например, Cisco, CheckPoint, Raptor);
• установки proxy– и DNS-серверов;
• IP Spoofing, включая возможность предсказания TCP-последовательности и атак на r-службы.
Это единственная система такого класса, получившая в 1998 году сертификат Государственной технической комиссии при Президенте РФ № 195 от 02.09.98.
В отличие от системы Internet Scanner, рассматривающей хосты на уровне сетевых сервисов, System Scanner проводит анализ на уровне операционной системы, что позволяет ей протестировать гораздо больше потенциальных уязвимостей типа локальных переполнений буфера, неверных прав на файлы или каталоги и т. п. Поэтому, несмотря на возможность некоторого дублирования информации в создаваемых отчетах, этот продукт дополняет Internet Scanner. System Scanner, помимо UNIX и Windows NT, поддерживает также проверку ОС Windows 95/98.
Сетевой монитор RealSecure
Наконец, последний и самый быстроразвивающийся продукт – сетевой монитор безопасности RealSecure 3.0 (рис. 9.10). Первоначально он мог только обнаруживать и по факту обнаружения останавливать удаленные атаки. В последних версиях, благодаря возможности управления межсетевым экраном и маршрутизатором, он может также и предотвращать их, динамически меняя правила фильтрации на межсетевом экране или списке контроля доступа (ACL) маршрутизатора. Монитор ориентирован на защиту как целого сегмента сети, так и конкретного узла. Для обнаружения атак он использует так называемые сигнатуры, чем еще раз подтверждается сходство подобных продуктов с антивирусными сканерами. В базе данных RealSecure есть следующие классы сигнатур удаленных атак (рис. 9.11):
• отказ в обслуживании (типа Land, Smurf, OOB – см. главу 4);
• попытки несанкционированного, доступ к ASP-файлам, различные переполнения буфера с возможностью исполнения кода);
• подготовка к атакам (различные способы сканирования портов, команда «expn» в SMTP и др.);
• подозрительная активность (в том числе ARP-запросы, удаленный доступ к реестру);
• подозрительные команды на уровне протоколов (передача паролей в разных службах, передача cookies, анонимное подключение к ресурсам).
На сегодняшний день, по мнению многих экспертов, продукты семейства SAFEsuite являются лидерами на рынке.Глава 10 Атака через WWW
Мы – работники КОМКОНа-2. Нам разрешается слыть невеждами, мистиками, суеверными дураками. Нам одно не разрешается: недооценить опасность. И если в нашем доме вдруг завоняло серой, мы просто обязаны предположить, что где-то рядом объявился черт с рогами, и принять соответствующие меры вплоть до организации производства святой воды в промышленных масштабах.
А. Стругацкий, Б. Стругацкий. Волны гасят ветер
Вопросы атаки через WWW мы решили рассмотреть в отдельной главе по нескольким причинам. В настоящее время World Wide Web – пожалуй, самая популярная служба Internet, то, с чем в первую очередь сталкивается большинство людей, подключающихся к Сети. Атака через Web является едва ли не самым частым способом взлома хостов и самым наглядным проявлением кракерства.
Атака на клиента
Далеко не все пользователи Internet осознают, что, подключившись к Сети, они не только получают доступ ко всему информационному богатству, но и открывают свой компьютер для доступа извне, а следовательно, подвергают его угрозам, характерным для хостов Сети: угрозе раскрытия, нарушения целостности системы и отказа в обслуживании. Здесь также появляется и четвертый тип атаки, который можно с некоторой натяжкой рассматривать как частный случай отказа в обслуживании с точки зрения системы человек – компьютер, – атака на самого пользователя, выражающаяся в создании условий, неблагоприятных для работы (раздражающие звуки, моргание экрана и т. п.).