В популярной утилите для Linux и Windows 36 лет «живет» опасная уязвимость

Безопасность Администратору Стратегия безопасности
мобильная версия
, Текст: Дмитрий Степанов 4265
Реализации утилиты SCP в OpenSSH, PuTTY и WinSCP содержат ряд уязвимостей, которые позволяют удаленному злоумышленнику незаметно манипулировать пользовательскими файлами.

36-летний баг

Все реализации протокола SCP (Secure Copy Protocol – «протокол безопасного копирования»), выпущенные с 1983 г. содержат четыре уязвимости, которые позволяют вредоносному SCP-серверу внести несанкционированные изменения на стороне клиента и скрыть следы своей активности от глаз пользователя.

SCP представляет собой протокол копирования файлов между узлами сети в зашифрованном виде, использующий в качестве транспорта SSH (Secure Shell – «безопасная оболочка»). Одноименная утилита, содержащая реализацию этого протокола, часто входит в пакет OpenSSH для удаленного управления компьютерами, доступный пользователям UNIX-подобных операционных систем, в том числе GNU/Linux и семейства BSD, «из коробки». Кроме того, передача файлов в популярных утилитах Putty и WinSCP, поддерживающих Windows, также по умолчанию осуществляется при помощи SCP.

Уязвимости обнаружил специалист финской компании F-Secure Харри Синтонен (Harry Sintonen) в августе 2018 г. Благодаря одной из них, которая получила идентификатор CVE-2019-6111, злоумышленник может перезаписать файлы в целевом каталоге на машине клиента. CVE-2018-20685 разрешает удаленному серверу изменить права доступа к целевому каталогу на клиентском компьютере. CVE-2019-6109 и CVE-2019-6110 позволяют злоумышленнику видоизменять информацию, направляемую системой на клиентский терминал для сокрытия данных о загрузке файлов, которая не была санкционирована пользователем.

Четыре уязвимости в SCP оставались незамеченными с 1983 года

Исследователь безопасности советует установить все самые свежие патчи, доступные для перечисленных программ. Исправление для OpenSSH, например, можно найти на сайте Синтонена. В случае невозможности применения патчей рекомендуется вместо SCP использовать утилиту SFTP (Secure FTP – «безопасный протокол передачи файлов»), которая лишена описанных недостатков.

На момент выхода материала уязвимости остаются неустраненными в известных дистрибутивах GNU/Linux, таких как Debian, Red Hat Enterprise Linux, Ubuntu и других.

«Уязвимости-долгожители» в свободном ПО

В августе 2018 г. CNews рассказывал об уязвимости в протоколе OpenSSH. Она позволяла с относительной простотой подбирать логины к устройствам и серверам интернета вещей и присутствовала во всех версиях клиента, выпущенных за последние 20 лет.

Проблема была обнаружена случайно уже после ее исправления: эксперты установили, что изменения, внесенные в код OpenSSH под OpenBSD, устраняют баг, о существовании которого, вероятно, никто и не догадывался.

В сентябре 2014 г. специалистом по информационной безопасности Стефаном Чазеласом (Stephane Chazelas) была обнаружена ошибка в командной оболочке Bash, доступной в большинстве UNIX-подобных операционных систем.

Bash позволяет задавать так называемые переменные окружения при запуске оболочки. Уязвимость заключалась в том, что непосредственно в самом задаваемом значении переменной можно дописать произвольные команды, которые оболочка также выполнит. В случае если Bash назначена системной оболочкой по умолчанию, она могла быть использована злоумышленниками для проведения сетевых атак на серверы с применением веб-запросов. Уязвимость, представлявшая потенциальную угрозу для миллионов машин по всему миру, получила название Shellshock.