Телекоммуникационные технологии. Том 1

       

Сетевая информация, которую полезно собирать


Число различных сервисов, работающих на ЭВМ (например, telnet, ssh, rlogin, http, https, ldap, vns, irc, rpc, smtp и т.д.). Анализ этого списка и его вариаций со временем позволяет составить представление о возможной уязвимости системы. Определенную пользу может принести выявление ОС, установленных на ЭВМ сети (LINUX, Windows, FreeBSD и т.д.). Администратору проще иметь дело с одной ОС, но тотальная унификация имеет и недостатки. Один и тот же вирус или червь может парализовать единовременно всю сеть целиком. Понятно, что система сбора любых сетевых данных не должна поглощать заметной части ресурсов.

Рассмотрим признаки, которые могут свидетельствовать об успешном вторжении в ЭВМ (вариант ОС LINUX) (см. Network Security, V2004, Issue 8, "LINUX intrusion discovery: when security fails", Anton Chuvakin, август 2004, стр. 10-12):

  • Чрезмерная перегрузка ресурсов (ЦПУ, оперативной и дисковой памяти)
  • Частые сбои в работе ОС или приложений (самопроизвольная перезагрузка системы). Это может быть результатом, например, переполнения буферов или попытки поменять конфигурацию системы.
  • Появление необычных объектов (файлов, каталогов, акаунтов, процессов). К этому классу проявлений можно отнести запуск или остановку каких-то демонов, например, syslogd.
  • Необычная сетевая активность (новые соединения или резкое замедление сетевых операций).

Часто администратор лишь чувствует, что что-то происходит не так. Этого должно быть достаточно, чтобы начать исследования. Ниже приводится перечень команд, которые позволяют выявить и конкретизовать названные выше аномалии.

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

    find / -size +1000k -mtime +7 -print

    Чтобы обнаружить наличие активных программ типа sniffer, можно выдать команду

    ip link | grep PROMISC или /sbin/ifconfig

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

    find / -nouser -print



  3. Для обнаружения файлов SUID root в необычных местах (например, вне каталогов /sbin и /bin), что иногда указывает на попытку сформировать люк для последующего входа в систему, следует выполнить команду.

    find / -uid 0 -perm -4000 -print

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

    find / -name "..." -print

  5. Для поиска подозрительных акаунтов (новые аккоунты с системными привилегиями) можно выполнить команду:


grep :0: /etc/passwd

Попытки хакера установить свое программное обеспечение часто приводит к повреждению системных или прикладных программ. В системе RedHat имеется встроенная система RPM (RedHat Package Manager), которая позволяет выявить такие повреждения. Например, команда

rpm -qa | # rpm -Va | sort

поможет решить эту проблему. Для этой же цели можно использовать программу chkrootkit (www.chkrootkit.org).

Просмотрев список активных процессов с помощью команды ps -aux, следует обратить внимание на демоны, проход к которым начинается с символа точка, а также на любые необычные имена процессов. Чтобы узнать подробности, следует заглянуть непосредственно в каталог /proc. Например, выдав команду cat /proc/20999, где 20999 - pid процесса. Для выявления прослушивающих сервисов можно выдать команду netstat -nap.

Число официально зарегистрированных в мире сетевых инцидентов различного рода возрастает экспоненциально, о чем можно судить по рис. 5. (см. http://www.cert.org/stats/). Этот рост совпадает с ростом числа узлов в интернет, так что процент хулиганов и шизефреников величина похоже инвариантная. Атаки можно разделить на несколько классов:

  • Базирующиеся на дефектах протоколов, например, TCP.


  • Использующие дефекты операционной системы


  • Пытающиеся найти и воспользоваться дефектами программ-приложений, включая, например, CGI


  • Эксплуатирующие человеческие слабости (любопытство, алчность (загрузка бесплатного программного обеспечения) и пр., например, троянские кони)




Список номеров портов для известных троянских коней можно найти в http://www.simovits.com/nyheter9902.html

В В 2004 году зарегистрировано 523 109 сетевых инцидентов (это явилось результатом мониторинга 450 сетей в 35 странах мира). Из них 41% атак соответствовали различным видам несанкционированной активности, 26% - попытки несанкционированного доступа, 21% - представляли собой сканирования, 9% - DoS атаки и 3% - попытки некорректного использования приложений. Особенно популярно в последнее время использование уязвимостей броузеров. За последние шесть месяцев 2005 года выявлено более 1000 новых сетевых червей и вирусов (см., например, http://www.acmqueque.com). Большинство вирусов и червей с самого начала делаются полиморфными и метаморфными. Разработчиками предпринимаются специальные меры по их маскировке. Некоторые виды этих вредоносных программ, попав в ЭВМ жертвы, выявляет возможные уязвимости (результат такого исследования может быть передан автору программы по IRC каналам) для последующих атак с привлечением других средств. Появились даже черви, которые уничтожают другие вредоносные программы в ЭВМ-жертве.

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

Если раньше большинство атак имели своей целью мелкое хулиганство, форму самоутверждения или спортивный интерес, теперь все больший процент атак преследует преступные цели и коммерческий интерес. Хакеры готовят и продают наборы взломанных ими ЭВМ для рассылки спама, фишинга и для DoS атак. На данном этапе эти атаки предпринимаются против полулегального бизнеса (азартные игры через Интернет, порнографические сайты и т.д.). В последнее время отмечается тенденция применения сетевых атак с политической мотивацией.


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

К первому типу относятся и атаки типа SMURF, ICMP flood и TCP SYN flood. ICMP flood не использует эффектов усиления на локальных широковещательных адресах, а работает c адресами типа 255.255.255.255. Здесь следует заметить, что для аналогичных целей хакеры могут использовать и протоколы TCP или UDP.



Рис. 5. Распределение числа официально зарегистрированных сетевых инцидентов по годам.

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



Рис. 6. Схема классификации угроз

Ниже на рис. 7 показано распределение атак сети ИТЭФ по их разновидностям (Это и последующие два распределения построены студентом МФТИ А.Тарховым).



Рис. 7.

На рис. 8 показана зависимость числа атак от времени суток, полученная за 19 дней.

Рис. 8.

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


Рис. 9.

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


По этой причине вряд ли когда-либо можно будет позволить мониторировать все известные виды атак. Да и необходимость этого не очевидна (вряд ли сейчас нужно контролировать атаки ОС DOS). Здесь не рассматриваются проблемы информационной безопасности (аутентификация, сертификация, шифрование файлов и пакетов и пр.). В таблице 1 представлено распределение атак по определенным классам. (смотри http://advice.networkice.com/advice/Intrusions/)

Таблица 1

Вид атаки

Зарегистрированное число разновидностей

Доля в
процентах
Использование вирусов и червей 9 1.3
Атаки уязвимостей протоколов TCP 15 2
HTTP 69 9.2
SNMP 79 10.5
SMTP 40 5.3
DNS 21 2.8
SAMBA 15 2
Telnet 17 2.2
POP3 12 1.4
IMAP 6 0.7
NNTP 3 0.35
Finger 11 1.3
FTP 41 5.4
TFTP 12 1.4
Rlogin 5 0.6
IDENT 5 0.6
Radius 2 0.3
RPC 42 5.6
Атаки через CGI 49 6.5
Троянские кони >40 5.3
Сканирование портов 48 6.4
DoS 12 1.6
Автоматический подбор паролей (login) 10 1.3
Некорректные параметры заголовков пакетов и запросов 22 2.3
Прочие 167 22
Итого 753
В раздел “прочие” попали атаки ОС и известных слабостей системных программ и приложений (например, потайные двери/люки), атаки типа “ложный маршрутизатор” IDENT, SQL, сетевых печатающих устройств, NFS, SOCKS, SMB, WINS, IIS и т.д.

В статистику не были включены атаки маршрутизаторов (например, CISCO, Ascend и пр.), специфических серверов (например, поисковых, почтовых, печати, Firewall), атаки разнообразных драйверов баз данных, фальсификация МАС-адресов, перехват ключей, сертификатов и паролей и т.д. Реальное число зарегистрированных сигнатур атак, полагаю, давно перевалило за 1000.

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

Сигнатуры, распознаваемые по заголовку пакета, составляют несколько более 15% (здесь учтены манипуляции с заголовками SNMP, включая community, а также фальсификации DNS-заголовков).


Сюда следует, разумеется, отнести и подбор кода community.

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

Атаки на CGI сопряжены с генерацией нестандартных строк URL и параметров (6.5%), некоторые из них также работают в расчете на переполнение буфера параметров.

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

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

Мало зарегистрировать атаку, надо определить и корректно интерпретировать IP-адрес, откуда эта атака исходит. Чаще всего, имея IP-адрес, достаточно легко отследить путь атаки, например посредством Trace Route. Полезным может оказаться утилита NSLookup, а также служба Whois, которая позволяет определить сервис-провайдера атакера и его географическое положение.

Но существует класс атак с фальсификацией адреса отправителя, когда эту задачу решить затруднительно. Эта техника используется большинством атак отказа обслуживания (DoS), а также некоторыми другими. Два примера такого типа атак описаны на рис. 10 и 11.

Атака через прокси (например, при наличии загруженной в ЭВМ SOCKS программы WinGate) представлена на рис. 10.

Рис. 10.

Здесь атакер (hacker на рисунке) использует прокси-сервер, через который связаны с Интернет ЭВМ на левой части рисунка, для атаки машины (victim). При этом для атакуемой машины будет казаться, что ее атакует ЭВМ SOCKS. Особенностью этого класса атаки является то, что атакер может находиться где угодно в Интернет. Но в случае жалобы со стороны ЭВМ-жертвы его положение может быть легко локализовано.



Рис. 11.

На рис. 11 показана схема атаки с зеркалированием пакетов в маршрутизаторе R. Маршрутизатор R сконфигурирован так, чтобы копии пакетов, следующих из ЭВМ А в ЭВМ В, попадали в машину Х (ЭВМ атакера). В данной схеме атакер должен договориться с администратором R (если это не он сам), так как нужна специфическая конфигурация маршрутизатора. Но он может выйти из положения, сформировав на своей ЭВМ ложный маршрутизатор, поддерживающий протокол внешней маршрутизации BGP.

Такая схема позволяет Х атаковать А, создавая впечатление, что ее атакует ЭВМ В. Для ЭВМ В будет иметь место эффект шторма неспровоцированных откликов со стороны ЭВМ А (если для атаки использован протокол ТСР).

Для распознавания сигнатуры атаки в ЭВМ В нужно регистрировать входящие пакеты с адресом А и флагом ACK, проверяя в то же время факт, что ЭВМ В не посылала А никаких пакетов.

Данная схема атак (с фальсификацией адреса отправителя) пригодна также и для относительно безопасной рассылки SPAM.

В таблице представлен , не претендующий на полноту. См. также http://advice.networkice.com/advice/Intrusions/. Список номеров портов для известных троянских коней можно найти в www.simovits.com/nyheter9902.html


Содержание раздела