Кратко

  • RFC 3514 опубликован 1 апреля 2003 года как Informational-документ Independent Stream; это сатира, а не стандарт Интернета и не свидетельство внедрённой защиты.
  • Evil bit позволяет отправителю выбрать заявление, по которому действует firewall. Ложный ноль пропускает атаку, ложная единица способна устроить отказ в обслуживании нормальному трафику.

В замысле был обещан идеальный интерфейс безопасности. Вместо трудного различения атаки и просто необычного пакета фильтр читает один бит. Но записывает этот бит не независимый наблюдатель, а тот, кого фильтр должен оценить. RFC 3514 разворачивает эту ошибку через фрагментацию, ретрансляцию, NAT, прокси, IDS и обязательные правила межсетевого экрана.

Сначала важен издательский статус. Документ Steven M. Bellovin “The Security Flag in the IPv4 Header” датирован 1 апреля 2003 года. Он имеет категорию Informational и прямо сообщает, что не определяет никакого Internet Standard. Datatracker относит его к Independent Stream. Предметный каталог RFC Editor описывает humor как первоапрельскую серию и другие юмористические, поэтические или пародийные документы. RFC 2555 также фиксирует эту сторону истории серии.

Контекст нужен из-за языка RFC 2119. Текст уверенно использует MUST, SHOULD и MUST NOT, но прописное слово не доказывает, что реальный атакующий принял обязательство. Нормативный тон и создаёт сатиру: формальная команда требует от противника добровольно сообщать невыгодную ему правду, не имея механизма принуждения.

Под флаг выбран старший бит поля Fragment Offset заголовка IPv4. Ноль означает отсутствие злого намерения: узлы должны считать пакет безвредным и не защищаться. Единица означает злое намерение, и защищённым системам следует реагировать. Значение поля наблюдаемо точно. Правдивость приписанного ему смысла из этого не следует.

Затем появляется центральное требование: программы атаки MUST устанавливать бит. Объект проверки сам вводит результат проверки. Захват трафика может доказать, что в конкретной точке был ноль. Он не доказывает честность отправителя, сохранность значения на пути, личность последнего редактора или отсутствие последующего ущерба.

Документ переносит самоописание в ситуации, где обычно нужны контекст и атрибуция. Приложения, формирующие пакеты вручную, обязаны выдавать себя. Ретрансляторы, отмывающие атакующее соединение, должны сохранять намерение. Сканер портов должен знать, занимается ли он исследованием или враждебной разведкой. Внутри firewall атакующих объявляют невозможными по аксиоме, поэтому внутренним хостам нельзя ставить флаг.

Фрагментация показывает зависимость от точки наблюдения. Опасный сам по себе фрагмент должен быть отмечен. Если промежуточный маршрутизатор разбивает отмеченный пакет на части, не опасные по отдельности, ему предписано очистить бит и вернуть его после сборки. Два честных захвата одной операции могут показать противоположные значения. Нужны место наблюдения, цепочка преобразований и определение классифицируемой единицы.

NAT и прозрачный proxy добавляют возможных авторов. Traditional NAT изменяет пакет, и RFC 3514 сатирически поручает ему менять маркировку при злонамеренном преобразовании. Proxy, обнаруживший вредное содержимое, тоже должен поставить бит. Поле уже не выражает только намерение endpoint; оно может выражать видимость, модель и политику промежуточного устройства.

Правило firewall замыкает круг. Пакет с единицей он MUST отбросить, пакет с нулём MUST NOT отбрасывать. Рациональный атакующий выбирает ноль. Тот, кто хочет остановить законный трафик, стремится навязать единицу. Если экран проверяет идентичность, поведение и контекст, именно независимые данные обосновывают решение, а бит остаётся лишь одним признаком.

Системам обнаружения вторжений разрешена вероятностная коррекция false positive и false negative. Вместе с ней возвращаются модель, уверенность, порог, окно наблюдения и несимметричная цена ошибки. Механизм, обещавший убрать классификацию, в итоге требует классификатор, способный не поверить главному входу.

Маршрутизаторам без функции безопасности предписано игнорировать бит. Передача тем самым отделена от суждения. Наблюдение поля не удостоверяет его автора. Атрибуция не даёт разрешения. Блокировка не доказывает ущерб, который якобы произошёл бы без неё. Даже в одном appliance это разные квитанции.

Раздел Security Considerations прямо называет оба отказа. Корректная работа критически зависит от правильного значения. Ложный ноль в опасном пакете лишает защиту работы. Ложная единица в нормальном пакете создаёт denial of service. Независимой истины в схеме нет: непроверенное утверждение подключено непосредственно к принудительному действию.

Errata дают редакционный контекст. В одной verifier note даже есть шутка, что сообщение следовало подать первого апреля. Исправления не превращают текст в стандарт и не подтверждают реализацию, распространение или объём маркированного трафика.

В сентябре 2026 года draft-traviss-evil-byte-00 продолжил сатиру. Вместо самодекларации отправителя он предлагает целый байт, вычисляемый «доверенным посредником моральной инспекции». Datatracker ясно называет текст Internet-Draft: это work in progress с датой истечения, который может измениться или исчезнуть. Его рассказ об опыте эксплуатации принадлежит шутке, а не измерительному исследованию. Он показывает культурное продолжение идеи, не действующий механизм.

Практический вывод состоит в разложении доказательств. Значение бита подтверждает только значение в указанной точке. Происхождение и целостность должны установить, кто создал или изменил пакет. Независимая телеметрия описывает поведение. Политика решает допустимость. Enforcement оставляет запись действия. Наблюдение результата устанавливает доставку, блокировку или ущерб.

В терминах слоёв реальности Heng Lu метка живёт в символическом слое, а намерение, полномочие и последствие — в операционном и физическом. Минимальная спецификация координирует честных участников. Она не делает противника правдивым одним словом MUST. Пакет мог назвать себя безвредным. Межсетевой экран не получил от этого доказательства.

Sources