Taggat med: openssl

Säkerhetsuppdateringar från Apple

Apple släppte igår en stor mängd säkerhetsuppdateringar till iOS, macOS, watchOS samt tvOS. En eller flera av dessa åtgärdar säkerhetsbrister som gör att en angripare kan exekvera kod över nätverket.

Även så åtgärdas tre kryptobuggar där två av dessa är relaterade till S/MIME (e-postkryptering):

  • A S/MIME encrypted email may be inadvertently sent unencrypted if the receiver’s S/MIME certificate is not installed
  • An encryption issue existed with S/MIME credetials. The issue was addressed with additional checks and user control.
  • OpenSSL X.509 IPAddressFamily parsing

Hela listan med säkerhetsåtgärder följer nedan:

apache

Available for: macOS High Sierra 10.13.1, macOS Sierra 10.12.6, OS X El Capitan 10.11.6

Impact: Processing a maliciously crafted Apache configuration directive may result in the disclosure of process memory

Description: Multiple issues were addressed by updating to version 2.4.28.

CVE-2017-9798

curl

Available for: macOS High Sierra 10.13.1, macOS Sierra 10.12.6, OS X El Capitan 10.11.6

Impact: Malicious FTP servers may be able to cause the client to read out-of-bounds memory

Description: An out-of-bounds read issue existed in the FTP PWD response parsing. This issue was addressed with improved bounds checking.

CVE-2017-1000254: Max Dymond

Directory Utility

Available for: macOS High Sierra 10.13 and macOS High Sierra 10.13.1

Not impacted: macOS Sierra 10.12.6 and earlier

Impact: An attacker may be able to bypass administrator authentication without supplying the administrator’s password

Description: A logic error existed in the validation of credentials. This was addressed with improved credential validation.

CVE-2017-13872

Intel Graphics Driver

Available for: macOS High Sierra 10.13.1

Impact: An application may be able to execute arbitrary code with kernel privileges

Description: A memory corruption issue was addressed with improved memory handling.

CVE-2017-13883: an anonymous researcher

Intel Graphics Driver

Available for: macOS High Sierra 10.13.1

Impact: A local user may be able to cause unexpected system termination or read kernel memory

Description: An out-of-bounds read issue existed that led to the disclosure of kernel memory. This was addressed through improved input validation.

CVE-2017-13878: Ian Beer of Google Project Zero

Intel Graphics Driver

Available for: macOS High Sierra 10.13.1

Impact: An application may be able to execute arbitrary code with system privileges

Description: An out-of-bounds read was addressed through improved bounds checking.

CVE-2017-13875: Ian Beer of Google Project Zero

IOAcceleratorFamily

Available for: macOS High Sierra 10.13.1, macOS Sierra 10.12.6, OS X El Capitan 10.11.6

Impact: An application may be able to execute arbitrary code with system privileges

Description: A memory corruption issue was addressed with improved memory handling.

CVE-2017-13844: found by IMF developed by HyungSeok Han (daramg.gift) of SoftSec, KAIST (softsec.kaist.ac.kr)

IOKit

Available for: macOS High Sierra 10.13.1

Impact: An application may be able to execute arbitrary code with system privileges

Description: An input validation issue existed in the kernel. This issue was addressed through improved input validation.

CVE-2017-13848: Alex Plaskett of MWR InfoSecurity

CVE-2017-13858: an anonymous researcher

IOKit

Available for: macOS High Sierra 10.13.1, macOS Sierra 10.12.6, OS X El Capitan 10.11.6

Impact: An application may be able to execute arbitrary code with system privileges

Description: Multiple memory corruption issues were addressed through improved state management.

CVE-2017-13847: Ian Beer of Google Project Zero

Kernel

Available for: macOS High Sierra 10.13.1, macOS Sierra 10.12.6, OS X El Capitan 10.11.6

Impact: An application may be able to execute arbitrary code with kernel privileges

Description: A memory corruption issue was addressed with improved memory handling.

CVE-2017-13862: Apple

Kernel

Available for: macOS High Sierra 10.13.1, macOS Sierra 10.12.6, OS X El Capitan 10.11.6

Impact: An application may be able to read restricted memory

Description: An out-of-bounds read was addressed with improved bounds checking.

CVE-2017-13833: Brandon Azad

Kernel

Available for: macOS High Sierra 10.13.1

Impact: An application may be able to execute arbitrary code with kernel privileges

Description: A memory corruption issue was addressed with improved memory handling.

CVE-2017-13876: Ian Beer of Google Project Zero

Kernel

Available for: macOS High Sierra 10.13.1, macOS Sierra 10.12.6, OS X El Capitan 10.11.6

Impact: An application may be able to read restricted memory

Description: A type confusion issue was addressed with improved memory handling.

CVE-2017-13855: Jann Horn of Google Project Zero

Kernel

Available for: macOS High Sierra 10.13.1, macOS Sierra 10.12.6, OS X El Capitan 10.11.6

Impact: A malicious application may be able to execute arbitrary code with kernel privileges

Description: A memory corruption issue was addressed with improved memory handling.

CVE-2017-13867: Ian Beer of Google Project Zero

Kernel

Available for: macOS High Sierra 10.13.1

Impact: An application may be able to read restricted memory

Description: A validation issue was addressed with improved input sanitization.

CVE-2017-13865: Ian Beer of Google Project Zero

Kernel

Available for: macOS High Sierra 10.13.1, macOS Sierra 10.12.6, OS X El Capitan 10.11.6

Impact: An application may be able to read restricted memory

Description: A validation issue was addressed with improved input sanitization.

CVE-2017-13868: Brandon Azad

CVE-2017-13869: Jann Horn of Google Project Zero

Mail

Available for: macOS High Sierra 10.13.1

Impact: A S/MIME encrypted email may be inadvertently sent unencrypted if the receiver’s S/MIME certificate is not installed

Description: An inconsistent user interface issue was addressed with improved state management.

CVE-2017-13871: an anonymous researcher

Mail Drafts

Available for: macOS High Sierra 10.13.1

Impact: An attacker with a privileged network position may be able to intercept mail

Description: An encryption issue existed with S/MIME credetials. The issue was addressed with additional checks and user control.

CVE-2017-13860: Michael Weishaar of INNEO Solutions GmbH

OpenSSL

Available for: macOS High Sierra 10.13.1, macOS Sierra 10.12.6, OS X El Capitan 10.11.6

Impact: An application may be able to read restricted memory

Description: An out-of-bounds read issue existed in X.509 IPAddressFamily parsing. This issue was addressed with improved bounds checking.

CVE-2017-3735: found by OSS-Fuzz

Screen Sharing Server

Available for: macOS High Sierra 10.13.1, macOS Sierra 10.12.6

Impact: A user with screen sharing access may be able to access any file readable by root

Description: A permissions issue existed in the handling of screen sharing sessions. This issue was addressed with improved permissions handling.

CVE-2017-13826: Trevor Jacques of Toronto

Nyheterna i Transport Layer Security version 1.3 (TLS 1.3)

SSL och TLS har under lång tid säkrat upp en betydande del av den krypterade kommunikationen på Internet. Sedan SSL version 1.0 släpptes internt hos Netscape Communications år 1994 så har det hänt en hel del.

Den nya versionen som just nu håller på att utvecklas inom en arbetsgrupp hos IETF har versionsnumret 1.3 där målsättningen är högre prestanda samt tillhandahålla en ännu högre säkerhet. Man kan säga att designkriteriet för denna nya version är ”less is more” och det innebär att en hel del föråldrade krypton har fått stryka på foten:

  • RSA är borttaget – Tillhandahåller inte Forward Secrecy
  • Svaga Diffie-Hellman grupper kan inte användas (SSL_OP_SINGLE_DH_USE)
  • CBC är borta – Är orsaken till attacker såsom Lucky13 och BEAST
  • RC4 samt SHA1 får inte längre användas
  • Export-algoritmer (ansvarig för attacker såsom FREAK, LogJam etc)
  • Nytt är ChaCha-Poly1305 samt stöd för OCB-modes (tipstack till Joachim Strömbergson)
  • Algoritmen för RSA-padding är Probablilistic Signature Scheme (PSS)
  • Nytt meddelande av typen EncryptedExtension. Som nu är krypterat, tidigare skickades många okrypterat

När det gäller prestanda så har ett antal åtgärder införts:

  • 0-RTT samt 1-RTT

Genom att få ner antalet TCP-paket som måste skickas fram och tillbaka vid varje anslutning så kan snabbare TLS (och webbsidor etc) uppnås.

Här följer en bild hur 1-RTT ser ut där klienten skickar ett ClientHello direkt, samt så gissar klienten vilka krypton som kommer att användas:

När du sedan har en session etablerad så kan sedan 0-RTT användas vid senare tillfälle (Session Resumption) men detta möjliggör dock återuppspelningsattacker.

Vill du redan nu testa TLS 1.3 i Google Chrome så kan du göra följande:

  1. Skriv in ”chrome://flags/” i adressbaren och trycker enter
  2. Gå till ”Maximum TLS version enabled.” och välj ”TLS 1.3”
  3. Starta om Chrome

Och vill du testa med Firefox så behöver du ladda hem senaste nightly-build där TLS 1.3 är påslaget som standard.

Och nu när vi besöker kryptera.se och tar upp Developer Tools (DevTools) så synes följande:

Viktigt att tillägga är att TLS 1.3 inte är färdigt ännu och ändras löpande. Detta gör att mjukvara såsom OpenSSL är försiktiga med att göra förändringar. Den senaste uppdateringen till TLS 1.3 heter draft-19 och släpptes för cirka 2 veckor sedan.

För att exempelvis Nginx ska stödja TLS 1.3 så måste även OpenSSL stödja detta. Och OpenSSL kommer med stöd inom några veckor i version 1.1.1.

Uppdaterad: 2017-06-06, användes internt hos Netscape. Inte Mozilla som grundades först många år senare.

Sajter som är sårbara för LuckyNegative20 CVE-2016-2107

LuckyNegative20

En av de sårbarheter vi skrev om i förrgår går under CVE-2016-2107 eller LuckyNegative20. Filippo Varsoda är en av de som genomfört en analys av buggen samt lagt upp en sajt för att testa om man är sårbar. Buggen återfinnes i en tidigare fix i biblioteket OpenSSL.

Så här skriver Filippo om buggen på CloudFlares blogg:

a skilled MitM attacker can recover at least 16 bytes of anything it can get the client to send repeatedly just before attacker-controlled data (like HTTP Cookies, using JavaScript cross-origin requests).

A more skilled attacker than me might also be able to decrypt more than 16 bytes, but no one has shown that it’s possible yet.

Vi har genomfört en skanning på några svenska sajter, och många är sårbara. Men som ovan skriver så kräver det att du kan sitta i mitten för att utnyttja attacken.

Listan med sajter

  • aftonbladet.se
  • bankomat.se
  • bth.se
  • cert.se
  • coresec.se
  • detectify.com
  • di.se
  • dn.se
  • expressen.se
  • forsakringskassan.se
  • fxm.se
  • halon.se
  • hd.se
  • kau.se
  • liu.se
  • mdh.se
  • metro.se
  • migrationsverket.se
  • nwt.se
  • oru.se
  • ownit.se
  • privataaffarer.se
  • romab.com
  • sectra.com
  • sentor.se
  • specialfastigheter.se
  • spp.se
  • svtplay.se
  • svt.se
  • tre.se
  • volvofinans.se
  • www3.skatteverket.se (används av Skatteverkets App)

Listan ovan baseras på denna.

Ny version av OpenSSL åtgärdar allvarliga brister

OpenSSLOpenSSL åtgärdade nyligen sex stycken identifierade sårbarheter. De två allvarligaste bristerna var minneskorruption i ASN.1-avkodaren samt en som möjliggör padding-attacker mot AES-NI CBC MAC.

Att hantera ASN.1 från okända källor är något som är otroligt svårt och komplext och därmed finns en hög sannolikhet för sårbarheter. För just denna allvarliga bugg är resultatet av två andra icke allvarliga buggar.

Samtliga åtgärdade sårbarheter med CVE

  • Memory corruption in the ASN.1 encoder (CVE-2016-2108)
  • Padding oracle in AES-NI CBC MAC check (CVE-2016-2107)
  • EVP_EncodeUpdate overflow (CVE-2016-2105)
  • EVP_EncryptUpdate overflow (CVE-2016-2106)
  • ASN.1 BIO excessive memory allocation (CVE-2016-2109)
  • EBCDIC overread (CVE-2016-2176)

Uppgradera till följande versioner:

  • OpenSSL 1.0.2h  för 1.0.2 användare
  • OpenSSL 1.0.1t  för 1.0.1 användare

Och som vanligt finns mer information att hitta på openssl.org

Även så har det nyligen uppdagats att nyckelderiveringen för kommandot openssl enc enbart består av en runda md5. Detta är otroligt svagt och därför bör openssl undvikas när det gäller kryptering av filer, och det gäller inte enbart openssl enc utan även liknande kommandon såsom openssl aes-256-cbc -a, läs mer här:

Weak Key Derivation in OpenSSL

Sex nya sårbarheter i OpenSSL

opensslAtt desto fler ögon som tittar på kod leder till säkrare mjukvara råder det ingen tvivel om. Allt sedan Heartbleed-sårbarheter uppdagades i OpenSSL har flertalet personer granskat koden och identifierat brister.

Nu släpper OpenSSL nya versioner som åtgärdar minst sex av dessa identifierade bristerna. Den allvarligaste medger att en angripare kan modifiera innehållet i en krypterad anslutning mellan klient och server.

Dock så måste både server och klient inneha en sårbar version för att attacken ska gå att genomföras. Samtliga OpenSSL-versioner på klientsidan är sårbara men enbart version 1.0.1 samt 1.0.2-beta1 på serversidan.

  • ChangeCipherSpec: SSL/TLS MITM vulnerability (CVE-2014-0224)

Övriga brister som åtgärdats är följande:

  • DTLS recursion flaw (CVE-2014-0221)
  • DTLS invalid fragment vulnerability (CVE-2014-0195)
  • SSL_MODE_RELEASE_BUFFERS NULL pointer dereference (CVE-2014-0198)
  • SSL_MODE_RELEASE_BUFFERS session injection or denial of service (CVE-2010-5298)
  • Anonymous ECDH denial of service (CVE-2014-3470)

Här kan du läsa mer om sårbarheterna:

Samt:

Akamais patch till OpenSSL

Akamai-logoSom vi skrev om i går så släppte Akamai en patch till OpenSSL som gör att de skyddsvärda p q och d delen av den privata nyckeln skyddas med hjälp av dess secure_malloc().

Dock så innehåller denna patch ett antal olika fel som Willem Pinckaers påpekar. Bland annat så skyddas ej parametrarna för den kinesiska restsatsen. Samt så innehåller minnet fortfarande p q och d parametrarna:

Start the server, do one SSL request to it. Dump all memory, search for p/q/d and CRT parameters. You will find one copy of p,q, and d in the secure area. Outside of the 'secure' area you will find p,q, and the CRT parameters.

Du kan läsa Willems samtliga synpunkter på patchen i följande dokument:

Eller läsa ytterligare diskussion på HackerNews.

Heartbleed dag sex

broken-heartbleedYtterligare ett antal dagar har nu passerat sedan OpenSSL-buggen Heartbleed offentliggjordes och det är dags att göra ett antal till reflektioner.

Det har visat sig att buggen går att nyttja till att erhålla den privata nyckeln, framförallt via Hearbleed Challenge.

The bad news is that [discovery] changes our recommendation from: reissue and revoke as a medium priority to reissue and revoke as a high priority.

Skrev Matthew Prince, CEO på CloudFlare till Ars Technica.

Akamai har släppt en patch för att säkra upp minnesallokeringen i OpenSSL. Deras implementation går under namnet secure_malloc (OpenSSL använder sig av OPENSSL_malloc). Läs även mer här av Alex Clemmer.

Även oklart huruvida denna sårbarhet nyttjas innan den blev offentligt känd. EFF hävdar dock att så är fallet och har bevis på detta.

Bra saker som händer efter Heartbleed

OpenSSL får mer donationer som går att granska kodbasen samt så kontrollerar generellt fler ögon OpenSSL efter buggar.

Revokeringen av certifikat ses över då exempelvis Chrome har revokeringskontroll avstängt som standard.

Forward-secrecy eller PFS som det också kallas blir mer använt.

Uppdatering: Bra blogginlägg av Einar Otto Stangvik om hur han gick till väga för att hitta den privata nyckeln.

OpenSSL Heartbleed dag två

broken-heartbleedDet har nu gått över två dagar sedan nyheten släpptes om sårbarheten i OpenSSL, som går under namnet Heartbleed. Det börjar bli dags att sammanfatta samt dra några slutsatser om sårbarheten.

OpenSSL is not developed by a responsible team.

– Theo de Raadt (Källa)

  • Huruvida privata nycklar kan läckas är ännu oklart men för att vara på den säkra sidan så bör nya certifikat utfärdas och privata nycklar skapas.
  • Det har verifierats att åtminstone på FreeBSD så går det att få ut privata nycklar. Uppdatering: Om systemet nyligen startats. Källa
  • Sessionsnycklar dvs cookies är lätt att exfiltrera via Heartbleed.
  • Nätverkstrafik bör sparas ner i en cyklisk buffer (FIFO) för att ges möjlighet att gå tillbaka och se om sårbarheten nyttjas. Hur lång tid tillbaka begänsas av lagringsutrymmet. Även bra för att se vad som företaget eller organisationen blivit av med. Uppdatering: Så klart ej möjligt att se vad för data som exfiltrerats om du använder PFS som Jimmy Bergman påpekar i en kommentar.
  • Regler till IDS:er finns ut såsom Snort.
  • Finns även en Heartbleed Honeypot.
  • Stora drakarna såsom Google, Twitter och Facebook var ute tidigt och patchade mycket snabbt.
  • Några hundra av Internets topp 1000 största sajter är fortfarande sårbara.
  • Röster höjs över att C är ett skräpspråk som tillåter detta fel. Varför inte skriva om allt i Go, Python eller [sätt in valfritt språk här]?
  • Byta lösenord kan vara bra om du loggat in på någon https-tjänst de senaste dagarna.
  • OpenSSL finns inbakat i en hel del hårdvara som ännu ej uppdaterats.
  • Anonymiseringsnätverket Tor såg tidigt att antagonister försökte nyttja svagheten.
  • Prioriteringarna hos de som släppte informationen kan frågasättas. Exempelvis varför domänregistrering av heartbleed.com, skapande av logotyp etc kom före att informera mjukvaru-utvecklare.
  • Diversering bland mjukvaror är bra. Läs Dan Geers rapport om monoculture.
  • Det finns oneliners, script till Nessus och Nmap samt modul till Metasploit för att nyttja sårbarheten.
  • Flertalet tjänster gör det säkra före det osäkra och stänger helt ner tills de patchat och bytt nycklar. Exempelvis Mojang/Minecraft.
  • Många skiter i att eventuella privata nycklar röjts, exempelvis Swedbank. Uppdatering: De var troligtvis aldrig sårbara i första hand.
  • Buggen introducerades Sun, 1 Jan 2012 00:59:57 +0200 (22:59 +0000), se git.
  • Använd tvåfaktorsautentisering och Perfect Forward Secrecy (PFS).
  • Revokera nuvarande certifikat.

 

 

Finns säkert en hel till. Lämna gärna en kommentar nedan. Och avslutar med följande bild:

Heartbleed honeypot

.SE:s Internetfonden finansierar tre kryptoprojekt

I år delar .SE:s Internetfonden ut 12 miljoner kronor till fristående, icke-kommersiella projekt som verkar för en positiv utveckling av Internet i Sverige. I den senaste ansökningsomgången fick 14 projekt dela på nästan 2,8 miljoner kronor.

Sedan starten av Internetfonden år 2004 har över 150 projekt finansierats och i år får 14 projekt dela på nästan 2,8 miljoner kronor.

Av årets projekt så hittade vi tre stycken som ser att direkt vara relevant för Kryptera.se:s läsare:

Better-Than-Nothing-Security

Michael Cardell Widerkrantz, Malmö

BTNS är teknik för att på IP-nivå automatiskt kryptera, skydda integritet och garantera att vi fortfarande kommunicerar med samma motpart.

Beviljad summa: 200 000 kronor
Hemsida: http://hack.org/mc/hacks/btns/

Transparent e-postkryptering

Björn Påhlsson, Malmö

Beskrivning av projektet: Underlätta användningen av krypterad e-post genom att skapa ett automatiskt system som kan hantera kryptering av e-post utan slutanvändarens inblandning.

Beviljad summa: 70 000 kronor

Forskningsuppdrag om DANE för OpenSSL

Chalmers Tekniska Högskola AB, Göteborg

Beskrivning av projektet: Implementering av krypterad säkerhet i OpenSSL så att det kan användas både i existerande programvaror och med tiden inlemmas i OpenSSL för att öka säkerheten på Internet.

Beviljad summa: 260 000 kronor

Mer information om Internetfonden:
www.internetfonden.se

Uppdatering: Fixat ett fel gällande BTNS.

Allvarlig sårbarhet identifierad i OpenSSL

Tavis Ormandy som jobbar på Google med säkerhet har identifierat en allvarlig säkerhetsbrist i OpenSSL-funktionen asn1_d2i_read_bio. Som funktionsnamnet antyder så används den för läsning av ASN1-information, och inte konstigt att sårbarheter identifieras i denna typ av funktioner då standarden är en vildvuxen skog.

Enligt den säkerhetsnotis (se nedan) som skickats ut så är SSL/TLS-implementationer ej sårbara men det finns en viss chans att någon implementation använder sig av d2i_X509_bio och kan då vara sårbar.

OpenSSL-teamet vädjar till uppgradering till versionerna 1.0.1a, 1.0.0i eller 0.9.8v.

Källa: https://openssl.org/news/secadv_20120419.txt