Проект OpenBSD представил LibreSSL, форк OpenSSL

На сайте организации OpenBSD Foundation появилось объявление о создании разработчиками OpenBSD собственного форка пакета OpenSSL, который будет развиваться под именем LibreSSL. Ключевые отличия LibreSSL от OpenSSL заключаются в интеграции дополнительных средств защиты и кардинальной чистке кодовой базы от излишней и устаревшей функциональности. Функциональность LibreSSL будет ограничена качественной поддержкой протоколов SSL/TLS. Первый выпуск LibreSSL войдёт в состав OpenBSD 5.6, но проект не будет привязан к OpenBSD — как и в случае с OpenSSH планируется поддерживать переносимую версию LibreSSL, пригодную для использования в различных операционных системах. В настоящее время проект LibreSSL находится на стадии активного перестроения кодовой базы. Участники проекта OpenBSD достаточно активно взялись за разработку — за первую неделю внесено более 250 коммитов. Работа сосредоточена в четырёх направлениях: удаление излишней функциональности, повышение читаемости кода, добавления дополнительных средств защиты и устранение ошибок.

Среди внесённых изменений:

Удалена поддержка всех движков шифрования (кроме padlock и aesni) и слабых дополнений для получения энтропии. Прекращена поддержка устаревших и малоиспользуемых платформ, в том числе Mac OS, NetWare, OS/2 и VMS, прекращена поддержка big-endian для i386 и amd64 (они всегда little-endian). Проведена чистка кода от некоторых компонентов, специфичных для платформы Windows. Например, удалён код OPENSSL_isservice и других функций для учёта особенностей не POSIX-систем. Удалён весь код, связанный с поддержкой SSL-расширения heartbeat, ошибка в котором привела к катастрофической уязвимости. Прекращено использование дополнительных обёрток для различных потенциально небезопасных функций (snprintf, opendir, функции работы с сокетами и т.п.). Вызовы strlcat/strlcpy замены на snprintf, связка malloc+memset заменена на calloc. Исправлена серия ошибок распределения памяти (например, в некоторых местах почищен двойной вызов free). Внесены серия исправлений, связанных с решением проблемы 2038 года. Добавлены собственные функции кэширования DNS. Удалена поддержка bdes; Удалены неиспользуемые ssl-утилиты на Perl; Удалена поддержка FIPS API, так как навязываемые сертификацией требования противоречат целям свободного проекта; Напомним, что силами разработчиков OpenBSD развиваются такие получившие распространение проекты, вышедшие за рамки операционной системы OpenBSD, как OpenSSH, пакетный фильтр PF, демоны маршрутизации OpenBGPD и OpenOSPFD, NTP-сервер OpenNTPD, почтовый сервер OpenSMTPD, мультиплексор текстового терминала (аналог GNU screen) tmux, демон identd с реализацией протокола IDENT, BSDL-альтернатива пакету GNU groff — mandoc, протокол для организации отказоустойчивых систем CARP (Common Address Redundancy Protocol).

©  OpenNet