Сетевая атака
Материал из 1GbWiki.
Содержание |
[править] Общее
Сетевая атака - некоторый набор действий (активность), имеющий целью произвести с компьютером (сервером) какие-то действия удаленно. Действия, обычно, являются нежелательными.
Существует много разновидностей атак. Наиболее интересны (актуальны) атаки двух типов:
- DOS атака (Denial Of Service, отказ в обслуживании) - атака, направленная на то, чтобы сервер (сайт) перестал работать.
- Взлом - попытка получить доступ к исходным кодам сайта, его базе данных.
[править] DOS
Типы атак могут быть поделены на следующие основные группы:
- Создание перегрузки сайта или сервера.
- Попытка эксплуатировать общие ограничения сервера или сети.
- Отказ в обслуживании с помощью уязвимости.
- Другое.
[править] Группа 1 – Создание перегрузки
Наиболее частый сценарий, используется в 95% случаев. Процедура простая: на сайт с разных точек сети отправляются корректные запросы, обычно, однотипные, к динамическому файлу. Такая атака не требует никаких особых ресурсов, достаточно иметь доступ к нескольким сотням машин, зараженных специальными вирусом (так называемый BotNet), которые будут отправлять запросы.
- Если кол-во машин невелико (несколько) или это одна машина атакующего, то мы имеем DOS атаку, которую очень легко отразить. Достаточно заблокировать эти IP адреса. Это может сделать даже сам пользователь хостинга, написав директивы в файл .htaccess.
- В случае, если машин несколько сотен, отразить атаку сложнее – необходимо содействие оператора сервера, так как блокировать атаку на уровне Веб-сервера уже поздно – даже отклонение запросов от такого числа атакующих будет создавать заметную нагрузку, и придется блокировать их на уровне сетевой системы сервера. Распределенная DOS атак с большого кол-ва машин называется DDOS (Distributed DOS).
- В случае, если атакующих тысячи или десятки тысяч (большой BotNet, опытная группа хакеров), действовать становится труднее: даже автоматические средства выявления адресов атакующих всё хуже справляются с определением адресов, начинают блокироваться общественно-значимые IP (компьютер атакующего находится за крупным NAT или прокси-сервером и т.д.).
Перспективы отразить такую атаку зависят от возможностей по пропускной способности входящего канала и сетевой системы сервера. Атаку из фиксированного числа в десятки или сотни точек адресов отразить можно. Атаку с более заметного кол-ва узлов отражать нет смысла, так как экономический урон слишком велик. Оплата трафика, нагрузки firewall-а сервера и действий специалистов несопоставима с оплатой сайта виртуального хостинга. Сайт, подвергаемой такой атаке с количества адресов, превышающих несколько сотен, на любом виртуальном хостинге будет выключен. Для этого выключается доменное имя или из записи зоны удаляется IP адрес сервера хостинга.
[править] Группа 2 – Эксплуатация недостатков
Некоторые типы серверов имеют архитектуру, не позволяющую обслуживать одновременно неограниченное количество запросов. К таким типам относится, например, популярный Веб-сервер Apache, а также почти любой FTP или почтовый сервер. Достаточно создать сотни или тысячи незавершенных подключений к такому серверу, и его работа будет парализована тем, что свободного ресурса подключений, необходимых для работы сайта и даже других сайтов, не останется.
Разновидностью атаки такого типа является SYN атака (SYN flood, UDP flood). Для того, чтобы отправить запрос на соединение (SYN пакет протокола TCP), или UDP пакет, можно сформировать сетевой пакет с неправильным обратным IP адресом. Фильтрация по IP адресу становится невозможной. Отражением такого типа атак занимаются специалисты сетевых операторов. Сервер в целом и некоторые типы серверов (пример - IIS, nginx, DNS сервер) устойчивы к небольшим SYN/UDP атакам (до 100 – 1000 запросов в секунду), могут просто игнорировать их. Веб-сервер Apache можно привести в нерабочее состояние даже SYN атакой с одного компьютера, создавая всего 10-30 запросов в секунду. Крупная распределенная SYN атака (более 50 – 100 тыс. запросов в секуду) мешает работе сетевого оборудования и представляет собой уже серьезную проблему для всего хостинга, явление это достаточно редкое.
Отражение атак этого типа зависят от конкретной ситуации. Некоторые типы атак не могут быть отражены без принципиального изменения типа сервера сайта, что обычно невозможно на виртуальном хостинге. Скажем, если ваш сайт обслуживается Apache и Apache действительно нужен (mod_rewrite и т.д.), то ничего поделать с атакой такого типа нельзя (разве что поставить прокси-сервер (nginx, oops, squid и т.д., но это отдельный разговор). Некоторые типы атак (SYN/UDP flood) могут быть отражены только усилиями сетевых операторов, так как необходимо средствами мониторинга найти реальный источник атаки. Иногда это занимает часы или даже дни.
[править] Группа 3 – Использование уязвимостей
Некоторые типы серверов или Веб-службы сервера могут быть выведены из строя специально сконструированными запросами или сетевыми пакетами. Атаке может подвергаться сама операционная система сервера, Веб-сервер, PHP модуль Веб-сервера и так далее. Любая найденная уязвимость, позволяющая удаленно «повесить» сервер, может использоваться в атаке против сайта. Уязвимости такого рода на уровне ОС сервера встречаются в настоящее время редко. Чаще можно встретить уязвимости Веб-сервера, хотя и они редки, а вот использование уязвимостей таких средств, как PHP, довольно реалистично. Иногда достаточно отправить простой GET запрос на сервер, и в модуле обработки PHP произойдет сбой. В случае многопоточного сервера это может повредить работе и соседних запросов сайта, и создавая сбои достаточно регулярно можно снизить качество работы сайта или вообще остановить его. Данная атака может быть использована против многопоточного Веб-сервера, как, например, Apache на Windows или ASP/ASP.NET, работающие в общем рабочем процессе IIS.
Данную атаку можно отразить специалистами хостинга, т.к. обычно только они смогут выяснить, что именно вызывает постоянный сбой сервера. Это может быть достаточно трудоемко и занимать часы или даже дни. Следующий вопрос – разработать методику блокировки таких запросов, что тоже может занять некоторое время.
[править] Взлом
Готовим материал.
[править] Примеры сетевых атак
- DDoS атака на сайт Microsoft.com. Вирус MSBlast!, в один день начавший со всех заражённых машин посылать запросы на microsoft.com, привёл к простою сайта.
- Случай с компанией Blue Security, которая работала над антиспамовой системой, и, похоже, небезуспешно. Во всяком случае, она привлекла внимание одного из спамеров под ником PharmaMaster (говорят, наш соотечественник), который настоятельно порекомендовал разработчикам свернуть проект, угрожая в противном случае обрушить корпоративные серверы DDoS-атакой. В Blue Security угрозу проигнорировали, и, как выяснилось, зря. Под валом мусорных запросов все серверы компании стали недоступными. Специалисты в срочном порядке стали просчитывать варианты защиты и пришли к неутешительному выводу, что практически ничего не могут противопоставить злоумышленнику. Компания признала свое поражение и решила испытать силы в менее опасных сферах. (По материалам Компьютерра-Онлайн)
[править] Что делать?
Готовим материал.