Обеспечение информационной безопасности направлено на предупреждение возможности возникновения, предотвращение возможности реализации или снижения эффективности деструктивных действий в результате реализации той или иной угрозы информационной безопасности.
Под угрозой информационной безопасности (ИБ) понимается совокупность условий и факторов, создающих потенциальную опасность, связанную с утечкой информации и/или несанкционированными и/или непреднамеренными воздействиями на нее [4].
В общем случае угроза ИБ может характеризоваться следующими параметрами:
— источник угрозы;
— используемая уязвимость;
— способ реализации угрозы;
— деструктивные действия, выполняемые при реализации угрозы [26].
Уязвимость ИТКС — это некая ее характеристика, которая делает возможным существование угрозы. Другими словами, именно из-за наличия уязвимостей в системе могут происходить нежелательные события.
Атака на ИТКС — это действие, предпринимаемое злоумышленником, которое заключается в поиске и использовании той или иной уязвимости для реализации некоторой угрозы ИБ ИТКС. Таким образом, под атакой будем понимать процесс реализации угрозы. Заметим, что такое толкование атаки (с участием человека, имеющего злой умысел), исключает присутствующий в определении угрозы элемент случайности, но, как показывает опыт, часто бывает невозможно различить преднамеренные и случайные действия, и система защиты должна адекватно реагировать на любое из них [36].
Угрозы, связанные с несанкционированным доступом, выделяются из всего комплекса угроз по способу реализации. При этом под несанкционированным доступом понимается доступ к информации заинтересованным субъектом с нарушением установленных прав или правил доступа к информации [5]. Сам несанкционированный доступ угрозой как таковой не является. Угрозы могут появиться в связи с НСД. При этом может быть несанкционированное ознакомление с информацией, несанкционированное копирование (хищение) информации и/или несанкционированное воздействие на информацию (уничтожение, блокирование и т.д.) [37].
По способу реализации угрозы ИБ ИТКС можно разделить на две большие группы:
1) угрозы непосредственного доступа в ОС компьютера;
2) угрозы удаленного доступа к компьютерам и службам ИТКС.
В следующем разделе рассмотрены основные уязвимости ИТКС в отношении этих классов угроз.
Под сетевой (удаленной) атакой понимаются действие или совокупность действий, направленных на реализацию угрозы удаленного (с использованием протоколов сетевого взаимодействия) доступа к технологической информации или информации пользователя в компьютерной сети [8].
Причины успеха удаленных атак кроются в самой инфраструктуре ИТКС, поэтому создание таксономии причин их успеха представляется весьма важной задачей, решение которой позволит выработать принципы построения защищенного взаимодействия в ИТКС.
Итак, рассмотрим возможные причины успеха удаленных атак на инфраструктуру и базовые протоколы ИТКС [3,39,40].
1. Отсутствие выделенного канала связи между объектами ИТКС. Удаленная атака «Анализ сетевого трафика» программно возможна только в случае, если атакующий находится в сети с физически широковещательной средой передачи данных как, например, всем известная и получившая широкое распространение среда Ethernet (в отличие от Token Ring, которая не является широковещательной, но и не имеет достаточного распространения). Очевидно, что данная атака была бы невозможна, если бы у каждого объекта системы существовал для связи с любым другим объектом выделенный канал (вариант физического прослушивания выделенного канала не рассматривается, так как без специфических аппаратных средств подключение к выделенному каналу невозможно).
2. Недостаточная идентификация и аутентификация объектов и субъектов ИТКС. От успеха решения проблемы идентификации и аутентификации объектов и сообщений зависит безопасность ИТКС в целом.
Рассмотрим уязвимости ИТКС при взаимодействии ее объектов как с установлением виртуального канала, так и без такового.
Практика показывает, что 99% взаимодействия между объектами в сети Internet проходит с установлением виртуального канала (при любом FTP-, telnet-, HTTP- и т.п. подключении используется протокол TCP, а следовательно, создается виртуальный канал). Это происходит из-за того, что взаимодействие по виртуальному каналу является единственным динамическим способом защиты сетевого соединения объектов ИТКС. В процессе создания виртуального канала объекты ИТКС обмениваются динамически вырабатываемой ключевой информацией, позволяющей уникально идентифицировать канал.
Идентификация объектов ИТКС, при отсутствии статической ключевой информации, возможна только при взаимодействии объектов с использованием виртуального канала. Это, в свою очередь, означает, что взаимодействие объектов без установления виртуального канала является одной из возможных причин успеха удаленных атак на ИТКС.
Но ошибочно считать распределенную вычислительную систему безопасной, даже если все взаимодействие объектов происходит с созданием виртуального канала.
Чрезвычайно важным в данном случае становится выбор алгоритма идентификации при создании виртуального канала. Основное требование, которое следует предъявлять к данным алгоритмам, состоит в следующем: перехват ключевой информации, которой обмениваются объекты ИТКС при создании виртуального канала не должен позволить атакующему получить итоговые идентификаторы канала и объектов. В большинстве существующих сетевых ОС в базовых алгоритмах идентификации, используемых при создании ВК, этим требованием разработчики практически пренебрегают. Так, например, в ОС Novell NetWare 3.12—4.1 идентификатор канала — это число в диапазоне 0-FFh, идентификатор объекта (рабочей станции или файл-сервера) — также число от 0 до FFh; в протоколе TCP идентификаторами канала и объектов являются два 32-битных числа, формируемых в процессе создания TCP-соединения.
Из всего сказанного ясно, что создание виртуального канала с использованием нестойкого алгоритма идентификации не позволяет надежно обезопасить ИТКС от подмены объектов взаимодействия и выступает одной из причин успеха удаленных атак на распределенные вычислительные системы.
3. Отсутствие контроля за виртуальными каналами связи между объектами ИТКС. Объекты ИТКС, взаимодействующие по виртуальным каналам, могут подвергаться атаке «Отказ в обслуживании». Особенность этой атаки состоит в том, что, действуя абсолютно легальными средствами системы, можно удаленно добиться нарушения ее работоспособности. Взаимодействие объектов ИТКС по виртуальным каналам позволяет единственным способом обеспечить защиту соединения в глобальной сети. К недостаткам такого метода относится необходимость контроля за соединением. При этом задача контроля распадается на две подзадачи:
— контроль за созданием соединения,
— контроль за использованием соединения.
Если вторая задача решается довольно просто (обычно соединение разрывается по тайм-ауту, определенному системой — так сделано во всех известных сетевых ОС), то решение задачи контроля за созданием соединения представляется нетривиальным. Именно отсутствие приемлемого решения этой задачи является основной причиной успеха атаки «Отказ в обслуживании». Сложность контроля над созданием виртуального канала состоит в том, что в системе, в которой отсутствует статическая ключевая информация обо всех ее объектах, невозможно отделить ложные запросы на создание соединения от настоящих. Очевидно также, что если один субъект сетевого взаимодействия будет иметь возможность анонимно занимать неограниченное число каналов связи с удаленным объектом, то подобная система может быть полностью парализована данным субъектом. Если любой объект в распределенной системе может анонимно послать сообщение от имени любого другого объекта (например, в Internet маршрутизаторе не проверяют IP-адрес источника отправления), то в подобной ИТКС в принципе невозможен контроль за созданием виртуальных соединений. Поэтому основная причина, по которой возможна атака «Отказ в обслуживании» и ей подобные — это отсутствие в ИТКС возможности контроля за маршрутом сообщений.
4. Отсутствие в ИТКС возможности контроля за маршрутом сообщений. В ИТКС в качестве начальной идентифицирующей объект информации обычно выступает его адрес. Под адресом в ИТКС понимается определенная системой уникальная информация, которой он наделяется при внесении в систему. Все сообщения от других объектов ИТКС, отправленные на этот адрес, поступят на данный объект. Путь, или маршрут сообщения определяется топологией ИТКС и проходит через совокупность узлов-маршрутизаторов. Если в ИТКС не предусмотреть возможностей контроля за маршрутом сообщения, то адрес отправителя сообщения оказывается ничем не подтвержден. Таким образом, в системе будет существовать возможность отправки сообщения от имени любого объекта системы, а именно путем указания в заголовке сообщения чужого адреса отправителя. Также в подобной ИТКС будет невозможно определить, откуда на самом деле пришло сообщение, а, следовательно, вычислить координаты атакующего (в сети Internet невозможно доступным способом вычислить инициатора однонаправленной удаленной атаки) [28].
5. Отсутствие в ИТКС полной информации о ее объектах. В распределенной системе с разветвленной структурой, состоящей из большого числа объектов, может возникнуть ситуация, когда для доступа к определенному объекту системы у субъекта взаимодействия может не оказаться необходимой информации об интересующем объекте. Обычно такой недостающей информацией об объекте является его адрес. Такая ситуация характерна и вполне объяснима для сетей с разветвленной структурой.
Таким образом, если в ИТКС существуют объекты, информация о которых не определена, то для обеспечения ее нормального функционирования необходимо использование алгоритмов удаленного поиска.
Очевиден тот факт, что в системе с заложенной в нее неопределенностью существуют потенциальные возможности внесения в систему ложного объекта и выдачи одного объекта системы за другой. Этот факт объясняется тем, что, являясь следствием неопределенности системы, алгоритмы удаленного поиска несут в себе потенциальную угрозу, состоящую в том, что на посланный запрос может прийти ложный ответ, в котором вместо информации о запрашиваемом объекте будет информация о ложном объекте. Вследствие этого ИТКС с заложенной неопределенностью является потенциально опасной системой и может подвергаться удаленным атакам [40].
6. Отсутствие в ИТКС криптозащиты сообщений. В ИТКС связь между объектами системы осуществляется по каналам связи. Поэтому всегда существует принципиальная возможность для атакующего прослушать канал и получить несанкционированный доступ к информации, которой обмениваются по сети ее абоненты. В том случае, если проходящая по каналу информация не зашифрована и атакующий каким-либо образом получает доступ к каналу, то атака «анализ сетевого трафика» является наиболее эффективным способом получения информации.
Удаленные атаки можно классифицировать по следующим признакам [2,30,31,40].
1. По характеру воздействия
а) пассивные,
б) активные.
Пассивным воздействием на распределенную вычислительную систему назовем воздействие, которое не оказывает непосредственного влияния на работу системы, но может нарушать ее политику безопасности. Именно отсутствие непосредственного влияния на работу ИТКС приводит к тому, что пассивное удаленное воздействие практически невозможно обнаружить. Примером пассивного типового удаленного воздействия в ВС служит прослушивание канала связи в сети.
Под активным воздействием на ИТКС будем понимать воздействие, оказывающее непосредственное влияние на работу системы (изменение конфигурации ИТКС, нарушение работоспособности и т. д.) и нарушающее принятую в ней политику безопасности [28]. Практически все типы удаленных атак являются активными воздействиями. Это связано с тем, что в самой природе разрушающего воздействия содержится активное начало. Очевидной особенностью активного воздействия по сравнению с пассивным является принципиальная возможность его обнаружения (естественно, с большей или меньшей степенью сложности), так как в результате его осуществления в системе происходят определенные изменения. В отличие от активного, при пассивном воздействии не остается никаких следов.
2. По цели воздействия
а) нарушение конфиденциальности информации либо ресурсов системы,
б) нарушение целостности информации,
в) нарушение работоспособности (доступности) системы.
Этот классификационный признак является прямой проекцией трех основных типов угроз свойствам информации — конфиденциальности, целостности и доступности.
Основная цель практически любой атаки — получить несанкционированный доступ к информации. Существуют две принципиальные возможности доступа к информации: перехват и искажение. Возможность перехвата информации означает получение к ней доступа, но невозможность ее модификации [9]. Следовательно, перехват информации ведет к нарушению ее конфиденциальности. Примером перехвата информации может служить прослушивание канала в сети. В этом случае имеется несанкционированный доступ к информации без возможности ее искажения. Очевидно также, что нарушение конфиденциальности информации в данном случае является пассивным воздействием.
Возможность искажения информации означает либо полный контроль над информационным потоком между объектами системы, либо возможность передачи сообщений от имени другого объекта. Таким образом, очевидно, что искажение информации ведет к нарушению ее целостности. Данное информационное разрушающее воздействие представляет собой яркий пример активного воздействия.
Принципиально другой целью атаки является нарушение работоспособности системы. В этом случае не предполагается получение атакующим несанкционированного доступа к информации. Его основная цель — добиться, чтобы операционная система на атакуемом объекте вышла из строя и для всех остальных объектов системы доступ к ресурсам атакованного объекта был бы невозможен.
3. По условию начала осуществления воздействия. Удаленное воздействие, также как и любое другое, может начать осуществляться только при определенных условиях. В ИТКС существуют три вида условий начала осуществления удаленной атаки:
а) Атака по запросу от атакуемого объекта. В этом случае атакующий ожидает передачи от потенциальной цели атаки запроса определенного типа, который и будет условием начала осуществления воздействия.
б) Атака по наступлению ожидаемого события на атакуемом объекте.
В этом случае атакующий осуществляет постоянное наблюдение за состоянием операционной системы удаленной цели атаки и при возникновении определенного события в этой системе начинает воздействие. Как и в предыдущем случае, инициатором осуществления начала атаки выступает сам атакуемый объект.
Основной особенностью ИТКС является то, что ее объекты распределены в пространстве и связь между ними физически осуществляется по сетевым соединениям и программно — при помощи механизма сообщений. При этом все управляющие сообщения и данные, пересылаемые между объектами ИТКС, передаются по сетевым соединениям в виде пакетов обмена. Эта особенность привела к появлению специфичного для ИТКС типового удаленного воздействия, заключающегося в прослушивании канала связи. Назовем данное удаленное воздействие анализом сетевого трафика [40].
1. Сетевой анализ. Анализ сетевого трафика позволяет, во-первых, изучить логику работы ИТКС, то есть получить взаимно однозначное соответствие событий, происходящих в системе, и команд, пересылаемых друг другу ее объектами, в момент появления этих событий. Это достигается путем перехвата и анализа пакетов обмена на канальном уровне. Знание логики работы ИТКС позволяет на практике моделировать и осуществлять типовые удаленные атаки, рассмотренные в следующих пунктах на примере конкретных ИТКС.
Во-вторых, анализ сетевого трафика позволяет перехватить поток данных, которыми обмениваются объекты ИТКС. Таким образом, удаленная атака данного типа заключается в получении на удаленном объекте несанкционированного доступа к информации, которой обмениваются два сетевых абонента. Отметим, что при этом отсутствует возможность модификации трафика и сам анализ возможен только внутри одного сегмента сети. Примером перехваченной при помощи данной типовой удаленной атаки информации могут служить имя и пароль пользователя, пересылаемые в незашифрованном виде по сети [3].
В сети Internet основными базовыми протоколами удаленного доступа являются telnet, протокол виртуального терминала, и FTP (File Transfer Protocol), протокол, предназначенный для передачи файлов между удаленными хостами. Для получения доступа к серверу по данным протоколам пользователю необходимо пройти на нем процедуру идентификации и аутентификации. В качестве информации, идентифицирующей пользователя, выступает его идентификатор (имя), а для аутентификации используется пароль. Особенностью протоколов FTP и telnet является то, что пароли и идентификаторы пользователей передаются по сети в открытом, незашифрованном виде [4].
Таким образом, анализ сетевого трафика является одним из способов получения паролей и идентификаторов пользователей в ИТКС. Он осуществляется с помощью специальной программ-анализаторов пакетов (снифферов), перехватывающих все пакеты, передаваемые по сегменту сети, и выделяющей среди них те, в которых передаются, например, идентификатор пользователя и его пароль. Сетевой анализ протоколов FTP и telnet показывает, что telnet разбивает пароль на символы и пересылает их по одному, помещая каждый символ из пароля в соответствующий пакет, а FTP, напротив, пересылает пароль целиком в одном пакете [31].
2. Отказ в обслуживании. Одной из основных задач, возлагаемых на сетевую ОС, функционирующую на каждом из объектов ИТКС, является обеспечение надежного удаленного доступа с любого объекта сети к данному объекту. В общем случае в ИТКС каждый субъект системы должен иметь возможность подключиться к любому объекту ИТКС и получить в соответствии со своими правами удаленный доступ к его ресурсам. Задача сервера состоит в том, чтобы, находясь в памяти операционной системы объекта ИТКС, постоянно ожидать получения запроса на подключение от удаленного объекта. В случае получения подобного запроса сервер должен по возможности передать на запросивший объект ответ, в котором либо разрешить подключение, либо нет. По аналогичной схеме происходит создание виртуального канала связи, по которому обычно взаимодействуют объекты ИТКС. В этом случае непосредственно ядро сетевой ОС обрабатывает приходящие извне запросы на создание виртуального канала и передает их в соответствии с идентификатором запроса (порт или сокет) прикладному процессу, которым является соответствующий сервер.