План
Интернет
Обзор внутреннего устройства TCP/IP
Проблемы, связанные с безопасностью
Насколько уязвимы сети организаци в Интернете?
Хотя присоединение к Интернету предоставляет огромные выгоды в виде доступа к колоссальному объему информации, оно не обязательно является хорошим решением для организаций с низким уровнем безопасности. Интернет страдает от серьезных проблем с безопасностью, которые, если их игнорировать, могут привести к ужасным последствиям для неподготовленных сетей. Ошибки при проектировании сервисов TCP/IP, сложность конфигурирования хостов, уязвимые места, появившиеся в ходе написания программ, и ряд других причин в совокупности делают неподготовленные сети открытыми для деятельности злоумышленников и уязвимыми к связанными с этим проблемам.
Следующие пункты кратко описывают Интернет, TCP/IP, а затем рассказывают о некоторых проблемах безопасности в Интернете и причинах, делающих достаточно серьезными.
Интернет - это всемирная сеть сетей, которая использует для взаимодействия стек протоколов TCP/IP. Вначале Интернет был создан для улучшения взаимодействия между научными организациями, выполнявшими работы в интересах правительства США. В течение 80-х годов к Интернету подключились образовательные учреждения, государственные организации, различные американские и иностранные фирмы. В 90-е годы Интернет переживает феноменальный рост, причем увеличение числа соединений превышает все темпы, имевшие место ранее. Теперь к Интернету присоединены многие миллионы пользователей, причем только половина из них коммерческие пользователи[Cerf93]. Сейчас Интернет используется как основа для Национальной Информационной Инфраструктуры(NII) США.
Существует ряд сервисов, связанных с TCP/IP и Интернетом. Наиболее распространенным сервисом является электронная почта, реализованная на базе протокола SMTP(Простой Протокол Передачи Писем). Также широко используются TELNET(эмуляция удаленного терминала) и FTP(протокол передачи файлов). Помимо них существует ряд сервисов и протоколов для удаленной печати, предоставления удаленного доступа к файлам и дискам, работы с распределенными базами данных и организации других информационных сервисов. Далее приводится краткий список наиболее распространенных сервисов:
Хотя сервисы TCP/IP могут в равной степени использоваться как в локальных сетях, так и в глобальных сетях, в локальных сетях, как правило, применяется совместное использование файлов и принтеров, а электронная почта и удаленный терминальный доступ - в обоих случаях. С каждым годом возрастает популярность gopher и www . Оба этих сервиса приводят к возникновению проблем для разработчиков брандмауэров и будут рассмотрены в следующих главах.
На многих системах, подключенных к Интернету, работает одна из версий ОС Unix. Впервые TCP/IP был реализован в начале 80-х годов в версии Unix, написанной в университете в Калифорнии в Беркли, известной как BSD(Berkeley Software Distribution). Многие современные версии Unix позаимствовали тексты сетевых программ из этой версии, поэтому Unix обеспечивает более или менее стандартный набор сервисов TCP/IP. Это привело к тому, что много различных версий Unixа имеют одни и те же уязвимые места, правда, это также привело к целесообразности широкого применения стратегий брандмауэров, таких как фильтрация IP. Следует отметить, что исходные тексты BSD UNIX можно легко получить в ряде Интернетовских серверов, поэтому как хорошие, так и плохие люди могут изучить тексты программ и найти в них потенциальные уязвимые места и использовать их для проникновения.
Хотя Unix и является наиболее распространенной ОС в Интернете, к нему присоединено много различных типов компьютеров с другими ОС, включая системы с DEC VMS, NeXT, MVS и ОС персональных компьютеров, такие как DOS, Microsoft Windows, Windows'95, Windows NT и Apple. Хотя персональные компьютеры обеспечивают только клиентскую часть сервисов, то есть, используя TELNET, можно подключиться с персонального компьютера, но не к персональному компьютеру, все возрастающая мощность ПЭВМ начинает также обеспечивать предоставление тех же сервисов, которые сейчас предоставляются большими компьютерами, только гораздо дешевле. Версии Unix для ПЭВМ, включая Linux, FreeBSD и BSDi, а также другие ОС, такие как Microsoft Windows NT, могут сейчас обеспечить те же самые сервисы и приложения, которые ранее были только на больших системах. Следствием этого является то, что сейчас полный набор сервисов TCP/IP используется небывалым количеством людей. Хотя это и хорошо в том смысле, что сетевые сервисы стали общедоступны, отрицательные последствия заключаются в возникновении огромных возможностей для совершения преступлений у злоумышленников( а также у неграмотных пользователей, которые в некоторых случаях могут рассматриваться как вид злоумышленников) .
Этот раздел содержит краткое описание TCP/IP в объеме, достаточном для последующего обсуждения проблем безопасности, связанных с Интернетом. [Com91a],[Com91b],[Hunt92] и [Bel89] содержат гораздо более подробное описание; читатели, которые хотят получить более глубокое представление, должны обратиться к этим источникам.
Отчасти популярность стека протоколов TCP/IP объясняется возможностью его реализации на базе большого числа разнообразных каналов и протоколов канального уровня, таких как T1 и Х.25, Ethernet и линии RS-232. Большинство организаций использует в своих ЛВС Ethernet для объединения хостов и клиентских систем, а затем присоединяет эти сети с помощью T1 к региональной сети. (например, региональной магистральной сети TCP/IP), которая соединяет в свою очередь с сетями других организаций и другими магистральными каналами. Как правило, организации имеют одно соединение с Интернетом, но большие организации могут иметь два и более соединений. Скорости модемов увеличиваются по мере появления новых коммуникационных стандартов, поэтому версии TCP/IP, которые работают в среде коммутируемых телефонных каналов, становятся все более популярными. Многие организации и просто отдельные люди используют PPP (Point-to-Point Protocol) и SLIP (Serial Line IP) для подключения своих сетей и рабочих станций к другим сетям, используя телефонные каналы.
Если говорить строго, то TCP/IP - это стек протоколов, включающий TCP, IP, UDP (User Datagram Protocol), ICMP (Internet Control Message Protocol), и ряд других протоколов. Стек протоколов TCP/IP не соответствует модели взаимодействия открытых систем (ВОС), и его структура показана на рисунке 1.1
Уровень IP получает пакеты, доставлемые нижними уровнями, например драйвером интерфейса с ЛВС, и передает их лежащим выше уровням TCP или UDP. И наоборот, IP передает пакеты, полученные от уровней TCP и UDP к нижележащим уровням.
Пакеты IP являются дейтаграмами с негарантированной доставкой, потому что IP ничего не делает для обеспечения гарантии доставки пакетов IP по порядку и без ошибок. Пакеты IP содержат адрес хоста, с которого был послан пакет, называемый адресом отправителя, и адрес хоста, который должен получить пакет, называемый адресом получателя.
Высокоуровневые сервисы TCP и UDP при приеме пакета предполагают, что адрес отправителя, указанный в пакете, является истинным. Другими словами, адрес IP является основой для аутентификации во многих сервисах; сервисы предполагают, что пакет был послан от существующего хоста, и именно от того хоста, чей адрес указан в пакете. IP имеет опцию, называемую опция маршрутизации источника, которая может быть использована для для указания точного прямого и обратного пути между отправителем и получателем. Этот путь может задействовать для передачи пакета маршрутизаторы или хосты, обычно не использующиеся для передачи пакетов к данному хосту-получателю. Для некоторых сервисов TCP и UDP пакет IP c такой опцией кажется пришедшим от последней системы в указанном пути, а не от своего истинного отправителя. Эта опция появилась в протоколе для его тестирования, но [Bel89] отмечает, что маршрутизация источника может использоваться для обмана систем с целью установления соединения с ними тех хостов, которым запрещено с ними соединяться. Поэтому, то, что ряд сервисов доверяют указанному IP-адресу отправителя и полагаются на него при аутентификации, очень опасно и может привести к проникновению в систему.