Re: подделка пакетов
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 10.01.18 19:25
Оценка: +1
Здравствуйте, niXman, Вы писали:

X>такие пакеты я ловил всего два раза. это очень редко, потому что этот код работает уже около полугода.

X>еще странность в том, что у пира приславшего этот пакет невозможно получить IP адрес, что похоже на SYN-flood атаку.

Ты что-то глобально путаешь. При SYN flood вообще соединение не устанавливается. А если прошёл TCP handshake (TCP ведь?), то адрес другой стороны известен. Даже если его эмулирует ближайший раутер.

Невозможно получить IP — может быть следствием того, что отправитель прислал RST. Тогда сам виноват, что не получил адрес ещё в accept(), а ждал возможности сделать getpeername() когда-нибудь потом.

А вот атака с подделкой sequence numbers — тут вполне возможна. Тогда ты видишь её состоявшийся вариант. Но скорее таки локальный взлом клиента.

X>по поводу "подделки" пакетов перед шифрованием, я думаю, это можно сделать путем подмены msvcrt`шной функции memcpy(). но как с этим бороться? написать свою, хоть и не самую быструю реализацию этой функции(с инлайном етц..)?


И как ты собрался лечить этим удалённого клиента?

X>глобальный вопрос: как защититься?


Например, message sequence numbers внутри потока (и тогда они тоже шифруются). После этого успешно расшифровать поддельный TCP уже не сможешь; а если смог — то ремотная программа взломана и вопрос именно в этом.
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.