Анализ компьютерных атак
Атакующим информационным оружием сегодня можно назвать:
компьютерные вирусы, способные размножаться, внедряться в программы, передаваться по линиям связи, сетям передачи данных, выводить из строя системы управления и т. п.;
логические бомбы — запрограммированные устройства, которые внедряют в информационно-управляющие центры военной или гражданской инфраструктуры, чтобы по сигналу или в установленное время привести их в действие;
средства подавления информационного обмена в телекоммуникационных сетях, фальсификация информации в каналах государственного и военного управления;
средства нейтрализации тестовых программ;
ошибки различного рода, сознательно вводимые лазутчиками в программное обеспечение объекта.
Наряду с распространением вирусов, всеми специалистами отмечается резкий рост числа внешних атак. Сумма ущерба от компьютерных преступлений неумолимо повышается и было бы не совсем корректно говорить о том, что чаще компьютерные преступления совершаются «виртуальными» мошенниками. Сегодня угроза взлома компьютерных сетей исходит от трех категории лиц (хакеров, кракеров и компьютерных пиратов), каждой из которых присущи свои методы.
Хакеры, в отличие от других компьютерных пиратов, иногда заранее, как бы бравируя, оповещают владельцев компьютеров о намерениях проникнуть в их системы. О своих успехах они сообщают на сайтах Internet. При этом хакеры, руководствующиеся соревновательными побуждениями, как правило, не наносят ущерба компьютерам, в которые им удалось проникнуть.
Кракеры (cracker) — электронные «взломщики», которые специализируются на взломе программ в корыстных личных целях. Для этого они применяют готовые программы взлома, распространяемые по сети Internet.
Наиболее серьезную угрозу информационной безопасности представляет третий тип: пираты. Компьютерные пираты — это высококлассные специалисты фирм и компаний, занимающиеся хищением информации по заказам конкурирующих фирм и даже иностранных спецслужб. Кроме того, ими практикуется изъятие денежных средств с чужих банковских счетов.
Некоторые «специалисты» организуют преступные группы, поскольку рентабельность такого криминального бизнеса очень велика. А это приводит к тому, что ущерб от «виртуальной» преступности в скором времени повысится на порядок (если не больше), чем ущерб от традиционных видов преступного бизнеса. И пока нет эффективных способов нейтрализации этой угрозы.
По выводам представителей компании Symantec, занимающейся вопросами компьютерной безопасности, пользователи, проводящие в Internet пару часов в день, имеют все шансы подвергнуться атаке хакеров. В течение месяца компания проводила исследования, в которых приняло участие 167 человек, на компьютерах которых были установлены защитные экраны firewall, а специальная программа отслеживала все попытки проникновения в компьютер. Уже при установке firewall выяснилось, что часть компьютеров заражена «троянцами», которых можно использовать для удаленной сетевой атаки или получения конфиденциальной информации с компьютера пользователя. Все участники исследования являлись либо домашними пользователями, либо маленькими компаниями, использующими как dial-up, так и высокоскоростные соединения. На эти компьютеры только за один месяц было совершено 1703 попытки хакерских атак, а внимание хакеров привлекли 159 из 167 участников (95%). В среднем, хакеры предпринимали 56 попыток атак в день, а наиболее излюбленным методом проникновения в чужие компьютеры оказался «троянец» Backdoor.SubSeven. В 68% случаях хакеры пытались установить на чужие компьютеры именно эту программу.
Вирусные атаки
Компьютерные вирусы теперь способны делать то же, что и настоящие вирусы: переходить с одного объекта на другой, изменять способы атаки и мутировать, чтобы проскользнуть мимо выставленных против них защитных кордонов.
Поэтому необходимо знать, что случится, если новый не идентифицированный вирус попадает в вашу сеть, насколько быстро поможет антивирусное решение, скоро ли эта помощь достигнет всех клиентских настольных систем и как не допустить распространения такой заразы.
До широкого распространения Internet-вирусов было относительно немного, и они передавались преимущественно на дискетах. Вирусы достаточно просто было выявить и составить их список после того, как они проявили себя и нанесли вред. Если такой список содержал распознаваемые строки байт (сигнатуры) из программного кода, составляющего вирус, то любой файл (или загрузочный сектор) можно было достаточно быстро просмотреть на предмет наличия такой строки. В случае ее обнаружения файл с большой степенью вероятности содержал вирус.
Большинство пользователей применяют этот метод и до сих пор. Проверка сигнатур вирусов пока является наилучшим способом защиты системы от вирусов.
Конечно, такой подход означает, что кто-то где-то был успешно атакован вирусом, когда вирус был еще неизвестен. Это является серьезной причиной для беспокойства, потому что сегодня вирусы распространяются с электронной почтой, а не через дискеты, а электронная почта — гораздо более быстрое и надежное средство обмена информацией.
Взлом парольной защиты операционных систем
Проблему безопасности компьютерных сетей не назовешь надуманной. Практика показывает: чем масштабнее сеть и чем ценнее информация, доверяемая подключенным к ней компьютерам, тем больше находится желающих нарушить их нормальное функционирование ради материальной выгоды или просто из праздного любопытства.
В самой крупной компьютерной сети в мире (Internet) атаки на компьютерные системы возникают подобно волнам цунами, сметая все защитные барьеры и оставляя после себя парализованные компьютеры и опустошенные винчестеры. Эти атаки не знают государственных границ. Идет постоянная виртуальная война, в ходе которой организованности системных администраторов противостоит изобретательность компьютерных взломщиков. Наиболее опасным при этом является взлом парольной защиты операционных систем, которые содержат системный файл с паролями пользователей сети.
Иногда злоумышленнику удается путем различных ухищрений получить в свое распоряжение файл с именами пользователей и их зашифрованными паролями. И тогда ему на помощь приходят специализированные программы, так называемые парольные взломщики.
Криптографические алгоритмы, применяемые для шифрования паролей пользователей в современных операционных системах, в подавляющем большинстве случаев являются слишком стойкими, чтобы можно было надеяться отыскать методы их дешифрования, которые окажутся более эффективными, чем тривиальный перебор возможных вариантов. Поэтому парольные взломщики иногда просто шифруют все пароли с использованием того же самого криптографического алгоритма, который применяется для их засекречивания в атакуемой операционной системе, и сравнивают результаты шифрования с тем, что записано в системном файле, содержащем шифрованные пароли ее пользователей. При этом в качестве вариантов паролей парольные взломщики используют символьные последовательности, автоматически генерируемые из некоторого набора символов.
Данный способ позволяет взломать все пароли, если они содержат только символы из данного набора и известно их представление в зашифрованном виде. Поскольку приходится перебирать очень много комбинаций, число которых растет экспоненциально с увеличением числа символов в исходном наборе, такие атаки парольной защиты операционной системы могут занимать слишком много времени. Однако хорошо известно, что большинство пользователей операционных систем не затрудняют себя выбором стойких паролей (т.е. таких, которые трудно узнать). Поэтому для более эффективного подбора паролей парольные взломщики обычно используют так называемые словари, представляющие собой заранее сформированный список слов, наиболее часто применяемых на практике в качестве паролей.
На сегодняшний день в Internet существует несколько депозитариев словарей для парольных взломщиков.
Типовые способы удаленных атак на информацию в сети
Злоумышленники могут предпринимать удаленные атаки на компьютерные сети. Строятся такие атаки на основе знаний о протоколах, используемых в сети Internet. В результате успех атаки не зависит от того, какую именно программно-аппаратную платформу использует пользователь. Хотя, с другой стороны, это внушает и известный оптимизм. Кроме того, существуют еще и внутренние атаки на информацию в компьютерных сетях (рис. 1.1).
За счет того, что все атаки построены на основе некоторого конечного числа базовых принципов работы сети Internet, становится возможным выделить типовые удаленные атаки и предложить некоторые типовые комплексы мер противодействия им.
Наиболее типовыми удаленными атаками на информацию в сети (рис. 1.2) из-за несовершенства Internet-протоколов являются:
анализ сетевого трафика сети;
внедрение ложного объекта сети;
внедрение ложного маршрута.
Рассмотрим характеристики этих удаленных атак. Начнем с анализа сетевого трафика сети.
Для получения доступа к серверу по базовым протоколам FTP (File Transfer Protocol) и TELNET (Протокол виртуального терминала) сети Internet пользователю необходимо пройти на нем процедуру идентификации и аутентификации. В качестве информации, идентифицирующей пользователя, выступает его идентификатор (имя), а для аутентификации используется пароль. Особенностью протоколов FTP и TELNET является то, что пароли и идентификаторы пользователей передаются по сети в открытом, незашифрованном виде.
Таким образом, для получения доступа к хостам Internet достаточно знать имя пользователя и его пароль. При обмене информацией два удаленных узла Internet делят информацию, которой обмениваются, на пакеты. Пакеты проходят по каналам связи; там пакеты и могут быть перехвачены.
Анализ протоколов FTP и TELNET показывает, что TELNET разбивает пароль на символы и пересылает их по одному, помещая каждый символ пароля в соответствующий пакет, a FTP, напротив, пересылает пароль целиком в одном пакете. Ввиду того, что пароли эти никак не зашифрованы, с помощью специальных программ-сканеров пакетов можно выделить именно те пакеты, которые содержат имя и пароль пользователя. По этой же причине, кстати, ненадежна и столь популярная ныне программа ICQ. Протоколы и форматы хранения и передачи данных обмена ICQ известны. Поэтому трафик ICQ также может быть перехвачен и вскрыт.
Почему все устроено так просто? Проблема заключается в протоколах обмена. Базовые прикладные протоколы семейства ТСР/IР были разработаны очень давно — на заре компьютерной техники (в период с конца 60-х до начала 80-х годов) — и с тех пор абсолютно не изменились. В то время основной концепцией построения сети была надежность. Рассматривалась возможность сохранения работоспособности компьютерной сети даже после ядерного удара. За прошедшие годы подход к обеспечению информационной безопасности распределенных сетей существенно изменился. Были разработаны различные протоколы обмена, позволяющие защитить сетевое соединение и зашифровать трафик (например, протоколы SSL, SKIP и т.п.). Однако эти протоколы не сменили устаревшие и не стали стандартом (может быть, за исключением SSL).
Вся проблема состоит вот в чем: чтобы они стали стандартом, к использованию этих протоколов должны перейти все пользователи сети, но так как в Internet отсутствует централизованное управление сетью, то процесс перехода может длиться еще многие годы. А на сегодняшний день подавляющее большинство пользователей используют стандартные протоколы семейства TCP/IP, разработанные более 15 лет назад. В результате, путем простого анализа сетевого трафика (потока информации) возможно вскрыть большинство систем средней защищенности.
Опытные пользователи Internet сталкивались с таким явлением, как установка защищенного соединения (обычно при оплате какой-либо покупки в Internet при помощи кредитной карты). Это как раз и есть специальный протокол, который применяет современные криптографические средства с тем, чтобы затруднить перехват и расшифровку сетевого трафика. Однако большая часть сетевого трафика остается по-прежнему незащищенной.
В любой распределенной сети существуют еще такие «узкие места», как поиск и адресация. В ходе этих процессов становится возможным внедрение ложного объекта распределенной сети (обычно это ложный хост). Даже если объект имеет право на какой-либо ресурс сети, вполне может оказаться, что этот объект — ложный.
Внедрение ложного объекта приводит к тому, что вся информация, которую вы хотите передать адресату, попадает на самом деле к злоумышленникам. Примерно, это можно представить, как если бы кто-то сумел внедриться к вам в систему, допустим, адресом SMTP (Simple Mail Transfer Protocol) ? сервера вашего провайдера, которым вы обычно пользуетесь для отправки электронной почты. В этом случае без особых усилий злоумышленник завладел бы вашей электронной корреспонденцией, и вы, даже и не подозревая того, сами переправили бы ему всю свою электронную почту.
Для удобства пользователя в сети, существует несколько уровней представления данных. Каждому из уровней соответствует своя система адресов. Так и на физическом диске файл на одном уровне представления определяется одним лишь своим именем, а на другом — как цепочка адресов кластеров, начиная с адреса первого кластера. При обращении к какому-либо хосту производится специальное преобразование адресов (из IP-адреса выводится физический адрес сетевого адаптера или маршрутизатора сети). В сети Internet для решения этой проблемы используется протокол ARP (Address Resolution Protocol).
Протокол ARP позволяет получить взаимно однозначное соответствие IP-и Ethernet-адресов для хостов, находящихся внутри одного сегмента. Это достигается следующим образом: при первом обращении к сетевым ресурсам хост отправляет широковещательный ARP-запрос. Этот запрос получат все станции в данном сегменте сети. Получив запрос, хост внесет запись о запросившем хосте в свою ARP-таблицу, а затем отправит на запросивший хост ARP-ответ, в котором сообщит свой Ethernet-адрес.
Если в данном сегменте такого хоста нет, то произойдет обращение к маршрутизатору, который позволяет обратиться к другим сегментам сети. Если пользователь и злоумышленник находятся в одном сегменте, то становится возможным осуществить перехват АРР-запроса и направить ложный ARP-ответ. В итоге обращение будет происходить по физическому адресу сетевого адаптера ложного хоста. Утешением может служить лишь то, что действие этого метода ограничено только одним сегментом сети.
Как известно, для обращения к хостам в сети Internet используются 32-разрядные IP-адреса, уникально идентифицирующие каждый сетевой компьютер. Однако для пользователей применение IP-адресов при обращении к хостам является не слишком удобным и далеко не самым наглядным. Когда сеть Internet только зарождалась, было принято решение для удобства пользователей присвоить всем компьютерам в сети имена. Применение имен позволяет пользователю лучше ориентироваться в сети Internet. Пользователю намного проще запомнить, например, имя www.narod.ru, чем четырехразрядную цепочку.
Существует система преобразования имен, благодаря которой пользователь в случае отсутствия у него информации о соответствии имен и IP-адресов может получить необходимые сведения от ближайшего информационно-поискового DNS-cepвepa (Domain Name System). Эта система получила название доменной системы имен — DNS. Набирая мнемоническое имя, мы обращаемся тем самым к DNS-серверу, а он уже посылает IP-адрес, по которому и происходит соединение.
Так же, как и в случае с АRР, является возможным внедрение в сеть Internet ложного DNS-сервера путем перехвата DNS-запроса. Это происходит по следующему алгоритму:
Ожидание DNS-запроса.
Извлечение из полученного запроса необходимых сведений и передача по сети на запросивший хост ложного DNS-ответа от имени (с IP-адреса) настоящего DNS- сервера, в котором указывается IP-адрес ложного DNS-сервера.
При получении пакета от хоста изменение в IP- заголовке пакета его IP-адреса на IP-адрес ложного DNS-сервера и передача пакета на сервер (то есть ложный DNS- сервер ведет работу с сервером от своего имени).
При получении пакета от сервера изменение в IP-заголовке пакета его IP-адреса на IP-адрес ложного DNS-сервера и передача пакета на хост (хост считает ложный DNS- сервер настоящим).
Современные глобальные сети представляют собой совокупность сегментов сети, связанных между собой через сетевые узлы. При этом маршрутом называется последовательность узлов сети, по которой данные передаются от источника к приемнику. Для унификации обмена информацией о маршрутах существуют специальные протоколы управления маршрутами; в Internet» например, — это протокол обмена сообщениями о новых маршрутах ICMP (Internet Control Message Protocol) и протокол удаленного управления маршрутизаторами SNMP (Simple Network Management Protocol). Изменение маршрута — не что иное, как внедрение атакующего ложного хоста. Даже если конечный объект будет истинным, маршрут можно построить таким образом, чтобы информация все равно проходила через ложный хост.
Для изменения маршрута атакующему необходимо послать по сети специальные служебные сообщения, определенные данными протоколами управления сетью, от имени сетевых управляющих устройств (например, маршрутизаторов). В результате успешного изменения маршрута атакующий получит полный контроль над потоком информации, которым обмениваются два объекта распределенной сети, и затем может перехватывать информацию, анализировать, модифицировать ее, а то и просто удалять. То есть становится возможным реализовать угрозы всех типов.
Распределенные атаки на отказ от обслуживания
Распределенные атаки на отказ от обслуживания — DDoS (Distributed Denial of Service) — сравнительно новая разновидность компьютерных преступлений. Но распространяется она с пугающей скоростью.
Угроза отказа в обслуживании возникает всякий раз, когда в результате некоторых действий блокируется доступ к некоторому ресурсу вычислительной системы.
Реально блокирование может быть постоянным, чтобы запрашиваемый ресурс никогда не был получен, или вызвать только задержку запрашиваемого ресурса, но достаточно долгую для того, чтобы он стал бесполезным. В таких случаях говорят, что ресурс исчерпан. Этой угрозой тоже не следует пренебрегать. Если ресурсы любой компьютерной системы всегда ограничены, значит, она имеет «узкое место».
Например, стержнем большинства систем является система разграничения доступа, основанная на введении паролей. В силу того, что распределенная система должна быть доступна, ограничить доступ к системе идентификации нельзя. С другой стороны, система идентификации ? ограниченный ресурс. В ходе удаленной атаки он может быть исчерпан (хотя большинство современных систем предусматривают защиту от подобных действий, так как подобная атака хрестоматийна).
Настроив соответствующее программное обеспечение, злоумышленник может запустить механизм множественного ввода паролей (пусть пароли и неверные). Все внешние каналы связи будут забиты ложными паролями. В итоге пользователь, даже имеющий на это право, не сможет войти в систему. Он просто не сможет пробиться к системе идентификации, чтобы ввести правильный пароль. Поэтому большинство современных систем и имеют ограничения на количество неправильно введенных паролей в течение одного сеанса.