Os desenvolvedores do projeto OpenBSD apresentaram o lançamento da edição portátil do pacote LibreSSL 3.9.0, que é um fork do OpenSSL focado em oferecer um nível mais alto de segurança. O projeto LibreSSL é voltado para o suporte de qualidade aos protocolos SSL/TLS, eliminando funcionalidades desnecessárias, acrescentando medidas de proteção adicionais e realizando uma limpeza e reformulação significativas da base de código. O lançamento do LibreSSL 3.9.0 é considerado experimental, onde recursos estão sendo desenvolvidos para serem incluídos no OpenBSD 7.5. Ao mesmo tempo, foi formada uma versão estável do LibreSSL 3.8.3, que corrige vários erros específicos do Windows e fortalece o suporte ao mecanismo de proteção CET (Control-flow Enforcement Technology).
Características do LibreSSL 3.9.0:
- Adicionada a suporte a algoritmos de assinatura digital baseados em ECDSA com hashes SHA-3.
- Adicionada a suporte a HMAC com hashes truncados SHA-2 e SHA-3 como PBE PRF.
- Alterações foram feitas para melhorar a portabilidade em outras plataformas. Para evitar problemas ao vincular estaticamente, a maior parte dos símbolos exportados usados para assegurar compatibilidade no LibreSSL agora possuem o prefixo «libressl_». Em builds baseadas em CMake, a exportação dos símbolos compat compatíveis do libcrypto foi interrompida.
- Alterações foram feitas para melhorar a compatibilidade com o OpenSSL. Por exemplo, foram adicionados os nomes alternativos ChaCha20 e chacha20 para o algoritmo ChaCha, unificada a operação das funções SSL_library_init() e OPENSSL_init_ssl(), e as chamadas EVP_{CIPHER,MD}_CTX_init() foram alinhadas ao comportamento do OpenSSL.
- A ferramenta openssl agora suporta as flags «-new -force_pubkey», «-multivalue-rdn», «-set_issuer», «-set_subject» e «-utf8».
- A transição do uso da chamada OBJ_bsearch_() para a função padrão bsearch() foi realizada.
- A implementação das funções by_file_ctrl(), EVP_Cipher{Init,Update,Final}() e API OBJ_* foi simplificada.
- Uma grande reorganização da API EVP foi realizada. As funções EVP_add_{cipher,digest}() foram removidas.
- O manuseio de X509_TRUST foi simplificado.
- As funções BIO_dump*() foram reescritas.
- O suporte a tabelas globais não adaptadas para uso multiprocessado foi interrompido. Como resultado, agora não é suportada a atribuição de aliases para cifras e hashes, adição de strings personalizadas, métodos ASN.1, PKEY e CRL.
- As funções BIO_set(), BIO_{sn,v,vsn}printf(), sk_find_ex() e OBJ_bsearch_() foram removidas, assim como muitas funções obsoletas da API CRYPTO.
- O acesso público à API X509_CERT_AUX e X509_TRUST foi interrompido.
- O suporte aos algoritmos GOST e STREEBOG foi interrompido.
- O suporte ao mecanismo CET (Control-flow Enforcement Technology) foi expandido, utilizado para proteger contra a execução de exploits baseados em técnicas de programação orientada a retorno (ROP, Return-Oriented Programming).
Fonte: opennet.ru
