В Fedora предложили перевести протокол SCP в разряд устаревших

6 ноября 2020 года

Якуб Елень (Jakub Jelen), инженер по обеспечению безопасности из компании Red Hat, предложил перевести протокол SCP в разряд устаревших. SCP концептуально близок к протоколу RCP и наследует фундаментальные архитектурные проблемы, которые являются источником потенциальных уязвимостей.

В частности, в SCP и RCP решение о том, какие файлы и каталоги отправить клиенту принимает сервер, а клиент следует предписанию сервера и лишь проверяет корректность возвращённых имён объектов. При подключении к серверу, подконтрольному злоумышленнику, сервер может выдать другие файлы, что уже ни раз приводило к выявлению уязвимостей. Например, до недавних пор клиент лишь проверял соблюдение текущего каталога, не не учитывал, что сервер мог выдать файл с другим именем и перезаписать файлы, которые не были запрошены (например, вместо запрошенного "test.txt" сервер может передать файл с именем ".bashrc" и он будет записан клиентом).

Другой проблемой протокола SCP является особенность обработки аргументов. При копировании файлов на внешний сервер путь к файлу добавляется в конец локальной команды scp, например при выполнении команды "scp /sourcefile remoteserver:'`touch /tmp/exploit.sh`/targetfile'" на сервере будет создан файл /tmp/exploit.sh, поэтому важно использовать корректное экранирование символов в scp. При рекурсивной передаче содержимого каталогов (опция "-r") в файловых системах, допускающих использование символа '`' в именах файлов, атакующий может создать создать файл с апострофами и организовать выполнение своего кода. В OpenSSH указанная проблема остаётся неисправленной, так как её проблематично устранить без нарушения обратной совместимости и некоторые пользователи используют запуск команд для проверки наличия каталога перед копированием.

Прошлые обсуждения показали, что scp в большинстве случаев применяется для копирования файлов с одной системы на другую. При этом многие используют scp вместо sftp из-за более простого и очевидного интерфейса для копирования файлов или просто в силу привычки. Якуб предлагает задействовать по умолчанию переделанную реализацию утилиты scp, переведённую на использование протокола SFTP (для каких-то особых случаев в утилите предусмотрена опция "-M scp" для отката на протокол SCP), или добавить в утилиту sftp режим совместимости, позволяющий использовать sftp в качестве прозрачной замены scp.

Из ограничений предложенного подхода упоминается невозможность обмена данными с серверами, не запускающими подсистему sftp, и отсутствие режима передачи между двумя внешними хостами с транзитом через локальный хост (режим "-3"). Некоторые пользователи также отмечают небольшое отставание SFTP от SCP по пропускной способности, которое становится более заметным на плохих соединениях с большими задержками.

Для тестирования в репозиторий copr уже помещён альтернативный пакет c openssh, в котором применён патч с реализацией утилиты scp поверх протокола SFTP.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «В Fedora предложили перевести протокол SCP в разряд устаревших», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.