Главная страница
Навигация по странице:

  • Загрузка «полезного груза»

  • Вопрос 3. Примеры атаки.

  • Анализатор трафика

  • Классификации удаленных атак

  • Оценивание степени серьезности атак

  • Таблица 6.1.

  • иб. ибб. Информационная безопасность предполагает отсутствие угроз, направленных на


    Скачать 3.29 Mb.
    НазваниеИнформационная безопасность предполагает отсутствие угроз, направленных на
    Дата09.12.2022
    Размер3.29 Mb.
    Формат файлаdocx
    Имя файлаибб.docx
    ТипДокументы
    #835795
    страница7 из 12
    1   2   3   4   5   6   7   8   9   ...   12


    Выбор эксплойта

     

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

    На основании полученных данных злоумышленник выбирает (модифицирует имеющийся или разрабатывает новый) эксплойт для проведения взлома.

    Большое число малоопытных взломщиков начинают взлом на основании имеющегося эксплойта. Тогда на этапе разведки ищется система, которая имеет соответствующие уязвимости. При этом возможен простой перебор адресов, чтобы каким-то образом (например, случайно) выбрать уязвимый хост, который и станет целью взлома. Напомним, что IP-адрес в пакете занимает 32 разряда и представляет собой двоичное число. Имена же хостов, которые задаются в браузере, имеют вид, удобный для пользователя. Например, можно задать адрес компании Microsoft в виде www.microsoft.com или 207.46.20.30. Этот же адрес можно представить в шестнадцатеричной системе счисления (CF2E141E) или двоичной (11001111001011100001010000011110). Поэтому достаточно легко использовать в эксштойте программный цикл перебора значений адреса. Данный метод был использован в январе 2003 г. червем Slammer, который для перебора адресов использовал следующую рекуррентную зависимость:

     



     

    Применение данного метода ограничивается тем обстоятельством, что во всем диапазоне адресов имеются неиспользуемые адреса.

    После получения необходимой информации и выбора эксплойта злоумышленник может переходить к взлому системы.

     

    Взлом целевой системы

     

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

    Взлом практически всегда выполняется с помощью программного обеспечения и направлен на программное обеспечение.

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

    Методы взлома могут простыми и сложными. В качестве простого взлома (уже устраненного во всех системах) приведем пример посылки пакета ping, общий размер которого превышает допустимую величину:

    ping — утилита для проверки соединений в сетях на основе TCP/IP.

     

    Она отправляет запросы (ICMP Echo-Request) протокола ICMP указанному узлу сети и фиксирует поступающие ответы (ICMP Echo-Reply). Время между отправкой запроса и получением ответа (RTT, от англ. Round Trip Time) позволяет определять двусторонние задержки (RTT) по маршруту и частоту потери пакетов, то есть косвенно определять загруженность на каналах передачи данных и промежуточных устройствах.

    Также пингом иногда ошибочно называют время, затраченное на передачу пакета информации в компьютерных сетях от клиента к серверу и обратно от сервера к клиенту. Это время называется лагом (англ. отставание; задержка, запаздывание) или собственно задержкой и измеряется в миллисекундах. Лаги связаны со скоростью соединения и загруженностью каналов на всём протяжении от клиента к серверу.

    Полное отсутствие ICMP-ответов может также означать, что удалённый узел (или какой-либо из промежуточных маршрутизаторов) блокирует ICMP Echo-Reply или игнорирует ICMP Echo-Request.

    Программа ping является одним из основных диагностических средств в сетях TCP/IP и входит в поставку всех современных сетевых операционных систем. Функциональность ping также реализована в некоторых встроенных ОС маршрутизаторов, доступ к результатам выполнения ping для таких устройств по протоколу SNMP определяется RFC 2925 (Definitions of Managed Objects for Remote Ping, Traceroute, and Lookup Operations).

    Так как для отправки ICMP-пакетов требуется создавать raw-сокеты, для выполнения программы ping в unix-системах необходимы права суперпользователя. Чтобы обычные пользователи могли использовать ping в правах доступа файла /bin/ping устанавливают SUID-бит.

     

    С:\> ping -1 65550 www.target.com

     

    Сейчас ОС Windows на такую команду выдает сообщение:

    Недопустимое значение параметра -1, допустимый диапазон с 0 по 65500.

    Атака уже упоминавшегося червя Slammer состояла в посылке всего одного пакета UDP размером в 404 байта. Собственно червь занимал 376 байт и использовал уязвимость Microsoft SQL Server или MSDE 2000, открытую еще в июле 2002 г. Несмотря на это за первые 30 мин распространения червь инфицировал около 75000 хостов.

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

     

    Загрузка «полезного груза»

     

    Как правило, атака проводится не только ради самого процесса взлома. Обычно злоумышленник хочет иметь возможность возврата во взломанную систему или использования ее в качестве плацдарма для атаки других систем. Кроме того, его может интересовать получение конфиденциальных данных во взломанной системе. К действиям по загрузке «полезного груза» атаки можно отнести следующие:

        установка программ «прослушивания» сетевого трафика локальной сети, в которой находится взломанная система, для получения информации, позволяющей осуществить взлом сетевых соседей;

        осуществление перенаправления портов, чтобы обеспечить передачу пакетов на взломанную систему, минуя межсетевой экран;

        установка «заплаток» на использованную или имеющиеся уязвимости, чтобы исключить взлом системы другими злоумышленниками;

        создание фальшивых учетных записей, наделенных привилегиями суперпользователя;

        создание или установка готового потайного входа (backdoor) во взломанную систему;

        установка «троянских коней» для сбора конфиденциальной информации, последующего входа в систему или для проведения атак других систем.

     

    Эти и другие операции проводятся при отключении аудита на взломанной системе.

     

    Сокрытие следов взлома

     

    Чтобы администратор или пользователь взломанной системы не смог обнаружить наличие следов взлома, модификации и вставки в программное обеспечение, злоумышленник прибегает к удалению следов своего пребывания во взломанной системе. Для этого используются программы удаления записей из различных журналов, ведущихся в системе, скрытие установленных файлов, использование потоков файлов в файловой системе NTFS операционной системы Windows, троянизирование системных программ и утилит и замена программных компонент операционной системы.

    Для реализации этих задач используются специальные наборы средств (rootkit), которые часто называют наборами средств для взлома. Термин rootkit взят из мира Unix, где первоначально означал учетную запись суперпользователя (root) и используемые им средства. Поэтому первые наборы таких средств были разработаны в начале 90-х годов XX в. для Unix. В настоящее время они существуют практически для всех операционных систем, включая Microsoft Windows. Первые такие наборы представляли собой «троянские» файлы, в которые были встроены потайные ходы. Они предназначались для подмены наиболее часто используемых программ типа ps и netstat.

    Различают два основных вида таких наборов средств: наборы уровня ядра и наборы уровня пользователя. Это различие вызвано теми компонентами программного обеспечения, которые перезаписываются (изменяются) в атакованной системе. Чтобы использовать набор средств, атакующий должен получить права root или администратора на атакованной системе.

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

     

    Вопрос 3. Примеры атаки.

     

    Для пояснения механизмов действия сетевых атак будем использовать записи журналов программы windump.

    Программа tcpdump для исследования дампов сетевого трафика была разработана компанией Network Research Group в лаборатории Lawrence Berkeley National Lab. Она представляет собой набор средств, которые дают возможность исследования дампов сетевого трафика с различными уровнями детализации. На ее основе была создана программа windump, которая выполняет те же функции, но имеет дополнительные опции (http://www.winpcap.org/windump/). В качестве примера рассмотрим элементы записи программы windump в журнал регистрации:

    Анализатор трафика, или сниффер (от англ. to sniff — нюхать) — сетевой анализатор трафика, программа или программно-аппаратное устройство, предназначенное для перехвата и последующего анализа, либо только анализа сетевого трафика, предназначенного для других узлов.

     



     

    При получении фрагментированного пакета в записи журнала появляется запись вида (frag 1109:32@0+), где frag — признак фрагмента пакета;

     



     

    Некоторые атаки

     

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

    Атака Land заключается в посылке пакета TCP с установленным SYN на открытый порт. В пакете адрес источника равен адресу назначения, а также указываются одинаковые номера портов:

     

    12:00:00:1000 192.168.1.1.80 > 192.168.1.1.80 12:00:00:1010 192.168.1.1.31331 > 192.168.1.1.31337

     

    В случае атаки Smurf злоумышленник вводит широковещательные эхоапросы с ложным адресом источника (использует адрес хоста жертвы). Хост жертвы получает большое число эхо-ответов:

     

    00:00:05.327 spoofed.pound.com > 192.168.15.255: icmp: echo request

     

    При проведении атаки Teardrop злоумышленник посылает группу фрагментированных пакетов, в которых фрагменты перекрываются:

     

    00:25:48 wild.сот.45958 > target.сот.3964: udp 28 (frag 242:3600+)

    00:25:48 wild.com > target.com: (frag 242:4024)

     

    В этом примере посылается фрагмент номер 242 с 36 октетами данных со смещением 0. Во второй строке — дополнительные четыре октета данных со смещением 24. Таким образом, чтобы обработать этот пакет система должна вернуться от 36 к 24.

    Атака Ping of Death заключается в посылке большого пакета ICMP при помощи команды pingКоманда ping использует ICMP для проверки доступности адресата посылкой ECHO_REQUEST и ожиданием отклика. Пакеты ping имеют длину 32 байт.

    Для Winows: ping -1 65527 target.com

    Для Unix: ping 

    s 65527 target.com

    Заголовок IP имеет длину 20 байт, поэтому результирующий пакет (65527 + 32) будет превышать максимально разрешенный размер пакета.

     

    Атака К. Митника

     

    Часто атаки различных типов используются совместно для достижения атакующим своей цели. В качестве примера такой комбинированной атаки рассмотрим атаку К. Митника (Kevin Mitnick), схема которой показана на рис. 6.2. Проиллюстрируем основные этапы этой атаки данными tcpdump, которые приведены Шимомурой (Tsutomu Shimomura).

    В приведенных данных используются следующие обозначения: server — рабочая станция SPARCstation; terminal (x-terminal) — бездисковая рабочая станция. Для краткости часть записей опущена (указывается многоточием).

    В ходе атаки К. Митник выполнил следующие основные действия:

    1. Проведение проб (с адреса toad.com) атакуемых машин для определения наличия доверительных отношений между ними:

     

    14:10:21 toad.сот# finger -1 Sserver 14:10:50 toad.comi finger -1 root@server 14:11:07 toad.comi finger -1 @x-terminal 14:11:38 toad.comi showmount -e x-terminal 14:11:49 toad.come rpcinfo -p x-terminal 14:12:05 toad.comi finger -1 root@x-terminal

     

    2.Инициирование атаки отказа в обслуживании (SYN flood) против сервера, чтобы воспрепятствовать ответам сервера на запросы терминала. Адрес источника 130.92.6.97 выбран из неиспользуемых или неактивных в тот момент адресов, чтобы данный хост не отвечал на получаемые пакеты (атака проводилась в праздничные дни 1994 г.):

     

    14:18:22.516699 130.92.6.97.600 > server.login: S 1382726960:1382726960 (0) win 4096

    14:18:22.566069 130.92.6.97.601 > server.login: S 1382726961:1382726961 (0) win 4096

    14:18:22.744477 130.92.6.97.602 > server.login: S 1382726962 :1382726962 (0) win 4096

     

    Пропущены записи для краткости.

     

    14:18:25.483127 130.92.6.97.627 > server.login: S 1382726987:1382726987(0) win 4096-

    14:18:25.599582 130.92.6.97.628 > server.login: S 1382726988:1382726988(0) win 4096

    14:18:25.653131 130.92.6.97.629 > server.login: S 1382726989:1382726989 (0) win 4096

     

    Сервер сгенерировал ответы (SYN и ACK) на первые восемь запросов, после чего очередь запросов была заполнена.

     

    3. Посылка 20 запросов (от apollo.it.luc.edu) на установление соединения с терминалом для определения поведения генератора последовательных номеров (sequence number) TCP-соединений терминала:

     

    14:18:25.906002 apollo.it.luc.edu.1 ООО > x-termi- nal.shell: S 1382726990:1382726990 (0) win 4096

    14:18:26.094731 x-terminal.shell > apollo.it.luc. edu.1000: S 2021824000:2021824000 (0) ack 1382726991 win 4096

    14:18:26.172394 apollo.it.luc.edu.1000 > x-termi- nal.shell: R 1382726991:1382726991(0) win 0

    14:18:26.507560 apollo.it.luc.edu.999 > x-termi- nal.shell: S 1382726991:1382726991 (0) win 4096

    14:18:26.694691 x-terminal.shell > apollo.it.luc.edu. 999: S 2021952000:2021952000 (0) ack 1382726992 win 4096

    14:18:26.775037 apollo.it.luc.edu. 999 > x-termi- nal.shell: R 1382726992:1382726992 (0) win 014:18:35.225869 apollo.it.luc.edu. 982 > x-termi- nal.shell: S 1382727008 :1382727008 (0) win 4096

    14:18:35.395723 x-terminal.shell > apollo.it.luc.edu. 982: S 2024128000:2024128000 (0) ack 1382727009 win 4096

    14:18:35.472150 apollo.it.luc.edu.982 > x-termi- nal.shell: R 1382727009:1382727009 (0) win 0

    14:18:35.735077 apollo.it.luc.edu.981 > x-termi- nal.shell: S 1382727009:1382727009(0) win 4096

    14:18:35.905684 x-terminal.shell > apollo.it.luc.edu. 981: S 2024256000:2024256000(0) ack 1382727010 win 4096

     

     

    14:18:35.983078 apollo.it.luc.edu.981 > x-termi- nal.shell: R 1382727010:1382727010 (0) win 0

     

    Рис. 6.2. Схема атаки Митника

     

    Из приведенных записей видно, что каждый пакет с SYN и АСК, посланный терминалом, имеет начальный последовательный номер на 128 000 больше предыдущего (значения выделены жирным шрифтом), если это соединение будет следующим. Установление данного факта позволяет атакующему предсказать очередной номер, не получая самого пакета.

     

    4. Инициирование соединения с терминалом от имени сервера в предположении, что терминал доверяет серверу:

     

    14:18:36.245045 server.login > x-terminal.shell: S 1382727010:1382727010 (0) win 4096

     

    5. При получении запроса терминал посылает серверу ответ (SYN и АСК), который должен быть подтвержден сервером (АСК) для установления соединения. Так как сервер не посылал пакета на установление соединения, то должен был бы ответить RST-пакетом и разорвать установку соединения. Но в результате начавшейся 14 секундами раньше атаки сервер наводнен запросами на установку соединений и не может ответить.

    6. Атакующий посылает пакет с АСК от имени сервера с предсказанным номером (без получения ответа с SYN и АСК):

     

    14:18:36.755522 server.login > x-terminal.shell: . ack 2024384001 win 4096

     

    7. Пока сервер заблокирован, соединение с доверительными отношениями используется для выполнения следующей команды:

     

    14:18:37 server# rsh x-terminal "echo + + »/. rhosts"

     

    Эта команда указывает терминалу доверять всем хостам и всем пользователям этих хостов:

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

     

    14 -.18:37.265404 server, login > x-terminal. shell: P 0:2(2) ack 1 win 4096

    14:18:37.775872 server.login > x-terminal.shell: P 2:7 (5) ack 1 win 4096

    14:18:38.287404 server.login > x-terminal.shell: P 7:32(25) ack 1 win 4096

     

    Эти пакеты соответствуют выполнению на терминале следующей команды:

     

    14:18:37 serveri rsh x-terminal "echo + + >>/.rhosts"

     

    Теперь К. Митник имеет возможность подключиться к терминалу с любого хоста и выполнить на терминале любую команду.

     

    8. Закрываются все соединения с терминалом от имени сервера:

     

    14:18:41.347003 server.login > x-terminal.shell: . ack 2 win 4096

    14:18:42.255978 server.login > x-terminal.shell: . ack 3 win 4096

    14:18:43.1 65874 server.loginserver. login > x- terminal.shell: F 32:32(0) ack 3 win 4096

    14 :18:52.119922 server.login > x-terminal.shell: R 1382727043:1382727043(0) win 4096

    14:18:52.236452 server.login > x-terminal.shell: R 1382727044 :1382727044 (0) win 4096

     

    Закрываются все полуоткрытые запросы на установление соединения с сервером, чтобы другие пользователи не обнаружили безуспешность попыток установления соединений:

     

    14:18:52

    .298431 130.92

    . 6. 97. 600



    server

    login:

    R

    1382726960:

    1382726960 (0)

    win 4096

     

     

     

     

    14:18:52

    .363877 130.92

    . 6.97. 601



    server

    login:

    R

    1382726961:

    1382726961 (0)

    win 4096

     

     

     

     

    14:18:52

    .416916 130.92

    . 6.97. 602



    server

    login:

    R

    1382726962:

    1382726962 (0)

    win 4096

     

     

     

     

    14:18:52

    .476873 130.92

    . 6.97. 603



    server

    login:

    R

    1382726963.

    1382726963 (0)

    win 4096

     

     

     

     

     

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

    Таким образом, для проведения атаки К. Митник использовал недостатки протокола TCP, которые были хорошо известны по публикациям, но не учитывались разработчиками систем.

     

    Классификации удаленных атак

     

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

     

    Списки терминов

     

    В качестве примера приведем часть списка наиболее часто употребляемых терминов, предложенного Козном (Fred Cohen):

     

    backup theft

    кража резервных копии

    combined attacks

    комбинированные атаки

    computer viruses

    компьютерные вирусы

    data aggregation

    агрегирование данных

    e-mail overflow

    переполнение почты

    e-mail spoofing

    обман почты

    fictitious people

    фиктивные люди

    human engineering

    социальная инженерия

    illegal value insertion

    вставка недопустимых значений

    infrastructure interference

    помехи инфраструктуре

    infrastructure observation

    наблюдение инфраструктуры

    input overflow

    переполнение буфера при вводе

    login spoofing

    обман регистрации

    network services attacks

    атаки на сетевые службы

    packet insertion

    вставка пакета

    packet watching

    просмотр пакета

    password guessing

    угадывание (подбор) пароля

    process bypassing

    обход процесса

    protection limit poking

    нарушение пределов защиты

    shoulder surfing

    подсматривание через плечо

    time bombs

    временные бомбы

    trojan horses»

    троянские кони»

     

    Необходимо отметить, что данный подход не является таксономией, так как отдельные термины перекрываются, а отдельные атаки не включены в список.

     

    Списки категорий

     

    Списки категорий являются вариацией списка терминов, но содержат определения категорий. Примером может послужить список категорий, данный Чезвиком и Беллоуином (Cheswick and Bellovin). Они подразделяли атаки на следующие семь категорий:

    1) кража паролей (stealing passwords) — методы получения паролей пользователей;

    2)  социальная инженерия (social engineering) — использование некоторых психологических приемов по отношению к пользователям для получения желаемой информации или информации ограниченного использования;

    3)  ошибки и потайные ходы (bugs and backdoors) — поиск состояния системы, не соответствующего спецификации, или перезапись компонент ПО скомпрометированными компонентами;

    4)  отказы аутентификации (authentication failures) — удаление механизмов, использующихся для аутентификации;

    5)  отказы протоколов (protocol failures) — протоколы сами по себе либо плохо спроектированы, либо плохо реализованы;

    6)  утечка информации (information leakage) — использование таких систем, как finger или DNS, для получения информации, необходимой администраторам для надлежащего функционирования сети, но используемой атакующим;

    7)  отказ в обслуживании (denial-of-service) — усилия для прекращения возможности пользователей пользоваться службами.

     

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

     

    Матричные схемы

     

    Матричные схемы базируются на нескольких измерениях. Для двух измерений рассматриваются уязвимости и потенциальные нарушители. Матричный подход был реализован Ландвейром (Landwehr). Он представил таксономию уязвимостей (условий, которые могут привести к отказу в обслуживании или неавторизованному доступу), базирующуюся на трех измерениях: происхождение (genesis) — как уязвимости находят свою дорогу к программам; время внедрения (time of introduction) — в жизненном цикле ПО или аппаратуры и местоположение (location) — расположению в ПО или аппаратуре.

    Данная таксономия нашла свое применение при разработке систем обнаружения вторжений.

     

    Процессы

     

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

    1. Прерывание потока — объект системы разрушен или стал недоступен.

    2. Перехват потока — неавторизованный субъект (объект) получил доступ к объекту.

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

     

    — прерывание потока; — перехват потока; — модификация потока; — подделка потока; — заполнение потока.

     

    Рис. 6.3. Модель Столингса

     

    4. Подделка потока — неавторизованный субъект (объект) вставил поддельный объект в систему.

     

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

     

    Классификация Ховарда

     

    Таксономия атак разработана Ховардом (Howard) на основе анализа статистики инцидентов CERT с 1989 по 1995 год.

    Согласно таксономии Ховарда угрозой являются:

        хакеры — лица, вторгающиеся в компьютерные системы для получения доступа с целью вызова и утверждения своего статуса;

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

        террористы — лица, вторгающиеся в компьютерные системы для того, чтобы вызвать страх, который поможет им достигнуть политических целей;

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

        криминал — профессиональные преступники, вторгающиеся в компьютерные системы для получения личной финансовой выгоды;

        вандалы — лица, вторгающиеся в компьютерные системы для причинения ущерба.

     

    Средства проведения атак:

        пользовательские команды — атакующий вводит команды в командной строке или задает их с помощью графического интерфейса пользователя;

        скрипт или программа — атакующий разрабатывает (составляет) скрипты и (или) программы, инициируемые с помощью интерфейса пользователя для использования уязвимости;

        автономные агенты — атакующий инициализирует программу или фрагмент программы, которая функционирует независимо от пользователя, используя уязвимости;

        набор средств — атакующий использует пакет программ, который содержит скрипты, программы или автономные агенты для использования уязвимостей;

        распределенный набор средств — атакующий распределяет средства по множеству хостов, которые после некоторой задержки скоординированно атакуют целевой хост одновременно;

        перехват данных — в этом случае атакующий либо перехватывает технические каналы утечки (например, через электромагнитное излучение), либо перехватывает («слушает») трафик.

     

    Получение доступа реализуется за счет использования:

        уязвимостей проекта, реализации или применения (конфигурирования);

        неавторизованного доступа или неавторизованного использования;

        процессов, работающих с файлами, данными при передаче, объектами или вызовами при передаче.

     

    Результатами атак являются:

        модификация информации — любое неавторизованное изменение файлов, сохраняемых в компьютере, или изменение данных, передаваемых по сети;

        раскрытие информации — рассылка информации кому-либо, кто не авторизован для доступа к ней;

        кража службы — неавторизованное использование компьютера или сетевой службы без деградации службы для других пользователей;

        отказ в обслуживании — умышленная деградация или блокировка компьютера или сетевого ресурса.

     

    Целями проведения атак являются:

        вызов, статус;

        политическая выгода;

        финансовая выгода;

        ущерб.

     

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

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

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

    Дальнейшим шагом в построении таксономии атак явились попытки построения онтологии атак.

     

    Построение онтологии сетевых атак

     

    Онтология (от древнегреческого онтос — сущее, логос — учение, понятие) — философский термин, определяющий учение о бытии. Это учение восходит к произведениям Аристотеля, Фомы Аквинского, Х.Вольфа, а в XX в. его развивал М.Хайдеггер. Он считал, что онтология возможна не иначе как герменевтика, т.е. как наука об интерпретации, осуществляемой в мысли и языке. Это положение прослеживается и в спецификациях Международной федерации по разработке интеллектуальных физических агентов (FIPA98 Specifications. Part 12. Ontology Service: http://www.cset.itfipa/), где под онтологией понимается явное описание структуры некоторой проблемной области (темы). Подобное описание всегда опирается на определенную концепцию этой области, которая обычно задается в виде системы исходных объектов (понятий), отношений между ними и положений (аксиом). Само определение базовых понятий предметной области (агентов, процессов, атрибутов) вместе с основными отношениями между ними называется концептуализацией. Поэтому онтологию часто понимают как «спецификацию концептуализации» и даже считают синонимом «концептуальной модели предметной области» (точнее, набора сосуществующих концептуальных моделей). Онтологии представляют собой договоренности — соглашения о совместно используемых концептуализациях.

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

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

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

     

    ONT = {UIm(R), F),

     

    где U — множество понятий предметной области, |£7|*0; Im{R) — множество нечетких (взвешенных) отношений между понятиями предметной области, Im(R) = {WwU" —> [0,1]}; — конечное множество функций интерпретации (аксиоматизаций), заданных на понятиях и(или) отношениях онтологии, F= {/},/: Dn—> [0,1], — область интерпретации.

     

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

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

    Рассмотрим характеристики и свойства данной онтологии:

    1. Системный компонент, который является целью атаки:

        сетевой протокол (атака использует протоколы стека протоколов и не выходит за них);

        пространство ядра (процесс, выполняющийся как часть ОС, который или компилируется в ядро, или загружается модулем и используется в ядре);

        приложение (приложение, выполняющееся вне пространства ядра с привилегиями пользователя или root);

        другие (не указанные выше, например, принтеры, модемы).

    2. Метод, используемый атакующим:

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

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

    3. Последствия — конечный результат атаки:

        отказ в обслуживании пользователей системы;

        пользовательский доступ (атакующий получает доступ к некоторым службам целевой системы);

        доступ с правами* root (атакующий получает полное управление системой);

        потеря конфиденциальности (в результате атаки пользователь системы теряет конфиденциальность данных);

        другие (результат заключается в компрометации целостности или других нежелательных характеристиках).

    4. Местоположение источника атаки — атакующий соединяется через сеть или находится на хосте:

        удаленное (атакующему нет необходимости «виртуально» находиться на цели);

        локальное (атакующему необходимо «виртуально» присутствовать на цели);

        удаленно-локально (атакующий на разных стадиях атаки может быть как удаленно, так и локально).

     

    Оценивание степени серьезности атак

     

    Для оценки серьезности атак обычно принимаются простые показатели. Главной сложностью при определении показателя является присвоение значений каждой атаке. Как правило, такое назначение осуществляется экспертами, которые имеют достаточный опыт работы с соответствующими показателями. В качестве примера такого показателя рассмотрим параметр важности атаки, который используется в CERT и его обучающем центре. Данный показатель состоит из трех параметров:

        простота (значения от 1 до 10; 10 — самый простой);

        сложность (от 1 до 10; 1 — самый сложный);

        доступность (от 1 до 10; 10 — самый доступный). Значение каждого показателя определяется как среднее арифметическое.

     

    Всемирный центр анализа происшествий (GIAC — Global Incident Analysis Center) уже упоминавшегося института SANS для оценки атак использует показатель серьезности атаки. Общее представление об уровне серьезности атаки иллюстрируется следующей цепочкой (по нарастанию риска): ненаправленный неэффективный сценарный метод нападения (риска нет) -> разведывательное зондирование -> направленный метод нападения -> поражение не основной системы -> поражение основной системы (максимальный риск).

    Оценка показателя серьезности атаки Р определятся следующими параметрами:

        важность цели;

        катастрофичность атаки;

        контрмеры (системные и сетевые).

     

    Для каждого параметра установлены оценочные шкалы, некоторые из них приведены в табл. 6.1.

    Значение показателя серьезности атаки вычисляется по формуле:

     

    P=(V+H)-(CС2).

     

    Значение каждого элемента выбирается по 5-балльной шкале, где 1 — минимальное значение, а 5 — максимальное. Максимальное значение степени тяжести последствий (наихудший вариант) равно 8, а минимальное (наилучший вариант) — равно -8. Отрицательные значения свидетельствуют о высокой надежности мер обеспечения безопасности.

    Рассмотрим два примера вычисления параметра серьезности атаки.

    1. Взлом Boink — приводит к отказу в обслуживании уязвимых хостов за счет использования фрагментации для исчерпания системных ресурсов.

     

    Таблица 6.1.

     

    07:26:40.754197 25.25.25.25.20 > protect-5:20: udp

     

    Смещение фрагмента во втором пакете (32) меньше, чем размер полезных данных в первом пакете (36). Кроме того, размер данных первого пакета (36) не соответствует правилу фрагментации, согласно которому размер полезных данных всех фрагментов (кроме последнего) должен быть кратен 8. Значения параметров:

        важность цели — 3 (нападению подвергается сервер системы);

        катастрофичность атаки — 4 (полная блокировка сервера);

        контрмеры системы — 1 (используется старая ОС);

        контрмеры сети — 1 (нет межсетевого экрана). Степень тяжести последствий нарушения равно 5.

     

    2. Взлом Teardrop — также приводит к отказу в обслуживании уязвимых хостов.

     

    10:13:32.104203 25.25.25.25.53 > 192.168.1.3.53: %udp 28 (frag 242:3600+) (ttl 64) 10:13:32.104212 25.25.25.25 >

    192.168.1.3: %(frag 242:4024) (ttl 64)

     

    Механизм нарушения. На целевой хост направляются фрагментированные IP-дейтаграммы, причем второй фрагмент полностью помещается в первом.

    Значения параметров:

        важность цели — 2 (нападению подверглась рабочая станция Unix);

        катастрофичность атаки — 1 (система защищена от взломов Teardrop);

        контрмеры системы — 5 (ОС защищена от этого взлома);

        контрмеры сети — 1 (нет межсетевого экрана). Степень тяжести последствий нарушения равно -3.

     

    Контрольные вопросы:

    1.Перечислите основные угрозы при сетевом взаимодействии.

    2.Что понимается под удаленной сетевой атакой?

    3.Перечислите основные типы сетевых атак и их особенности.

    4.Что может выступать в качестве атакуемого программного средства?

    5.Что понимается под уязвимостью и эксплойтом?

    6.Какая взаимосвязь между атакой и сценарием атаки?

    7.Каково главное отличие атаки от вторжения?

    8.Перечислите основные шаги обобщенного сценария атаки.

    9.  Перечислите обстоятельства, обусловившие высокую скорость распространения червя Slammer.

    10.Что может быть установлено на атакуемой системе в результате успешной атаки?

    11.Каковы основное назначение и виды rootkits?

    12. На чем основаны атаки, использующие фрагментирование пакетов?

    13.Перечислите типы отдельных атак, использованных в атаке Митника.

    14.Используя приведенные в главе примеры атак, дополните категории атак, введенные Столингсом.

    15.Перечислите основные средства атак по классификации Ховарда.

    16.Перечислите основные различия онтологии и таксономии.

    17.Каковы возможные границы диапазона значений уровня серьезности атак по схеме оценки GIAC?

     

    1   2   3   4   5   6   7   8   9   ...   12


    написать администратору сайта