Taggat med: openssl

Sårbarhet i OpenSSL:s ECDSA-implementation

En ny tidsattack (timing attack) har uppdagats i OpenSSL:s implementation av Elliptic Curve Digital Signature Algorithm (ECDSA). Med hjälp av denna attack så är det möjligt att läsa ut den privata nyckeln via exempelvis protokollet TLS. Sårbarheten hittades av Billy Bob Brumley och Nicola Tuveri:

”For over two decades, timing attacks have been an active area of research within applied cryptography. These attacks exploit cryptosystem or protocol implementations that do not run in constant time. When implementing an elliptic curve cryptosystem that provides side-channel resistance, the scalar multiplication routine is a critical component. In such instances, one attractive method often suggested in the literature is Montgomery’s ladder that performs a fixed sequence of curve and field operations.

This paper describes a timing attack vulnerability in OpenSSL’s ladder implementation for curves over binary fields. We use this vulnerability to steal the private key of a TLS server where the server authenticates with ECDSA signatures. Using the timing of the exchanged messages, the messages themselves, and the signatures, we mount a lattice attack that recovers the private key.”

Läs även:

Remote Timing Attacks are Still Practical:
http://eprint.iacr.org/2011/232.pdf

Ny version av OpenSSL

OpenSSL är ett av världens mest använda krypteringsbibliotek och finns inbyggt i allt från satelliter till bilar och tv-spelskonsoller. Nu har det kommit en uppdatering som får versionsnummer 0.9.8o samt 1.0.0a som åtgärdar ett antal säkerhetsbrister men även innehåller ett antal nya funktioner:

  • Stöd för TLS v1.1
  • Fixar för två säkerhetsbrister, se mer nedan.
  • Stöd för CMAC

Säkerhetbristerna är enligt följande:

CMS structures containing OriginatorInfo are mishandled this can write to invalid memory addresses or free up memory twice.

When verification recovery fails for RSA keys an uninitialised buffer with an undefined length is returned instead of an error code.

Mer information finns som vanligt på OpenSSL.org

OpenSSL version 1.0.0 är nu ute

Nu kommer äntligen OpenSSL i en version ett-utgåva. Detta betyder troligtvis att alla år av utveckling nu gett resultat och utvecklarna känner att OpenSSL håller en hög kvalité nog att släppa en version 1.

o RFC3280 path validation: sufficient to process PKITS tests.
o Integrated support for PVK files and keyblobs.
o Change default private key format to PKCS#8.
o CMS support: able to process all examples in RFC4134
o Streaming ASN1 encode support for PKCS#7 and CMS.
o Multiple signer and signer add support for PKCS#7 and CMS.
o ASN1 printing support.
o Whirlpool hash algorithm added.
o RFC3161 time stamp support.
o New generalised public key API supporting ENGINE based algorithms.
o New generalised public key API utilities.
o New ENGINE supporting GOST algorithms.
o SSL/TLS GOST ciphersuite support.
o PKCS#7 and CMS GOST support.
o RFC4279 PSK ciphersuite support.
o Supported points format extension for ECC ciphersuites.
o ecdsa-with-SHA224/256/384/512 signature types.
o dsa-with-SHA224 and dsa-with-SHA256 signature types.
o Opaque PRF Input TLS extension support.
o Updated time routines to avoid OS limitations.

OpenSSL hittas som vanligt här: http://openssl.org/

OpenSSL säkerhetsuppdatering

En ny version av det populära krypteringsbiblioteket OpenSSL finns nu ute. Denna version åtgärdar ett säkerhetsproblem som identifierats:

”Record of death” vulnerability in OpenSSL 0.9.8f through 0.9.8m
================================================================

In TLS connections, certain incorrectly formatted records can cause an OpenSSL client or server to crash  due to a read attempt at NULL.

Affected versions depend on the C compiler used with OpenSSL:

– If ’short’ is a 16-bit integer, this issue applies only to OpenSSL 0.9.8m.
– Otherwise, this issue applies to OpenSSL 0.9.8f through 0.9.8m.

Users of OpenSSL should update to the OpenSSL 0.9.8n release, which contains a patch to correct this issue. If upgrading is not immediately possible, the source code patch provided in this advisory should be  applied.

Bodo Moeller and Adam Langley (Google) have identified the vulnerability and prepared the fix.

OpenSSL finns som vanligt att ladda ner på openssl.org

OpenSSL version 0.9.8j släppt

En ny version av OpenSSL finns nu ute att tanka hem från openssl.org som innehåller en mycket viktig säkerhetsfix:

Several functions inside OpenSSL incorrectly checked the result after
calling the EVP_VerifyFinal function, allowing a malformed signature
to be treated as a good signature rather than as an error.  This issue
affected the signature checks on DSA and ECDSA keys used with
SSL/TLS.

Läs den fullständiga varningen: openssl.org/news/secadv_20090107.txt

Intressant att notera är även att det är Googles säkerhetsteam som hittat denna säkerhetsbugg.

OpenSSL version 0.9.8i ute

Det omåttligt populära kryptobiblioteket OpenSSL har nu kommit ut i en ny version, nämligen 0.9.8i.

Några av de många förändringar och förbättringar är:

*) Delta CRL support

*) Support for CRLs partitioned by reason code

*) Support for freshest CRL extension.

*) Initial indirect CRL support.

*) Add support for distinct certificate and CRL paths.

*) Add support for policy mappings extension.

*) Fixes to pathlength constraint, self issued certificate handling,
policy processing to align with RFC3280 and PKITS tests.
*) Support for name constraints certificate extension. DN, email, DNS
and URI types are currently supported.

*) To cater for systems that provide a pointer-based thread ID rather
than numeric, deprecate the current numeric thread ID mechanism and
replace it with a structure and associated callback type

*) Initial support for different CRL issuing certificates.

*) Removed effectively defunct crypto/store from the build.

*) Revamp of STACK to provide stronger type-checking.

*) Add a new SSL_MODE_RELEASE_BUFFERS mode flag to release unused buffer

RAM on SSL connections.

*) Revamp of LHASH to provide stronger type-checking.

*) Initial support for Cryptographic Message Syntax (aka CMS) based
on RFC3850, RFC3851 and RFC3852.

*) Add options to enc utility to support use of zlib compression BIO.

Några av dessa förändringar är sponsrade av Google. För att se samtliga ändringar:

http://www.openssl.org/source/exp/CHANGES

Föredrag om Debians OpenSSL-problem

Säkerhetsforskarna Jacob Appelbaum, Dino Dai Zovi samt Karsten Nohl höll nyligen ett föredrag på konferensen HOPE som gick av stapeln i New York. Deras föredrag handlade om OpenSSL-buggen som upptäcktes i Linux-distributionen Debian för några månader sedan.

Exempelvis: Genom att betala 49KR för att hyra 20 st virtuella servrar hos Amazon Simple Scalable Storage (S3) samt Elastic Compute Cloud (EC2) så är det möjligt att dekryptera SSL-trafik där någon av de 524,288 felaktiga nycklarna använts.

Se deras föredrag här: trailofbits.files.wordpress.com/2008/07/hope-08-openssl.pdf