Heartbleed-bug toont zwakte opensourcesoftware aan

Op 7 april 2014 werd de it-wereld opgeschrikt door de zogenoemde Heartbleed-bug. Inmiddels hebben de eerste slachtoffers zich al gemeld. De Canadese Revenue Agency maakte bekend dat hackers in zes uur tijd in totaal 900 sociale verzekeringsnummers wisten te bemachtigen door misbruik te maken van het Heartbleed-lek. Beveiligingsexperts van de firma Sophos verwachten dat Heartbleed wel drie tot vijf jaar kan nabloeden. OpenSSL is immers een populaire programmeerbibliotheek voor het implementeren van het SSL/TLS-protocol, dat wereldwijd sinds jaar en dag wordt toegepast. Voor de Sophos-software kwamen direct patches beschikbaar.

Het Nationaal Cyber Security Centrum (NCSC) spreekt van ‘een ernstige kwetsbaarheid’ en publiceerde een factsheet over Heartbleed. Veel webservers, VPN-servers, mailservers en andere applicaties maken volgens het NCSC gebruik van OpenSSL om beveiligde verbindingen op te zetten. Ook andere apparaten kunnen OpenSSL gebruiken. Voorbeelden zijn appliances, routers, Wi-Fi access points en sommige applicaties op clientsystemen. De meeste beveiligde verbindingen via het internet werken op basis van SSL/TLS. Een bekend voorbeeld is het HTTPS-protocol om een beveiligde verbinding met een webserver op te zetten. Om een verbinding te beveiligen met SSL/TLS is een certificaat nodig met een geheime sleutel. De geheime sleutel staat op de server of het andere apparaat opgeslagen, maar kan normaliter niet worden opgevraagd. Terwijl de server of het apparaat actief is, staat de geheime sleutel ook in het interne geheugen van de server of het andere apparaat opgeslagen.

Risico’s
Er is nu een kwetsbaarheid gevonden in OpenSSL waardoor een aanvaller van buitenaf het interne geheugen uit kan lezen van de applicatie die OpenSSL gebruikt. In het interne geheugen staat allerlei vertrouwelijke informatie opgeslagen, waaronder de geheime sleutels van certificaten, broncode van de webapplicaties, wachtwoorden van systemen en klanten en inloggegevens van gebruikers. De kwetsbaarheid ontstaat door een programmeerfout in de heartbeat-functionaliteit: de ontdekkers hebben de kwetsbaarheid daarom Heartbleed genoemd. De kwetsbare code is sinds maart 2012 onderdeel van OpenSSL: aanvallers hebben dus twee jaar de tijd gehad om misbruik te maken van deze kwetsbaarheid. Sinds de kwetsbaarheid is gepubliceerd, is er code publiek beschikbaar gekomen om deze kwetsbaarheid te misbruiken. Deze code wordt volgens het NCSC inmiddels op grote schaal gebruikt om apparaten te testen of aan te vallen.

Good and bad guys
Volgens managing director Pieter Lacroix van Sophos Nederland leven we in een wereld waar het steeds lastiger is om te onderscheiden wie de good guys en wie de bad guys zijn. “Ronduit verwerpelijk in dit verband is dat de Amerikaanse NSA blijkbaar dankbaar gebruik heeft gemaakt van het Heartbleed-lek,” zo vertelt Lacroix. “Doordat het steeds lastiger wordt om onderscheid te maken tussen goed en fout is een holistische aanpak van security essentieel. Een integrale benadering zorgt ervoor dat security kan worden verbeterd, zodat in de brij van data correlaties gelegd kunnen worden. Best of suite is wat dat betreft altijd te prefereren boven best of breed. Door Heartbleed zijn wij, net als iedereen trouwens, verrast.” Opensourcesoftware, zoals het OpenSSL-protocol, heeft volgens Lacroix zo zijn voor- en nadelen. “Een zwak punt van opensource is dat niemand zich uiteindelijk verantwoordelijk voelt voor het eindproduct en programmeerfouten. Ook de aansprakelijkheid is niet geregeld. De ontwikkelaars van de opensourcesoftware voelen zich weliswaar verantwoordelijk voor het deel dat ze zelf hebben geschreven, maar niet voor het totale eindproduct. Gedeelde verantwoordelijkheid is geen verantwoordelijkheid. Hoewel Sophos niet verantwoordelijk is voor OpenSSL hebben we nadrukkelijk wel onze verantwoordelijkheid genomen en alle kwetsbaarheden direct aangepakt.”

Patches
Volgens Lacroix werden helaas ook enkele Sophos-producten geraakt door het Heartbleed-lek. Sophos stond daarin overigens niet alleen. Bijna alle softwareleveranciers moesten aan de bak om de programmeerfout te herstellen via patches. Bij Sophos ging het om de versies 9.1 en 9.2 van het Unified Threat Management (UTM)-systeem, de Sophos Cloud en Sophos Anti-Virus for VMware vShield. In deze producten was gebruikgemaakt van het bewuste OpenSSL-protocol. De beveiligingsexperts van Sophos waren er als de kippen bij om het lek te dichten. In de speciaal daarvoor ingerichte Knowledgebase op de website van Sophos gaf de supportafdeling instructies hoe de kwetsbaarheden te fixen. Daarnaast verschenen op de bekroonde website Naked Security van Sophos diverse relevante artikelen. Zo publiceerde beveiligingsexpert Paul Ducklin, head of technology voor de regio Asia Pacific van Sophos, al op 8 april, een dag na de bekendmaking van het Heartbleed-lek, een artikel Anatomy of a data leakage bug – the OpenSSL heartbleed buffer overflow, waarin hij beschreef wat er precies aan de hand was. Samen met collega, senior security-adviseur Chester Wisniewski van Sophos werden zogenoemde Chet Chats ingesproken. In deze audio podcasts plaatsten ze de laatste ontwikkelingen in de juiste context. Reacties van websitebezoekers werden direct beantwoord en de pers werd uitvoerig te woord gestaan. Kortom: een mooi staaltje crisiscommunicatie.

Tot slot nog een brandende vraag die veel eindgebruikers zich zullen stellen. Is het nu echt strikt noodzakelijk om hals over kop alle wachtwoorden te wijzigen om er zeker van te zijn dat er geen gevoelige informatie meer wordt gelekt via servers met de heartbeat-functionaliteit? Hoewel dit op het eerste gezicht heel logisch lijkt, adviseert Ducklin eindgebruikers hierin enige terughoudendheid te betrachten. Zolang niet honderd procent zeker is dat de server een patch heeft gekregen, bestaat het risico dat het nieuwe wachtwoord alsnog in verkeerde handen komt. Eén ding is zeker: sinds 7 april jongstleden zijn cybercriminelen veel meer gefocust op de heartbeat-functionaliteit dan pakweg een jaar geleden…

Zes stappen tegen Heartbleed

  1. Inventariseer welke van uw servers en andere apparaten een kwetsbare versie van OpenSSL gebruiken.
  2. Inventariseer welke geheime sleutels van certificaten worden gebruikt op een kwetsbare server of ander apparaat.
  3. Upgrade alle apparaten met een kwetsbare versie van OpenSSL naar een versie die niet meer kwetsbaar is. Is upgraden niet mogelijk, compileer OpenSSL dan zonder ondersteuning voor de heartbeat-functionaliteit. Herstart de applicaties die OpenSSL gebruiken.
  4. Genereer nieuwe geheime sleutels en vraag nieuwe certificaten aan voor alle sleutels die mogelijk gecompromitteerd zijn (zie stap 2).
  5. Vervang de mogelijk gecompromitteerde sleutels en certificaten door nieuwe exemplaren op servers en andere apparaten met een geüpgradede versie van OpenSSL. Plaats geen nieuwe sleutels en certificaten op apparaten zolang deze nog kwetsbaar zijn.
  6. Laat uw certificaatleverancier de certificaten intrekken die u zojuist vervangen heeft.

Bron: Nationaal Cyber Security Centrum

Gerelateerde berichten...