Автор: Пользователь скрыл имя, 29 Октября 2012 в 23:57, курс лекций
Совсем недавно появились такие словосочетания, как "информационная безопасность", "критичная информация", "коммерческая тайна" и пр. Все эти понятия раскрывают сущность проблемы под единым названием "защита информации".
Понимание проблемы информационной безопасности начинается с представления о существующих видах угроз, которым может подвергаться информация, а также факторах и обстоятельствах, оказывающих влияние на состояние информационной безопасности.
Основными компонентами любой информационной сети являются сервера и рабочие станции. Сервера предоставляют информационные или вычислительные ресурсы, на рабочих станциях работает персонал. В принципе любая ЭВМ в сети может быть одновременно и сервером и рабочей станцией – в этом случае к ней применимы описания атак, посвященные и серверам и рабочим станциям.
Основными задачами серверов являются хранение и предоставление доступа к информации и некоторые виды сервисов. Следовательно, и все возможные цели злоумышленников можно классифицировать как
Попытки получения доступа к информации, находящейся на сервере, в принципе ничем не отличаются от подобных попыток для рабочих станций, и мы расмотрим их позднее. Проблема получения несанкционированного доступа к услугам принимает чрезвычайно разнообразные формы и основывается в основном на ошибках или недокументированных возможностях самого программного обеспечения, предоставляющего подобные услуги.
А вот проблема вывода из строя (нарушения нормального функционирования) сервисов довольно актуальна в современном компьютерном мире. Класс подобных атак получил название атака "отказ в сервисе" (англ. deny of service – DoS ). Атака "отказ в сервисе" может быть реализована на целом диапазоне уровней модели OSI : физическом, канальном, сетевом, сеансовом. Детально схемы реализации данной атаки мы рассмотрим в параграфе, посвященном модели OSI.
Изменение информации или услуг как часть более крупномасштабной атаки является также очень важной проблемой в защите серверов. Если на сервере хранятся пароли пользователей или какие-либо данные, которые могут позволить злоумышленнику, изменив их, войти в систему (например, сертификаты ключей), то естественно, сама атака на систему начнется с атаки на подобный сервер. В качестве серверов услуг, наиболее часто подвергающимся модификации, следует назвать DNS-сервера.
DNS-служба (англ.
Domain Name System – служба доменных
имен) в сетях Intra- и Inter- Net отвечает
за сопоставление "
Дело в том, что, если злоумышленнику удастся заполучить права доступа к DNS-серверу, обслуживающему данный участок сети, то он вполне может изменить программу DNS-сервиса. Обычно изменение делается таким образом, чтобы по некоторым видам запросов вместо правильного IP-адреса клиенту выдавался IP-адрес какой-либо вспомогательной машины злоумышленника, а все остальные запросы обрабатывались корректно. Это дает возможность изменять путь прохождения трафика, который возможно содержит конфиденциальную информацию, и делать так, что весь поток информации, который в нормальном режиме прошел бы вне досягаемости от прослушивания, теперь поступал сначала прямо в руки злоумышленника (а затем его уже можно переправлять по настоящему IP-адресу второго абонента).
Основной целью атаки рабочей станции является, конечно, получение данных, обрабатываемых, либо локально хранимых на ней. А основным средством подобных атак до сих пор остаются "троянские" программы. Эти программы по своей структуре ничем не отличаются от компьютерных вирусов, однако при попадании на ЭВМ стараются вести себя как можно незаметнее. При этом они позволяют любому постороннему лицу, знающему протокол работы с данной троянской программой, производить удаленно с ЭВМ любые действия. То есть основной целью работы подобных программ является разрушение системы сетевой защиты станции изнутри – пробивание в ней огромной бреши.
Для борьбы с троянскими программами используется как обычное антивирусное ПО, так и несколько специфичных методов, ориентированных исключительно на них. В отношении первого метода как и с компьютерными вирусами необходимо помнить, что антивирусное ПО обнаруживает огромное количество вирусов, но только таких, которые широко разошлись по стране и имели многочисленные преценденты заражения. В тех же случаях, когда вирус или троянская программа пишется с целью получения доступа именно к Вашей ЭВМ или корпоративной сети, то она практически с вероятностью 90% не будет обнаружена стандартным антивирусным ПО.
Те троянские программы, которые постоянно обеспечивают доступ к зараженной ЭВМ, а, следовательно, держат на ней открытый порт какого-либо транспортного протокола, можно обнаруживать с помощью утилит контроля за сетевыми портами. Например, для операционных систем клона Microsoft Windows такой утилитой является программа NetStat. Запуск ее с ключом "netstat -a" выведет на экран все активные порты ЭВМ. От оператора в этом случае требуется знать порты стандартных сервисов, которые постоянно открыты на ЭВМ, и тогда, любая новая запись на мониторе должна привлечь его внимание. На сегодняшний день существует уже несколько программных продуктов, производящих подобный контроль автоматически.
В отношении троянских программ, которые не держат постоянно открытых транспортных портов, а просто методически пересылают на сервер злоумышленника какую-либо информацию (например, файлы паролей или полную копию текста, набираемого с клавиатуры), возможен только сетевой мониторинг. Это достаточно сложная задача, требующая либо участия квалифицированного сотрудника, либо громоздкой системы принятия решений.
Поэтому наиболее простой путь, надежно защищающий как от компьютерных вирусов, так и от троянских программ – это установка на каждой рабочей станции программ контроля за изменениями в системных файлах и служебных областях данных (реестре, загрузочных областях дисков и т.п.) – так называемых адвизоров (англ. adviser – уведомитель).
Естественно, основным видом атак на среду передачи информации является ее прослушивание. В отношении возможности прослушивания все линии связи делятся на :
К первой категории относятся схемы передачи информации, возможность считывания информации с которых ничем не контролируется. Такими схемами, например, являются инфракрасные и радиоволновые сети. Ко второй и третьей категориям относятся уже только проводные линии : чтение информации с них возможно либо всеми станциями, подключенными к данному проводу (широковещательная категория), либо только теми станциями и узлами коммутации через которые идет пакет от пункта отправки до пункта назначения (категория "точка-точка").
К широковещательной категории сетей относятся сеть TokenRing, сеть EtherNet на коаксиальной жиле и на повторителях (хабах – англ. hub). Целенаправленную (защищенную от прослушивания другими рабочими станциями) передачу данных в сетях EtherNet производят сетевые коммутаторы типа свич (англ. switch) и различного рода маршрутизаторы (роутеры – англ. router). Сеть, построенная по схеме с защитой трафика от прослушивания смежными рабочими станциями, почти всегда будет стоить дороже, чем широковещательная топология, но за безопасность нужно платить.
В отношении прослушивания
Вывод систем передачи информации из строя (атака "отказ в сервисе") на уровне среды передачи информации возможен, но обычно он расценивается уже как внешнее механическое или электронное (а не программное) воздействие. Возможны физическое разрушение кабелей, постановка шумов в кабеле и в инфра- и радио- трактах.
Узлы коммутации сетей представляют для злоумышленников 1) как инструмент маршрутизации сетевого трафика, и 2) как необходимый компонент работоспособности сети.
В отношении первой цели получение доступа к таблице маршрутизации позволяет изменить путь потока возможно конфиденциальной информации в интересующую злоумышленника сторону. Дальнейшие его действия могут быть подобны атаке на DNS-сервер. Достичь этого можно либо непосредственным администрированием, если злоумышленник каким-либо получил права администратора (чаще всего узнал пароль администротора или воспользовался несмененным паролем по умолчанию). В этом плане возможность удаленного управления устройствами коммутации не всегда благо : получить физический доступ к устройству, управляемому только через физический порт, гораздо сложнее.
Либо же возможен второй путь атаки с целью изменения таблицы маршрутизации – он основан на динамической маршрутизации пакетов, включенной на многих узлах коммутации. В таком режиме устройство определяет наиболее выгодный путь отправки конкретного пакета, основываясь на истории прихода определенных служебных пакетов сети – сообщений маршрутизации (протоколы ARP, RIP и другие). В этом случае при фальсификации по определенным законам нескольких подобных служебных пакетов можно добиться того, что устройство начнет отправлять пакеты по пути, интересующем злоумышленника, думая, что это и есть самый быстрый путь к пункту назначения.
При атаке класса "отказ в сервисе" злоумышленник обычно заставляет узел коммутации либо передавать сообщения по неверному "тупиковому" пути (как этого можно добиться мы рассмотрели выше), либо вообще перестать передавать сообщения. Для достижения второй цели обычно используют ошибки в программном обеспечении, запущенном на самом маршрутизаторе, с целью его "зависания". Так, например, совсем недавно было обнаружено, что целый модельный ряд маршрутизаторов одной известной фирмы при поступлении на его IP-адрес довольно небольшого потока неправильных пакетов протокола TCP либо перестает передавать все остальные пакеты до тех пор, пока атака не прекратиться, либо вообще зацикливается.
Эталонная модель взаимодействия открытых систем OSI (англ. Open Systems Interconnection) была разработана институтом стандартизации ISO с целью разграничить функции различных протоколов в процессе передачи информации от одного абонента другому. Подобных классов функций было выделено 7 – они получили название уровней. Каждый уровень выполняет свои определенные задачи в процессе передачи блока информации, причем соответствующий уровень на приемной стороне производит преобразования, точно обратные тем, которые производил тот же уровень на передающей стороне. В целом прохождение блока данных от отправителя к получателю показано на рис.1. Каждый уровень добавляет к пакету небольшой объем своей служебной информации – префикс (на рисунке они изображены как P1...P7). Некоторые уровни в конкретной реализации вполне могут отсутствовать.
Данная модель позволяет провести классификацию сетевых атак согласно уровню их воздействия.
Физический уровень отвечает за преобразование электронных сигналов в сигналы среды передачи информации (импульсы напряжения, радиоволны, инфракрасные сигналы). На этом уровне основным классом атак является "отказ в сервисе". Постановка шумов по всей полосе пропускания канала может привести к "надежному" разрыву связи.
Канальный уровень управляет
Сетевой уровень отвечает за систему уникальных имен и доставку пакетов по этому имени, то есть за маршрутизацию пакетов. Примером такого протокола является протокол Интернета IP. Все атаки, основанные на заведомо неправильной маршрутизации пакетов, мы уже рассмотрели.
Транспортный уровень отвечает за доставку больших сообщений по линиям с коммутацией пакетов. Так как в подобных линиях размер пакета представляет собой обычно небольшое число (от 500 байт до 5 килобайт), то для передачи больших объемов информации их необходимо разбивать на передающей стороне и собирать на приемной. Транспортными протоколами в сети Интернет являются протоколы UDP и TCP. Реализация транспортного протокола – довольно сложная задача, а если еще учесть, что злоумышленник придумывает самые разные схемы составления неправильных пакетов, то проблема атак транспортного уровня вполне объяснима.
Все дело в том, что пакеты на приемную сторону могут приходить и иногда приходят не в том порядке, в каком они были отправлены. Причина обычно состоит в потере некоторых пакетов из-за ошибок или переполненности каналов, реже – в использовании для передачи потока двух альтернативных путей в сети. А, следовательно, операционная система должна хранить некоторый буфер пакетов, дожидаясь прихода задержавшихся в пути. А если злоумышленник с умыслом формирует пакеты таким образом, чтобы последовательность была большой и заведомо неполной, то тут можно ожидать как постоянной занятости буфера, так и более опасных ошибок из-за его переполнения.