Во всех популярных системах управления версиями, поддерживающих обращение к репозиторию через SSH, выявлена уязвимость, позволяющая выполнить любую команду в системе при попытке обработки специально оформленной ссылки на репозиторий с URL "ssh://". Проблема уже устранена в Git 2.14.1-2.7.6 (CVE-2017-1000117), Subversion 1.9.7 (CVE-2017-9800) и Mercurial 4.3 (CVE-2017-1000116), а также в коде GitHub и GitLab. Не исключено, что уязвимость проявляется и в других приложениях, использующих URL "ssh://". Суть уязвимости сводится к тому, что при обработке URL "ssh://" допускается использование символа "-" вначале имени хоста, что позволяет использовать это имя для передачи опций ssh. Например, указав: git clone ssh://-oProxyCommand=gnome-calculator/wat в качестве имени хоста при запуске ssh будет передана строка "-oProxyCommand", которая будет обработана как опция. Так как через ssh-опцию ProxyCommand можно вызвать дополнительный обработчик установки соединения с сервером, появляется возможность выполнить
В очередной порции документов, полученных в результате утечки данных из закрытой сети ЦРУ и размещённых на WikiLeaks, приводятся сведения о двух проектах по установке бэкдоров (имплантов в терминологии ЦРУ) на системы пользователей - BothanSpy и Gyrfalcon. Оба проекта обеспечивают перехват за данными аутентификации, применяемыми при установке защищённых сеансов по протоколу SSH. Gyrfalcon нацелен на сбор параметров аутентификации (логин/пароль, закрытые SSH-ключи и пароли к SSH-ключам) у клиентов OpenSSH, а также поддерживает режим полного или выборочного сохранения содержимого SSH-сеансов. Вся накопленная информация шифруется и сохраняется в файл для последующей отправки на внешний сервер, подконтрольный ЦРУ. Варианты Gyrfalcon подготовлены для различных дистрибутивов Linux, включая RHEL, CentOS, Debian, openSUSE и Ubuntu. Gyrfalcon заменяет собой штатный системный SSH-клиент и устанавливается в систему после получения привилегированного доступа через атаку с использованием неисправленных уязвимостей
Представлен проект Kryptonite, предлагающий новую систему для хранения закрытых ключей SSH на смартфоне, вместо размещения в файле ~/.ssh/id_rsa. Kryptonite состоит из двух частей - ssh-агента, запускаемого на стороне рабочих станций, и мобильного приложения для Android и iOS, занимающегося хранением ключей. Агент написан на языке Go и распространяется в исходных текстах, но лицензия на код пока не определена. Kryptonite может рассматриваться как подобие двухфакторной аутентификации для SSH-ключей. Все операции с ключами выполняются на смартфоне, а размещаемый на локальной системе агент лишь получает результат операции, выполненной на стороне смартфона с закрытым ключом. На локальной системе ключи не фигурируют ни в каком виде. Каждая операция с ключом требует явного подтверждения на смартфоне и ввода кода доступа к ключу. Так как ключи хранятся отдельно, они не привязаны к локальным системам и один ключ можно использовать с разных компьютеров. С точки зрения безопасности, с одной стороны появляется
Сформирован релиз PuTTY 0.68, SSH-клиента для Unix и Windows, исходные тексты которого доступны под лицензией MIT. Основные изменения: Графический интерфейс для платформы Unix переведён на GTK3+; Добавлена поддержка криптографических алгоритмов на основе эллиптических кривых: Ed25519, ECDSA, Curve25519 и ECDH; В PuTTYgen добавлена поддержка импорта и экспорта ключей из файлов OpenSSH в новом формате; При соединении с сервером обеспечено автоматическое использование уже известных хостовых ключей. Также добавлена новая опция, позволяющая после установки соединения загрузить другие хостовые ключи, например, перейти на ключи на основе эллиптических кривых; Для платформы Unix подготовлена отдельная версия агента Pageant; Устранена уязвимость, позволяющая организовать подмену DLL-библиотек на платформе Windows через размещение в текущем каталоге подставных библиотек с теми же именами, что и системные (например, ntmarta.dll); Устранена уязвимость в коде агента перенаправления запросов, позволяющая

Релиз OpenSSH 7.4

19.12.2016 18:29
Состоялся релиз OpenSSH 7.4, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP. В OpenSSH 7.4 удалён код, связанный с использованием SSHv1 на стороне сервера. Поддержка протоколов SSH 1.3 и 1.5 на стороне клиента пока сохранена, но требует сборки со специальной опцией. В следующем выпуске будет отключена возможность запуска OpenSSH без разделения привилегий и прекращена поддержка версий библиотеки OpenSSL до ветки 1.0.1. В августе 2017 года планируется полностью прекратить поддержку SSHv1 и удалить компоненты с реализаций шифров Blowfish и RC4, а также RIPE-MD160 HMAC, которые в настоящее время по умолчанию отключены в настройках. В будущих выпусках также планируют запретить использование любых RSA-ключей, размером менее 1024 бит. Устранённые проблемы с безопасностью: Уязвимость, позволяющая осуществить загрузку сторонней разделяемой библиотеки и выполнить код с правами ssh-agent, передав запрос на загрузку модуля PKCS#11 через перенаправленный (forwarded) канал к
Компания Gravitational объявила о доступности нового свободного SSH-пакета Gravitational Teleport (Teleport), предлагающего клиент и сервер SSH, оптимизированные для упрощения работы персонала, обслуживающего кластеры с большим числом узлов. Код проекта написан на языке Go и распространяется под лицензией Apache 2.0. Реализация SSH обратно совместима с OpenSSH и построена с использованием библиотеки Golang SSH. Teleport пытается автоматизировать и повысить безопасность инфраструктур, в которых группам людей требуется доступ к различным серверам в кластере. Вместо применяемой в OpenSSH аутентификации по ключам, чтобы избежать необходимости копирования ключа каждого пользователя на узлы, в Teleport используется проверка по цифровой подписи и централизованные серверы аутентификации. Организуется работа системы сертификатов с ограниченным сроком действия, заверенных цифровой подписью локального удостоверяющего центра. На узлах содержится только проверочный ключ данного удостоверяющего центра. Кроме проверки
Представлен план полного удаления реализации устаревшего протокола SSHv1 из кодовой базы OpenSSH. Начиная с выпуска OpenSSH 7.0, уже около года поддержка SSHv1 отключена по умолчанию и требует сборки со специальным флагом. Большинство дистрибутивов уже последовали этому изменению и поставляют OpenSSH с выключенным SSHv1. В соответствии с планом, в июньском выпуске OpenSSH 7.3 поддержка SSHv1 останется без изменений. В августе будет сформирован выпуск OpenSSH 7.4, в котором будет удалён код, связанный с использованием SSHv1 на стороне сервера. Возможность использования клиентской части SSHv1 планируется прекратить в июне 2017 года. Напомним, что протокол SSHv1 был признан устаревшим около 10 лет назад. Кроме недостаточного уровня защиты, сохранение SSHv1 накладывает определённые ограничения на кодовую базу. Например, работа OpenSSH без привязки к библиотеке OpenSSL возможна только при использовании протокола SSHv2, так как встроенные алгоритмы (curve25519, aes-ctr, chacha20+poly1305 и ed25519) неприменимы к
Представлен релиз популярного SSH-клиента для Unix и Windows - PuTTY 0.67, исходные тексты которого доступны под лицензией MIT. В новом выпуске устранена уязвимость (CVE-2016-2563) в реализации протокола PSCP (старый протокол SCP), которая может привести к выполнению кода на системе клиента при попытке загрузки файла с сервера, подконтрольного злоумышленнику. Уязвимость проявляется на стадии после проверки ключа хоста. В качестве обходного пути защиты можно использовать опцию "-sftp" при которой используется только протокол SFTP. Кроме устранения уязвимости в новой версии устранено несколько проблем, приводящих к краху, на платформе Windows выполнена более аккуратная установка ACL для защиты процесса от чтения другими процессами данных из памяти, для заверения цифровой подписью исполняемых файлов для Windows задействован Authenticode.
Доступно экстренное обновление OpenSSH 7.1p2, в котором устранена одна из самых опасных уязвимостей (CVE-2016-0777) за историю существования проекта. Проблема проявляется только в реализации клиента SSH и позволяет инициировать передачу серверу содержимого памяти процесса при соединении пользователя с подконтрольным злоумышленнику сервером. В публичном доступе уже опубликован прототип эксплоита, подтверждающий возможность получения в результате атаки находящихся в памяти закрытых ключей клиента. Проблема связана с работой появившейся в OpenSSH 5.4 недокументированной функции роуминга, предназначенной для возобновления оборванного SSH-соединения. Серверная реализация роуминга так и не была включена в состав OpenSSH, но код клиента был добавлен в экспериментальном режиме и был включен по умолчанию. Уязвимости подвержены все версии с OpenSSH 5.4 по 7.1, включительно. В качестве обходного пути для блокирования уязвимости достаточно указать в ~/.ssh/config или /etc/ssh/ssh_config директиву "UseRoaming no", или
Filippo Valsorda из компании CloudFlare подготовил заслуживающий внимания сервис, выдающий персональные данные пользователя (ФИО, email и т.п.) при выполнении команды "ssh whoami.filippo.io", без проведения какой-либо аутентификации. Некоторые восприняли данный сервис как демонстрацию неизвестной ранее уязвимости в OpenSSH, но на самом деле в реализации сервиса используются штатные и документированные особенности работы SSH. В частности, при попытке соединения с сервером, ssh-клиент автоматически последовательно отправляет все имеющиеся открытые ключи пользователя - если очередной ключ не подошёл, отправляется следующий и т.д. В том числе отправляются открытые ключи, используемые для GitHub. Так как GitHub предоставляет доступ к открытым ключам пользователей, в сервисе whoami.filippo.io используется данная возможность и осуществляется сверка переданных в рамках текущего сеанса ключей с содержимым базы ключей GitHub. В случае совпадения ключа, загружаются и выводятся данные из профиля на GitHub. Для