📊 Червь Морриса — каталог первородных грехов, которые до сих пор живут в продакшене Утром 3 ноября 1988 года администраторы MIT, Стэнфорда и Пентагона обнаружили, что их UNIX-серверы превратились в тыкву: load average зашкаливал, процессы `sh` плодились сотнями, а почтовые шлюзы захлебнулись. 23-летний аспирант Роберт Моррис запустил программу из 99 строк, чтобы тихо измерить размеры ARPANET — а положил 6 000 узлов, 10% тогдашнего интернета. Причина не в злом умысле, а в сборке трёх уязвимостей, которые по отдельности казались безобидными. Sendmail с режимом DEBUG, включённым по умолчанию, позволял передать тело письма сразу в `/bin/sh`. Демон fingerd использовал `gets()` без проверки границ, и 536-байтовый пейлоад подменял адрес возврата, отдавая root-шелл. Там, где не срабатывали бинарники, в ход шёл словарь из 432 паролей и «доверенные» файлы `.rhosts` — скомпрометировав одну учётку студента с паролем `qwerty`, червь бесшумно растекался по всему кампусу. Фатальной стала попытка обмануть будущую «вакцинацию». Даже если машина уже была заражена, с вероятностью 1 к 7 (≈14%) запускалась новая копия. Моррис не учёл плотности связей в университетских сетях — на один узел обрушивалась лавина заражений, и каждый седьмой раз процесс оставался, вызывая цепную реакцию отказа в обслуживании. Единственным способом остановить эпидемию стал физический разрыв сети: админы выдёргивали Ethernet-кабели из маршрутизаторов и координировались по телефону, пока группы из Беркли и MIT разбирали код. • Дата: 2–3 ноября 1988, масштаб: ~6 000 серверов Sun и VAX. • Векторы: sendmail DEBUG (CVE отсутствует, бэкдор уровня протокола), переполнение буфера в fingerd через `gets()`, подбор 432 паролей + `.rhosts`. • Ошибка: правило 1 к 7 превратило тихий зонд в глобальный fork-bomb. Спустя 38 лет мы всё ещё наступаем на те же грабли: расшаривание привилегированных сервисов по умолчанию, небезопасные API в духе `gets()` и доверенные отношения между узлами. Современные облачные среды и Kubernetes-кластеры страдают ровно от той же беды — стоит атакующему попасть в pod, и соседние сервисы отдаются без боя благодаря избыточным правам и отсутствию сегментации. Единственное различие: сегодня мы не выдёргиваем кабели, а включаем EDR и надеемся, что сработает. Хабр Infosec #MorrisWorm #BufferOverflow #Sendmail #ИсторияИБ #1988