Атака сброса TCP , также известная как «поддельные сбросы TCP», «поддельные пакеты сброса TCP» или «атаки сброса TCP», - это способ подделать и разорвать Интернет-соединение путем отправки поддельного пакета сброса TCP. Этот метод взлома может использоваться брандмауэром по доброй воле или использоваться злоумышленником для прерывания интернет-соединений.
Великий брандмауэр Китая и иранские интернет-цензоры, как известно, используют атаки сброса TCP, чтобы мешать и блокировать соединения, в качестве основного метода проведения интернет-цензуры.
Задний план
Интернет, по сути, представляет собой систему для индивидуальных компьютеров для обмена электронными сообщениями или пакетами IP-данных. Эта система включает оборудование для передачи сообщений (например, медные и оптоволоконные кабели) и формализованную систему форматирования сообщений, называемую «протоколами». Основным протоколом, используемым в Интернете, является IP ( Интернет-протокол ), который обычно сочетается с дополнительными протоколами, такими как TCP ( протокол управления передачей [1] ) или UDP ( протокол дейтаграмм пользователя ). TCP / IP - это набор протоколов, используемых для электронной почты и просмотра веб-страниц. Каждый протокол имеет блок информации, называемый заголовком, который находится в начале каждого пакета. Заголовки содержат информацию о том, какой компьютер отправил пакет, какой компьютер должен его получить, размер пакета и т. Д.
TCP используется с IP, когда между двумя компьютерами требуется двустороннее виртуальное соединение. (UDP, с другой стороны, представляет собой IP-протокол без установления соединения.) Программное обеспечение TCP на двух машинах, которые будут взаимодействовать (например, рабочая станция с браузером и веб-сервером) путем обмена потоком пакетов. Использование TCP-соединения дает компьютерам простой способ обмениваться элементами данных, слишком большими для одного пакета, такими как видеоклипы, вложения электронной почты или музыкальные файлы. Хотя некоторые веб-страницы достаточно малы для размещения одного пакета, для удобства они отправляются через TCP-соединения.
Сброс TCP
В потоке пакетов TCP-соединения каждый пакет содержит TCP-заголовок. Каждый из этих заголовков содержит бит, известный как флаг «сброса» (RST). [2] В большинстве пакетов этот бит установлен в 0 и не действует; однако, если этот бит установлен в 1, он указывает принимающему компьютеру, что компьютер должен немедленно прекратить использование TCP-соединения; он не должен отправлять больше пакетов, используя идентификационные номера соединения, вызываемые порты, и отбрасывать любые дальнейшие пакеты, которые он получает с заголовками, указывающими, что они принадлежат этому соединению. Сброс TCP в основном мгновенно уничтожает TCP-соединение.
При использовании по назначению это может быть полезным инструментом. Одно из распространенных приложений - это сценарий, когда компьютер (компьютер A) выходит из строя во время выполнения TCP-соединения. Компьютер на другом конце (компьютер B) будет продолжать отправлять TCP-пакеты, поскольку он не знает, что компьютер A потерпел крах. Когда компьютер A перезагружается, он будет получать пакеты от старого соединения до сбоя. Компьютер A не имеет контекста для этих пакетов и не знает, что с ними делать, поэтому он может отправить сброс TCP на компьютер B. Этот сброс позволяет компьютеру B узнать, что соединение больше не работает. Теперь пользователь компьютера B может попробовать другое соединение или предпринять другие действия.
Формирование сбросов TCP
В приведенном выше сценарии бит сброса TCP был отправлен компьютером, который был одной из конечных точек подключения. Третий компьютер может отслеживать TCP-пакеты в соединении и затем отправлять «поддельный» пакет, содержащий сброс TCP на одну или обе конечные точки. Заголовки в поддельном пакете должны ложно указывать на то, что он пришел от конечной точки, а не от фальсификатора. Эта информация включает IP-адреса конечных точек и номера портов. Каждое поле в заголовках IP и TCP должно иметь убедительное поддельное значение, чтобы фальшивый сброс заставил конечную точку закрыть TCP-соединение. Правильно отформатированные поддельные сбросы TCP могут быть очень эффективным способом разорвать любое TCP-соединение, которое может отслеживать фальсификатор.
Законное использование инъекции сброса TCP
Одним из очевидных применений поддельного сброса TCP является злонамеренное прерывание TCP-соединений без согласия двух сторон, владеющих конечными точками. Однако также были разработаны системы сетевой безопасности , использующие поддельные сбросы TCP. В 1995 году был продемонстрирован прототип программного пакета Buster, который отправлял поддельные сбросы на любое TCP-соединение, которое использовало номера портов из короткого списка. Добровольцы Linux предложили сделать нечто подобное с брандмауэрами Linux в 2000 году [2], а Snort с открытым исходным кодом использовал сброс TCP для прерывания подозрительных соединений еще в 2003 году [3].
В RFC3360 IETF считал сброс TCP брандмауэрами, балансировщиками нагрузки и веб-серверами вредными. [4]
Comcast Controversy
К концу 2007 года Comcast начал использовать поддельные сбросы TCP, чтобы нанести вред одноранговой сети и некоторым приложениям для групповой работы на компьютерах своих клиентов. [5] Это вызвало споры, за которыми последовало создание группы сетевого нейтралитета (NNSquad) Лорен Вайнштейн , Винт Серф , Дэвид Фарбер , Крейг Ньюмарк и другие известные основатели и поборники открытости в Интернете. [6] В 2008 году NNSquad выпустила NNSquad Network Measurement Agent, программу для Windows, написанную Джоном Бартасом , которая могла обнаруживать поддельные сбросы TCP Comcast и отличать их от реальных сбросов, генерируемых конечной точкой. Технология обнаружения сбросов была разработана на основе более раннего программного обеспечения Buster с открытым исходным кодом, которое использовало поддельные сбросы для блокировки вредоносных программ и рекламы на веб-страницах.
В январе 2008 года FCC объявила, что расследует использование Comcast поддельных сбросов, а 21 августа 2008 года приказала Comcast прекратить эту практику. [7]
Профилактика
Шифруя соединения с помощью VPN , злоумышленник должен провести атаку сброса TCP на все зашифрованные соединения, вызывая побочный ущерб . [ необходима цитата ]
Смотрите также
Рекомендации
- ^ Спецификация TCP
- ^ а б Май 2000 Архив обсуждений Linux
- ^ Архив обсуждений SNORT: сброс TCP
- ^ Несоответствующие сбросы TCP считаются вредными
- ^ Associated Press, Comcast блокирует некоторый интернет-трафик
- ^ Домашняя страница NNSquad
- ^ Комиссия приказывает Comcast положить конец дискриминационной практике управления сетью