|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Alex Semenyaka 2:461/640.640 26 Aug 2005 12:32:10 To : Alexey G. Misyurenko Subject : Passive FTP --------------------------------------------------------------------------------
26 Aug 05 01:44, you wrote to Slawa Olhovchenkov:
AM> Я не спорю, что он есть, я его себе слабо представляю,
AM> ведь он долженть быть довольно стойким.
Положим, мы говорим про SYN изнутри (это проще). У него есть инварианты,
например, пара сокетов. Берём эти 12 байтов, прибавляем к ним некий секрет, и
вычисляем сильный криптографичекий хеш. От этого хеша оставляем самые сильные
:) 32 бита.
Результат мы помещаем в опцию TCP (выбросив, при необходимости, какие-то другие
опции - соединение происходит в условиях недостатока ресурсов, не до жиру).
Отсылаем. При этом наш секрет мы меняем регулярно, с использованием
/dev/random. Старые секреты храним 2MSL времени, разумеется (тут нужен
компромисс между частой сменой секретов и ненакоплением большого числа старых
секретов, и то, и другое нужно для секьюрности, но эти требования друг другу,
понятно, противоречат).
Пришедший SYN+ACK смотрим на наличие опции. Если таковая есть, то проводим те
же самые вычисления с хранимыми секретами и инвариантами из пакета. Если есть
совпадение со значением опции - то решаем, что это ответ на пропущенный нами
SYN, который мы не запоминали. Запоминаем такое соединение.
Есть, например, вариант, когда используется не опция, а ISN - но тогда
желательно хранить таблицу соответствий исходных ISN и подменённых (можно и не
хранить, конечно, но это чуть менее секьюрно; хотя, насколько я знаю, PIX
использует именно этот вариант).
Иногда в вычисляемый номер включается (в полуоткрытом виде) MSS. Тогда
криптографически сильная часть становится короче (23-30 битов, в зависимости от
реализации).
Hу и так далее, варианты разные есть.
Alex
--- IMHO в последней инстанции
* Origin: ...можжевеловых... (2:461/640.640)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/3929430ee241.html, оценка из 5, голосов 10
|