Уязвимость в TCP (transmission control protocol)

21/04/2004 14:52

Во вторник, 20 апреля 2004, NISCC (National Infrastructure Security Co-ordination Centre) распространил информацию об обнаружении уязвимости в протоколе TCP - одном из основных протоколов передачи данных в интернет. Уязвимости, описанной в сообщении, подвержены реализации TCP протокола отвечающие основной спецификации (RFC 793) и ее расширению "TCP Extensions for High Performance" (RFC 1323). Влияние обнаруженной уязвимисти зависит от производителя оборудования и приложения, и в некоторых случаях может быть критичной. Используя эту уязвимость, атакующий может создать условия для атаки типа "отказ в обслуживании" на установленное TCP соединение, в результате данное соединение будет преждевременно закрыто. Прерывание установленного соединения осуществляется посылкой атакующим TCP пакета с выставленным RST (Reset) флагом и "правильными" TCP адресами и портами источника и приемника. Считалось что такая атака практически не возможна на практике, т.к. в TCP пакетах типа RST или SYN присутствует 32-битный последовательный номер (sequence number) вероятность подобрать который 1/2^32. Однако, Paul A. Watson, исследователь данной уязвимости, утверждает, что в современных реализациях протокола требуется гораздо меньше попыток чтобы подобрать нужное число, что делает эту уязвимость легко реализуемой. Уязвимость, теоретически, может использоваться с целью вывода из строя определенных узлов Всемирной сети путем организации на них DoS-атаки. Кроме того, возможно повреждение данных, отключение маршрутизаторов и т.д. Причем ошибка в ТСР может быть задействована одновременно с дырой в распространенном протоколе маршрутизации BGP (Border Gateway Protocol). В этом случае отрезанными от WWW могут оказаться целые сегменты Сети. Как сообщается, для реализации атаки злоумышленникам нужно отправить на нужный IP-адрес составленные определенным образом TCP-пакеты с установленными флагами RST (Reset) или SYN (Synchronise).
NISCC Vulnerability Advisory 236929