Итоги голосования для комментария:
illotum Это скорее профдеформация и усталость от темы, из того же ряда что и попытки все что можно назвать атакой. Кстати, «атаковать протокол» звучит технически правильнее.
definition: Злоумышленник эксплуатирует известные (или найденные им неизвестные) уязвимости протокола себе на пользу.

Протоколы, читай правила взаимодействия, пишут люди. Те самые которые склонны ошибатся. Протоколы проходят очень долгий процес стандартизации/адаптации/выпуска оборудования. Все это ведет к тому что активно используемый протокол имеет ряд, назвем их, непродуманностей. Иногда таких что закрыть их не поломав обратную совместимость невозможно.

Любимый мною на лекциях пример, протокол ARP. Особенности его механизма работы позволяют злоумышленнику представится любой станцией в сети. Та самая MITM проще всего на нем работает: сказать А что я Б, сказать Б что я А, пропускать все без задержек чтобы незаметили. И этот протокол задействован в 99% домашних и офисных сетей.

Другие примеры: почтовый протоколы SMTP все шлет в открытом виде и без сверки адреса отправителя (пиши что угодно), DNS не проверяет от кого узнал имя сайта (DNS poison атака), механизм slow start транспортного протокола TCP очень резко роняет скорость связи при малейших недоставках.

На все это уже есть костыли и скотчи, например целые отдельные фичи на свичах а-ля ARP Guard, поэтому отчасти ты прав, «взломать протокол» я использую для «найти новую уязвимость которая тебе как раз нужна». Но зачем нам еще играть хакеров? :)

UPD. Костыли тоже требуют определенной компетенции. Я гарантирую что в 70-80% домашних сетей ARP guard не настроен ;)
+