Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Software-update: OpenSSL 1.1.0h / 1.0.2o

OpenSSL is een bekend beveiligingsprogramma dat encryptiefuncties aanbiedt. Het bevat een implementatie van de tls- en ssl-protocollen, waarmee data versleuteld kan worden verstuurd en ontvangen. Voor meer informatie verwijzen we naar deze pagina. De ontwikkelaars hebben nieuwe versies uitgebracht met 1.1.0h en 1.0.2o als versieaanduidingen. De bijbehorende lijsten met veranderingen zien er als volgt uit:

Changes between 1.1.0g and 1.1.0h
  • Constructed ASN.1 types with a recursive definition could exceed the stack
    Constructed ASN.1 types with a recursive definition (such as can be found in PKCS7) could eventually exceed the stack given malicious input with excessive recursion. This could result in a Denial Of Service attack. There are no such structures used within SSL/TLS that come from untrusted sources so this is considered safe. This issue was reported to OpenSSL on 4th January 2018 by the OSS-fuzz project. (CVE-2018-0739)
  • Incorrect CRYPTO_memcmp on HP-UX PA-RISC
    Because of an implementation bug the PA-RISC CRYPTO_memcmp function is effectively reduced to only comparing the least significant bit of each byte. This allows an attacker to forge messages that would be considered as authenticated in an amount of tries lower than that guaranteed by the security claims of the scheme. The module can only be compiled by the HP-UX assembler, so that only HP-UX PA-RISC targets are affected. This issue was reported to OpenSSL on 2nd March 2018 by Peter Waltenberg (IBM). (CVE-2018-0733)
  • Add a build target 'build_all_generated', to build all generated files and only that. This can be used to prepare everything that requires things like perl for a system that lacks perl and then move everything to that system and do the rest of the build there.
  • Backport SSL_OP_NO_RENGOTIATION
    OpenSSL 1.0.2 and below had the ability to disable renegotiation using the (undocumented) SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS flag. Due to the opacity changes this is no longer possible in 1.1.0. Therefore the new SSL_OP_NO_RENEGOTIATION option from 1.1.1-dev has been backported to 1.1.0 to provide equivalent functionality. Note that if an application built against 1.1.0h headers (or above) is run using an older version of 1.1.0 (prior to 1.1.0h) then the option will be accepted but nothing will happen, i.e. renegotiation will not be prevented.
  • Removed the OS390-Unix config target. It relied on a script that doesn't exist.
  • rsaz_1024_mul_avx2 overflow bug on x86_64
    There is an overflow bug in the AVX2 Montgomery multiplication procedure used in exponentiation with 1024-bit moduli. No EC algorithms are affected. Analysis suggests that attacks against RSA and DSA as a result of this defect would be very difficult to perform and are not believed likely. Attacks against DH1024 are considered just feasible, because most of the work necessary to deduce information about a private key may be performed offline. The amount of resources required for such an attack would be significant. However, for an attack on TLS to be meaningful, the server would have to share the DH1024 private key among multiple clients, which is no longer an option since CVE-2016-0701. This only affects processors that support the AVX2 but not ADX extensions like Intel Haswell (4th generation). This issue was reported to OpenSSL by David Benjamin (Google). The issue was originally found via the OSS-Fuzz project. (CVE-2017-3738)
Changes between 1.0.2n and 1.0.2o
  • Constructed ASN.1 types with a recursive definition could exceed the stack
    Constructed ASN.1 types with a recursive definition (such as can be found in PKCS7) could eventually exceed the stack given malicious input with excessive recursion. This could result in a Denial Of Service attack. There are no such structures used within SSL/TLS that come from untrusted sources so this is considered safe. This issue was reported to OpenSSL on 4th January 2018 by the OSS-fuzz project. (CVE-2018-0739)
Versienummer 1.1.0h / 1.0.2o
Releasestatus Final
Besturingssystemen Windows 7, BSD, macOS, Solaris, UNIX, Windows Server 2008, Windows Server 2012, Windows 8, Windows 10
Website OpenSSL
Download https://www.openssl.org/source/
Licentietype Voorwaarden (GNU/BSD/etc.)

Door

Meukposter

6 Linkedin Google+

Bron: OpenSSL

Reacties (6)

Wijzig sortering
Ook bij deze OpenSSL-versies geldt dat het extra configure-argument "enable-ec_nistp_64_gcc_128" bij mij nog steeds een flinke speed boost oplevert, 2 tot 4 keer.

Deze switch staat niet standaard ingeschakeld, omdat Configure die niet automatisch kan vinden. Dat hangt namelijk af van het feit of GCC het ondersteunt (__uint128_t), de CPU unaligned data access tolereert en of het platform little endian is.
Controleren of GCC het op jouw platform ondersteunt doe je met "gcc -dM -E - </dev/null | grep __SIZEOF_INT128__ " en als je als output "#define __SIZEOF_INT128__ 16" krijgt dan wordt het ondersteund door GCC.

Mijn Nginx doet op een simpele budget-VPS met "enable-ec_nistp_64_gcc_128" gemakkelijk 80.000 requests per seconde op 1 core via ECC-certificaten, in plaats van 22.000.
Mijn Nginx doet op een simpele budget-VPS met "enable-ec_nistp_64_gcc_128" gemakkelijk 80.000 requests per seconde op 1 core via ECC-certificaten, in plaats van 22.000.
Interessant! Heeft het ook nog voordeel voor RSA-certificaten, of leent dit zich vooral voor ECC?
RSA gebruik ik alleen nog als backupfunctie (secundaire certificaten voor antieke browsers), nog geen 5% van het verkeer is RSA bij mij, dus ik zou het eigenlijk niet weten.
Mijn complete configure-opties zijn "enable-ec_nistp_64_gcc_128 -DCFLAGS='-march=native -O3 -flto -fuse-linker-plugin'" en ik kan het verschil tussen -O3 i.c.m. -flto wel merken (in totaal 11% performance gain) op alles, ook RSA, vergeleken met de standaard -O2 zonder -flto.
Dank voor de info. We gaan hier binnenkort een servermigratie doorvoeren samen met wat andere verbeteringen; zullen eens kijken of een switch naar ECC realistisch is. Die performance-winst maakt het in ieder geval wel een onderzoekje waard :)
Ik heb even wat opgezocht over deze build-optie, want ben best wel geļnteresseerd. Ik lees echter: "Enable it if your compiler defines SIZEOF_INT128, the CPU is little endian and it tolerates unaligned data access"
-> De eerste voorwaarde heb je uitgelegd (dank je daarvoor!)
-> De tweede voorwaarde lijkt mij voor de meeste processoren wel voldaan
-> maar de derde voorwaarde? Betekent dit dat deze optie een (veiligheids-)risico introduceert?
Nee die laatste optie heeft te maken met SSE instructies. In die SSE instructies kun je bijvoorbeeld 128 operaties tegelijk (binnen ongeveer 1 CPU cycle) uitvoeren op 1 core. Vooral handig voor vector/matrix operaties dus en al jaren geintegreerd in CPU's.
De CPU kan dit alleen als data al op een ^2 byte grid in het geheugen zit en zo direct naar de CPU kan. Als dat niet het geval is (bitje naar links of naar rechts) dan moet het eerst juist geschoven worden, anders "past" het niet. De nieuwere CPU's hebben hier geloof ik trucjes voor zodat ook un-aligned "past" met weinig snelheidverlies.
Dat verschuiven van data is een veilige operatie waarbij niet zomaar andere data tevoorschijn kan komen.


Om te kunnen reageren moet je ingelogd zijn


Apple iPhone X Google Pixel 2 XL LG W7 Samsung Galaxy S9 Dual Sim Google Pixel 2 Far Cry 5 Microsoft Xbox One X Apple iPhone 8

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank en Intermediair de Persgroep Online Services B.V. © 1998 - 2018 Hosting door True

*