Выпуск LibreSSL 2.8.0
Разработчики проекта OpenBSD представили выпуск переносимой редакции пакета LibreSSL 2.8.0, в рамках которого развивается форк OpenSSL, нацеленный на обеспечение более высокого уровня безопасности. Проект LibreSSL ориентирован на качественную поддержку протоколов SSL/TLS с удалением излишней функциональности, добавлением дополнительных средств защиты и проведением значительной чистки и переработки кодовой базы. Выпуск LibreSSL 2.8.0 рассматривается как экспериментальный, в котором развиваются возможности, которые войдут в состав OpenBSD 6.4.
Особенности LibreSSL 2.8.0:
- Расширена документация и добавлены сведения об истории изменения API;
- Добавлены дополнительные проверки параметра 'poisoning' в различных функциях X509_VERIFY_PARAM, блокирующие применение непроверенных сертификатов в случае проблем с их верификацией;
- Устранена потенциальная утечка памяти при сбоях во время работы ASN1_item_digest;
- Устранён потенциальный крах при использовании функции asn1_item_combine_free;
- Удалены неиспользуемые флаги SSL3_FLAGS_DELAY_CLIENT_FINISHED и SSL3_FLAGS_POP_BUFFER;
- Упрощено использование и приближены к поведению OpenSSL вызовы ENGINE_finish и ENGINE_free, переписана документация по функциям ENGINE_*;
- Добавлены аннотации констант для многих API из OpenSSL;
- Устранены несущественные векторы для атак по сторонним каналам (разное время обработки) при работе ecdsa_sign_setup и dsa_sign_setup;
- Документированы типовые ошибки использования BN_FLG_CONSTTIME и constant-time в функциях BN_*, приводящие к проблемам с безопасностью;
- Вызов BN_clear переведён на использование функции explicit_bzero;
- Добавлены недостающие проверки границ буферов в c2i_ASN1_BIT_STRING;
- Очередная порция кода переведена на использование подсистемы CBS, в том числе код для обмена ключами RSA.
- Удалены остававшиеся наборы шифров на основе DES;
- Осуществлено применение ложных заполняющих значений при генерации цифровых подписей DSA и ECDSA для снижения риска применения атак по сторонним каналам для восстановления ключей;
- Задействованы операции умножения в ECC с постоянным временем выполнения операции;
- Пересмотрена реализация RSASSA-PKCS1-v1_5 в контексте соответствия спецификации RFC 8017;
- Проведена чистка функций BN_* по мотивам недавних изменений в OpenSSL.
© OpenNet