Интернет. Скрытая опасность
Все знают, что в интернете есть много опасностей. О каждой из них говорили много, да и говорят по сей день. Многим кажется, что на этом не следует заострять внимание, что есть проблемы гораздо важнее, и среднестатистическому юзеру не грозит угроза взлома хакером. Однако, смею вас заверить, еще как грозит! Заметьте, я не сказал, что грозит угроза взлома хакером — скорее всего, хакер или взломщик не обратят на ваш хост никакого внимания, но ведь есть куча программок, которые автоматизированно проводят часть работы по взлому, а иногда и всю целиком. С помощью таких программ даже ребенок может взломать, чем, собсно, и занимается подавляющее большинство молодежи, дорвавшись до компьютера. А вот именно поэтому я и хочу предложить вам еще раз остановиться на том, какие атаки можно ожидать извне с наибольшей вероятностью. Давайте приступим.
Man-in-the-Middle (человек-посередине)
Этот тип атак весьма характерен для промышленного шпионажа (рис. 1). При атаке типа Man-in-the-Middle хакер должен получить доступ к пакетам, передаваемым по Сети, а потому в роли злоумышленников в данном случае часто выступают сами сотрудники предприятия или, к примеру, сотрудник фирмы-провайдера. Для атак Man-in-the-Middle часто используются снифферы пакетов, транспортные протоколы и протоколы маршрутизации. Цель подобной атаки — соответственно, кража или фальсификация передаваемой информации или же получение доступа к ресурсам сети. Защититься от подобных атак крайне сложно, так как обычно это атаки "крота" внутри самой организации. Поэтому в чисто техническом плане обезопасить себя можно только путем криптошифрования передаваемых данных. Тогда хакер вместо необходимых ему данных получит мешанину символов, разобраться в которой, не имея под рукой суперкомпьютера, попросту невозможно. Впрочем, если злоумышленнику повезет, и он сможет перехватить информацию о
криптографической сессии, шифрование данных автоматически потеряет всяческий смысл. Так что на переднем крае борьбы в данном случае должны находиться не технари, а кадровый отдел и служба безопасности предприятия.
Бреши в программном обеспечении
Весьма и весьма распространенный тип хакерских атак — использование уязвимых мест (чаще всего банальных недоработок) в широко используемом ПО, прежде всего для серверов. Особо славится своей ненадежностью и слабой защищенностью ПО от Microsoft. Обычно ситуация развивается следующим образом: кто-либо обнаруживает "дыру", или "баг", в программном обеспечении для сервера и публикует эту информацию в интернете в соответствующей конференции. Производитель данного ПО выпускает патч ("заплатку"), устраняющий данную проблему, и публикует его на своем web-сервере. Проблема в том, что далеко не все администраторы по причине элементарной лени постоянно следят за обнаружением и появлением патчей, да и между обнаружением "дыры" и написанием "заплатки" тоже какое-то время проходит: хакеры же тоже читают тематические конференции, и, надо отдать им должное, весьма умело применяют полученную информацию на практике (не случайно же большинство ведущих мировых специалистов по информационной безопасности — бывшие хакеры). Основная цель подобной атаки — получить доступ к серверу от имени пользователя, работающего с приложением, обычно с правами системного администратора и соответствующим уровнем доступа. Защититься от подобного рода атак достаточно сложно. Одна из причин, помимо низкокачественного ПО, состоит в том, что при проведении подобных атак злоумышленники часто пользуются портами, которым разрешен проход через межсетевой экран и которые не могут быть закрыты по чисто технологическим причинам. Так что лучшая защита в данном случае — грамотный и добросовестный системный администратор.
Фальсификация IP (IP-спуфинг)
Спуфинг — это вид атаки, при которой хакер внутри организации или за ее пределами выдает себя за санкционированного пользователя (рис. 2). Для этого существуют различные способы. Например, хакер может воспользоваться IP-адресом, находящимся в пределах диапазона санкционированных к применению в рамках Сети данной организации IP-адресов, или авторизованным внешним адресом в случае, если ему разрешен доступ к определенным сетевым ресурсам. Кстати, IP-спуфинг часто используется как составная часть более сложной, комплексной атаки. Типичный пример — атака DDoS, для осуществления которой хакер обычно размещает соответствующую программу на чужом IP-адресе, чтобы скрыть свою истинную личность. Однако чаще всего IP-спуфинг используется для выведения из строя системы при помощи ложных команд, а также для воровства конкретных файлов или, наоборот, внедрения в базы данных ложной информации. Полностью устранить угрозу спуфинга практически невозможно, но ее можно существенно ослабить. Например, имеет смысл настроить системы безопасности таким образом, чтобы они отсекали любой трафик, поступающий из внешней сети с исходным адресом, который должен на самом деле находиться в сети внутренней. Впрочем, это помогает бороться с IP-спуфингом только когда санкционированными являются лишь внутренние адреса. Если таковыми являются и некоторые внешние адреса, использование данного метода теряет смысл. Неплохо также на всякий случай заблаговременно пресечь попытки спуфинга чужих сетей пользователями вашей сети — эта мера может позволить избежать целого ряда неприятностей, если внутри организации объявится злоумышленник или просто компьютерный хулиган. Для этого нужно использовать любой исходящий трафик, если его исходный адрес не относится к внутреннему диапазону IP-адресов организации. При необходимости данную процедуру может выполнять и провайдер услуг интернет. Этот тип фильтрации известен под названием RFC 2827. Опять-таки, как и в случае со сниффингом пакетов, самой лучшей защитой будет сделать атаку абсолютно неэффективной. IP-спуфинг может быть реализован только при условии, что аутентификация пользователей происходит на базе IP-адресов. Поэтому криптошифрование аутентификации делает этот вид атак бесполезными. Впрочем, вместо криптошифрования с тем же успехом можно использовать случайным образом генерируемые одноразовые пароли.
DoS (Denial of Service — атака на отказ в обслуживании)
Сегодня одна из наиболее распространенных в мире форм хакерских атак — атака на отказ в обслуживании (Denial of Service — DoS) (рис. 3). Между тем, это одна из самых молодых технологий — ее осуществление стало возможным только в связи с действительно повсеместным распространением интернета. Не случайно о DoS-атаках широко заговорили только после того, как в декабре 1999 г. при помощи этой технологии были "завалены" web- узлы таких известных корпораций, как Amazon, Yahoo, CNN, eBay и E-Trade. Хотя первые сообщения о чем-то похожем появились еще в 1996 году, до "рождественского сюрприза" 1999 года DoS-атаки не воспринимались как серьезная угроза безопасности в сети. Однако спустя год — в декабре 2000-го — все повторилось: web-узлы крупнейших корпораций были атакованы по технологии DoS, а их системные администраторы вновь не смогли ничего противопоставить злоумышленникам. Ну, а в 2001 году DoS-атаки стали уже обычным делом. Собственно говоря, DoS-атаки производятся отнюдь не для кражи информации или манипулирования ею. Основная их цель — парализовать работу атакуемого web-узла. В сущности, это просто сетевой терроризм. Не случайно поэтому американские спецслужбы подозревают, что за многими DoS-атаками на серверы крупных корпораций стоят пресловутые антиглобалисты. Действительно, одно дело швырнуть кирпич в витрину "Макдональдса" где-нибудь в Мадриде или Праге, и совсем другое — "завалить" сайт этой суперкорпорации, давно уже ставшей своего рода символом глобализации мировой экономики. DoS-атаки опасны еще и тем, что для их развертывания кибертеррористам не требуется обладать какими-то особенными знаниями и умениями — все необходимое ПО вместе с описаниями самой технологии совершенно свободно доступно в интернете. К тому же, от подобного рода атак очень сложно защититься. В общем случае технология DoS- атаки выглядит следующим образом: на выбранный в качестве мишени web-узел обрушивается шквал ложных запросов с множества компьютеров по всему миру. В результате обслуживающие узел серверы оказываются парализованы и не могут обслуживать запросы обычных пользователей. При этом пользователи компьютеров, с которых направляются ложные запросы, и не подозревают о том, что их машина тайком используется злоумышленниками. Такое распределение "рабочей нагрузки" не только усиливает разрушительное действие атаки, но и сильно затрудняет меры по ее отражению, не позволяя выявить истинный адрес координатора атаки. Сегодня наиболее часто используются следующие разновидности DoS-атак:
. Smurf — ping-запросы ICMP (Internet Control Message Protocol) по адресу направленной широковещательной рассылки. Используемый в пакетах этого запроса фальшивый адрес источника в результате оказывается мишенью атаки. Системы, получившие направленный широковещательный ping- запрос, отвечают на него и "затапливают" сеть, в которой находится сервер-мишень.
. ICMP flood — атака, аналогичная Smurf, только без усиления, создаваемого запросами по направленному широковещательному адресу.
. UDP flood — отправка на адрес системы-мишени множества пакетов UDP (User Datagram Protocol), что приводит к "связыванию" сетевых
ресурсов.
. TCP flood — отправка на адрес системы-мишени множества TCP-пакетов, что также приводит к "связыванию" сетевых ресурсов.
. TCP SYN flood — при проведении такого рода атаки выдается большое количество запросов на инициализацию TCP-соединений с узлом-мишенью, которому в результате приходится расходовать все свои ресурсы на то, чтобы отслеживать эти частично открытые соединения.
В случае атаки трафик, предназначенный для переполнения атакуемой сети, необходимо "отсекать" у провайдера услуг интернет, потому что на входе в сеть сделать это будет уже невозможно — вся полоса пропускания будет занята. Когда атака этого типа проводится одновременно через множество устройств, говорится о распределенной атаке DoS (Distributed Denial of Service — DDoS). Угрозу DoS-атак можно снизить несколькими способами. Во- первых, необходимо правильно сконфигурировать функции антиспуфинга на маршрутизаторах и межсетевых экранах. Эти функции должны включать как минимум фильтрацию RFC 2827. Если хакер будет не в состоянии замаскировать свою истинную личность, он вряд ли решится на проведение атаки. Во- вторых, необходимо включить и правильно сконфигурировать функции анти-DoS на маршрутизаторах и межсетевых экранах. Эти функции ограничивают число полуоткрытых каналов, не позволяя перегружать систему. Также рекомендуется при угрозе DoS-атаки ограничить объем проходящего по сети некритического трафика. Об этом уже нужно договариваться со своим интернет-провайдером. Обычно при этом ограничивается объем трафика ICMP, так как он используется сугубо для диагностических целей.
Сниффинг пакетов
Сниффер пакетов представляет собой прикладную программу, которая использует сетевую карту, работающую в режиме promiscuous mode (в этом режиме все пакеты, полученные по физическим каналам, сетевой адаптер отправляет приложению для обработки). При этом сниффер ("нюхач") перехватывает все сетевые пакеты, которые передаются через атакуемый домен. Особенность ситуации в данном случае в том, что сейчас во многих случаях снифферы работают в сетях на вполне законном основании — их используют для диагностики неисправностей и анализа трафика. Поэтому далеко не всегда можно достоверно определить, используется или нет конкретная программа-сниффер злоумышленниками, и не произошло ли банальной подмены программы на аналогичную, но "с расширенными функциями". При помощи сниффера злоумышленники могут узнать различную конфиденциальную информацию — такую, например, как имена пользователей и пароли. Связано это с тем, что ряд широко используемых сетевых приложений передает данные в текстовом формате (telnet, FTP, SMTP, POP3 и т.д.). Поскольку пользователи часто применяют одни и те же логин и пароль для множества приложений и систем, даже однократный перехват этой информации несет серьезную угрозу информационной безопасности предприятия. Единожды завладев логином и паролем конкретного сотрудника, хитроумный хакер может получить доступ к пользовательскому ресурсу на системном уровне и с его помощью создать нового — фальшивого — пользователя, которого можно в любой момент использовать для доступа в сеть и к информационным ресурсам. Впрочем, используя определенный набор средств, можно существенно смягчить угрозу сниффинга пакетов. Во-первых, это достаточно сильные средства аутентификации, которые трудно обойти, даже используя "человеческий фактор". Например, однократные пароли (One-Time Passwords). Это технология двухфакторной аутентификации, при которой происходит сочетание того, что у вас есть, с тем, что вы знаете. При этом аппаратное или программное средство генерирует по случайному принципу уникальный одномоментный однократный пароль. Если хакер узнает этот пароль с помощью сниффера, эта информация будет бесполезной, потому что в этот момент пароль уже будет использован и выведен из употребления. Но это касается только паролей — к примеру, сообщения электронной почты все равно остаются незащищенными. Другой способ борьбы со сниффингом — использование антиснифферов. Это работающие в Сети аппаратные или программные средства, которые распознают снифферы. Они измеряют время реагирования хостов и определяют, не приходится ли хостам обрабатывать "лишний" трафик. Подобного рода средства не могут полностью ликвидировать угрозу сниффинга, но жизненно необходимы при построении комплексной системы защиты. Однако наиболее эффективной мерой, по мнению ряда специалистов, будет просто сделать работу снифферов бессмысленной. Для этого достаточно защитить передаваемые по каналу связи данные современными методами криптографии. В результате хакер перехватит не сообщение, а зашифрованный текст, то есть непонятную для него последовательность битов. Сейчас наиболее распространенными являются криптографические протоколы IPSec от корпорации Cisco, а также протоколы SSH (Secure Shell) и SSL (Secure Socket Layer).
Вредоносное ПО
Эти напасти поражают, в основном, не провайдеров или корпоративные коммуникации, а компьютеры конечных пользователей. Масштабы поражения при этом просто впечатляют — вспыхивающие все чаще глобальные компьютерные эпидемии приносят многомиллиардные убытки. Авторы же зловредных программ становятся все изощреннее, воплощая в современных вирусах самые передовые программные и психологические технологии. Вирусы и троянские кони — это разные классы враждебного программного кода. Вирусы внедряются в другие программы с целью выполнения заложенной в них вредоносной функции на рабочей станции конечного пользователя. Это может быть, например, уничтожение всех или только определенных файлов на винчестере (чаще всего), порча оборудования (пока экзотика) или другие операции. Часто вирусы запрограммированы на срабатывание в определенную дату (типичный пример — знаменитый WinChih, он же "Чернобыль"), а также на рассылку своих копий посредством электронной почты по всем адресам, найденным в адресной книге пользователя. Троянский конь, в отличие от вируса — самостоятельная программа, чаще всего не ориентированная на грубое разрушение информации, свойственное вирусам. Обычно цель внедрения троянского коня — получение скрытого удаленного контроля над компьютером для того, чтобы манипулировать содержащейся на нем информацией. Троянские кони успешно маскируются под различные игры или полезные программы, великое множество которых бесплатно распространяется в интернете. Более того, хакеры иногда встраивают троянских коней в совершенно невинные и пользующиеся хорошей репутацией программы. Попав на компьютер, троянский конь обычно не афиширует свое присутствие, выполняя свои функции максимально скрытно. Такая программа может, к примеру, втихаря отсылать своему хозяину-хакеру пароль и логин для доступа в интернет с данного конкретного компьютера, делать и отправлять по заложенному в нее адресу определенные файлы, отслеживать все, что вводится с клавиатуры, и т.д. Более изощренные версии троянских коней, адаптированные для атаки на конкретные компьютеры конкретных пользователей, могут по указанию хозяина заменять те или иные данные на другие, заранее заготовленные, или видоизменять хранящиеся в файлах данные, вводя тем самым в заблуждение владельца компьютера. К слову, довольно распространенный прием из арсенала промышленного шпионажа и провокаций. Борьба с вирусами и троянскими конями ведется при помощи специализированного ПО, причем грамотно выстроенная защита обеспечивает двойной контроль: на уровне конкретного компьютера и на уровне локальной сети. Современные средства борьбы с вредоносным кодом достаточно эффективны, и практика показывает, что регулярно вспыхивающие глобальные эпидемии компьютерных вирусов происходят во многом благодаря "человеческому фактору" — большинство пользователей и многие системные администраторы (!) попросту ленятся регулярно обновлять базы данных антивирусных программ и проверять на вирусы приходящую электронную почту перед ее прочтением (хотя сейчас это все чаще делают сами провайдеры интернет-услуг).
Сетевая разведка
Собственно говоря, сетевую разведку нельзя назвать атакой на компьютерную систему — ведь никаких зловредных действий хакер при этом не производит. Однако сетевая разведка всегда предшествует собственно нападению, так как при его подготовке злоумышленникам необходимо собрать всю доступную информацию о системе. При этом информация собирается с использованием большого набора общедоступных данных и приложений — ведь хакер старается получить как можно больше полезной информации. При этом производится сканирование портов, запросы DNS, эхо-тестирование раскрытых с помощью DNS адресов и т.д. Так удается, в частности, выяснить, кому принадлежит тот или иной домен, и какие адреса этому домену присвоены. Эхо- тестирование (ping sweep) адресов, раскрытых с помощью DNS, позволяет увидеть, какие хосты реально работают в данной сети, а средства сканирования портов позволяют составить полный список услуг, поддерживаемых этими хостами. Анализируются при проведении сетевой разведки и характеристики приложений, работающих на хостах — словом, добывается информация, которую впоследствии можно использовать при взломе или проведении DoS-атаки. Полностью избавиться от сетевой разведки невозможно, в первую очередь, потому, что формально враждебных действий не производится. Если, например, отключить эхо ICMP и эхо-ответ на периферийных маршрутизаторах, можно избавиться от эхо-тестирования, однако при этом окажутся потеряны данные, которые необходимы для диагностики сбоев в сети. К тому же, просканировать порты злоумышленники могут и без предварительного эхо-тестирования. Защитные и контролирующие системы на уровне сети и хостов обычно вполне справляются с задачей уведомления системного администратора о ведущейся сетевой разведке. При добросовестном отношении администратора к своим обязанностям это позволяет лучше подготовиться к предстоящей атаке и даже принять упреждающие меры, например, оповестив провайдера, из сети которого кто-то проявляет чрезмерное любопытство.
Mailbombing
Бомбардировка электронной почтой (т.н. mailbombing) — один из самых старых и примитивных видов интернет-атак. Правильнее даже будет назвать это компьютерным вандализмом (или просто хулиганством — в зависимости от тяжести последствий). Суть мэйлбомбинга — в засорении почтового ящика "мусорной" корреспонденцией или даже выведении из строя почтового сервера интернет-провайдера. Для этого применяются специальные программы — мэйлбомберы. Они попросту засыпают указанный в качестве мишени почтовый ящик огромным количеством писем, указывая при этом фальшивые данные отправителя — вплоть до IP-адреса. Все, что нужно агрессору, использующему такую программу, — указать e-mail объекта атаки, число сообщений, написать текст письма (обычно пишется что-нибудь оскорбительное), указать фальшивые данные отправителя, если программа этого не делает сама, и нажать кнопку Пуск. Впрочем, большинство интернет-провайдеров имеют собственные системы защиты клиентов от мэйлбомбинга. Когда число одинаковых писем из одного и того же источника начинает превышать некие разумные пределы, вся поступающая корреспонденция такого рода просто уничтожается. Так что сегодня почтовых бомбардировок можно всерьез уже не опасаться.
Подбор пароля
Атакующий систему хакер часто начинает свои действия с попыток раздобыть пароль администратора или одного из пользователей. Для того, чтобы узнать пароль, существует великое множество различных методов. Вот основные из них: IP-спуфинг и сниффинг пакетов — их мы рассмотрим ниже. Внедрение в систему троянского коня — один из наиболее распространенных в хакерской практике приемов — про него мы также расскажем подробнее в дальнейшем. Перебор "в лоб" (brute force attack — "атака грубой силой"). Существует множество программ, которые осуществляют простой перебор вариантов паролей через интернет или напрямую на атакуемом компьютере. Одни программы перебирают пароли по определенному словарю, другие просто генерируют случайным образом различные последовательности символов. Возьмем логический перебор вариантов пароля. Использующий этот метод злоумышленник просто перебирает вероятные комбинации символов, которые могут быть использованы пользователем в качестве пароля. Такой подход обычно оказывается на удивление эффективным. Специалисты по компьютерной безопасности не перестают удивляться, до чего часто пользователи используют в качестве пароля такие "загадочные" комбинации, как 1234, qwerty или собственное имя, написанное задом наперед. Серьезные хакеры, подбирая заветный пароль, могут досконально изучить человека, этот пароль использующего. Имена членов семьи и прочих родственников, любимой собаки/кошки, за какие команды и в каких видах спорта "объект" болеет, какие книги и кинофильмы любит, какую газету читает по утрам, — все эти данные и их комбинации идут в дело. Спастись от подобных атак можно только используя в качестве пароля случайную комбинацию букв и цифр, желательно сгенерированную специальной программой. И, разумеется, необходимо регулярно менять пароль — следить за этим обязан системный администратор. Теперь о социальной инженерии. Это использование хакером психологических приемов "работы" с пользователем. Типичный (и самый простой) пример — телефонный звонок от якобы "системного администратора" с заявлением вроде: "У нас тут произошел сбой в системе, и информация о пользователях была утеряна. Не могли бы вы сообщить еще раз свой логин и пароль?" Так жертва сама отдает пароль в руки хакеру. Защититься от таких атак, помимо обычной бдительности, помогает система одноразовых паролей. Впрочем, из-за своей сложности она до сих пор не получила достаточно широкого распространения.
Вот так вот выглядит список того, чего вполне можно ожидать, подключившись к сети Интернет (да и не только). Надеюсь, что изложенная информация дала вам новые знания в области безопасности либо укрепила старые.
Евгений Кучук
Man-in-the-Middle (человек-посередине)
Этот тип атак весьма характерен для промышленного шпионажа (рис. 1). При атаке типа Man-in-the-Middle хакер должен получить доступ к пакетам, передаваемым по Сети, а потому в роли злоумышленников в данном случае часто выступают сами сотрудники предприятия или, к примеру, сотрудник фирмы-провайдера. Для атак Man-in-the-Middle часто используются снифферы пакетов, транспортные протоколы и протоколы маршрутизации. Цель подобной атаки — соответственно, кража или фальсификация передаваемой информации или же получение доступа к ресурсам сети. Защититься от подобных атак крайне сложно, так как обычно это атаки "крота" внутри самой организации. Поэтому в чисто техническом плане обезопасить себя можно только путем криптошифрования передаваемых данных. Тогда хакер вместо необходимых ему данных получит мешанину символов, разобраться в которой, не имея под рукой суперкомпьютера, попросту невозможно. Впрочем, если злоумышленнику повезет, и он сможет перехватить информацию о
криптографической сессии, шифрование данных автоматически потеряет всяческий смысл. Так что на переднем крае борьбы в данном случае должны находиться не технари, а кадровый отдел и служба безопасности предприятия.
Бреши в программном обеспечении
Весьма и весьма распространенный тип хакерских атак — использование уязвимых мест (чаще всего банальных недоработок) в широко используемом ПО, прежде всего для серверов. Особо славится своей ненадежностью и слабой защищенностью ПО от Microsoft. Обычно ситуация развивается следующим образом: кто-либо обнаруживает "дыру", или "баг", в программном обеспечении для сервера и публикует эту информацию в интернете в соответствующей конференции. Производитель данного ПО выпускает патч ("заплатку"), устраняющий данную проблему, и публикует его на своем web-сервере. Проблема в том, что далеко не все администраторы по причине элементарной лени постоянно следят за обнаружением и появлением патчей, да и между обнаружением "дыры" и написанием "заплатки" тоже какое-то время проходит: хакеры же тоже читают тематические конференции, и, надо отдать им должное, весьма умело применяют полученную информацию на практике (не случайно же большинство ведущих мировых специалистов по информационной безопасности — бывшие хакеры). Основная цель подобной атаки — получить доступ к серверу от имени пользователя, работающего с приложением, обычно с правами системного администратора и соответствующим уровнем доступа. Защититься от подобного рода атак достаточно сложно. Одна из причин, помимо низкокачественного ПО, состоит в том, что при проведении подобных атак злоумышленники часто пользуются портами, которым разрешен проход через межсетевой экран и которые не могут быть закрыты по чисто технологическим причинам. Так что лучшая защита в данном случае — грамотный и добросовестный системный администратор.
Фальсификация IP (IP-спуфинг)
Спуфинг — это вид атаки, при которой хакер внутри организации или за ее пределами выдает себя за санкционированного пользователя (рис. 2). Для этого существуют различные способы. Например, хакер может воспользоваться IP-адресом, находящимся в пределах диапазона санкционированных к применению в рамках Сети данной организации IP-адресов, или авторизованным внешним адресом в случае, если ему разрешен доступ к определенным сетевым ресурсам. Кстати, IP-спуфинг часто используется как составная часть более сложной, комплексной атаки. Типичный пример — атака DDoS, для осуществления которой хакер обычно размещает соответствующую программу на чужом IP-адресе, чтобы скрыть свою истинную личность. Однако чаще всего IP-спуфинг используется для выведения из строя системы при помощи ложных команд, а также для воровства конкретных файлов или, наоборот, внедрения в базы данных ложной информации. Полностью устранить угрозу спуфинга практически невозможно, но ее можно существенно ослабить. Например, имеет смысл настроить системы безопасности таким образом, чтобы они отсекали любой трафик, поступающий из внешней сети с исходным адресом, который должен на самом деле находиться в сети внутренней. Впрочем, это помогает бороться с IP-спуфингом только когда санкционированными являются лишь внутренние адреса. Если таковыми являются и некоторые внешние адреса, использование данного метода теряет смысл. Неплохо также на всякий случай заблаговременно пресечь попытки спуфинга чужих сетей пользователями вашей сети — эта мера может позволить избежать целого ряда неприятностей, если внутри организации объявится злоумышленник или просто компьютерный хулиган. Для этого нужно использовать любой исходящий трафик, если его исходный адрес не относится к внутреннему диапазону IP-адресов организации. При необходимости данную процедуру может выполнять и провайдер услуг интернет. Этот тип фильтрации известен под названием RFC 2827. Опять-таки, как и в случае со сниффингом пакетов, самой лучшей защитой будет сделать атаку абсолютно неэффективной. IP-спуфинг может быть реализован только при условии, что аутентификация пользователей происходит на базе IP-адресов. Поэтому криптошифрование аутентификации делает этот вид атак бесполезными. Впрочем, вместо криптошифрования с тем же успехом можно использовать случайным образом генерируемые одноразовые пароли.
DoS (Denial of Service — атака на отказ в обслуживании)
Сегодня одна из наиболее распространенных в мире форм хакерских атак — атака на отказ в обслуживании (Denial of Service — DoS) (рис. 3). Между тем, это одна из самых молодых технологий — ее осуществление стало возможным только в связи с действительно повсеместным распространением интернета. Не случайно о DoS-атаках широко заговорили только после того, как в декабре 1999 г. при помощи этой технологии были "завалены" web- узлы таких известных корпораций, как Amazon, Yahoo, CNN, eBay и E-Trade. Хотя первые сообщения о чем-то похожем появились еще в 1996 году, до "рождественского сюрприза" 1999 года DoS-атаки не воспринимались как серьезная угроза безопасности в сети. Однако спустя год — в декабре 2000-го — все повторилось: web-узлы крупнейших корпораций были атакованы по технологии DoS, а их системные администраторы вновь не смогли ничего противопоставить злоумышленникам. Ну, а в 2001 году DoS-атаки стали уже обычным делом. Собственно говоря, DoS-атаки производятся отнюдь не для кражи информации или манипулирования ею. Основная их цель — парализовать работу атакуемого web-узла. В сущности, это просто сетевой терроризм. Не случайно поэтому американские спецслужбы подозревают, что за многими DoS-атаками на серверы крупных корпораций стоят пресловутые антиглобалисты. Действительно, одно дело швырнуть кирпич в витрину "Макдональдса" где-нибудь в Мадриде или Праге, и совсем другое — "завалить" сайт этой суперкорпорации, давно уже ставшей своего рода символом глобализации мировой экономики. DoS-атаки опасны еще и тем, что для их развертывания кибертеррористам не требуется обладать какими-то особенными знаниями и умениями — все необходимое ПО вместе с описаниями самой технологии совершенно свободно доступно в интернете. К тому же, от подобного рода атак очень сложно защититься. В общем случае технология DoS- атаки выглядит следующим образом: на выбранный в качестве мишени web-узел обрушивается шквал ложных запросов с множества компьютеров по всему миру. В результате обслуживающие узел серверы оказываются парализованы и не могут обслуживать запросы обычных пользователей. При этом пользователи компьютеров, с которых направляются ложные запросы, и не подозревают о том, что их машина тайком используется злоумышленниками. Такое распределение "рабочей нагрузки" не только усиливает разрушительное действие атаки, но и сильно затрудняет меры по ее отражению, не позволяя выявить истинный адрес координатора атаки. Сегодня наиболее часто используются следующие разновидности DoS-атак:
. Smurf — ping-запросы ICMP (Internet Control Message Protocol) по адресу направленной широковещательной рассылки. Используемый в пакетах этого запроса фальшивый адрес источника в результате оказывается мишенью атаки. Системы, получившие направленный широковещательный ping- запрос, отвечают на него и "затапливают" сеть, в которой находится сервер-мишень.
. ICMP flood — атака, аналогичная Smurf, только без усиления, создаваемого запросами по направленному широковещательному адресу.
. UDP flood — отправка на адрес системы-мишени множества пакетов UDP (User Datagram Protocol), что приводит к "связыванию" сетевых
ресурсов.
. TCP flood — отправка на адрес системы-мишени множества TCP-пакетов, что также приводит к "связыванию" сетевых ресурсов.
. TCP SYN flood — при проведении такого рода атаки выдается большое количество запросов на инициализацию TCP-соединений с узлом-мишенью, которому в результате приходится расходовать все свои ресурсы на то, чтобы отслеживать эти частично открытые соединения.
В случае атаки трафик, предназначенный для переполнения атакуемой сети, необходимо "отсекать" у провайдера услуг интернет, потому что на входе в сеть сделать это будет уже невозможно — вся полоса пропускания будет занята. Когда атака этого типа проводится одновременно через множество устройств, говорится о распределенной атаке DoS (Distributed Denial of Service — DDoS). Угрозу DoS-атак можно снизить несколькими способами. Во- первых, необходимо правильно сконфигурировать функции антиспуфинга на маршрутизаторах и межсетевых экранах. Эти функции должны включать как минимум фильтрацию RFC 2827. Если хакер будет не в состоянии замаскировать свою истинную личность, он вряд ли решится на проведение атаки. Во- вторых, необходимо включить и правильно сконфигурировать функции анти-DoS на маршрутизаторах и межсетевых экранах. Эти функции ограничивают число полуоткрытых каналов, не позволяя перегружать систему. Также рекомендуется при угрозе DoS-атаки ограничить объем проходящего по сети некритического трафика. Об этом уже нужно договариваться со своим интернет-провайдером. Обычно при этом ограничивается объем трафика ICMP, так как он используется сугубо для диагностических целей.
Сниффинг пакетов
Сниффер пакетов представляет собой прикладную программу, которая использует сетевую карту, работающую в режиме promiscuous mode (в этом режиме все пакеты, полученные по физическим каналам, сетевой адаптер отправляет приложению для обработки). При этом сниффер ("нюхач") перехватывает все сетевые пакеты, которые передаются через атакуемый домен. Особенность ситуации в данном случае в том, что сейчас во многих случаях снифферы работают в сетях на вполне законном основании — их используют для диагностики неисправностей и анализа трафика. Поэтому далеко не всегда можно достоверно определить, используется или нет конкретная программа-сниффер злоумышленниками, и не произошло ли банальной подмены программы на аналогичную, но "с расширенными функциями". При помощи сниффера злоумышленники могут узнать различную конфиденциальную информацию — такую, например, как имена пользователей и пароли. Связано это с тем, что ряд широко используемых сетевых приложений передает данные в текстовом формате (telnet, FTP, SMTP, POP3 и т.д.). Поскольку пользователи часто применяют одни и те же логин и пароль для множества приложений и систем, даже однократный перехват этой информации несет серьезную угрозу информационной безопасности предприятия. Единожды завладев логином и паролем конкретного сотрудника, хитроумный хакер может получить доступ к пользовательскому ресурсу на системном уровне и с его помощью создать нового — фальшивого — пользователя, которого можно в любой момент использовать для доступа в сеть и к информационным ресурсам. Впрочем, используя определенный набор средств, можно существенно смягчить угрозу сниффинга пакетов. Во-первых, это достаточно сильные средства аутентификации, которые трудно обойти, даже используя "человеческий фактор". Например, однократные пароли (One-Time Passwords). Это технология двухфакторной аутентификации, при которой происходит сочетание того, что у вас есть, с тем, что вы знаете. При этом аппаратное или программное средство генерирует по случайному принципу уникальный одномоментный однократный пароль. Если хакер узнает этот пароль с помощью сниффера, эта информация будет бесполезной, потому что в этот момент пароль уже будет использован и выведен из употребления. Но это касается только паролей — к примеру, сообщения электронной почты все равно остаются незащищенными. Другой способ борьбы со сниффингом — использование антиснифферов. Это работающие в Сети аппаратные или программные средства, которые распознают снифферы. Они измеряют время реагирования хостов и определяют, не приходится ли хостам обрабатывать "лишний" трафик. Подобного рода средства не могут полностью ликвидировать угрозу сниффинга, но жизненно необходимы при построении комплексной системы защиты. Однако наиболее эффективной мерой, по мнению ряда специалистов, будет просто сделать работу снифферов бессмысленной. Для этого достаточно защитить передаваемые по каналу связи данные современными методами криптографии. В результате хакер перехватит не сообщение, а зашифрованный текст, то есть непонятную для него последовательность битов. Сейчас наиболее распространенными являются криптографические протоколы IPSec от корпорации Cisco, а также протоколы SSH (Secure Shell) и SSL (Secure Socket Layer).
Вредоносное ПО
Эти напасти поражают, в основном, не провайдеров или корпоративные коммуникации, а компьютеры конечных пользователей. Масштабы поражения при этом просто впечатляют — вспыхивающие все чаще глобальные компьютерные эпидемии приносят многомиллиардные убытки. Авторы же зловредных программ становятся все изощреннее, воплощая в современных вирусах самые передовые программные и психологические технологии. Вирусы и троянские кони — это разные классы враждебного программного кода. Вирусы внедряются в другие программы с целью выполнения заложенной в них вредоносной функции на рабочей станции конечного пользователя. Это может быть, например, уничтожение всех или только определенных файлов на винчестере (чаще всего), порча оборудования (пока экзотика) или другие операции. Часто вирусы запрограммированы на срабатывание в определенную дату (типичный пример — знаменитый WinChih, он же "Чернобыль"), а также на рассылку своих копий посредством электронной почты по всем адресам, найденным в адресной книге пользователя. Троянский конь, в отличие от вируса — самостоятельная программа, чаще всего не ориентированная на грубое разрушение информации, свойственное вирусам. Обычно цель внедрения троянского коня — получение скрытого удаленного контроля над компьютером для того, чтобы манипулировать содержащейся на нем информацией. Троянские кони успешно маскируются под различные игры или полезные программы, великое множество которых бесплатно распространяется в интернете. Более того, хакеры иногда встраивают троянских коней в совершенно невинные и пользующиеся хорошей репутацией программы. Попав на компьютер, троянский конь обычно не афиширует свое присутствие, выполняя свои функции максимально скрытно. Такая программа может, к примеру, втихаря отсылать своему хозяину-хакеру пароль и логин для доступа в интернет с данного конкретного компьютера, делать и отправлять по заложенному в нее адресу определенные файлы, отслеживать все, что вводится с клавиатуры, и т.д. Более изощренные версии троянских коней, адаптированные для атаки на конкретные компьютеры конкретных пользователей, могут по указанию хозяина заменять те или иные данные на другие, заранее заготовленные, или видоизменять хранящиеся в файлах данные, вводя тем самым в заблуждение владельца компьютера. К слову, довольно распространенный прием из арсенала промышленного шпионажа и провокаций. Борьба с вирусами и троянскими конями ведется при помощи специализированного ПО, причем грамотно выстроенная защита обеспечивает двойной контроль: на уровне конкретного компьютера и на уровне локальной сети. Современные средства борьбы с вредоносным кодом достаточно эффективны, и практика показывает, что регулярно вспыхивающие глобальные эпидемии компьютерных вирусов происходят во многом благодаря "человеческому фактору" — большинство пользователей и многие системные администраторы (!) попросту ленятся регулярно обновлять базы данных антивирусных программ и проверять на вирусы приходящую электронную почту перед ее прочтением (хотя сейчас это все чаще делают сами провайдеры интернет-услуг).
Сетевая разведка
Собственно говоря, сетевую разведку нельзя назвать атакой на компьютерную систему — ведь никаких зловредных действий хакер при этом не производит. Однако сетевая разведка всегда предшествует собственно нападению, так как при его подготовке злоумышленникам необходимо собрать всю доступную информацию о системе. При этом информация собирается с использованием большого набора общедоступных данных и приложений — ведь хакер старается получить как можно больше полезной информации. При этом производится сканирование портов, запросы DNS, эхо-тестирование раскрытых с помощью DNS адресов и т.д. Так удается, в частности, выяснить, кому принадлежит тот или иной домен, и какие адреса этому домену присвоены. Эхо- тестирование (ping sweep) адресов, раскрытых с помощью DNS, позволяет увидеть, какие хосты реально работают в данной сети, а средства сканирования портов позволяют составить полный список услуг, поддерживаемых этими хостами. Анализируются при проведении сетевой разведки и характеристики приложений, работающих на хостах — словом, добывается информация, которую впоследствии можно использовать при взломе или проведении DoS-атаки. Полностью избавиться от сетевой разведки невозможно, в первую очередь, потому, что формально враждебных действий не производится. Если, например, отключить эхо ICMP и эхо-ответ на периферийных маршрутизаторах, можно избавиться от эхо-тестирования, однако при этом окажутся потеряны данные, которые необходимы для диагностики сбоев в сети. К тому же, просканировать порты злоумышленники могут и без предварительного эхо-тестирования. Защитные и контролирующие системы на уровне сети и хостов обычно вполне справляются с задачей уведомления системного администратора о ведущейся сетевой разведке. При добросовестном отношении администратора к своим обязанностям это позволяет лучше подготовиться к предстоящей атаке и даже принять упреждающие меры, например, оповестив провайдера, из сети которого кто-то проявляет чрезмерное любопытство.
Mailbombing
Бомбардировка электронной почтой (т.н. mailbombing) — один из самых старых и примитивных видов интернет-атак. Правильнее даже будет назвать это компьютерным вандализмом (или просто хулиганством — в зависимости от тяжести последствий). Суть мэйлбомбинга — в засорении почтового ящика "мусорной" корреспонденцией или даже выведении из строя почтового сервера интернет-провайдера. Для этого применяются специальные программы — мэйлбомберы. Они попросту засыпают указанный в качестве мишени почтовый ящик огромным количеством писем, указывая при этом фальшивые данные отправителя — вплоть до IP-адреса. Все, что нужно агрессору, использующему такую программу, — указать e-mail объекта атаки, число сообщений, написать текст письма (обычно пишется что-нибудь оскорбительное), указать фальшивые данные отправителя, если программа этого не делает сама, и нажать кнопку Пуск. Впрочем, большинство интернет-провайдеров имеют собственные системы защиты клиентов от мэйлбомбинга. Когда число одинаковых писем из одного и того же источника начинает превышать некие разумные пределы, вся поступающая корреспонденция такого рода просто уничтожается. Так что сегодня почтовых бомбардировок можно всерьез уже не опасаться.
Подбор пароля
Атакующий систему хакер часто начинает свои действия с попыток раздобыть пароль администратора или одного из пользователей. Для того, чтобы узнать пароль, существует великое множество различных методов. Вот основные из них: IP-спуфинг и сниффинг пакетов — их мы рассмотрим ниже. Внедрение в систему троянского коня — один из наиболее распространенных в хакерской практике приемов — про него мы также расскажем подробнее в дальнейшем. Перебор "в лоб" (brute force attack — "атака грубой силой"). Существует множество программ, которые осуществляют простой перебор вариантов паролей через интернет или напрямую на атакуемом компьютере. Одни программы перебирают пароли по определенному словарю, другие просто генерируют случайным образом различные последовательности символов. Возьмем логический перебор вариантов пароля. Использующий этот метод злоумышленник просто перебирает вероятные комбинации символов, которые могут быть использованы пользователем в качестве пароля. Такой подход обычно оказывается на удивление эффективным. Специалисты по компьютерной безопасности не перестают удивляться, до чего часто пользователи используют в качестве пароля такие "загадочные" комбинации, как 1234, qwerty или собственное имя, написанное задом наперед. Серьезные хакеры, подбирая заветный пароль, могут досконально изучить человека, этот пароль использующего. Имена членов семьи и прочих родственников, любимой собаки/кошки, за какие команды и в каких видах спорта "объект" болеет, какие книги и кинофильмы любит, какую газету читает по утрам, — все эти данные и их комбинации идут в дело. Спастись от подобных атак можно только используя в качестве пароля случайную комбинацию букв и цифр, желательно сгенерированную специальной программой. И, разумеется, необходимо регулярно менять пароль — следить за этим обязан системный администратор. Теперь о социальной инженерии. Это использование хакером психологических приемов "работы" с пользователем. Типичный (и самый простой) пример — телефонный звонок от якобы "системного администратора" с заявлением вроде: "У нас тут произошел сбой в системе, и информация о пользователях была утеряна. Не могли бы вы сообщить еще раз свой логин и пароль?" Так жертва сама отдает пароль в руки хакеру. Защититься от таких атак, помимо обычной бдительности, помогает система одноразовых паролей. Впрочем, из-за своей сложности она до сих пор не получила достаточно широкого распространения.
Вот так вот выглядит список того, чего вполне можно ожидать, подключившись к сети Интернет (да и не только). Надеюсь, что изложенная информация дала вам новые знания в области безопасности либо укрепила старые.
Евгений Кучук
Компьютерная газета. Статья была опубликована в номере 36 за 2007 год в рубрике безопасность