Разработчики проекта OpenBSD представили новый значительный выпуск переносимой редакции пакета LibreSSL 2.1.4, в рамках которого развивается форк OpenSSL, нацеленный на обеспечение более высокого уровня безопасности. Из особенностей LibreSSL можно отметить ориентацию на качественную поддержку протоколов SSL/TLS с удалением излишней функциональности, добавлением дополнительных средств защиты и проведением значительной чистки и переработки кодовой базы.

Среди новшеств, представленных в выпуске LibreSSL 2.1.4:

  • Расширены возможности библиотеки libtls с реализацией развиваемого проектом LibreSSL нового упрощённого программного интерфейса для обеспечения шифрованного канала связи между клиентом и сервером. Добавлен новый API для загрузки цепочек сертификатов удостоверяющих центров (CA) непосредственно из памяти, а не из файла, что позволяет обеспечить выполнение верификации в системах с разделением привилегий и в изолированных chroot-окружениях без прямого доступа к файлам с сертификатами CA. По умолчанию задействованы шифры TLSv1.2 с блочным шифрами AEAD и механизмом согласования ключей PFS. Улучшен код обработки ошибок и генерации сообщений;
  • Добавлен API X509_STORE_load_mem для загрузки сертификатов из памяти. API позволяет организовать работу с сертификатами из chroot-окружений;
  • Добавлен новый псевдоним AEAD ("MAC alias"), позволяющий настраивать TLSv1.2 шифры AEAD указывая 'TLSv1.2+AEAD' в качестве строки выбора шифра;
  • В утилиту openssl добавлена новая команда "certhash", которая заменила собой скрипт "c_rehash";
  • Для обеспечения совместимости с различными системами аудита и сканерами безопасности реализована поддержка TLS_FALLBACK_SCSV на стороне сервера;
  • Продолжена чистка неактуального и неиспользуемого кода, в том числе удалён код MD5, SCTP, RFC 3779, обходные механизмы поддержки Netscape, не связанные с POSIX методы ввода/выводы, секции "#if 0";
  • Для улучшения читаемости и упрощения сопровождения доработан макрос ASN1;
  • Удалены различные исключения, связанные с проверкой указателей NULL. Вместо них для отлова обращения к NULL-указателям используются средства ОС и обработчики сигналов;
  • Переработан код обработки аргументов в утилите openssl;
  • Добавлена поддержка сборки с опцией OPENSSL_NO_DEPRECATED;
  • Устранена порция проблем, выявленных в процессе автоматизированной проверки в системе Coverity;
  • Устранена серия проблем с безопасностью. Исправлена незначительная утечка информации по сети из-за передачи дополнительных 28 байт из блока .rodata или .data. Устранены уязвимости, исправленные в OpenSSL 1.0.1k: CVE-2015-0205 (приём клиентского сертификата DH без проверки), CVE-2014-3570 (вывод неверных значений при использовании больших чисел), CVE-2014-8275 (изменение отпечатка сертификата), CVE-2014-3572 (откат ECDHE до ECDH [Client]).

    Уязвимости CVE-2015-0206 и CVE-2014-3510 были устранены в прошлых выпусках LibreSSL. Уязвимости CVE-2014-3571 (сбой сегментации в dtls1_get_record), CVE-2014-3569 (установка метода в NULL при конфигурации no-ssl3) и CVE-2015-0204 (на днях анонсированная атака FREAK, позволяющая откатить RSA до EXPORT_RSA) не проявляются в LibreSSL.

  • Началось формирование бинарных сборок LibreSSL для платформы Windows.


Источник: http://www.opennet.ru/opennews/art.shtml?num=41798