Dezvoltatorii proiectului OpenBSD au prezentat lansarea versiunii portabile a pachetului LibreSSL 3.9.0, care reprezintă un fork al OpenSSL, destinat să asigure un nivel mai ridicat de securitate. Proiectul LibreSSL se concentrează pe suportul de calitate pentru protocoalele SSL/TLS, eliminând funcționalitățile inutile, adăugând măsuri suplimentare de securitate și realizând o curățare și refacere semnificativă a bazei de cod. Lansarea LibreSSL 3.9.0 este considerată experimentală, dezvoltând funcționalități care vor face parte din OpenBSD 7.5. Între timp, a fost creată o versiune stabilă LibreSSL 3.8.3, care a corectat câteva erori specifice pentru Windows și a întărit suportul pentru mecanismul de protecție CET (Control-flow Enforcement Technology).
Caracteristici ale LibreSSL 3.9.0:
- A fost adăugat suport pentru algoritmi de semnătură digitală bazată pe ECDSA cu hash-uri SHA-3.
- A fost adăugat suport HMAC cu hash-uri tăiate SHA-2 și SHA-3 ca PBE PRF.
- Au fost efectuate modificări pentru a îmbunătăți portabilitatea pe alte platforme. Pentru a evita problemele în cadrul legării statice, majoritatea simbolurilor exportate utilizate pentru asigurarea compatibilității sunt prefixate cu „libressl_”. În construcțiile bazate pe CMake, exportul simbolurilor de compatibilitate libcrypto a fost oprit.
- Au fost realizate modificări vizând îmbunătățirea compatibilității cu OpenSSL. De exemplu, au fost adăugate pseudosimboluri ChaCha20 și chacha20 pentru algoritmul ChaCha, unificată funcționarea funcțiilor SSL_library_init() și OPENSSL_init_ssl(), iar apelurile EVP_{CIPHER,MD}_CTX_init() au fost aduse la comportamentul OpenSSL.
- Utilitarul openssl a fost îmbogățit cu suport pentru flag-urile „-new -force_pubkey”, „-multivalue-rdn”, „-set_issuer”, „-set_subject” și „-utf8”.
- A avut loc trecerea de la utilizarea apelului OBJ_bsearch_() la funcția standard bsearch().
- Implementarea funcției by_file_ctrl(), EVP_Cipher{Init,Update,Final}() și API-ului OBJ_* a fost simplificată.
- A fost realizată o reorganizare majoră a API-ului EVP. Funcțiile EVP_add_{cipher,digest}() au fost eliminate.
- A fost simplificată gestionarea X509_TRUST.
- Funcțiile BIO_dump*() au fost rescrise.
- Suportul pentru tabele globale, neadaptate pentru utilizare multithreading, a fost oprit. Din acest motiv, nu mai este acceptată asocierea pseudonimelor cu cifrurile și hash-urile, adăugarea de șiruri proprii, metode ASN.1, PKEY și CRL.
- Funcțiile BIO_set(), BIO_{sn,v,vsn}printf(), sk_find_ex() și OBJ_bsearch_() au fost eliminate, precum și multe funcții API CRYPTO obsolete.
- Accesul public la API-ul X509_CERT_AUX și X509_TRUST a fost oprit.
- Suportul pentru algoritmii GOST și STREEBOG a fost oprit.
- Suportul pentru mecanismul CET (Control-flow Enforcement Technology) a fost extins, fiind utilizat pentru a proteja împotriva exploatărilor realizate prin tehnici de programare orientată pe retur (ROP, Return-Oriented Programming).
Sursa: opennet.ro
