Jump to content

LibreSSL

(Перенаправлено с Libressl )

LibreSSL
Оригинальный автор(ы) Проект OpenSSL
Разработчик(и) Проект OpenBSD
Первоначальный выпуск 2.0.0 / 11 июля 2014 г .; 10 лет назад ( 11.07.2014 )
Стабильная версия
3.9.2 [ 1 ]  Отредактируйте это в Викиданных / 12 мая 2024 г.
Предварительный выпуск 3.9.0 (9 марта 2024 г .; 6 месяцев назад ( 09.03.2024 ) [ 2 ] [ 3 ] ) [±]
Репозиторий
Написано в С , ассемблер , Перл
Операционная система OpenBSD , FreeBSD , NetBSD , Linux , HP-UX , Solaris , macOS , Windows и другие. [ 4 ]
Тип Криптографическая библиотека
Лицензия Apache-1.0 , пункт BSD-4 , ISC , общественное достояние
Веб-сайт www .libressl .org

LibreSSL — это (TLS) с открытым исходным кодом реализация протокола Transport Layer Security . Реализация названа в честь Secure Sockets Layer (SSL), устаревшего предшественника TLS, поддержка которого была удалена в версии 2.3.0. Проект OpenBSD 1.0.1g в апреле отделил LibreSSL от OpenSSL 2014 года в ответ на Heartbleed безопасности уязвимость . [ 5 ] [ 6 ] [ 7 ] [ 8 ] с целью модернизации кодовой базы , повышения безопасности и применения лучших практик разработки . [ 9 ] [ 10 ] [ 11 ]

После того как Heartbleed безопасности была обнаружена уязвимость в OpenSSL , OpenBSD команда провела аудит кодовой базы и решила, что необходимо форк OpenSSL для удаления опасного кода. [ 5 ] Домен libressl.org зарегистрирован 11 апреля 2014 года; проект объявил название 22 апреля 2014 года. За первую неделю разработки было удалено более 90 000 строк кода C. [ 10 ] [ 12 ] поддержка устаревших операционных систем ( Classic Mac OS , NetWare , OS/2 , 16-битная Windows ) и некоторых старых операционных систем ( OpenVMS ). Неиспользуемый код был удален, а также удалена [ 13 ]

LibreSSL изначально разрабатывался как предполагаемая замена OpenSSL в OpenBSD 5.6 и был портирован на другие платформы, как только урезанная версия библиотеки стала стабильной. [ 14 ] По состоянию на апрель 2014 г. , проект стремился к «стабильному привлечению» внешнего финансирования. [ 12 ] 17 мая 2014 года Боб Бек представил «LibreSSL: первые 30 дней и что нас ждет в будущем» во время конференции BSDCan 2014 года, на которой он описал прогресс, достигнутый за первый месяц. [ 15 ] 5 июня 2014 года стало известно о нескольких ошибках OpenSSL. Хотя некоторые проекты были уведомлены заранее, [ 16 ] LibreSSL не было; Тео де Раадт обвинил разработчиков OpenSSL в намеренном сокрытии этой информации от OpenBSD и LibreSSL. [ 17 ]

20 июня 2014 года Google создал еще один форк OpenSSL под названием BoringSSL и пообещал обмениваться исправлениями с LibreSSL. [ 18 ] [ 19 ] Google уже повторно лицензировала некоторые свои разработки по лицензии ISC , как того просили разработчики LibreSSL. [ 18 ] [ 20 ] 21 июня 2014 года Тео де Раадт приветствовал BoringSSL и изложил планы по выпуску LibreSSL-portable. [ 21 ] С 8 июля началось портирование кода для macOS и Solaris . [ 22 ] а первоначальное портирование на Linux началось 20 июня. [ 23 ]

С 2021 года OpenBSD использует LibreSSL в качестве основной библиотеки SSL. Alpine Linux поддерживала LibreSSL в качестве основной библиотеки TLS в течение трех лет, до выпуска 3.9.0 в январе 2019 года. Gentoo поддерживала LibreSSL до февраля 2021 года. [ 24 ] В Python 3.10 исключен LibreSSL [ 25 ] после поддержки начиная с Python 3.4.3 (2015). [ 26 ]

Принятие

[ редактировать ]

LibreSSL является поставщиком TLS по умолчанию для:

LibreSSL является поставщиком TLS по умолчанию для этих систем, производство которых сейчас прекращено:

LibreSSL — это выбираемый поставщик TLS для:

Изменения

[ редактировать ]
[ редактировать ]

Изменения включают замену вызовов пользовательской памяти на вызовы стандартной библиотеки (например, strlcpy, calloc, asprintf, reallocarray, и т. д.). [ 39 ] [ самостоятельно опубликованный источник? ] [ 40 ] Этот процесс может помочь в дальнейшем обнаружить переполнения буфера ошибки с помощью более продвинутых инструментов анализа памяти или путем наблюдения за сбоями программы (через ASLR , использование бита NX , канарейки стека и т. д.).

Исправления для потенциальных сценариев двойного освобождения также упоминались в журналах фиксации VCS (включая явное присвоение значений нулевого указателя ). [ 41 ] дополнительные проверки работоспособности, также упоминаются В журналах коммитов связанные с обеспечением длины аргументов, присвоением беззнаковых переменных , значениями указателей и возвратами методов.

Проактивные меры

[ редактировать ]

Чтобы поддерживать хорошую практику программирования, по умолчанию включен ряд опций и флагов компилятора, предназначенных для обеспечения безопасности, чтобы помочь обнаружить потенциальные проблемы и их можно исправить раньше (-Wall, -Werror, -Wextra, -Wuninitialized). Также были внесены обновления для читаемости кода , которые помогают будущим участникам проверять правильность программы ( KNF , пробелы, перенос строк и т. д.). Изменение или удаление ненужных оболочек методов и макросов также помогает улучшить читаемость кода и аудит ( ссылки на библиотеки абстракций ошибок и ввода-вывода ).

Изменения были внесены, чтобы гарантировать совместимость LibreSSL с 2038 годом, а также сохранить переносимость для других подобных платформ. Кроме того, explicit_bzero и bn_clear вызовы были добавлены, чтобы не дать компилятору оптимизировать их и не дать злоумышленникам прочитать ранее выделенную память.

Криптографический

[ редактировать ]

Были внесены изменения, помогающие обеспечить правильное заполнение методов , основанных на генераторе случайных чисел, путем замены небезопасных методов заполнения (с использованием преимуществ функций, предлагаемых ядром ). самим [ 42 ] [ 43 ] Что касается заметных дополнений, в OpenBSD добавлена ​​поддержка новых и более надежных алгоритмов ( ChaCha потоковый шифр и код аутентификации сообщений Poly1305 ), а также более безопасный набор эллиптических кривых (кривые мозгового пула из RFC 5639, сила до 512 бит).

Добавленные возможности

[ редактировать ]

В первоначальном выпуске LibreSSL добавлен ряд функций: алгоритм ChaCha и Poly1305 , эллиптические кривые Brainpool и ANSSI , а также AES-GCM и ChaCha20-Poly1305 режимы AEAD .

В более поздних версиях было добавлено следующее: [ 44 ]

Старые небезопасные функции

[ редактировать ]

Первоначальный выпуск LibreSSL по умолчанию отключил ряд функций. [ 13 ] Часть кода этих функций позже была удалена , включая Kerberos , шифры экспорта США , сжатие TLS, контрольное сообщение DTLS , SSL v2 и SSL v3 .

В более поздних версиях отключены дополнительные функции:

Удаление кода

[ редактировать ]

В первоначальной версии LibreSSL удален ряд функций, которые считались небезопасными, ненужными или устаревшими в OpenBSD 5.6.

Алгоритм Dual EC DRBG , который подозревается в наличии « черного хода» , [ 57 ] был сокращен вместе с поддержкой стандарта FIPS 140-2 , который требовал [ нужна ссылка ] это. Также были удалены неиспользуемые протоколы и небезопасные алгоритмы, включая поддержку FIPS 140-2 . [ 58 ] МД4 / МД5 [ 44 ] Джей-Пэйк , [ 13 ] и СРП . [ 59 ]

Журнал ошибок

[ редактировать ]

Одной из жалоб OpenSSL было количество открытых ошибок , зарегистрированных в системе отслеживания ошибок, которые не были исправлены в течение многих лет. Старые ошибки сейчас исправляются в LibreSSL. [ 60 ]

См. также

[ редактировать ]
  1. ^ Брент Кук (12 мая 2024 г.). «Выпущена LibreSSL 3.9.2» . Проверено 12 мая 2024 г.
  2. ^ «ЛибреССЛ» . Проверено 14 марта 2024 г.
  3. ^ «Релизы LibreSSL» . Проверено 14 марта 2024 г.
  4. ^ «Релизы LibreSSL» .
  5. ^ Jump up to: а б Унангст, Тед (22 апреля 2014 г.). «Истоки либрессла» . зенитная артиллерия . Проверено 24 апреля 2014 г.
  6. ^ Кернер, Шон Майкл (22 апреля 2014 г.). «После Heartbleed OpenSSL разветвляется на LibreSSL» . электронная неделя . Проверено 24 апреля 2014 г.
  7. ^ «Больше не просто очистка: анонсирован проект LibreSSL» . Слэшдот . 22 апреля 2014 года . Проверено 24 апреля 2014 г.
  8. ^ М, Константин (17 мая 2014 г.). Соулскилл (ред.). «30-дневное обновление статуса LibreSSL» . Слэшдот .
  9. ^ «ЛибреССЛ» .
  10. ^ Jump up to: а б Зельцер, Ларри (21 апреля 2014 г.). «OpenBSD расширяет, сокращает и исправляет OpenSSL» . Нулевой день . ЗДНет . Проверено 21 апреля 2014 г.
  11. ^ Хесслер, Питер (15 апреля 2014 г.). «OpenBSD начала масштабную очистку OpenSSL» . Журнал OpenBSD . Проверено 24 апреля 2014 г.
  12. ^ Jump up to: а б Бродкин, Джон (22 апреля 2014 г.). «Код OpenSSL не подлежит восстановлению, — утверждает создатель форка «LibreSSL» . Арс Техника . Проверено 24 апреля 2014 г.
  13. ^ Jump up to: а б с д Жакуто, Антуан (1 ноября 2014 г.). «Выпущена OpenBSD 5.6» . openbsd-announce (список рассылки) . Проверено 28 октября 2015 г.
  14. ^ МакКаллион, Джейн (22 апреля 2014 г.). «Heartbleed: LibreSSL очищает «безответственный» код OpenSSL» . ПК Про . Архивировано из оригинала 26 июня 2014 года . Проверено 23 апреля 2014 г.
  15. ^ Бек, Боб (17 мая 2014 г.). «LibreSSL: первые 30 дней и будущее» . Проверено 17 мая 2014 г.
  16. ^ «Re: Семь исправлений безопасности OpenSSL» . oss-sec (список рассылки). 5 июня 2014 года . Проверено 9 июня 2014 г.
  17. ^ де Раадт, Тео (5 июня 2014 г.). «Re: новые недостатки OpenSSL» . openbsd-misc (список рассылки) . Проверено 9 июня 2014 г.
  18. ^ Jump up to: а б Лэнгли, Адам (20 июня 2014 г.). «BoringSSL (20 июня 2014 г.)» . Imperialviolet.org . Проверено 21 июня 2014 г.
  19. ^ Гудин, Дэн (20 июня 2014 г.). «Google представляет независимую «вилку» OpenSSL под названием «BoringSSL » . Арс Техника . Проверено 21 июня 2014 г.
  20. ^ Синг, Джоэл (21 июня 2014 г.). «OpenBSD — lib/libssl/src/crypto/evp evp_aead.c e_chacha20poly1305.c» . Архивировано из оригинала 22 июня 2014 года . Проверено 21 июня 2014 г.
  21. ^ де Раадт, Тео (21 июня 2014 г.). «Борингссл и тому подобное» . openbsd-tech (список рассылки) . Проверено 28 октября 2015 г.
  22. ^ Бек, Боб (8 июля 2014 г.). «OpenBSD — lib/libcrypto/crypto getentropy_osx.c getentropy_solaris.c» . Архивировано из оригинала 22 июля 2014 года . Проверено 8 июля 2014 г.
  23. ^ Бек, Боб (20 июня 2014 г.). «OpenBSD — lib/libcrypto/crypto getentropy_linux.c» . Архивировано из оригинала 9 июля 2014 года.
  24. ^ «LibreSSL слабеет в Linux [LWN.net]» . lwn.net . Проверено 6 января 2021 г.
  25. ^ «PEP 644 — требуется OpenSSL 1.1.1 или новее» .
  26. ^ «Журнал изменений — документация Python 3.4.10» .
  27. ^ Марино, Джон. «[Бета] Переключите базу на использование частных библиотек LibreSSL» . Проверено 9 ноября 2018 г.
  28. ^ «Выпуск Млечного Пути v0.3» . Проект «Гипербола». 23 сентября 2019 г. Проверено 23 сентября 2019 г.
  29. ^ Рауэ, Стефан. «OpenELEC Mediacenter — [Бета] Выпущена OpenELEC 6.0 Beta 2» . Openelec.tv . Архивировано из оригинала 26 ноября 2015 года . Проверено 20 августа 2015 г.
  30. ^ «PC-BSD превращается в TrueOS» . Архивировано из оригинала 16 сентября 2016 года . Проверено 16 сентября 2016 г.
  31. ^ ФонФанж, Марк. «PC-BSD 10.1.2: Интервью с Крисом Муром» . Официальный блог PC-BSD . Проверено 15 октября 2015 г.
  32. ^ «Добавить DEFAULT_VERSIONS=ssl=XXX» . Svnweb.freebsd.org .
  33. ^ «Проект: LibreSSL — Gentoo» . Wiki.gentoo.org .
  34. ^ Горный, Михал (5 января 2021 г.). «Поддержка LibreSSL прекращена» . www.gentoo.org . Проверено 30 марта 2021 г.
  35. ^ Горный, Михал (31 декабря 2020 г.). «Ошибка 762847 — dev-libs/libressl: Удаление» . bugs.gentoo.org . Проверено 30 марта 2021 г.
  36. ^ Горный, Михал (28 декабря 2020 г.). «[gentoo-dev] [RFC] Прекращаем поддержку LibreSSL?» . archives.gentoo.org . Проверено 30 марта 2021 г.
  37. ^ «Выпущена версия OPNsense 15.7» . ОПНСенс . Проверено 15 октября 2015 г.
  38. ^ «Выпущена версия OPNsense 22.7» . ОПНСенс . Проверено 5 августа 2022 г.
  39. ^ Орр, Уильям (23 апреля 2014 г.). «Краткий обзор прошедшей недели» . OpenSSL Валгалла Рэмпейдж . Проверено 30 апреля 2014 г.
  40. ^ «Коммит OpenBSD LibreSSL CVS Calloc» . Secure.freshbsd.org .
  41. ^ «Двойные бесплатные фиксации OpenBSD LibreSSL CVS» . Secure.freshbsd.org .
  42. ^ «Небезопасное заполнение OpenBSD LibreSSL CVS» . Secure.freshbsd.org .
  43. ^ «Заполнение ядра OpenBSD LibreSSL CVS» . Secure.freshbsd.org . Архивировано из оригинала 16 сентября 2014 года.
  44. ^ Jump up to: а б с «Переносимый журнал изменений LibreSSL» . LibreSSL. 15 октября 2021 г.
  45. ^ Бек, Боб (12 октября 2014 г.). «Выпущена LibreSSL 2.1.0» . openbsd-announce (список рассылки) . Проверено 28 октября 2015 г.
  46. ^ Бек, Боб (9 декабря 2014 г.). «Выпущен LibreSSL 2.1.2» . openbsd-announce (список рассылки) . Проверено 28 октября 2015 г.
  47. ^ Jump up to: а б Кук, Брент (22 января 2015 г.). «Выпущен LibreSSL 2.1.3» . openbsd-announce (список рассылки) . Проверено 28 октября 2015 г.
  48. ^ Кук, Брент (4 марта 2015 г.). «Выпущен LibreSSL 2.1.4» . openbsd-announce (список рассылки) . Проверено 28 октября 2015 г.
  49. ^ Кук, Брент (17 марта 2015 г.). «Выпущен LibreSSL 2.1.5» . openbsd-announce (список рассылки) . Проверено 28 октября 2015 г.
  50. ^ Кук, Брент (19 марта 2015 г.). «Выпущен LibreSSL 2.1.6» . openbsd-announce (список рассылки) . Проверено 28 октября 2015 г.
  51. ^ Кук, Брент (11 июня 2015 г.). «Выпущены версии LibreSSL 2.1.7 и 2.2.0» . openbsd-announce (список рассылки) . Проверено 28 октября 2015 г.
  52. ^ Jump up to: а б Кук, Брент (9 июля 2015 г.). «Выпущен LibreSSL 2.2.1» . openbsd-announce (список рассылки) . Проверено 28 октября 2015 г.
  53. ^ Jump up to: а б Кук, Брент (6 августа 2015 г.). «Выпущена LibreSSL 2.2.2» . openbsd-announce (список рассылки) . Проверено 28 октября 2015 г.
  54. ^ Бек, Боб (16 октября 2014 г.). «Выпущен LibreSSL 2.1.1» . openbsd-tech (список рассылки).
  55. ^ «OpenBSD LibreSSL CVS OPENSSL_NO_HEARTBEATS» .
  56. ^ Миод Валлат. «Удалить поддержку i386 и amd64 с прямым порядком байтов» . openbsd-cvs (список рассылки).
  57. ^ Перлрот, Николь (10 сентября 2013 г.). «Правительство объявляет о шагах по восстановлению доверия к стандартам шифрования» . Нью-Йорк Таймс . Проверено 9 мая 2014 г.
  58. ^ «Будущее (или его отсутствие) объектного модуля FIPS LibreSSL» .
  59. ^ Бек, Боб (3 августа 2014 г.). «Выпущен LibreSSL 2.0.4» . openbsd-announce (список рассылки) . Проверено 28 октября 2015 г.
  60. ^ Валлат, Миод (10 ноября 2014 г.). «Re: CVS: cvs.openbsd.org: src» . openbsd-cvs (список рассылки) . Проверено 28 октября 2015 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 877baadaae131c0323e3861b38034042__1724259420
URL1:https://arc.ask3.ru/arc/aa/87/42/877baadaae131c0323e3861b38034042.html
Заголовок, (Title) документа по адресу, URL1:
LibreSSL - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)