Я уже устал читать как две капли воды похожие друг на друга статьи про TCP-спуфинг. В одном только Хакере за 2002 год было уже две таких статьи. Господа авторы уже четыре года бездумно передирают одну и ту же статью, не замечая одного грустного факта. Хочу раскрыть им глаза. Читать с выражением: Лю-у-у-уди! Спуфинга не бывааааает! Его уже давно не бывает...
Критерием возможности спуфинга является алгоритм выбора сервером ISS. Выделяются 5 классов алгоритмов:
1. C (Constant). ISS не зависит от времени или изменяется очень медленно.
2. xK (например, 64K). ISS увеличивается на x при каждом подключении.
3. TD (Trivial Time Depency). ISS - линейная функция от времени
4. RI (Random Positive Increments). ISS - нелинейная монотонная функция от времени
5. TR (Trully Random). ISS - немонотонная функция.
Предсказание ISS возможно только в случае, если алгоритм генерации ISS принадлежит к первым трем классам.
Пятый класс - "действительно случайные" ISS, и о предсказании не может быть и речи. Четвертый, хотя и не полностью случаен (RFC рекомендует определенную зависимость от времени, и это правило выполняется), но реальная атака ничем не проще, т.к. обычно (например, в linux) при генерации ISS значение таймера перемешивается с адресом и портом клиента и защищается криптографических хешем (в linux - MD4).
Теперь дело - за списком OS, алгоритм генерации которых принадлежит ко второму или третьему классу (первый класс используется только в несерьезном
оборудовании типа серверов печати или хабов). Вот список наиболее распространенных OS с указанием версии и класса алгоритма.
Class 64K
NetBSD 1.0 - 1.2
FreeBSD 2.1.0 - 2.1.5
Solaris 2.3 - 2.4
Class TD
NT 4 SP1-SP4
Linux 1.0.9
Class RI
FreeBSD 2.2.1 - 4.3
OpenBSD 2.1 - 2.8
NetBSD 1.3 - 1.5
NT 4 SP5-SP6
Linux 1.2.8 - 1.2.13
System V
Solaris 2.5 - 2.7, 8, 9
Class TR
FreeBSD 4.3 - 5.0
OpenBSD 2.9 - 3.0
Как мы видим, Linux избавился от TD уже во второй версии, и случилось это в 94-ом году. NT 4 перестал быть уязвимым
для этой атаки после выхода SP5, в мае 1999 года. NetBSD освободился от этой напасти в январе 1998 с выходом версии 1.3 FreeBSD - в ноябре 98го. Solaris - в том же году с выходом 2.5.
Таким образом, прошло уже 4 года с тех пор, как все операционные системы перестали быть уязвимыми для TCP-спуфинга. Я не понимаю, почему господа околокомпьютерные журналисты ТАКИЕ ТОРМОЗА, что до сих пор этого не заметили, и продолжают кормить народ
пошлой сказкой про TCP-спуфинг.