Другое

Библиотека Libssh: уязвимости и ошибки, которые нужно устранить

Уязвимость Libssh — это «слабое место» инструмента, программы, библиотеки, благодаря которому злоумышленники могут компрометировать информацию, передаваемую пользователем. Уязвимость разного рода свойственна всем библиотекам такого типа, поэтому Libssh не может быть исключением.

Библиотека Libssh — это многофункциональная библиотека, разработанная на языке С++, которая реализует протокол SSH на стороне клиента и сервера. С помощью этой библиотеки разработчик может дистанционно запускать программы, транспортировать пакеты с файлами, организовывать безопасный туннель для передачи данных, управлять ключами шифрования и многое другое.

SSH — это протокол шифрования, который обеспечивает надежную передачу данных между клиентским устройством и сервером благодаря надежным алгоритмам шифрования и строжайшим требованиям к аутентификации клиентских устройств и сервера.

Библиотека Libssh

Библиотека Libssh распространяется с открытым исходным кодом и в свободном доступе. Сама библиотека Libssh не имеет ничего общего с другим похожим проектом Libssh2, который выполняет похожие функции, но разработан и распространяется совсем другими методами.

Libssh редко используется самостоятельно, поэтому очень часто данную библиотеку используют совместно с другими криптографическими пакетами:

  • Libgcrypt;

  • Libcrypto.

Основная цель этой библиотеки — позволить разработчикамочень просто интегрировать возможности SSH в свое программное обеспечение, разрабатываемое на языках программирования С или С++.

Сама по себе библиотека Libssh считается очень надежной, и она отлично справляется со своими функциональными обязанностями. Однако периодически ее «титул надежности» компрометирует та или иная уязвимость, обнаруженная в Libssh в процессе работы с этим инструментом.

Уязвимость Libssh

Любая обнаруженная уязвимость в Libssh всегда устраняется в кратчайшие сроки, но каждый раз она омрачает доверие к этому инструменту.

Несколько последних уязвимостей Libssh:

  • уязвимость Libssh «CVE-2021-3634», которая характеризовалась переполнением кучи буфера обмена, что открывало злоумышленникам возможность запроса смены ключа шифрования, что, в свою очередь, приводило к чтению зашифрованных данных;

  • уязвимость Libssh «CVE-2020-16135», которая не затрагивала каких-либо критических функций, но все равно нарушала безопасность приложений;

  • уязвимость Libssh «CVE-2020-1730», которая затрагивала возможность отказа работы приложения на стороне сервера или клиента в процессе обработки ключей AES-CTR при помощи OpenSSL;

  • уязвимость Libssh «CVE-2019-14889», которая затрагивала комплексную защиту исходного кода приложений, использующих описанную библиотеку; это даже не одна уязвимость, а несколько вероятных, которые были обнаружены благодаря аудиту компании по безопасности Cure53;

  • уязвимость Libssh «CVE-2018-10933», которая позволяла злоумышленникам обходить этап аутентификации в серверных приложениях;

  • и др.

Разработчики библиотеки Libssh очень тесно сотрудничают со своим сообществом, с другими разработчиками и аудиторскими компаниями, поэтому они очень быстро реагируют на все возникающие баги и ошибки, которые обнаруживают пользователи данного инструмента. Это к тому, что в год у библиотеки Libssh выходит по несколько патчей, в которых устраняются десятки, а то и сотни разных ошибок и уязвимостей, которые невозможно перечислить в рамках одной статьи.

Одно видно точно любая, даже самая мелкая уязвимость в Libssh никогда не будет игнорироваться и устранится в ближайшем обновлении библиотеки. Не зря разработчиков этой библиотеки консультируют и поддерживают разработчики компании Mozilla, а самой библиотекой для организации зашифрованного доступа к пользовательским данным пользуются такие компании, как:

  • KDE — разработчики одноименного окружения рабочего стола на многих Linux-дистрибутивах;

  • GitHub — крупное сообщество профессиональных программистов и по совместительству система контроля версий программных проектов, хостинг и многое другое;

  • X2Go — компания-разработчик рабочего стола «Х»;

  • и др.

Заключение

Любая уязвимость в библиотеке Libssh всегда будет устранена вовремя и очень быстро, потому что разработчики этого продукта гордятся им и следят за своей репутацией. Именно поэтому их продуктом пользуются и оказывают ему доверие многие именитые компании. Да, возможно, библиотека Libssh — это не самый лучший и легкий способ для организации SSH в своем приложении, но, по крайней мере, она стремится к этому статусу.

Схожие статьи

Firebase. База данных, ее краткое описание и инструкция по настройке
Другое

Firebase. База данных, ее краткое описание и инструкция по настройке

Рюкзак для программиста в подарок: какую модель лучше выбрать?
Другое

Рюкзак для программиста в подарок: какую модель лучше выбрать?

Что такое WhiteList, какие у него функции и цели в программировании?
Другое

Что такое WhiteList, какие у него функции и цели в программировании?

Angular 2: что это за платформа и какие у нее отличия от конкурентов?
Другое

Angular 2: что это за платформа и какие у нее отличия от конкурентов?