Книги в продаже (аннотация + содержание + отрывок)

М. Мамаев, С. Петренко
ТЕХНОЛОГИИ ЗАЩИТЫ ИНФОРМАЦИИ В ИНТЕРНЕТЕ. СПЕЦИАЛЬНЫЙ СПРАВОЧНИК.
Цена: 175 р.

Источник: Издательский дом 'ПИТЕР'
Разделы: Разное (общие вопросы использования ПК, компьютерная архитектура, пользовательский интерфейс, компьютерные системы и информационные ситемы)
Подробнее: Информация от издателя (открывается в новом окне)
Заказ: Оформление покупки (открывается в новом окне)
      В книге содержится комплексное описание протоколов и служб Интернета, а также вопросов, связанных с безопасностью сетевого взаимодействия на различных уров-нях. В первую очередь книга предназначена сетевым администраторам, администраторам безопасности и начальникам служб автоматизации и информационной безопасности. Наряду с рассмотрением внутреннего устройства протоколов и служб в книге содержатся примеры конфигурации операционных систем (ОС) и программных продуктов, занимающих лидирующее положение в отрасли: ОС Solaris, UNIX BSD и Linux, межсетевой опера
      ционной системы Cisco IOS, маршрутизаторов Cisco, программных пакетов BIND, Apache, Sendmail, Eudora Qpopper, Oops и др. Книга может использоваться также в качестве учебного пособия для студентов соответствующих технических специальностей.
     
     
      Содержание
      Предисловие
      О чем и для кого эта книга
      Обзор содержания
      Источники информации
      Предупреждения
      Чего нет в этой книге
      Благодарности и адреса для связи
      От издательства
      Принятые обозначения
      1. Общие сведения об Интернете
      1.1. Сетевые технологии
      1.1.1. Подключение к Интернету
      1.1.2. Протоколы TCP/IP
      1.1.3. IP-адреса и доменные имена
      1.1.4. Настройка TCP/IP на персональном компьютере
      1.2. Типовые сервисы Интернета
      1.2.1. World Wide Web
      1.2.2. Доступ к файловым архивам
      1.2.3. Электронная почта
      1.2.4. Телеконференции и списки рассылки
      1.2.5. Общение в Интернете
      1.2.6. Telnet
      1.2.7. Поиск информации в Интернете
      1.2.8. Кодировки кириллицы
      2. Протоколы стека TCP/IP
      2.1. Многоуровневая модель сетевого взаимодействия
      2.1.1. Эталонная модель OSI ISO
      2.1.2. Стек протоколов TCP/IP
      2.2. Протокол IP
      2.2.1. Задачи протокола IP, механизм и его действия
      2.2.2. IP-адреса
      2.2.3. Заголовок IP-дейтаграммы
      2.2.4. Фрагментация дейтаграмм
      2.2.5. Source Routing и туннелирование
      2.2.6. Протокол ICMP
      2.2.7. Протокол ARP
      2.2.8. Протокол DHCP
      2.2.9. Протокол IP версии 6
      2.3. IP-маршрутизация
      2.3.1. Принцип IP-маршрутизации.
      Таблица маршрутов
      2.3.2. Статическая и динамическая маршрутизация. Автономные системы
      2.3.3. Протокол RIP
      2.3.4. Протокол OSPF
      2.3.5. Протокол EIGRP
      2.3.6. Протокол BGP
      2.3.7. Примеры конфигурирования хоста
      2.3.8. Примеры конфигурирования
      маршрутизаторов Cisco
      2.4. Протокол UDP
      2.5. Протокол TCP
      2.5.1. Функции протокола TCP
      2.5.2. Заголовок TCP-сегмента
      2.5.3. Интерфейс с прикладным уровнем и состояния соединения
      2.5.4. Специальные алгоритмы в реализациях TCP
      2.5.5. Пример TCP-приложения
      2.6. Групповая рассылка дейтаграмм (мультикастинг)
      2.6.1. Протокол IGMP
      2.6.2. Маршрутизация групповых дейтаграмм
      2.6.3. Протоколы маршрутизации
      групповых датаграмм
      2.7. Вопросы безопасности протоколов TCP/IP
      2.7.1. Методы и инструменты
      2.7.2. Перехват данных
      2.7.3. Имперсонация
      2.7.4. Несанкционированное подключение к сети
      2.7.5. Несанкционированный обмен данными
      2.7.6. Принуждение к ускоренной передаче данных
      2.7.7. Отказ в обслуживании
      2.7.8. Обсуждение
      2.7.9. Меры безопасности на маршрутизаторах Cisco
      3. Сервисы Интернета
      3.1. Конфигурация сервера Интернета
      3.1.1. Запуск сервисов
      3.1.2. Администрирование сервера
      3.2. DNS — доменная система имен
      3.2.1. Устройство и функционирование DNS
      3.2.2. Записи ресурсов и база данных DNS
      3.2.3. Делегирование зоны
      3.2.4. Конфигурация BIND
      3.2.5. Программа nslookup
      3.2.6. Вопросы безопасности
      3.2.7. DNS и брандмауэры
      3.2.8. Формат сообщений DNS
      3.3. Терминальный доступ
      3.3.1. Telnet
      3.3.2. Rlogin
      3.3.3. Вопросы безопасности
      3.4. Передача файлов — FTP
      3.4.1. Протокол FTP
      3.4.2. Протокол TFTP
      3.4.3. Вопросы безопасности
      3.4.4. FTP-сервер WU-FTP
      3.5. Электронная почта
      3.5.1. Организация службы электронной почты
      в Интернете
      3.5.2. Формат сообщения
      3.5.3. MIME
      3.5.4. Протокол SMTP
      3.5.5. Протоколы POP и IMAP
      3.5.6. Вопросы безопасности
      3.5.7. Конфигурация почтового сервера (sendmail)
      3.5.8. Решение административных задач
      с помощью sendmail
      3.5.9. Конфигурация POP-сервера (Qpopper)
      3.6. WWW
      3.6.1. Ресурсы и их идентификаторы
      3.6.2. Протокол HTTP
      3.6.3. Интерфейс CGI и другие средства
      динамического создания документов
      3.6.4. Вопросы безопасности и контроля
      3.6.5. HTTP-сервер Apache
      3.6.6. Прокси-сервер Oops
      4. Средства обеспечения безопасности в Интернете
      4.1. Введение в безопасность корпоративных систем
      Интернета и интранета
      4.1.1. Понятие системы информационной безопасности
      4.1.2. Эволюция взглядов на безопасность компьютерных систем
      4.1.3. Подходы и решения
      4.2. Криптографические методы защиты информации в Интернете
      4.2.1. Шифрование
      4.2.2. Электронная цифровая подпись
      4.2.3. Комплексный метод защиты
      4.2.4. Проблемы распределения и хранения ключей
      4.2.5. Особенности реализации
      криптографических методов
      4.2.6. Заключение
      4.3. Тенденции и перспективы развития
      современной прикладной криптографии
      4.3.1. Теоретические рекомендации
      4.3.2. Практические рекомендации
      4.3.3. Примеры пост-DES алгоритмов
      4.3.4. Перспективы асимметричной криптографии
      4.3.5. Заключение
      4.4. Средства защиты передаваемой информации в Интернете
      4.4.1. Средства подготовки защищенных сообщений
      4.4.2. Средства автоматической защиты передаваемых данных
      4.5. Виртуальные частные сети
      4.5.1. Построение безопасной корпоративной сети
      4.5.2. Рекомендации по выбору VPN-продуктов
      4.5.3. Примеры возможных VPN-решений для российских компаний
      4.6. Защита информации от несанкционированного доступа
      4.6.1. Защита периметра корпоративной сети от несанкционированного доступа
      4.6.2. Защита внутренних компонентов корпоративной сети от несанкционированного доступа
      Заключение
      Литература
      Некоторые ресурсы Интернета
      Русскоязычные ресурсы
      Приложение А
      Примерный список задач по подключению предприятия к Интернету
      Приложение Б
      Список географических доменов верхнего уровня
      Приложение В
      Индекс избранных документов RFC
      Общие
      IP, ARP
      ICMP
      DHCP
      Безопасность
      IPv6
      Multicast
      RIP
      OSPF
      BGP
      UDP
      TCP
      DNS
      Telnet и Rlogin
      FTP
      Электронная почта
      POP
      IMAP
      MIME
      WWW
      SOCKS
      Приложение Г
      Полезное программное обеспечение для UNIX
      Компиляторы и утилиты
      Программные маршрутизаторы
      Безопасность: общий инструментарий
      Безопасность: защита сети
      Безопасность: защита хоста
      DHCP
      DNS
      Электронная почта
      WWW и FTP
      Приложение Д
      Порядок передачи данных через сеть
      Приложение Е
      Справочник по IP-адресам и маскам
      Классы IP-адресов
      Частные сети (RFC-1597)
      Некоторые групповые адреса
      Степени числа 2
      Некоторые двоичные числа
      Сети и маски
      Приложение Ж
      О взломе шифров
      Невскрываемые шифры
      Физические ограничения на перебор ключей
      Алфавитный указатель
     
     
     
      ОТРЫВОК
     
     
      1. Общие сведения
      об Интернете
      1.1. Сетевые технологии
      1.1.1. Подключение к Интернету
      Доступ к Интернету осуществляется по самым различным линиям связи. Организации объединяют свои компьютеры в локальную сеть, которая через специальное устройство, называемое шлюзом (gateway)2, соединяется по выделенной линии связи (ее называют «последней милей») с сетью провайдера Интернета (то есть организации, предоставляющей соединение с Интернетом; англоязычный термин — ISP, Internet Service Provider). Провайдеры обладают высокоскоростными магистральными каналами: кабельными, оптоволоконными, спутниковыми, радиорелейными, которые объединяются в сложную структуру
      глобальной сети. Большинство провайдеров являются коммерческими организациями, и соответственно их услуги являются платными. Примерный список задач, которые нужно решить для подключения сети организации к Интернету, приведен в Приложении А.
      Сети крупных организаций уже сами по себе имеют достаточно сложную структуру, представляя собой «Интернет в миниатюре». Внутри этих сетей используются те же технические решения и предоставляются такие же сервисы, как и в «большом Интернете». Для обозначения технологий и услуг таких корпоративных сетей используется термин «интранет». Подчеркнем, что в соответствии со словарем специальных терминов (RFC-2828) термин интранет подразумевает либо изолированность корпоративной сети от Интернета (интранет может быть вообще не подключен к Интернету), либо использо
      вание помимо шлюза специальных защитных, контрольных и ограничивающих средств при подключении интранета к Интернету.
      Отдельный компьютер (например, установленный дома у пользователя) может подсоединиться к провайдеру и с использованием обычных телефонных каналов (которые называются коммутируемыми линиями). Для того чтобы передать информацию между компьютерами по коммутируемой линии, используются специальные устройства — модемы. Модем пользователя набирает телефонный номер, устанавливает соединение с модемом на стороне провайдера, преобразует компьютерные данные в электрический сигнал специальной формы, пригодный для передачи по телефонной линии, и осуществля
      ет прием-передачу данных. При использовании, например, более современной технологии ADSL скорость обмена данными по коммутируемой линии может превышать скорость обмена по выделенной линии; одновременно можно вести по той же линии телефонные переговоры с любым абонентом телефонной сети.
      На рис. 1.1 схематически изображены способы подключения к Интернету.
      1.1.2. Протоколы TCP/IP
      На заре своего развития компьютерные сети существовали независимо друг от друга, решая конкретные задачи для конкретных групп пользователей. В соответствии с этими задачами выбирались те или иные сетевые технологии, программы и оборудование. Построить универсальную компьютерную сеть мирового масштаба из однотипной аппаратуры просто невозможно, поскольку такая сеть не могла бы удовлетворять потребности всех ее потенциальных пользователей. Одним нужна высокоскоростная сеть для соединения машин в пределах здания, а другим — надежные коммуникации м
      ежду компьютерами, разнесенными на сотни километров; одни используют мощные мэйнфреймы, другие — персональные компьютеры.
      Тогда возникла идея объединить множество физических сетей и разнородных компьютеров в единую глобальную сеть с помощью набора специальных стандартных «правил» (их называют протоколами), которые не зависели бы от типа оборудования и программного обеспечения. Следование установленным протоколам позволило бы компьютерам общаться друг с другом независимо от того, к какой физической сети и каким образом они подсоединены. В результате в 1974 году появилась революционная работа Винтона Серфа и Роберта Кана1, в которой был представлен протокол, получивший впо
      следствии название TCP/IP и ставший основой сети Интернет. Этот протокол был основан на закрытом протоколе секретной сети ARPA, которая стала ядром Интернета.
      TCP/IP — яркий пример открытой системы в том смысле, что, в отличие от протоколов, используемых в фирменных коммуникационных системах разных компьютерных компаний, все описания этой группы протоколов и многие из программ, реализующих TCP/IP, общедоступны (предоставляются бесплатно или за символическую цену). Это позволяет любому разработчику создавать свое программное обеспечение, необходимое для работы с Интернетом. Немалую роль в распространении TCP/IP сыграло то, что Калифорнийский университет в Беркли реализовал поддержку этих протоколов в ОС UNIX BSD, выпу
      щенной на основе 7-й версии оригинальной UNIX от Bell Laboratories, сделав как сами программы, так и их исходные тексты бесплатными и общедоступными. В настоящее время права на эту ОС в США перешли к компании Berkeley Software Design (BSD, Inc.), и почти полная версия этой ОС (даже с протоколом Kerberos 4, но с экспортными ограничениями на длину ключей шифрования) по-прежнему распространяется BSD бесплатно под названием FreeBSD. FreeBSD используется очень многими провайдерами Интернета, снижающими свои расходы, и, косвенно, расходы своих клиентов на подключение к Интернету за счет использования
      бесплатного программного обеспечения. Но с расширением бизнеса провайдеры часто вынуждены приобретать лицензию на полную версию этой ОС.
      Термин TCP/IP объединяет в себе целый набор взаимодействующих между собой протоколов. Самыми важными из них являются протокол IP, отвечающий за поиск маршрута (или маршрутов) в Интернете от одного компьютера к другому через множество промежуточных сетей, шлюзов и маршрутизаторов и передачу блоков данных по этим маршрутам, и протокол TCP, обеспечивающий надежную доставку, безошибочность и правильный порядок приема передаваемых данных.
      Что касается безопасности протоколов TCP/IP, то есть безопасности передачи данных в Интернете в целом, пользователям стоит иметь в виду, что если не принято специальных мер, все данные передаются протоколами TCP/IP в открытом виде1. Это значит, что любой узел (и соответственно, его оператор), находящийся на пути следования данных от отправителя к получателю, может скопировать себе все передаваемые данные и использовать их в дальнейшем в своих целях. В равной мере данные могут быть искажены или уничтожены.
      Ниже, в разделе 1.2, вместе с описанием популярных сервисов Интернета кратко рассматриваются аспекты безопасности того или иного сервиса с точки зрения пользователя.
      1.1.3. IP-адреса и доменные имена
      Каждый компьютер в Интернете должен иметь свой собственный уникальный адрес, позволяющий связаться с ним любому другому компьютеру сети. Адреса компьютеров в Интернете (их называют IP-адресами) имеют две формы записи: числовой адрес и доменное имя.
      Числовой IP-адрес представляет собой 32-битовый идентификатор компьютера. Для удобства записи он обычно разделяется на 4 октета по 8 битов в каждом, и каждый октет записывается в десятичной системе счисления; значения октетов разделяются точками. Например, IP-адрес
      11000010 01010100 01111100 00110011
      записывается как 194.84.124.51.
      Числовой IP-адрес часто сопровождается также маской подсети (subnet mask или netmask), имеющей такую же структуру, как и адрес, и несущей дополнительную служебную информацию.
      Числовая форма адреса используется компьютерами и специальным оборудованием обслуживания сети, для людей числовой адрес неудобен, плохо запоминается и несет мало смысловой информации. Люди обычно пользуются доменными именами, причем каждое доменное имя, как и числовой IP-адрес, определяет только один компьютер в Интернете.
      Доменное имя состоит из нескольких слов или сокращений, разделенных точками, например: jet.vvsu.ru. Доменное имя несет полезную информацию о местонахождении компьютера. Крайняя правая часть имени обозначает домен верхнего уровня, то есть самую большую группу компьютеров, в которой находится данный компьютер. В нашем примере это ru — сокращение от Russia, Россия; этот домен верхнего уровня объединяет компьютеры, подключенные к Интернету в России. Внутри ru есть поддомены — области меньших размеров, например, msk.ru (Москва), nsu.ru (Новосибирский госуниверситет), primorsky.r
      u (администрация Приморского края); в нашем примере это vvsu.ru — компьютеры, подключенные к Интернету во Владивостокском госуниверситете экономики и сервиса. Крайняя левая часть доменного имени обозначает имя компьютера (jet) внутри своего поддомена (рис. 1.2).
      Доменное имя не всегда имеет три части, но в любом случае крайняя правая часть обозначает домен верхнего уровня, крайняя левая — имя собственно компьютера, остальные, справа налево, — набор вложенных друг в друга поддоменов, где каждый следующий является частью предыдущего. Например, sky.inp.nsk.su — Советский Союз (su), Новосибирск (nsk), Институт ядерной физики (inp, Institute for Nuclear Physics), компьютер sky. Или ns.nsk.su — Советский Союз, Новосибирск, компьютер ns. Интересно, что в географии Интернета Советский Союз все еще существует.
      Домены верхнего уровня бывают двух типов. Первый представляет собой двухбуквенное сокращение названия страны, например, ru — Russia, Россия, su — Soviet Union, бывший Советский Союз, fr — Франция и т. д. Все сокращения являются стандартными и определены Международной организацией по стандартизации (ISO) (см. Приложение Б). Второй тип доменов верхнего уровня — общие домены — имеют трехбуквенные обозначения «по роду занятий». Изначально эти домены объединяли компьютеры, находящиеся в США (двухбуквенный домен us — United States — встречается довольно редко). Однако в последнее время общие домены com, org и net широко распространились за пределы Америки. В табл. 1.1 приведен список общих доменов верхнего уровня, список всех доменов верхнего уровня находится в Приложении 2.
      Таблица 1.1. Общие домены верхнего уровня
      Домен Тип организации
      com Коммерческие организации (например, www.ibm.com — адрес компьютера в фирме IBM)
      edu Вузы США (например, strawb.mit.edu — адрес компьютера в Массачусетском технологическом институте)
      gov Правительственные организации США (например, whitehouse.gov — сеть Белого дома)
      mil Военная сеть США (например, ns-hawaii.navy.mil — один из серверов ВМФ США)
      org Другие организации (например, isoc.org — сеть Общества Интернета)
      net Провайдеры Интернета и другие организации, имеющие отношение к функционированию сети (например,www.ripn.net  — сервер Российского НИИ развития общественных сетей)
      int Международные организации, например www.nato.int
      Преобразование доменного имени в числовой IP-адрес осуществляется специальной службой Интернета, которая называется DNS (Domain Name System — Система доменных имен). Компьютеры, выполняющие такое преобразование, называются DNS-серверами. У каждого домена есть обслуживающий его DNS-сервер.
      1.1.4. Настройка TCP/IP
      на персональном компьютере
      Для того чтобы пользоваться услугами Интернета, пользователь должен установить на своем компьютере и сконфигурировать стек протоколов TCP/IP.
      В системе Windows 95/NT установка протоколов TCP/IP происходит через: Настройка4Панель управления4Сеть4Добавить 4Протокол 4Microsoft4TCP/IP. При этом TCP/IP связывается с сетевой картой (при подключении через локальную сеть) или с контроллером удаленного доступа (при подключении через модем).
      Контроллер удаленного доступа входит в поставку ОС Windows. После своего запуска он проводит пользователя через последовательность шагов по установке модема и настройке соединения. В настроенной системе запуск любого Интернет-приложения приведет к автоматическому запуску модема и установлению соединения с провайдером.
      Для работы через локальную сеть (которая, в свою очередь, через шлюз подключена к Интернету) нужно установить на компьютере сетевую карту и ее драйверы (через стандартные процедуры Windows).
      При конфигурировании TCP/IP в разделе «Свойства» следует указать:
      IP-адрес и маску подсети для данного компьютера;
      IP-адрес шлюза;
      настройки DNS: IP-адрес DNS-сервера своего домена, имя своего домена и имя данного компьютера (в поле «Главный компьютер»).
      Значения всех настроек выдает администратор сети или провайдер Интернета. Некоторые (или даже все) настройки могут не устанавливаться — компьютер будет получать их значения по сети от провайдера или от специального сервера локальной сети (такой сервер называется DHCP-сервером).
      В Windows 2000 настройка TCP/IP производится аналогичным образом через несколько видоизмененный интерфейс.
      Настройка TCP/IP и различных сетевых сервисов в ОС UNIX и Linux будет рассматриваться в многочисленных примерах далее в этой книге.
      2. Протоколы стека TCP/IP
      2.7. Вопросы безопасности протоколов TCP/IP
      Выше в настоящей главе 2 по мере изложения мы указывали на проблемы, связанные с безопасностью использования тех или иных протоколов стека TCP/IP. В этой главе мы систематизируем эти и другие вопросы безопасности и рассмотрим их более подробно1.
      Подчеркнем, что в данной главе мы рассматриваем безопасность сетевого взаимодействия только на уровнях от доступа к сети до транспортного включительно, то есть охватываем аспекты безопасности собственно передачи данных через сети IP (Интернет), не останавливаясь на содержании этих данных и возможности их использования в неблаговидных целях. Последнее относится к безопасности прикладных протоколов и приложений Интернета, эти вопросы обсуждаются в соответствующих разделах главы 3.
      Прежде чем перейти к разбору конкретных приемов, классифицируем действия злоумышленника — атаки, направленные против какого-либо узла (или, возможно, целой сети). Злоумышленник ставит перед собой определенную цель, как-то:
      перехват (и, возможно, модификация) данных, передаваемых через сеть от одного узла другому;
      имперсонация (обезличивание, spoofing) (узел злоумышленника выдает себя за другой узел, чтобы воспользоваться какими-либо привилегиями имитируемого узла);
      несанкционированное подключение к сети;
      несанкционированная передача данных (обход правил фильтрации IP-трафика в сетях, защищенных брандмауэрами);
      принуждение узла к передаче данных на завышенной скорости;
      приведение узла в состояние, когда он не может нормально функционировать, передавать и принимать данные (так называемый DoS — denial of service, отказ в обслуживании).
      2.7.1. Методы и инструменты
      Для достижения своих целей злоумышленник использует прослушивание (sniffing), сканирование сети и генерацию пакетов. Под генерацией пакетов понимается создание и отправка специально сконструированных датаграмм или кадров, позволяющих злоумышленнику выполнить ту или иную атаку. Особо выделим здесь фальсификацию пакетов, то есть создание IP-датаграмм или кадров уровня доступа к сети, направленных якобы от другого узла (spoofing).
      2.7.1.1. Прослушивание сети
      Прослушивание сети Ethernet (а подавляющее большинство локальных сетей используют именно эту технологию) является тривиальной задачей: для этого нужно просто перевести интерфейс в режим прослушивания (promiscuous mode). Легко доступны программы, не только записывающие весь трафик в сегменте Ethernet, но и выполняющие его отбор по установленным критериям: например, программа tcpdump (http://www.tcpdump.org/) или входящая в поставку ОС Solaris программа snoop.
      Среди других сетевых технологий подвержены прослушиванию сети FDDI и радиосети (например Radio Еthernet). Несколько сложнее для злоумышленника извлечь трафик из телефонных выделенных и коммутируемых линий — главным образом, из-за сложности физического доступа и подключения к таким линиям1. Однако следует помнить, что злоумышленник может оккупировать промежуточный маршрутизатор и таким образом получить доступ ко всему транзитному трафику, независимо от используемых технологий на уровне доступа к сети.
      Ограничить область прослушивания в сети Ethernet можно разбиением сети на сегменты с помощью коммутаторов2. В этом случае злоумышленник, не прибегая к активным действиям, описанным в п. 2.7.2, может перехватить только кадры, получаемые или отправляемые узлами сегмента, к которому он подключен. Единственным способом борьбы с прослушиванием сегмента Ethernet является шифрование данных.
      Злоумышленник, прослушивающий сеть, может быть обнаружен с помощью утилиты AntiSniff (http://www.securitysoftwaretech.com/antisniff/), которая выявляет в сети узлы, чьи интерфейсы переведены в режим прослушивания.
      AntiSniff выполняет три вида тестов узлов сегмента Ethernet. Первый тест основан на особенностях обработки разными операционными системами кадров Ethernet, содержащих IP-датаграммы, направленные в адрес тестируемого узла. Например, некоторые ОС, находясь в режиме прослушивания, передают датаграмму уровню IP, независимо от адреса назначения кадра Ethernet (в то время как в обычном режиме кадры, не направленные на MAC-адрес узла, системой вообще не рассматриваются). Другие системы имеют особенность при обработке кадров с широковещательным адресом: в режиме прослушивания MAC-адрес ff:00:00:00:00:00 воспринимается драйвером интерфейса как широковещательный. Таким образом, послав сообщение ICMP Echo внутри «неверного» кадра, который при нормальных обстоятельствах должен быть проигнорирован, и получив на него ответ, AntiSniff заключает, что интерфейс тестируемого узла находится в режиме прослушивания.
      Второй тест основан на предположении, что программа прослушивания на хосте злоумышленника выполняет обратные DNS-преобразования1 для IP-адресов подслушанных датаграмм (поскольку часто по доменному имени можно определить назначение и важность того или иного узла). AntiSniff фабрикует датаграммы с фиктивными IP-адресами (то есть не предназначенные ни одному из узлов тестируемой сети), после чего прослушивает сеть на предмет DNS-запросов о доменных именах для этих фиктивных адресов. Узлы, отправившие такие запросы, находятся в режиме прослушивания.
      Тесты третьей группы, наиболее универсальные, с одной стороны, так как не зависят ни от типа операционной системы, ни от предполагаемого поведения прослушивающих программ. С другой стороны, эти тесты требуют определенного анализа от оператора, то есть — не выдают однозначный результат, как в двух предыдущих случаях кроме того, они сильно загружают сеть. Тесты основаны на том, что интерфейс, находящийся в обычном режиме, отфильтровывает кадры, направленные не на его адрес, с помощью программно-аппаратного обеспечения сетевой карты, и не задействует при этом ресурсы операционной системы. Однако в режиме прослушивания обработка всех кадров ложится на программное обеспечение злоумышленника, то есть, в конечном счете, на операционную систему. AntiSniff производит пробное тестирование узлов сети на предмет времени отклика на сообщения ICMP Echo, после чего порождает в сегменте шквал кадров, направленных на несуществующие MAC-адреса, при этом продолжая измерение времени отклика. У систем, находящихся в обычном режим
      е, это время растет, но незначительно, в то время как узлы, переведенные в режим прослушивания, демонстрируют многократный (до 4 раз) рост задержки отклика.
      В связи с вышеизложенным отметим, что представление о прослушивании как о безопасной деятельности, которую нельзя обнаружить, не соответствует действительности.
      2.7.1.2. Сканирование сети
      Сканирование сети имеет своей целью выявление подключенных к сети компьютеров и определение работающих на них сетевых сервисов (открытых портов TCP или UDP). Первая задача выполняется посылкой ICMP-сообщений Echo с помощью программы ping с последовательным перебором адресов узлов в сети. Сто2ит попробовать отправить Echo-сообщение по широковещательному адресу — на него ответят все компьютеры, поддерживающие обработку таких сообщений1.
      Администратор сети может обнаружить попытки сканирования путем анализа трафика в сети и отслеживания Echo-сообщений, за короткий промежуток времени посылаемых последовательно по всем адресам сети. Для большей скрытности злоумышленник может существенно растянуть процесс во времени («медленное сканирование») — это же касается и сканирования портов TCP/UDP. Также злоумышленник может применить «обратное сканирование» (inverse mapping): в этом случае на тестируемые адреса посылаются не сообщения ICMP Echo, а другие сообщения, например RST-сегменты TCP, ответы на несуществующие DNS-запросы и т. п. Если тестируемый узел не существует (выключен), злоумышленник получит в ответ ICMP-сообщение Destination Unreachable: Host Unreachable.
      Следовательно, если сообщение не было получено, то соответствующий узел подключен к сети и работает.
      Программа traceroute1 поможет в определении топологии сети и обнаружении маршрутизаторов2.
      Для определения того, какие UDP- или TCP-приложения запущены на обнаруженных компьютерах, используются программы-сканеры, например, программа nmap (http://www.insecure.org/nmap/). Поскольку номера портов всех основных сервисов Интернета стандартизованы, то, определив, например, что порт 25/TCP открыт, можно сделать вывод о том, что данный хост является сервером электронной почты, и т. д. Полученную информацию злоумышленник может использовать для развертывания атаки на уровне приложения.
      Сканирование TCP-портов хоста производится несколькими способами. Наиболее простой способ — установление TCP-соединения с тестируемым портом с помощью функции connect (пример см. в п. 2.5.5.2). Если соединение удалось установить, значит, порт открыт и к нему подсоединено серверное приложение. Достоинством этого способа является возможность выполнения сканирования любым пользователем, и даже без специального программного обеспечения: стандартная программа telnet позволяет указать произвольный номер порта для установления соединения. Существенный недостаток — возможность отслеживания и регистрации такого сканирования: при анализе системного журнала сканируемого хоста будут обнаружены многочисленные открытые и сразу же прерванные соединения, в результате чего могут быть приняты меры по повышению уровня безопасности.
      Сканирование в режиме половинного открытия (half-open scanning) не имеет описанного недостатка, но требует от злоумышленника возможности формировать одиночные TCP-сегменты в обход стандартного модуля TCP (или, при использовании уже написанных программ, как минимум — прав суперпользователя). В этом режиме злоумышленник направляет на сканируемый порт SYN-сегмент и ожидает ответа. Получение ответного сегмента с битами SYN и ACK означает, что порт открыт; получение сегмента с битом RST означает, что порт закрыт. Получив SYN+ACK, злоумышленник немедленно отправляет на обнаруженный порт сегмент с битом RST, таким образом ликвидируя попытку соединения. Так как соединение так и не было открыто (ACK от злоумышленника не был получен), то зарегистрировать такое сканирование гораздо сложнее.
      Третий способ — сканирование с помощью FIN-сегментов. В этом случае на сканируемый порт посылается сегмент с установленным битом FIN. Хост должен ответить RST-сегментом, если FIN-сегмент адресован закрытому порту. FIN-сегменты, направленные на порт, находящийся в состоянии LISTEN, многими реализациями TCP/IP игнорируются (стандарт требует в состоянии LISTEN посылать RST-сегменты в ответ на сегменты, имеющие неприемлемый ACK SN; про сегменты, имеющие только флаг FIN, ничего не говорится). Таким образом, отсутствие отклика говорит о том, что порт открыт. Варианты этого способа сканирования — посылка сегментов с флагами FIN, PSH, URG («Xmas scan») или вообще без всяких флагов («Null scan»).
      Конечно, сканирование SYN-сегментами дает более надежные результаты, однако, к счастью, многие брандмауэры могут не пропускать SYN-сегменты без флага ACK из Интернета во внутреннюю сеть1 (так, запрещаются соединения хостов Интернета с внутренними хостами, инициируемые из Интернета, но разрешаются соединения, инициируемые изнутри).
      Программа tcplogd (http://www.kalug.lug.net) может зарегистрировать попытки сканирования в различных режимах.
      Для определения открытых портов UDP злоумышленник может отправить на тестируемый порт UDP-сообщение. Получение в ответ ICMP-сообщения Port Unreachable (тип 3, код 3) говорит о том, что порт закрыт.
      Программа-сканер может также определить операционную систему сканируемого узла по тому, как узел реагирует на специальным образом сконструированные, нестандартные пакеты: например, TCP-сегменты с бессмысленными сочетаниями флагов или ICMP-сообщения некоторых типов, и по другим признакам.
      В марте 2001 г. в списке рассылки Bugtraq шла оживленная дискуссия об опции TCP Timestamp (Временной штамп) [McDanel]. У многих систем часы модуля TCP, чьи показания помещаются в опцию Timestamp, связаны с системными часами, что позволяет по значению опции определить uptime — время, прошедшее с момента загрузки компьютера. Эта информация может представлять потенциальную угрозу для безопасности компьютера в следующих аспектах.
      Некоторые реализации могут использовать uptime для инициализации генератора псевдослучайных чисел, который используется различными приложениями для создания серийных номеров, имен временных файлов и т. п., а также для назначения номеров ISN для TCP-соединений (о роли ISN в обеспечении безопасности см. п. 2.7.3). Зная uptime и имея аналогичный генератор, злоумышленник может предсказать результаты его работы.
      Зная тип системы и время последней перезагрузки, можно сделать вывод, что заплаты (patches), касающиеся безопасности и вышедшие позже момента загрузки, в системе не установлены (если их установка требует перезагрузки).
      Наблюдая за системой продолжительное время, можно составить график ее регулярных перезагрузок и произвести имперсонацию хоста (п. 2.7.3) в тот момент, когда он перегружается и не способен работать с сетью.
      Однако возможность выполнения реальных атак с использованием значения uptime пока остается под вопросом.
      В заключение отметим, что для определения адресов работающих в сети компьютеров и запущенных на них UDP- или TCP-сервисов злоумышленник, непосредственно подключенный к сегменту сети, может использовать простое прослушивание. Такая форма сканирования сети является более скрытной, чем рассылка тестирующих датаграмм.
      2.7.1.3. Генерация пакетов
      Генерация датаграмм или кадров произвольного формата и содержания производится не менее просто, чем прослушивание сети Ethernet. Библиотека libnet (http://www.packetfactory.net/libnet/) обеспечит программиста всем необходимым для решения этой задачи. Библиотека libpcap (http://www.tcpdump.org/) предоставляет инструментарий для обратного действия — извлечения пакетов из сети и их анализа.
      На многочисленных сайтах Интернета злоумышленник может найти уже готовые программы, генерирующие пакеты целенаправленно для выполнения какой-либо атаки или сканирования сети (например, программа nmap, упомянутая выше). Применение таких программ часто не требует от злоумышленника ни квалификации программиста, ни понимания принципов работы сети1, что делает многие из описанных атак, особенно атаки типа «отказ в обслуживании», широко доступными для исполнения.
      2.7.1.4. Полезные утилиты
      ping
      % ping 1.16.195.84
      Программа ping (Windows, UNIX) посылает по указанному адресу эхо-запросы ICMP и принимает эхо-ответы, вычисляя при этом время оборота пакета. При прерывании программы выводится статистика: среднее время оборота пакета и процент потерянных пакетов. (Для вывода статистики в ОС Solaris ping следует запускать с ключом -s.)
      traceroute
      % traceroute 1.16.195.84
      Программа traceroute (Windows — tracert) выводит список промежуточных узлов сети на маршруте от данного узла к указанному. Принцип работы программы следующий: к указанному узлу отправляется датаграмма с TTL=1. Первый маршрутизатор вычитает единицу из TTL, и обнаруживает, что TTL=0. Датаграмма уничтожается, а отправителю посылается ICMP-сообщение Destination Unreachable: TTL exceeded. Программа traceroute выводит адрес отправителя этого сообщения в качестве первого узла маршрута. Потом процедура повторяется с TTL=2, и таким образом обнаруживается второй маршрутизатор — и так далее. Для надежности программа отправляет по три датаграммы с каждым значением TTL. По умолчанию traceroute пытается по полученному IP-адресу определить доменное имя каждого пункта маршрута, это вносит задержку в работу программы. Для отключения этого режима traceroute нужно запустить с ключом —n (Windows — tracert —d).
      arp
      Программа arp (Windows, UNIX) позволяет получить доступ к таблице протокола ARP. Основные режимы:
      показать всю arp-таблицу:
      % arp —a 
      удалить сведения об указанном адресе:
      % arp -d IP-адрес
      внести вручную Ethernet-адрес для указанного IP-адреса:
      % arp -s IP-адрес адрес_ethernet
      whois
      Программа whois производит запрос Интернет-регистратуры об административной (организационной) принадлежности указанного IP-адреса, автономной системы и т. д.
      Solaris:
      % whois -h сервер_регистратуры предмет_запроса
      % whois -h whois.ripe.net 193.124.169.0
      % whois -h whois.ripe.net AS12332
      Linux:
      % whois предмет_запроса@сервер_регистратуры
      % whois 193.124.169.0@whois.ripe.net
      % whois AS12332@whois.ripe.net
      FreeBSD:
      % whois -h сервер_регистратуры предмет_запроса
      Для направления запросов к регистратурам Интернета в версии FreeBSD whois есть специальные ключи, устраняющие необходимость ввода имени регистратуры. Например, для запросов RIPE:
      % whois -r 193.124.169.0@whois.ripe.net
      % whois -r AS12332
      Адреса whois-серверов регистратур: для Европы и России — whois. ripe.net, для Америки — whois.arin.net, Азии — whois.apnic.net.
      nslookup
      % nslookup ns.exmpl.ru
      % nslookup 212.91.220.172
      Программа nslookup производит преобразование имени DNS в IP-адрес и обратно. Подробнее об этой программе см. п. 3.2.5.
      2.7.2. Перехват данных
      Простейшей формой перехвата данных является прослушивание сети. В этом случае злоумышленник может получить массу полезной информации: имена пользователей и пароли (многие приложения передают их в открытом виде), адреса компьютеров в сети, в том числе адреса серверов и запущенные на них приложения, адрес маршрутизатора, собственно передаваемые данные, которые могут быть конфиденциальными (например, тексты электронных писем) и т. п. Прослушивание сети и меры по обнаружению узлов, находящихся в режиме прослушивания, обсуждались в п. 2.7.1.1.
      Однако если сеть разбита на сегменты с помощью коммутаторов, то злоумышленник может перехватить только кадры, получаемые или отправляемые узлами сегмента, к которому он подключен. Простое прослушивание также не позволяет злоумышленнику модифицировать передаваемые между двумя другими узлами данные. Для решения этих задач злоумышленник должен перейти к активным действиям, чтобы внедрить себя в тракт передачи данных в качестве промежуточного узла1.
      2.7.2.1. Ложные ARP-ответы
      Для перехвата трафика между узлами А и В, расположенными в одной IP-сети, злоумышленник использует протокол ARP (п. 2.2.7). Он рассылает сфальсифицированные ARP-сообщения так, что каждый из атакуемых узлов считает MAC-адрес злоумышленника адресом своего собеседника (рис. 2.78).
     
     

Технологии защиты информации в Интернете. Специальный справочник. / М. Мамаев, С. Петренко - СПб: Питер, 2001. - 848 с.

Экономика и управление | Право/a> | Бухгалтерский учет и налоги |