DoS-атака, DDoS-атака, дос-атака, досить (атака типа «отказ в обслуживании», от англ. Denial of Service) — это целенаправленная деятельность программ, локальных или удаленных по отношению к серверу, целью которых является приведение атакуемого сервера в состояние неспособности обслуживать настоящих пользователей. Достижение этого возможно двумя вариантами: сервер либо доводится до состояния ошибки программного обеспечения, либо нагрузка на сервер становится непомерной по обрабатывающей способности оборудования сервера, либо по пропускной способности канала связи сервера. В итоге, сервер после успешной атаки или «падает» или «висит» – а посетители/клиенты не получают доступа к ресурсу.
Другими словами, DoS-атака — это атака на вычислительную систему с целью довести её до отказа в обслуживании, то есть создание таких условий, при которых пользователи системы не могут получить доступ к предоставляемым системой ресурсам, либо этот доступ затруднён. Если атака выполняется одновременно с большого числа компьютеров, говорят о DDoS-атаке (от англ. Distributed Denial of Service, распределённая атака типа «отказ в обслуживании»).
DoS-атаки бывают, как уже мы отметили — локальные или удалённые. Атаки локальные — не столь актуальная тема — их выполняют программы, запускающие миллионы процессов, заполоняющие собой всю память и работу процессора, и, разумеется, находящиеся локально. И потому не допустить их деятельности не так и сложно. Иное дело атаки удалённые. О них мы и поговорим подробнее.
Удалённые DoS-атаки подразделяются на два подвида:
- Удалённый контакт с сервером с анализом выявляемых ошибок в работе ПО и последующем их использовании для приведения сервера путем спланированных атак в нерабочее состояние.
- Flood (англ. flood — «наводнение», «переполнение») — направление на атакуемый сервер громадного числа лишённых смысла пакетов (изредка разумных). Флуд может быть направлен на оборудование или на пропускную способность канала. При флуд-атаке, нацеленной на оборудование, производят множественный запуск ресурсоемкого процесса, например какого-либо скрипта, в результате сервер подвисает на его исполнении, игнорируя запросы обычных пользователей. Во втором случае, когда флуд-атака направлена на канал связи, поток запросов забивает его весь и легальные запросы не доходят до сервера.
Если использовать атаку, когда атакующий строго один на одну жертву, то остается действенным только первый тип атак. Потому что в настоящее время ширина каналов весьма и весьма велика и применяются программные приемы анти-DoS атак, когда для одного пользователя ставится запрет на многократное исполнение повторяющихся запросов. Такой атакующий флудер будет подобен комару, нудящему над ухом и не причиняющему никакого вреда. Но когда таких комаров наберется тысяча или же ещё более приличное количество, то они «закусают до смерти» даже очень стойкий сервер. Единственный способ, эффективно этому противостоящий — это система серверов, но это весьма дорого.