Материал: Проникновения в операционную среду компьютера. модели злоумышленного удаленного доступа. Радько Н.М., Язов Ю.К

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

в) Безусловная атака.

В этом случае начало осуществления атаки безусловно по отношению к цели атаки, то есть атака осуществляется немедленно и безотносительно к состоянию системы и атакуемого объекта. Следовательно, в этом случае атакующий является инициатором начала осуществления атаки.

4. По наличию обратной связи с атакуемым объектом

а) с обратной связью,

б) без обратной связи (однонаправленная атака).

Удаленная атака, осуществляемая при наличии обратной связи с атакуемым объектом, характеризуется тем, что на некоторые запросы, переданные на атакуемый объект, атакующему требуется получить ответ, а, следовательно, между атакующим и целью атаки существует обратная связь, которая позволяет атакующему адекватно реагировать на все изменения, происходящие на атакуемом объекте [20]. Подобные удаленные атаки наиболее характерны для ИТКС.

В отличие от атак с обратной связью удаленным атакам без обратной связи не требуется реагировать на какие-либо изменения, происходящие на атакуемом объекте. Атаки данного вида обычно осуществляются передачей на атакуемый объект одиночных запросов, ответы на которые атакующему не нужны.

5. По расположению субъекта атаки относительно атакуемого объекта

а) внутрисегментное,

б) межсегментное.

Рассмотрим ряд определений. Субъект атаки (или источник атаки) — это атакующая программа или оператор, непосредственно осуществляющие воздействие; хост (host) — сетевой компьютер; маршрутизатор (router) — устройство, обеспечивающее маршрутизацию пакетов обмена в глобальной сети [36]; подсеть (subnetwork) (в терминологии Internet) — совокупность хостов, являющихся частью глобальной сети, для которых маршрутизатором выделен одинаковый номер подсети; подсеть — логическое объединение хостов маршрутизатором [29] (хосты внутри одной подсети могут взаимодействовать между собой непосредственно, минуя маршрутизатор); сегмент сети — физическое объединение хостов (например, сегмент сети образуют совокупность хостов, подключенных к серверу по схеме «общая шина». При такой схеме подключения каждый хост имеет возможность подвергать анализу любой пакет в своем сегменте [40]).

С точки зрения удаленной атаки чрезвычайно важно, как по отношению друг к другу располагаются субъект и объект атаки, то есть в одном или в разных сегментах они находятся. В случае внутрисегментной атаки, как следует из названия, субъект и объект атаки находятся в одном сегменте. При межсегментной атаке субъект и объект атаки находятся в разных сегментах.

В дальнейшем будет показано, что на практике межсегментную атаку осуществить значительно труднее, чем внутрисегментную [2].

6. По уровню эталонной модели ISO/OSI, на котором осуществляется воздействие

а) физический,

б) канальный,

в) сетевой,

г) транспортный,

д) сеансовый,

е) представительный,

ж) прикладной.

Международная Организация по Стандартизации (ISO) приняла стандарт ISO 7498, описывающий взаимодействие открытых систем (OSI). ИТКС также являются открытыми системами. Любой сетевой протокол обмена, как и любую сетевую программу, можно с той или иной степенью точности спроецировать на эталонную семиуровневую модель OSI. Такая многоуровневая проекция позволит описать в терминах модели OSI функции, заложенные в сетевой протокол или программу. Представляется логичным рассматривать удаленные атаки на ИТКС, проецируя их на эталонную модель ISO/OSI.

Очевидно, что сетевая операционная система способна иметь только ограниченное число открытых виртуальных соединений и отвечать лишь на ограниченное число запросов. Эти ограничения зависят от различных параметров системы в целом, основными из которых являются быстродействие ЭВМ, объем оперативной памяти и пропускная способность канала связи (чем она выше, тем больше число возможных запросов в единицу времени).

Основная проблема состоит в том, что при отсутствии статической ключевой информации в ИТКС идентификация запроса возможна только по адресу его отправителя. Если в ИТКС не предусмотрено средств аутентификации адреса отправителя, то есть инфраструктура ИТКС позволяет с одного объекта системы передавать на другой атакуемый объект бесконечное число анонимных запросов на подключение от имени других объектов, то в этом случае будет иметь успех типовая удаленная атака «Отказ в обслуживании». Результат применения этой удаленной атаки — нарушение на атакованном объекте работоспособности соответствующей службы предоставления удаленного доступа, то есть невозможность получения удаленного доступа с других объектов ИТКС — отказ в обслуживании [29,47].

Вторая разновидность этой удаленной атаки состоит в передаче с одного адреса такого количества запросов на атакуемый объект, какое позволит трафик (направленный шторм запросов). В этом случае, если в системе не предусмотрены правила, ограничивающие число принимаемых запросов с одного объекта (адреса) в единицу времени, то результатом этой атаки может являться как переполнение очереди запросов и отказа одной из телекоммуникационных служб, так и полная остановка компьютера из-за невозможности системы заниматься ничем другим, кроме обработки запросов. Примерами атак данного типа могут служить шторм широковещательных ICMP-эхо-запросов (Smurf), направленный шторм (SYN-flooding), шторм сообщений почтовому серверу (Spam).

Третьей разновидностью атаки «Отказ в обслуживании» является передача на атакуемый объект некорректного, специально подобранного запроса (атаки типа «Land», «TearDrop», «Bonk», «Nuke», «UDP-bomb») либо имеющих длину, превышающую максимально допустимый размер (атака типа «Ping Death», атака демона ftpd UNIX-хоста). В этом случае при наличии ошибок в удаленной системе возможно зацикливание процедуры обработки запроса, переполнение буфера с последующим зависанием [3,8].

3. Внедрение ложного объекта на основе навязывания ложного маршрута. В том случае, если в ИТКС недостаточно надежно решены проблемы идентификации сетевых управляющих устройств (маршрутизаторов), возникающие при взаимодействии последних с объектами системы, она может подвергнуться атаке, связанной с изменением маршрутизации и внедрением в систему ложного объекта. В том случае, если инфраструктура сети такова, что для взаимодействия объектов необходимо использование алгоритмов удаленного поиска, также существует возможность внедрения в систему ложного объекта. Существуют две принципиально разные причины, обусловливающие появление этой удаленной атаки.

Современные глобальные сети представляют собой совокупность сегментов сети, связанных между собой через сетевые узлы. При этом маршрутом называется последовательность узлов сети, по которой данные передаются от источника к приемнику. Каждый маршрутизатор имеет специальную таблицу, называемую таблицей маршрутизации, в которой для каждого адресата указывается оптимальный маршрут. Отметим, что таблицы маршрутизации существуют не только у маршрутизаторов, но и у любых хостов в глобальной сети. Для обеспечения эффективной и оптимальной маршрутизации в ИТКС применяются специальные управляющие протоколы, позволяющие маршрутизаторам обмениваться информацией друг с другом (RIP ‑ Routing Internet Protocol, OSPF ‑ Open Shortest Path First), уведомлять хосты о новом маршруте — ICMP (Internet Control Message Protocol), удаленно управлять маршрутизаторами (SNMP ‑ Simple Network Management Protocol). Важно отметить, что все описанные выше протоколы позволяют удаленно изменять маршрутизацию в сети Internet, то есть являются протоколами управления сетью.

Очевидно, что маршрутизация в глобальных сетях играет важнейшую роль и, вследствие этого, может подвергаться атаке. Основная цель атаки, связанной с навязыванием ложного маршрута, состоит в том, чтобы изменить исходную маршрутизацию на объекте ИТКС так, чтобы новый маршрут проходил через ложный объект — хост атакующего [31,40,48].

Реализация данной удаленной атаки состоит в несанкционированном использовании протоколов управления сетью для изменения исходных таблиц маршрутизации.

Для изменения маршрутизации атакующему необходимо послать по сети определенные данными протоколами управления сетью специальные служебные сообщения от имени сетевых управляющих устройств (например, маршрутизаторов). В результате успешного изменения маршрута атакующий получит полный контроль над потоком информации, которой обмениваются два объекта ИТКС, и атака перейдет во вторую стадию, связанную с приемом, анализом и передачей сообщений, получаемых от дезинформированных объектов ИТКС [28].

Рассмотрим этапы реализации такой атаки, основанной на посылке злоумышленником ложных ICMP-сообщений:

1). Злоумышленник передает на атакуемый хост ложное ICMP Redirect Host сообщение.

2). Происходит изменение таблицы маршрутизации атакуемого хоста.

3). В случае если пришел ARP-запpос от атакуемого хоста, злоумышленник отправляет ему ARP-ответ.

4). Хост злоумышленника перенаправляет пакеты от атакуемого хоста на настоящий маршрутизатор, а также пакеты от маршрутизатора на атакуемый хост.

4. Внедрение ложного объекта на основе использования недостатков алгоритмов удаленного поиска. В ИТКС часто оказывается, что ее удаленные объекты изначально не имеют достаточно информации, необходимой для адресации сообщений. Обычно такой информацией являются аппаратные (адрес сетевого адаптера) и логические (IP-адрес, например) адреса объектов ИТКС. Для получения подобной информации в ИТКС используются различные алгоритмы удаленного поиска, заключающиеся в передаче по сети специального вида поисковых запросов, и в ожидании ответов на запрос с искомой информацией. После получения ответа на запрос, запросивший субъект ИТКС обладает всеми необходимыми данными для адресации. Руководствуясь полученными из ответа сведениями об искомом объекте, запросивший субъект ИТКС начинает адресоваться к нему. Примером подобных запросов, на которых базируются алгоритмы удаленного поиска, могут служить SAP-запрос в ОС Novell NetWare [34], ARP- и DNS-запрос в сети Internet.

В случае использования ИТКС механизмов удаленного поиска существует возможность на атакующем объекте перехватить посланный запрос и послать на него ложный ответ, где указать данные, использование которых приведет к адресации на атакующий ложный объект. В дальнейшем весь поток информации между субъектом и объектом взаимодействия будет проходить через ложный объект ИТКС.

Для адресации IP-пакетов в сетях, основанных на технологии Ethernet, кроме IP-адреса хоста необходим еще либо Ethernet-адрес его сетевого адаптера (в случае адресации внутри одной подсети), либо Ethernet-адрес маршрутизатора (в случае межсетевой адресации). Первоначально хост может не иметь информации о Ethernet-адресах других хостов, находящихся с ним в одном сегменте, в том числе и о Ethernet-адресе маршрутизатора. Следовательно, перед хостом встает стандартная проблема, решаемая с помощью алгоритма удаленного поиска. В сети Internet для решения этой проблемы используется протокол ARP (Address Resolution Protocol). Протокол ARP позволяет получить взаимно однозначное соответствие IP- и Ethernet-адресов для хостов, находящихся внутри одного сегмента. Это достигается следующим образом: при первом обращении к сетевым ресурсам хост отправляет широковещательный ARP-запрос на Ethernet-адрес FFFFFFFFFFFFh, в котором указывает IP-адрес маршрутизатора и просит сообщить его Ethernet-адрес (IP-адрес маршрутизатора является обязательным параметром, который всегда устанавливается вручную при настройке любой сетевой ОС в сети Internet). Этот широковещательный запрос получат все станции в данном сегменте сети, в том числе и маршрутизатор. Получив данный запрос, маршрутизатор внесет запись о запросившем хосте в свою ARP-таблицу, а затем отправит на запросивший хост ARP-ответ, в котором сообщит свой Ethernet-адрес. Полученный в ARP-ответе Ethernet-адрес будет занесен в ARP-таблицу, находящуюся в памяти операционной системы на запросившем хосте и содержащую записи соответствия IP- и Ethernet-адресов для хостов внутри одного сегмента. Отметим, что в случае адресации к хосту, расположенному в той же подсети, также используется ARP-протокол и рассмотренная выше схема полностью повторяется [40].

Из анализа безопасности протокола ARP становится ясно, что, перехватив на атакующем хосте внутри данного сегмента сети широковещательный ARP-запрос, можно послать ложный ARP-ответ, в котором объявить себя искомым хостом (например, маршрутизатором), и в дальнейшем активно контролировать и воздействовать на сетевой трафик «обманутого» хоста.

Рассмотрим обобщенную функциональную схему ложного ARP-сервера [3,30,40]:

1). Злоумышленник ожидает ARP-запрос от атакуемого хоста.

2). При получении ARP-запроса злоумышленник передает по сети на запросивший хост ложный ARP-ответа, в котором указывается адрес сетевого адаптера атакующей станции (ложного ARP-сервера) или тот Ethernet-адрес, на котором будет принимать пакеты ложный ARP-сервер (совершенно необязательно указывать в ложном ARP-ответе свой настоящий Ethernet-адрес, так как при работе непосредственно с сетевым адаптером его можно запрограммировать на прием пакетов на любой Ethernet-адрес).

3). В случае принятия атакуемым хостом ложного ARP-ответа вместо ответа от настоящего маршрутизатора, происходит желаемое для злоумышленника изменение ARP-таблицы хоста.

4). Прием, анализ, воздействие и передача пакетов обмена между взаимодействующими хостами.

Получив контроль над проходящим потоком информации в сети, ложный объект может:

— перехватить информацию, передаваемую по сети;

— модифицировать передаваемые данные или коды (в том числе программным путем);

— внедрить вредоносные программы (вирусы, черви, программы-шпионы);

— изменить логику работы исполняемых файлов (например, при запуске на сервере программы идентификации пользователей распределенной базы данных ложный объект может так модифицировать код этой программы, что появится возможность беспарольного входа с наивысшими привилегиями в базу данных);

— подменить информацию (при возникновении в сети определенного контролируемого ложным объектом события одному из участников обмена посылается заранее подготовленная дезинформация, при этом такая дезинформация в зависимости от контролируемого события может быть воспринята либо как исполняемый код, либо как данные).

Другой вариант внедрения в ИТКС ложного объекта состоит в периодической передаче на атакуемый объект заранее подготовленного ложного ответа без приема поискового запроса [34]. Действительно, атакующему для того, чтобы послать ложный ответ, не всегда обязательно дожидаться приема запроса (он может, в принципе, не иметь подобной возможности перехвата запроса). При этом атакующий может спровоцировать атакуемый объект на передачу поискового запроса, и тогда его ложный ответ будет немедленно иметь успех. Данная удаленная атака чрезвычайно характерна для глобальных сетей, когда у атакующего из-за нахождения его в другом сегменте относительно цели атаки просто нет возможности перехватить поисковый запрос.

5. Подмена доверенного объекта. В том случае, когда ИТКС использует нестойкие алгоритмы идентификации удаленных объектов, оказывается возможной удаленная атака, заключающаяся в передаче по каналам связи сообщений от имени произвольного объекта сети. При этом существуют две разновидности данной типовой удаленной атаки:

‑ атака при установленном виртуальном канале,

‑ атака без установленного виртуального канала.

В случае установленного виртуального соединения атака будет заключаться в присвоении прав доверенного субъекта взаимодействия, легально подключившегося к объекту системы, что позволит атакующему вести сеанс работы с объектом распределенной системы от имени доверенного субъекта. Реализация удаленных атак данного типа обычно состоит в передаче пакетов обмена с атакующего объекта на цель атаки от имени доверенного субъекта взаимодействия (при этом переданные сообщения будут восприняты системой как корректные). Для осуществления атаки данного типа необходимо преодолеть систему идентификации и аутентификации сообщений, которая, в принципе, может использовать контрольную сумму, вычисляемую с помощью открытого ключа, динамически выработанного при установлении канала, случайные многобитные счетчики пакетов и сетевые адреса станций. Однако на практике, например, в ОС Novell NetWare 3.12-4.1 для идентификации пакетов обмена используются два 8-битных счетчика — номер канала и номер пакета; в протоколе TCP для идентификации используются два 32-битных счетчика [33].

Создание TCP-соединения происходит в несколько этапов [28]:

1). Соединение на стороне клиента находится в закрытом состоянии, а на стороне сервера — в состоянии ожидания.

2). Клиент посылает серверу TCP-пакет, в котором указывает свой начальный порядковый номер C-SYN и устанавливает бит SYN.

3). Получив этот пакет, сервер отвечает сообщением, в котором указывает свой номер S-SYN и подтверждает полученный номер клиента C-ACK=C-YN+1.

4). Получив этот пакет, клиент подтверждает порядковый номер сервера, так же прибавляя к нему некоторое число S-ACK=C-ACK+1, переходя в состояние установленного соединения.

5). По получении этого пакета на стороне сервера соединение также приходит в состояние «установлено».

После установления соединения пакет принимается сервером или клиентом, если его порядковый номер укладывается в интервал [C-ACK (S-ACK), C-ACK+S-W (S-ACK+C-W)], где C-W и S-W — некоторые параметры, называемые окнами приема. Соединение прерывается после выставления флагов RST (получатель обрывает соединение немедленно) или FIN (получатель приступает к процедуре его постепенного закрытия).

Если идентификаторы сообщения не попадают в установленные окна приема, то соединение переходит в десинхронизированное состояние. При отсутствии передачи информации такое состояние может оставаться стабильным сколь угодно долго.

Рассмотрим этапы подмены доверенного объекта ИТКС без обратной связи (IP-спуфинг) [31,40]:

1). Злоумышленник вводит атакуемый хост в состояние, находясь в котором, он не сможет отвечать на сетевые запросы. Это может быть сделано несколькими способами, в простейшем случае нужно просто дождаться перезагрузки системы. Нескольких минут, в течение которых она будет неработоспособна, должно хватить для реализации атаки. После этого злоумышленник может попробовать выдать себя за систему B, для того, что бы получить доступ к серверу (хотя бы кратковременный).

2). Злоумышленник высылает несколько IP-пакетов, инициирующих соединение, серверу для выяснения текущего состояния sequence number сервера.

3). Злоумышленник высылает IP-пакет, в котором в качестве обратного адреса указан уже адрес атакуемого хоста.

4). Сервер отвечает пакетом с sequence number, который направляется атакуемому хосту. Однако он не получит его, как и злоумышленник. Но на основе предыдущего анализа он догадывается, какой sequence number был выслан системе B.

5). Злоумышленник подтверждает «получение» пакета от сервера, выслав от имени клиента пакет с предполагаемым S-ACK (если системы располагаются в одном сегменте, злоумышленнику для выяснения sequence number достаточно перехватить пакет, посланный сервером).

6). После этого, если злоумышленнику повезло и sequence number сервера был угадан верно, соединение считается установленным.

7). Злоумышленник может выслать очередной фальшивый IP-пакет, который будет уже содержать данные. Например, если атака была направлена на rsh, он может содержать команды создания файла .rhosts или отправки /etc/passwd злоумышленнику по электронной почте.

6. Подмена доверенного объекта ИТКС с обратной связью (IP-hijacking). Эта атака основывается на приведении обоих концов соединения в десинхронизированное состояние и создании пакетов, мимикрирующих под оригинальные, таких, которые удовлетворяют текущему состоянию на соответствующем конце соединения.

Самый простой метод достижения десинхронизации соединения — десинхронизация при помощи пакетов с отсутствием данных. На клиент и сервер отсылается большое количество пакетов. Посылаемая информация не будет ими воспринята, но приведет к рассогласованию порядковых номеров на обоих концах.

Есть ряд более сложных и надежных методов. В качестве примера рассмотрим десинхронизацию на стадии установления соединения. Метод заключается в прерывании соединения со стороны сервера на ранней стадии и установлении нового соединения:

Источник: https://studfile.net/preview/16568027/