Перейти к содержимому


Новый вид DDoS-атаки: найден баг протокола ТСР в Windows


  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 Гость_shvarzz_*

Гость_shvarzz_*
  • Gosti
  • 0

Отправлено 05 Август 2016 - 20:15

Итак, в процессе отладки стека протоколов для сетей MANET, где тестировалось модифицированное ТСР-соединение радиосети с компьютером через Ethernet-шлюз, было случайно выявлено, что путем некорректного закрытия соединения клиентом на стороне сервера возможно удерживание ресурсов сокета бесконечно долго!

Началось всё с этого:
30655349b54283c8a356a8c4fe5626d6.jpg

На скрин-шоте представлено ТСР-соединение между клиентом 192.168.0.108 (Ethernet шлюз) и сервером 192.168.0.187 (OS Windows Vista).

Как видно, при неправильном указании номера последовательности в пакете FIN ACK клиента, Windows сервер не закрыл сокет и не освободил ресурсы. Попытка соединиться еще раз с того же порта клиента (source port 40400) на порт сервера (destination port 31000) оказалась неуспешной. Сервер упорно требовал ACK в ответ на новый SYN от клиента. 

Сначала, я решил что это просто какой-то баг на стороне стека MANET (помимо, конечно же, неправильного seqno в FIN ACK), но проанализировав поток по номерам sequence / acknowledgement и повторив этот же эксперимент для других портов оказалось, что таки да, Windows… 

Пример другого порта сервера (30000):

4559f5bc1c380336d91823e961b51f07.jpg

Потом, перегрузив комп и повторили все еще раз. На этот раз соединение закрывал клиент, а сервер слушал порт 32000.

41f518cb9fe8c11d726332c7f023b8d0.jpg

Результат тот же.

Потом посмотрели командой netstat состояние сокетов и ужаснулись…

7b4524fae4b9f58cdaae8e53d585fa72.jpg
Сервер держит открытым сокеты, которых нет в природе уже много часов!!!
И скорее всего, только принудительное убийство процессов или перезагрузка, спасет положение, т.к. очевидно в состоянии FIN_WAIT_2 у Windows нет таймера для сокета и он не переходит в состояние TIME_WAIT для очистки ресурсов.






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных