29.04.2002

TCP-спуфинг: пошлая сказка.

Я уже устал читать как две капли воды похожие друг на друга статьи про TCP-спуфинг. В одном только Хакере за 2002 год было уже две таких статьи. Господа авторы уже четыре года бездумно передирают одну и ту же статью, не замечая одного грустного факта. Хочу раскрыть им глаза. Читать с выражением: Лю-у-у-уди! Спуфинга не бывааааает! Его уже давно не бывает...

buggzy

Я уже устал читать как две капли воды похожие друг на друга статьи про 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-спуфинг.

или введите имя

CAPTCHA
1
27-04-2007 17:22:58
Это всё здорово, но относится, разумеется только к протоколу TCP, не к UDP
0 |
br0x
21-07-2011 14:15:55
И кроме того, спуфинг - не обязательно атака. А, например, вполне безобидный workaround.
0 |