Разработчики: | The OpenBSD Foundation |
Дата премьеры системы: | 2022/04/08 |
Дата последнего релиза: | 2024/06/07 |
Технологии: | ИБ - Аутентификация, ИБ - Средства шифрования |
Содержание |
Основные статьи:
OpenSSH — это основной инструмент для удаленного входа в систему по протоколу SSH. Он шифрует весь трафик для предотвращения прослушивания, перехвата соединения и других атак. Кроме того, OpenSSH предоставляет большой набор возможностей безопасного туннелирования, несколько методов аутентификации и различные варианты конфигурации.
2024
В популярном сервере удаленного доступа OpenSSH обнаружена опасная уязвимость. ФСТЭК предупреждает
В популярном средстве защищённого удалённого доступа — сервере OpenSSH — была обнаружена достаточно опасная уязвимость. Об этом предупреждает ФСТЭК. Ее название BDU:2024-04914[1] в базе данных угроз и уязвимостей, однако в широких кругах она получила собственное имя — regreSSHion. Это не первая уязвимость в средстве криптографической защиты, получившая собственное имя — в 2014 году в OpenSSL была обнаружена ошибка, получившая наименование Heartbleed.
Исследователи компании Qualys[2] обнаружили, что процесс сервера OpenSSH — sshd — может быть введён в состояние гонки обработчиков сигналов, что позволяет перезаписать память и выполнить неаутентифицированный удаленный код с привилегиями суперпользователя (root). Ошибка точно срабатывает в системах Linux на базе glibc, а вот про Windows и macOS подтверждений пока нет. Возможность совершения атаки продемонстрирована на 32-разрядной системе с Glibc с включённой защитой от переполнения буфера ASLR (рандомизация адресного пространства). Для успешной атаки в лабораторных условиях потребовалось 6-8 часов, в течение которых с сервером непрерывно устанавливались соединения с максимально допустимой в конфигурации sshd интенсивностью.
Уязвимость появилась в результате регрессивного изменения, вошедшего в состав выпуска OpenSSH 8.5 и приводящего к состоянию гонки в коде обработки сигналов в sshd. Именно поэтому она и получила название regreSSHion. Внесенные изменения привели к прекращению действия защиты от старой уязвимости CVE-2006-5051, обнаруженной до версии OpenSSH 4.4 (2006 год) и носившей теоретический характер. Ошибка исправлена в OpenSSH 9.8p1.
Не только в России, но и в мире OpenSSH – один из популярнейших компонентов серверного ПО, — прояснил для TAdviser технический директор «Гарда WAF» Лука Сафонов. — Использование эксплойта данной уязвимости крайне опасно, об этом говорит значение уровня опасности CVSS — 8.1. |
OpenSSH – популярный сервис в нашей стране, — подтвердил TAdviser Дмитрий Калинин, руководитель департамента по работе с уязвимостями и инцидентами ИБ системного интегратора «Бастион». — Прежде всего это связано с тем, что помимо серверов и рабочих станций он повсеместно используется в сетевом оборудовании (роутерах, маршрутизаторах, межсетевых экранах и т.п.). Встречаются как последние версии, которые до выхода указанной уязвимости считались безопасными, так и более старые, где есть известные уязвимости. В связи с этим эксплуатация данной уязвимости несет очень высокие риски.
Единственным сдерживающим фактором может выступать то, что протокол SSH, реализацию которого представляет собой OpenSSH, зачастую является внутренним протоколом. То есть используется в так называемых management сетях и в корректно настроенной с точки зрения безопасности инфраструктуре, недоступен из сети Интернет или доступен только с определенных IP-адресов. |
Qualys поделилась подробным разбросом regreSSHion, но не публикует примеров ее эксплуатации, чтобы не стимулировать вредоносную активность. По данным компании по всему миру около 700 тыс. систем, подключенных к Интернету, могут быть уязвимы для данной уязвимости. В России по данным сервиса ZoomEye.hk находится почти 4 млн серверов OpenSSH. Однако насколько они уязвимы – не очень понятно. Компания Qualys предоставила индикаторы компрометации, с помощью которых любой владелец сервера на базе OpenSSH может выявить возможные атаки.
В связи выявлением данной уязвимости специалисты Центра противодействия киберугрозам Innostage CyberART рекомендуют выполнить обновление ПО OpenSSH до версии 9.8p1, – озвучил TAdviser свои рекомендации для владельцев OpenSSH Альберт Антонов, руководитель группы OSINT центра противодействия киберугрозам SOC CyberART Innostage. – В качестве временных компенсирующих мер возможны следующие действия: |
- В sshd_config выставить параметр "LoginGraceTime=0", при этом отключение таймаута упростит инициирование отказа в обслуживании при установке большого числа соединений, превышающих лимиты, заданные через параметр "MaxStartups".
- Ограничить доступ по SSH с помощью сетевых средств управления путем внедрения белого списка IP-адресов для минимизации рисков атак.
Сама ФСТЭК также рекомендует максимально быстро установить обновления. Но если это по какой-то причине невозможно, то можно предпринять следующие компенсирующие меры:
- для ограничения возможности эксплуатации в sshd_config выставить параметр «LoginGraceTime=0»;
- установить для LoginGraceTime значение 0 в /etc/ssh/sshd_config и перезапустить sshd;
- использовать антивирусное ПО для отслеживания попыток эксплуатации уязвимости;
- использовать средства межсетевого экранирования для ограничения возможности удалённого доступа.
Встроенная защита от атак по подбору паролей
В кодовую базу OpenSSH добавлена встроенная защита от автоматизированных атак по подбору паролей, в ходе которых боты пытаются угадать пароль пользователя, перебирая различные типовые комбинации. Для блокирования подобных атак в файл конфигурации sshd_config добавлен параметр PerSourcePenalties, позволяющий определить порог блокировки, срабатывающий при большом числе неудачных попыток соединений с одного IP-адреса. Данный механизм защиты войдёт в состав следующего выпуска OpenSSH и будет включён по умолчанию в OpenBSD 7.6. Об этом стало известно 7 июня 2024 года.
При включении защиты процесс sshd начинает отслеживать статус завершения дочерних процессов, определяя ситуации когда не прошла аутентификация или когда процесс был аварийно завершён из-за сбоя. Большая интенсивность сбоев при аутентификации свидетельствует о попытках подбора паролей, а аварийное завершение может указывать на попытки эксплуатации уязвимостей в sshd.Бизнес уходит в облако: стратегии и подходы
Через параметр PerSourcePenalties задаётся минимальный порог аномальных событий, после превышения которого IP-адрес, для которого зафиксирована подозрительная активность, будет заблокирован. При помощи параметра PerSourceNetBlockSize дополнительно можно определить маску подсети для блокирования всей подсети, к которой принадлежит проблемный IP.
Для отключения срабатывания блокировки для отдельных подсетей предложен параметр PerSourcePenaltyExemptList, который может оказаться полезным в ситуациях, приводящих к ложным срабатываниям, например, когда к SSH-серверу осуществляются обращения из крупной сети, запросы разных пользователей из которой приходят с одинаковых IP из-за использования транслятора адресов или прокси[3].
2023: OpenSSH 9.2 c исправлением уязвимости аутентификации на сервере
Разработчики OpenSSH выпустили версию OpenSSH 9.2 для устранения ряда недостатков, включая уязвимость, которая проявляется на этапе аутентификации на сервере OpenSSH (sshd). Об этом стало известно 6 февраля 2023 года.
Уязвимость предварительной аутентификации (двойного освобождения) в OpenSSH 9.1 CVE-2023-25136 возникает в непривилегированном процессе предварительной аутентификации, который подвергается операции «chroot» и дополнительно изолирован на большинстве основных платформ.
Chroot – операция изменения корневого каталога в Unix-подобных ОС. Программа, запущенная с изменённым корневым каталогом, будет иметь доступ только к файлам, содержащимся в данном каталоге.
OpenSSH — это реализация протокола безопасной оболочки (SSH) с открытым исходным кодом, которая предлагает набор услуг для зашифрованной связи по незащищенной сети в архитектуре клиент-сервер.
Недостатки двойного освобождения возникают, когда уязвимый фрагмент кода вызывает функцию « free()», которая используется для освобождения блоков памяти дважды, что приводит к повреждению памяти и к дальнейшему сбою или выполнению произвольного кода.
Исследователь безопасности из Qualys Саид Аббаси сказал, что воздействие происходит в блоке памяти, освобождаемом дважды - ‘options.kex_algorithms’. Он также добавил, что проблема приводит к «двойному освобождению в непривилегированном процессе sshd».
Абасси пояснил, что активная эксплуатация уязвимости маловероятна, поскольку процесс использования слишком усложнён - современные библиотеки распределения памяти предоставляют защиту от двойного освобождения памяти, а процесс «pre-auth», в котором присутствует ошибка, выполняется с пониженными привилегиями в изолированной песочнице[4].
2022
Релиз OpenSSH 9.1 с директивой RequiredRSASize
5 октября 2022 года стало известно о том, что опубликован релиз OpenSSH 9.1, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP. Выпуск характеризуется как в основном содержащий исправление ошибок, в том числе устранено нескольких потенциальных уязвимостей, вызванных проблемами при работе с памятью:
- Однобайтовое переполнение в коде обработки SSH-баннера в утилите ssh-keyscan.
- Двойной вызов функции free() в случае ошибки при вычислении хэшей для файлов в коде создания и проверки цифровых подписей в утилите ssh-keygen.
- Двойной вызов функции free() при обработке ошибок в утилите ssh-keysign.
Основные изменения:
- В ssh и sshd добавлена директива RequiredRSASize, позволяющая определить минимально допустимый размер RSA-ключей. В sshd ключи меньшего размера будут игнорироваться, а в ssh приводить к завершению соединения.
- Переносимая редакция OpenSSH переведена на использование SSH-ключей для заверения цифровой подписью коммитов и тегов в Git.
- Директивы SetEnv в файлах конфигурации ssh_config и sshd_config теперь применяют значение из первого упоминания переменной окружения, если она определена в конфигурации несколько раз (до этого применялось последнее упоминание).
- При вызове утилиты ssh-keygen с флагом "-A" (генерация всех поддерживаемых по умолчанию типов хостовых ключей) отключена генерация ключей DSA, которые уже несколько лет не используются по умолчанию.
- В sftp-server и sftp реализовано расширение "users-groups-by-id@openssh.com", дающее клиенту возможность запросить имена пользователей и групп, соответствующих указанному набору цифровых идентификаторов (uid и gid). В sftp данное расширение использовано для отображения имён при выводе содержимого каталога.
- В sftp-server реализовано расширение "home-directory" для раскрытия путей ~/ и ~user/, альтернативное ранее предлагавшемуся для тех же целей расширению "expand-path@openssh.com" (расширение "home-directory" предложено для стандартизации и уже поддерживается некоторыми клиентами).
- В ssh-keygen и sshd добавлена возможность указания времени в часовом поясе UTC при определении интервалов действия сертификатов и ключей, в дополнение к системному времени.
- В sftp разрешено указание дополнительных аргументов в опции "-D" (например, "/usr/libexec/sftp-server -el debug3").
- В ssh-keygen разрешено использование флага "-U" (использование ssh-agent) вместе с операциями "-Y sign" для определения, что закрытые ключи размещены в ssh-agent[5].
Релиз OpenSSH 9.0 с переводом scp на протокол SFTP
8 апреля 2022 года стало известно, что представлен релиз OpenSSH 9.0, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP. В данной версии утилита scp переведена по умолчанию на использование SFTP вместо устаревшего протокола SCP/RCP (сокращения от англ. Secure Copy Protocol и Remote Copy Protocol).
В SFTP применяются более предсказуемые методы обработки имён и не используется обработка glob-шаблонов в именах файлов через shell на стороне другого хоста, создающая проблемы с безопасностью. В частности, при применении SCP и RCP сервер принимает решение о том, какие файлы и каталоги отправить клиенту, а клиент лишь проверяет корректность возвращённых имён объектов, что в случае отсутствия должных проверок на стороне клиента позволяет серверу передать другие имена файлов, отличающиеся от запрошенных.
Протокол SFTP лишён указанных проблем, но не поддерживает раскрытие спецпутей, таких как "~/". Для устранения данного различия начиная с OpenSSH 8.7 в реализации SFTP-сервера поддерживается расширение протокола "expand-path@openssh.com" для раскрытия путей ~/ и ~user/.
При использовании SFTP пользователи также могут столкнуться с несовместимостью, вызванной необходимостью двойного экранирования спецсимволов раскрытия путей в запросах SCP и RCP, чтобы предотвратить их интерпретацию на удалённой стороне. В SFTP такое экранирование не требуется и лишние кавычки могут привести к ошибке передачи данных. При этом разработчики OpenSSH отказались от добавления расширения для повторения поведения scp в этом случае, так как двойное экранирование рассматривается как недостаток, который не имеет смысл повторять.
Другие изменения в выпуске:
- В ssh и sshd по умолчанию включён гибридный алгоритм обмена ключами "sntrup761x25519-sha512@openssh.com" (ECDH/x25519 + NTRU Prime), стойкий к подбору на квантовых компьютерах и совмещённый с ECDH/x25519 для блокирования возможных проблем в NTRU Prime, которые могут всплыть в будущем. В списке KexAlgorithms, определяющем порядок выбора методов обмена ключами, упомянутый алгоритм теперь поставлен на первое место и является более приоритетным, чем алгоритмы ECDH и DH. Квантовые компьютеры ещё не достигли уровня, позволяющего взламывать традиционные ключи, но применение гибридной защиты позволит оградить пользователей от атак, связанных с сохранением перехваченных SSH-сеансов с расчётом, что их можно будет расшифровать в будущем, когда появятся необходимые квантовые компьютеры.
- В sftp-server добавлено расширение "copy-data", позволяющее копировать данные на стороне сервера, без транзитной отправки клиенту, если исходный и целевой файл находятся на одном сервере.
- В утилиту sftp добавлена команда "cp" для инициирования клиентом копирования файлов на стороне сервера.[6]
Примечания
- ↑ BDU:2024-04914
- ↑ regreSSHion: Remote Unauthenticated Code Execution Vulnerability in OpenSSH server
- ↑ В OpenSSH добавлена встроенная защита от атак по подбору паролей
- ↑ Выпущена версия OpenSSH 9.2 c исправлением уязвимости аутентификации на сервере
- ↑ Релиз OpenSSH 9.1
- ↑ Релиз OpenSSH 9.0 с переводом scp на протокол SFTP
Подрядчики-лидеры по количеству проектов
Индид, Indeed (ранее Indeed ID) (55)
Инфосистемы Джет (50)
ДиалогНаука (37)
Softline (Софтлайн) (36)
Информзащита (32)
Другие (848)
Национальный аттестационный центр (НАЦ) (4)
Card Security (Кард Сек) (4)
СэйфТек (SafeTech) (3)
Инфосистемы Джет (3)
Softline (Софтлайн) (3)
Другие (52)
Индид, Indeed (ранее Indeed ID) (8)
Softline (Софтлайн) (2)
Национальный аттестационный центр (НАЦ) (2)
TUV Austria (2)
Солар (ранее Ростелеком-Солар) (2)
Другие (33)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Индид, Indeed (ранее Indeed ID) (5, 56)
СэйфТек (SafeTech) (6, 38)
FalconGaze (Фалконгейз) (1, 38)
Аладдин Р.Д. (Aladdin R.D.) (20, 27)
Visa International (2, 26)
Другие (471, 229)
СэйфТек (SafeTech) (1, 3)
МегаФон (1, 2)
Samsung Electronics (1, 1)
Аладдин Р.Д. (Aladdin R.D.) (1, 1)
Konica Minolta (Коника Минолта) (1, 1)
Другие (3, 3)
Индид, Indeed (ранее Indeed ID) (3, 8)
СэйфТек (SafeTech) (1, 1)
Avanpost (Аванпост) (1, 1)
Солар (ранее Ростелеком-Солар) (1, 1)
Другие (0, 0)
Индид, Indeed (ранее Indeed ID) (2, 9)
Shenzhen Chainway Information Technology (1, 6)
СэйфТек (SafeTech) (1, 4)
Аладдин Р.Д. (Aladdin R.D.) (4, 3)
RooX Solutions (Рукс Солюшенс) (1, 1)
Другие (2, 2)
СэйфТек (SafeTech) (1, 3)
Shenzhen Chainway Information Technology (1, 2)
Мобильные ТелеСистемы (МТС) (1, 1)
Спейсбит (Spacebit) (1, 1)
IT-Lite (АйТи Лайт) (1, 1)
Другие (7, 7)
Распределение систем по количеству проектов, не включая партнерские решения
Indeed Access Manager (Indeed AM) - 45
FalconGaze SecureTower - 38
3-D Secure (3D-Secure) - 23
PayControl - 23
Avanpost IDM Access System - 20
Другие 270
PayControl - 3
МегаФон Мобильный ID - 2
JaCarta Authentication Server (JAS) - 1
ОТР.Опора - 1
Multifactor Сервис многофакторной аутентификации - 1
Другие 3
Indeed Access Manager (Indeed AM) - 6
Indeed CM - Indeed Certificate Manager (ранее Indeed Card Manager, Indeed Card Management) - 2
Indeed PAM - Indeed Privileged Access Manager - 2
Avanpost IDM Access System - 1
Solar webProxy Шлюз веб-безопасности - 1
Другие 1
Подрядчики-лидеры по количеству проектов
Softline (Софтлайн) (51)
Инфосистемы Джет (45)
ДиалогНаука (33)
Информзащита (30)
Leta IT-company (26)
Другие (729)
Практика Успеха (6)
Card Security (Кард Сек) (4)
Национальный аттестационный центр (НАЦ) (4)
R-Vision (Р-Вижн) (4)
Web3 Tech (Веб3 Технологии) ранее Waves Enterprise (3)
Другие (64)
Информзащита (2)
Deiteriy (Дейтерий) (2)
Концерн Автоматика (2)
Softscore UG (2)
TUV Austria (2)
Другие (40)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
ИнфоТеКС (Infotecs) (31, 34)
Код Безопасности (15, 34)
Аладдин Р.Д. (Aladdin R.D.) (24, 30)
Лаборатория Касперского (Kaspersky) (2, 23)
Системы распределенного реестра (3, 19)
Другие (437, 250)
Практика Успеха (1, 6)
R-Vision (Р-Вижн) (1, 4)
ИнфоТеКС (Infotecs) (3, 3)
Web3 Tech (Веб3 Технологии) ранее Waves Enterprise (1, 3)
Концерн Автоматика (1, 2)
Другие (12, 19)
ИнфоТеКС (Infotecs) (2, 2)
Концерн Автоматика (2, 2)
Системы распределенного реестра (2, 2)
Softscore UG (1, 2)
Калуга Астрал (1, 1)
Другие (8, 8)
Shenzhen Chainway Information Technology (1, 6)
Практика Успеха (2, 5)
Министерство цифрового развития, связи и массовых коммуникаций РФ (Минцифры) (1, 5)
Digital Design (Диджитал Дизайн) (1, 2)
Системы распределенного реестра (1, 2)
Другие (6, 6)
ИнфоТеКС (Infotecs) (2, 2)
Shenzhen Chainway Information Technology (1, 2)
Код Безопасности (1, 1)
С-Терра СиЭсПи (S-Terra CSP) (1, 1)
Спейсбит (Spacebit) (1, 1)
Другие (6, 6)
Распределение систем по количеству проектов, не включая партнерские решения
Kaspersky Total Security - 18
Secret Net - 15
SmartDeal - 14
Мастерчейн (Masterchain) Российская национальная блокчейн-сеть - 14
ViPNet Coordinator HW ПАК Криптошлюз и межсетевой экран - 12
Другие 315
SmartDeal - 6
R-Vision SGRC Центр контроля информационной безопасности (ЦКИБ) - 4
WE.Vote - 3
Мастерчейн (Masterchain) Российская национальная блокчейн-сеть - 2
КуРэйт Система квантового распределения ключей - 2
Другие 16
Softscore UG: Anwork Бизнес-коммуникатор - 2
Госключ - 1
ИнфоТеКС ViPNet QSS Phone квантовый телефон - 1
ViPNet IDS - 1
SmartDeal - 1
Другие 10