Почему должен ECN на Вашей машине быть отключенным?

Если у Вас есть корневая оболочка на экранной сессии (отсоединился или нет, защищенный паролем или не), и Ваш screen исполняемый файл не является setxid, затем взломщик, который получает Ваши полномочия, может выполнить команды в той оболочке. Если ничто иное, они могут сделать это ptracing экранный процесс.

Если экран является setuid или setgid, и сессия отсоединяется и защищена паролем, то в принципе это берет экранный пароль к командам выполнения в той оболочке. Если этот принцип содержит, кто-то, кто только пошел на компромисс, Ваша учетная запись должна будет поместить троянца на месте и ожидать Вас для ввода пароля. Однако поверхность атаки (т.е. количество мест, где вещи могут пойти не так, как надо из-за ошибки или неверной конфигурации) является неприятно большой. В дополнение к средствам защиты базовой системы Вы доверчивы:

  • экран для разбираний в проверке пароля.
  • экран для предотвращения доступа к сессии другими средствами.
  • экранируйте для использования механизмов управления доступом ОС правильно (например, полномочия на каналах).
  • ядро для выполнения ptrace проверок безопасности правильно (это - частый источник уязвимостей).
  • рабочая оболочка, чтобы не сделать что-либо глупое.
  • некоторая другая функция, чтобы не укусить Вас.

“Некоторая другая функция, чтобы не укусить Вас”: да, это неопределенно. Но это всегда - беспокойство в безопасности. Вы могли бы испытать желание отклонить это как просто принятие желаемого за действительное, но Вы действительно думали обо всем? Например, …

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

printf '\ekfoo\017bar\e\\' >/dev/pts/33
printf '\e[21t' >/dev/pts/33

Это вставляет ␛]lfoobar␛l во входном потоке оболочки. \ek управляющая последовательность, которая позволяет приложению (или что-либо, что может записать в оконечное устройство), устанавливает заголовок окна (см. раздел “Naming windows” в экранном руководстве), и \e[21t заставляет терминал сообщить о своем заголовке относительно стандартного входа приложения (экран не документирует эту последовательность, но действительно реализует ее; можно найти его под CSI Ps ; Ps ; Ps ; t в xterm списке управляющих последовательностей. На самом деле, по крайней мере, под экраном 4.0.3, все управляющие символы разделяются из заголовка, о котором сообщают, таким образом, оболочка читает lfoobar (принятие ␛] не связывается с командой редактирования), и никакая новая строка. Таким образом, взломщик не может на самом деле выполнить команду тот путь, но может наполнить команду как chmod u+s /bin/sh сопровождаемый большим количеством пробелов и вероятно выглядящей подсказки.

Экран реализует несколько других подобных опасных управляющих последовательностей, я не знаю, какова их потенциальность для уязвимостей. Но надо надеяться к настоящему времени Вы видите, что защита, предлагаемая экранными паролями сессии, не является настолько большой. Специализированные средства обеспечения безопасности, такие как sudo, намного менее вероятно, будут иметь уязвимости.

5
13.09.2011, 19:45
1 ответ

Раньше было много поврежденных маршрутизаторов там, которые отбросят любые пакеты с набором битов ECN. Я не забываю пробовать его и испытывать это лично. Этот сайт дает Вам вкус того, как вещи раньше были, особенно "8% недостижимого Интернета!" ссылка. Это имеет примерно тот же год изготовления вина как статья, которую Вы связали; как Mat указал, статья описывает Linux 2.4, и 2.6 был выпущен в 2003...

Даже сейчас, несколько лет спустя, я не был бы слишком удивлен услышать о поврежденных маршрутизаторах все еще там, учитывая, что ECN все еще поставлется отключенный на основных платформах (см. Википедию). Таким образом, Вы могли включить ECN, забудьте об этом полностью, и позже не мочь посетить некоторый сайт, не зная почему.

6
27.01.2020, 20:39

Теги

Похожие вопросы