Атака типа «отказ в обслуживании»

Атака типа «отказ в обслуживании»

К сожалению, функционирование только что описанного сервера вызывает проблемы. Посмотрим, что произойдет, если некий клиент-злоумышленник соединится с сервером, отправит 1 байт данных (отличный от разделителя строк) и войдет в состояние ожидания. Сервер вызовет функцию readline, которая прочитает одиночный байт данных от клиента и заблокируется в следующем вызове функции read, ожидая следующих данных от клиента. Сервер блокируется (вернее, «подвешивается») этим клиентом и не может предоставить обслуживание никаким другим клиентам (ни новым клиентским соединениям, ни данным существующих клиентов), пока упомянутый клиент-злоумышленник не отправит символ перевода строки или не завершит свой процесс.

Дело в том, что обрабатывая множество клиентов, сервер никогда не должен блокироваться в вызове функции, относящейся к одному клиенту. В противном можно «подвесить» сервер, что приведет к отказу в обслуживании для всех остальных клиентов. Это называется атакой типа «отказ в обслуживании» (DoS attack — Denial of Service). Такая атака воздействует на сервер, делая невозможным обслуживание нормальных клиентов. Обезопасить себя от подобных атак позволяют следующие решения: использовать неблокируемый ввод-вывод (см. главу 16), предоставлять каждому клиенту обслуживание отдельным потоком (например, для каждого клиента порождать процесс или поток) или установить тайм-аут для ввода-вывода (см. раздел 14.2).

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Отказ программы устанавливаться на компьютер

Из книги Сбои и ошибки ПК. Лечим компьютер сами. Начали! автора Ташков Петр

Отказ программы устанавливаться на компьютер Операционная система Windows Vista обладает очень мощными механизмами защиты, которые позволяют обезопасить ее работу от вмешательства сторонних программ. Как следствие, система может заблокировать установку приложения. В этом


45. Отказ от универсальности

Из книги Программирование автора Козлова Ирина Сергеевна

45. Отказ от универсальности Для операции умножения и деления необходимы значительные усилия от почти любого центрального процессора, так как они должны быть осуществлены (аппаратно или программно) через сдвиги и сложения или сдвиги и вычитания соответственно.


Атаки типа «отказ в обслуживании» (DoS) и «распределенный отказ в обслуживании» (DDoS)

Из книги Защити свой компьютер на 100% от вирусов и хакеров автора Бойцев Олег Михайлович

Атаки типа «отказ в обслуживании» (DoS) и «распределенный отказ в обслуживании» (DDoS) На сегодняшний день DDoS-атаки являются одними из самых опасных с точки зрения последствий. Посудите сами: крупный обслуживающий банковский сервер, который на некоторое время (пусть даже на


15.6. Отказ от рекламы. Баннерный фильтр

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

15.6. Отказ от рекламы. Баннерный фильтр Вам не хочется тратить лишнее время на загрузку рекламных баннеров? Мне тоже. К счастью, SQUID позволяет достаточно просто решить эту проблему. Просто вставьте следующие строки в свой файл /usr/local /etc/squid/squid.conf:acl good_url url_regex


12.1. Отказ от оптимизации

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

12.1. Отказ от оптимизации Наиболее мощная методика оптимизации, входящая в инструментарий любого программиста, заключается в том, чтобы ничего не делать.Этот весьма выдержанный в духе Дзэн совет верен по нескольким причинам. Одной из них является экспоненциальный эффект


12.1. Отказ от оптимизации

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

12.1. Отказ от оптимизации Наиболее мощная методика оптимизации, входящая в инструментарий любого программиста, заключается в том, чтобы ничего не делать.Этот весьма выдержанный в духе Дзэн совет верен по нескольким причинам. Одной из них является экспоненциальный эффект


Отказ от ответственности

Из книги Scrum и XP: заметки с передовой автора Книберг Хенрик

Отказ от ответственности Эта книга не претендует на звание «единственно правильного» учебного пособия по Scrum! Она всего лишь предлагает вам пример удачного опыта, полученного на протяжении года в результате постоянной оптимизации процесса. Кстати, у вас запросто может


Дмитрий Шабанов: Отказ от экспансии?

Из книги Компьютерра PDA N154 (07.01.2012-13.01.2012) автора Журнал «Компьютерра»

Дмитрий Шабанов: Отказ от экспансии? Автор: Дмитрий ШабановОпубликовано 11 января 2012 годаЖизнь - это экспансия. - А.Д. СахаровВот и прошли новогодне-рождественские праздники. К счастью, в них нашлось даже время для чтения. Я вот читал и специальную литературу, и


Письмо-отказ

Из книги Деловая e-mail переписка. Пять правил успеха автора Воротынцева Тамара


18.7. Отказ от рекламы. Баннерный фильтр

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

18.7. Отказ от рекламы. Баннерный фильтр Вам не хочется тратить лишнее время на загрузку рекламных баннеров? Мне тоже. К счастью, SQUID позволяет достаточно просто решить эту проблему. Просто вставьте следующие строки в свой файл squid.conf:acl good_url url_regex "/usr/local/etc/sguid/acl/good_url"acl bad_urlpath


23.3.3. Отказ видеокарты

Из книги Ubuntu 10. Краткое руководство пользователя автора Колисниченко Д. Н.

23.3.3. Отказ видеокарты При отказе видеокарты звуковой сигнал BIOS (фирмы AWARD) будет таким — один длинный и два коротких. Если у вас BIOS другой фирмы, то самое время прочитать о его звуковых сигналах в руководстве к материнской плате. Полный отказ видеокарты встречается редко и


23.3.4. Отказ материнской платы и процессора

Из книги Linux глазами хакера автора Флёнов Михаил Евгеньевич

23.3.4. Отказ материнской платы и процессора Обычно отказ одного из этих компонентов влечет повреждение второго, но бывают исключения, поэтому нужно отнести компьютер в мастерскую для диагностики. Конечно, если у вас есть подобная материнская плата и такой же процессор,


8.4.7. Отказ от обслуживания

Из книги iOS. Приемы программирования автора Нахавандипур Вандад

8.4.7. Отказ от обслуживания Почтовые серверы довольно часто подвергаются атакам типа DoS, потому что они должны принимать соединения для обслуживаемых почтовых ящиков от любых пользователей. Таким образом, подключение на 25 и 110 порты, чаще всего, общедоступны.Для защиты


14.8. Отказ от многозадачности

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

14.8. Отказ от многозадачности Постановка задачи Требуется исключить использование в вашем приложении


Атака типа «отказ в обслуживании»

Из книги Идеальный программист. Как стать профессионалом разработки ПО автора Мартин Роберт С.

Атака типа «отказ в обслуживании» К сожалению, функционирование только что описанного сервера вызывает проблемы. Посмотрим, что произойдет, если некий клиент-злоумышленник соединится с сервером, отправит 1 байт данных (отличный от разделителя строк) и войдет в состояние


Отказ от участия

Из книги автора

Отказ от участия Вы не обязаны посещать каждую встречу, на которую вас приглашают. Более того, посещать слишком много встреч непрофессионально. Время нужно расходовать разумно. Будьте очень осмотрительны с выбором встреч, которые нужно посетить или от которых нужно