Отказ в обслуживании (DoS, DDoS-атаки)
Одной из возможностей сетевой операционной системы (ОС), установленной на каждом объекте распределенной сети, является наличие сетевых служб, позволяющих удалённым пользователям использовать ресурсы данного объекта. Программа-сервер (например, FTP-сервер или Web-сервер), запущенная в сетевой ОС компьютера, обеспечивает удаленный доступ к FTP- или Web-ресурсам этого компьютера. Пользователь отправляет запросы на предоставление услуги, ОС обрабатывает приходящие извне запросы, пересылает их на соответствующий сервер (FTP или Web), а сервер отвечает на них по созданному виртуальному каналу.
Любая операционная система имеет ограничения по количеству открытых виртуальных соединений и существует предел ответов на поступающие запросы. Данные ограничения зависят от системных ресурсов, основными из которых являются вычислительные мощности, оперативная память, дисковое пространство или пропускная способность каналов связи. Если какой-то из ресурсов достигнет максимальной загрузки, приложение будет недоступно.
Как правило, атаки типа DoS (Denial of service) направлены на исчерпание критичных системных ресурсов, что приводит к прекращению функционирования системы, т.е. к отказу в обслуживании и невозможности доступа к серверу удаленных пользователей.
Выделяется два типа отказа в обслуживании: первый, основанный на ошибке в приложении, и второй, основанный на плохой реализации или уязвимости протокола.
Отказ в обслуживании приложения становится возможен, если уязвимости приложения ведут к получению контроля над машиной (например, с помощью переполнения буфера обмена). Приложение станет недоступным либо из-за нехватки ресурсов, либо из-за аварийного завершения. Уязвимость приложения может быть использована и для нарушения работоспособности других компонентов системы, таких как сервер СУБД или сервер аутентификации.
Сетевой отказ в обслуживании основывается на особенностях стека протоколов TCP/IP.
Если атака выполняется одновременно с большого числа хостов, говорят о распределённой атаке типа "отказ в обслуживании" – DDoS-атаке (Distributed Denial of Service). В некоторых случаях к DDoS-атаке приводит легальное действие, например, на популярном Интернет-ресурсе указана ссылка на сайт, размещённый на не очень производительном сервере (так называемый слэшдот-эффект). Большой наплыв пользователей приводит к превышению допустимой нагрузки на сервер, и он очень быстро становится недоступным или доступ к нему затрудняется в результате перегруженности.
Ниже представлены некоторые типы подобных атак, однако, это всего лишь малая часть от существующих на сегодняшний день вариантов DoS-атак, информация о которых постоянно обновляется на специализированных Web-сайтах.
SYN-flood. Выше был рассмотрен механизм установления TCP-соединения (рисунок 1.4). Атака типа SYN-flood использует именно этот механизм. TCP-соединение включает три состояния: отправка SYN-пакета, получение пакета SYN-ACK и посылка ACK-пакета.
Идея атаки состоит в создании большого количества не до конца установленных TCP-соединений. Для реализации этого злоумышленник отправляет на сервер-жертву множество запросов на установление соединения (пакеты, с выставленным флагом SYN), машина-жертва отвечает пакетами SYN-ACK. Злоумышленник же игнорирует эти пакеты, не высылая ответные, либо подделывает заголовок пакета таким образом, что ответный SYN-ACK отправляется на несуществующий адрес. Процесс установки соединения не завершается, а остается в полуоткрытом состоянии, ожидая подтверждения от клиента. А так как под каждый полученный SYN-пакет сервер резервирует место в своем буфере, то при огромном количестве запросов, буфер достаточно быстро переполняется. В результате, вновь поступающие SYN-запросы, в том числе от легальных пользователей, не обрабатываются, и новые соединения не устанавливаются.
UDP-flood. Данный метод основан на применении UDP-протокола и обычно используется для того, чтобы максимально загрузить канал связи сервера-жертвы бесполезными данными.
Злоумышленник генерирует большое количество UDP-датаграмм (UDP-шторм), направленных на определенную машину. В результате происходит перегрузка сети и недоступность сервера-жертвы. В протоколе TCP есть механизмы предотвращения перегрузок: если подтверждения приема пакетов приходят со значительной задержкой, передающая сторона замедляет скорость передачи TCPпакетов. Так как в протоколе UDP такой механизм отсутствует, то после начала атаки UDP-трафик "захватывает" практически всю доступную полосу пропускания.
Вредоносное ПО LOIC (Low Orbit Ion Cannon) выполняет распределённую атаку на отказ в обслуживании путём постоянной отправки TCP и UDP пакетов на целевой сайт или сервер. Это ПО создано для организации DDoS-атак на Web-сайты с участием тысяч анонимных пользователей, пользующихся программой. Атаки производятся на такие сайты, как Visa.com или Mastercard.com. • ICMP-flood (ICPM-smurfing). Принцип работы такой DDoS-атаки довольно прост. Злоумышленник, изменяя адрес источника, посылает пакет ICMP Echo Request (больше известный как ping) к конкретным хостам.
Эти хосты отвечают пакетом ICMP Echo Reply, отправляя его на тот IP-адрес, который злоумышленник указал как источник. Часто для усиления атаки используются локальные сети (LAN) с включенной опцией направленной широковещательной рассылки (directed broadcast) в ответ на команду "ping" с каждого хоста в составе сети. Например, на один запрос будет отправлено 100 ответов. В результате вся сеть подвергается отказу из-за перегрузки.
Mailbombing. Суть атаки сводится к тому, чтобы генерировать большое количество сообщений с разных источников для почтового сервера (почтового ящика) с тем, чтобы реализовать ограничение доступа (или полный отказ) к этому почтовому серверу (ящику).
Атаки, основанные на уязвимостях протоколов управления. Например, утилита THC-SSL-DOS, которую некоторые злоумышленники применяют в качестве инструмента для проведения DoS-атак на SSL-серверы, использует уязвимость в функции повторного подтверждения SSL (SSL renegotiation).
Функция, предназначенная для обеспечения большей безопасности SSL, на самом деле делает его более уязвимым перед атакой.
Программы Backdoors способны производить DDоS атаку.
Например, троян Backdoor.IRCBot.ADEQ представляет собой вредоносное ПО, которое распространяется как регулярное обновление для Java платформы, и являет собой чрезвычайно опасный инструмент для инициации распределенной атаки "отказ в обслуживании". Данная программа имеет возможность установки ссылки целевого ресурса, назначения времени атаки, интервала и частоты запросов.
Удаленная атака типа "отказ в обслуживании" является активным воздействием, осуществляемым с целью нарушения работоспособности системы, безусловно относительно цели атаки. Данная удалённая атака является однонаправленным воздействием, как межсегментным, так и внутрисегментным, осуществляемым на транспортном и прикладном уровнях модели OSI.
Социальная инженерия
Говоря об информационной безопасности, нельзя не упомянуть о появившемся не так давно, но ставшим уже типичным, явлении – социальная инженерия.
Социальная инженерия (Social Engineering) – использование некомпетентности, непрофессионализма или небрежности персонала для получения доступа к информации. Суть этого метода сводится к тому, что злоумышленник старается получить интересующие его сведения путем установления контакта с человеком, владеющим необходимой информацией, тем или иным способом (при ведении телефонного разговора, почтовой переписки, доверительной беседы в кафе и т.п.)
С бурным развитием социальных сетей такой метод доступа к конфиденциальной информации стал очень популярным.
Phishing (фишинг) – одна из разновидностей социальной инженерии. Цель такого мошенничества – получить идентификационные данные пользователей. Это и кражи паролей, номеров кредитных карт, банковских счетов и другой конфиденциальной информации. Фишинг осуществляется с помощью пришедших на почту поддельных уведомлений от банков, провайдеров, платежных систем и других организаций о том, что по какой-либо причине получателю срочно нужно передать / обновить личные данные. Причины могут называться различные. Это может быть утеря данных, поломка в системе и пр. Фишинговые сайты, как правило, живут недолго (в среднем – 5 дней). Так как анти-фишинговые фильтры довольно быстро получают информацию о новых угрозах, фишерам приходится регистрировать все новые и новые сайты. Внешний же вид их совпадает с официальным сайтом, под который пытаются подделать свой сайт мошенники. Наиболее часто жертвами фишинга становятся пользователи электронных платежных систем, аукционов, электронной почты и, помимо этого – пользователи "социальных сетей" (vkontakte, odnoklassniki, twitter, facebook и др.).
Spear Phishing (направленный фишинг). Это комбинация обыкновенного фишинга и методов социальной инженерии, направленная против одного человека или целевой группы. Чтобы атака была успешной, она должна быть очень хорошо подготовлена, чтобы не вызвать подозрений. Злоумышленник собирает максимум сведений о конкретном человеке (группе лиц). Очень часто такие атаки направлены против финансовых организаций. Атакующий использует собранную персональную информацию и так подготавливает электронное (а бывает, и бумажное) письмо, чтобы оно выглядело достоверно и заставило человека ответить и выдать свои конфиденциальные данные (логины и пароли). Например, используя найденную в прессе информацию о назначении господина Х на новую должность, ему присылают официальное с виду письмо от службы технической поддержки, и в результате господин Х позволяет "службе поддержки" установить у себя троянскую программу или просит завести себе логин и пароль, схожий с логином и паролем в другой системе.
В последнее время механизм социальной инженерии очень часто используется для организации и реализации DDoS-атаки на сетевой ресурс, когда злоумышленники провоцируют пользователей ресурса на определённые действия, связанные с рассылкой сообщений (т.н. "письма счастья" или "магические письма", мнимые предупреждения о вредоносных программах, или событиях и необходимости оповещения об этом других пользователей и т.п.). В этом случае добропорядочные пользователи, если они играют по правилам злоумышленников (т.е. рассылают полученные злоумышленниками сообщения), невольно становятся соучастниками DDoS-атаки на сетевой ресурс.