[Dutch] Kwetsbare Pulse Connect Secure SSL-VPNs in Nederlandse IP-adresruimte: bevindingen en gedachten

  • UPDATE 2019-10-07: Mitigating Recent VPN Vulnerabilities (.pdf, advies uitgebracht door de Amerikaanse NSA). Citaat: “Multiple Nation State Advanced Persistent Threat (APT) actors have weaponized CVE-2019-11510, CVE-2019-11539, and CVE-2018-13379 to gain access to vulnerable VPN devices”.
  • UPDATE 2019-10-02: Vulnerabilities exploited in VPN products used worldwide (NCSC-UK, onderdeel van het Britse GCHQ).
  • UPDATE 2019-10-01: de publicaties van Volkskrant en Reporter Radio zijn vandaag besproken in de Tweede Kamer tijdens het vragenuurtje, op initiatief van Ronald van Raak (SP).
  • UPDATE 2019-09-29: als iemand vragen heeft — stel ze vooral en vermijd aannames cq onjuiste interpretaties. Ik ben goed bereikbaar via e-mail en Twitter (zie sidebar) en help graag mee.
  • UPDATE 2019-09-28: Netwerk honderden bedrijven, waaronder KLM, Shell en Schiphol, maandenlang lek (Volkskrant) en ‘Bedrijven en overheid maandenlang kwetsbaar door groot beveiligingslek’ (NOS).

    Qua oplossingsrichting is verdere drang/dwang uit Den Haag misschien niet nodig – er is reeds een wettelijke plicht voor verwerkingsverantwoordelijken tot adequate beveiliging van persoonsgegevens die is vastgelegd in Art 32. AVG; en de bestuursdwang richting vitale sector en digitale dienstverleners die is vastgelegd in Art. 27 Wbni.

    De oplossing zit in het bieden van meer ruimte voor proactief onderzoek (zoals scannen) en handelen: niet alleen aan NCSC, maar ook universiteiten en bedrijfsleven. Ik ben echter geen jurist — en het is nu een politiek vraagstuk. Ik roep politici op zich te laten informeren door de juiste mensen — waaronder inhoudelijk deskundigen, zoals technisch specialisten (o.a. uit CERT-gremia). Er wordt gesproken over doorzettingsmacht voor het NCSC. Laten we daar kalm en met koel hoofd over nadenken — dat vindt ook Jaap-Henk Hoepman — want doorzettingsmacht kan contraproductief zijn. Bijvoorbeeld in de goede/soepele verstandhouding tussen NCSC en haar doelgroepen, waarin drang/dwang vanuit NCSC ongewenste gevolgen kan hebben.

    Opmerking van algemene strekking: in beginsel hoeft niemand zich te schamen voor een kwetsbaarheid en zelfs niet voor compromitering. Techniek is complex en iedereen, ook de deskundige, kan iets over het hoofd zien of een menselijke (inschattings)fout maken. Schamen moet men zich wél als ernstige kwetsbaarheden langdurig onopgemerkt aanwezig zijn en blijven indien dat (mede) wordt veroorzaakt door passiviteit (bijvoorbeeld desinteresse) of risicoaversie (niet durven scannen/testen; terwijl kwaadwillenden dat wél doen). Het beschermen van overheid, bedrijfsleven en individuen op internet is een ‘whole of society’-vraagstuk. Iedereen die kan bijdragen aan verbetering, moet zich vrij voelen dat te doen, zonder te hoeven vrezen voor een strafblad (ervan uitgaande dat men zorgvuldig handelt: noodzaak, proportionaliteit, subsidiariteit), en die bijdragen moeten worden omarmd door ons allemaal. Wie dat doet, hoeft nimmer een promotie te worden ontzegd, verdient het niet om via media reputatieschade te lijden, en kan na onverhoopte compromitering een goed en eerlijk verhaal vertellen. Laat alle organisaties in onze samenleving het idee van Coordinated Vulnerability Disclosure (CVD; voorheen Responsible Disclosure/RD genaamd) omarmen. En laten we wat vergevingsgezinder zijn — ook richting organisaties met kwetsbaarheden — omwille van het hogere gemeenschappelijke doel: een voldoende veilige en vrije informatiesamenleving.

[Onderstaand bericht in samenwerking met Ralph Moonen, CTO bij Secura. Zie eventueel BNR Nieuwsradio, 2 september 2019: “Interne netwerk van tientallen Nederlandse bedrijven en organisaties staat wagenwijd open”.]

Pulse Secure, een spinoff van Juniper die het Juniper-product Junos Pulse zelfstandig heeft voortgezet onder een nieuw handelsmerk, is één van de grootste leveranciers van producten voor netwerktoegangsbeveiliging: marktonderzoekbedrijf Frost & Sullivan erkende het in oktober 2018 als één van de belangrijkste vier spelers in het marktsegment voor het MKB en grootbedrijven, met wereldwijd 20.000 klanten.

In april 2019 publiceerde Pulse Secure een kritiek beveiligingsadvies voor Pulse Connect Secure en Pulse Policy Secure, respectievelijk een SSL-VPN en NAC/BYOD-oplossing. Klanten van Pulse Secure gebruiken de producten voor beveiligde toegang van (bijvoorbeeld) medewerkers tot een extranet of een intern netwerk.

Het bijschrift in het advies luidt als volgt (markering is origineel):

Multiple vulnerabilities were discovered and have been resolved in Pulse Connect Secure (PCS) and Pulse Policy Secure (PPS). This includes an authentication by-pass vulnerability that can allow an unauthenticated user to perform a remote arbitrary file access on the Pulse Connect Secure gateway. This advisory also includes a remote code execution vulnerability that can allow an authenticated administrator to perform remote code execution on Pulse Connect Secure and Pulse Policy Secure gateways. Many of these vulnerabilities have a critical CVSS score and pose significant risk to your deployment. We strongly recommend to upgrade to the corresponding version with the fix as soon as possible.

De beveiligingspatches, die dus reeds in april 2019 zijn gepubliceerd door de vendor, verhelpen een reeks ernstige kwetsbaarheden. Daarvan had CVE-2019-11510 de hoogst mogelijke (CVSSv3-)kwetsbaarheidscore: 10.

Via die kwetsbaarheid kan een anonieme, niet-ingelogde aanvaller op afstand vanaf internet willekeurige bestanden uitlezen, waaronder de .mdb-database met gebruikersnamen, wachtwoorden (in leesbare en/of ontsleutelbare vorm) en sessie-identifiers van VPN-sessies. Actieve sessies kunnen worden gekaapt (bron); trouwens ook via CVE-2019-11540, een cross-site script inclusion kwetsbaarheid, in combinatie met (bijvoorbeeld) BeEF. Tweefactorauthenticatie is daarmee ook buitenspel gezet. In combinatie met andere kwetsbaarheden kan ook infectie met malware/spionage-software plaatsvinden.

Het is aan systeem- c.q. netwerkbeheerders bij organisaties die deze producten gebruiken om op de hoogte zijn van deze beveiligingspatch(es) en deze vrijwel onmiddelijk installeren (eventueel via een noodprocedure binnen het normale change management-proces). Al dan niet op aanwijzing van hun CISO, naar aanleiding van een beveiligingsadvies van het NCSC, en/of een tip van een derde. De realiteit toont aan dat dat in dit geval bij veel organisaties niet goed is verlopen.

In augustus hebben de Taiwanese ontdekkers van de kwetsbaarheden — Orange Tsai en Meh Chang van DEVCORE, die uitstekend werk hebben geleverd — tijdens Black Hat USA 2019 (slides in .pdf-formaat) en DEF CON 27 (videos) details van hun ontdekkingen gepubliceerd, en vrij snel daarna werd o.a. CVE-2019-11510 being exploited in the wild gezien. Op zaterdagochtend 24 augustus was dat te zien in de logs van dit blog (scroll in het grijze schermpje naar rechts om de rest v/d regel te zien):

/var/log/www.cyberwar.nl-access.bloglog:- 81.40.150.167 - - [24/Aug/2019:10:45:57 +0200] "GET /dana-na/../dana/html5acc/guacamole/../../../../../../etc/passwd?/dana/html5acc/guacamole/ HTTP/1.1" 400 226 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

Naar aanleiding daarvan is onderzoek verricht op Nederlandse IP-adressen. Daarover is zaterdagavonds een heads-up gestuurd aan het NCSC (cert@ncsc.nl), die daarop terugbelde met een ontvangstbevestiging. Zondagochtend 25 augustus is het resultaat van het onderzoek(je) — een lijst met 538 kwetsbare Pulse Connect Secure-systemen — aan het NCSC doorgegeven (cert@ncsc.nl). In de communicatie met het NCSC hebben we dat weekend twee gevallen uitgelicht die (volgens ons) in potentie als “ernstig” of “zeer ernstig” zijn te kwalificeren voor nationale veiligheid. Beide systemen zijn vrijwel direct gepatcht.

De afgelopen week is dagelijks opnieuw getest (en dat blijft de komende tijd doorgaan). De uitkomst is als volgt:

Nota bene: het is mogelijk dat er méér kwetsbare systemen bestaan dan tijdens dit onderzoek zijn gevonden. Van de systemen die wél zijn meegeteld is aannemelijk dat die daadwerkelijk kwetsbaar zijn (en dus geen foutpositieve, zoals een honeypot). Niet elk systeem is van een Nederlandse organisatie: er zitten ook buitenlandse organisaties bij die gebruikmaken van de goede internetinfrastructuur die we in Nederland hebben.

Ten tijde van schrijven zijn dus nog ruim 300 Pulse Connect Secure SSL-VPN’s op Nederlandse IP-adresruimte kwetsbaar (*) voor ten minste CVE-2019-11510.

Het initiële lijstje van kwetsbare systemen in Nederlandse IP-adresruimte loog er niet om — het omvatte onder meer:

  • Rijksoverheid
  • lokale overheden
  • luchtvaartsector (zowel flight operators als industrie/onderzoek)
  • beursgenoteerde bedrijven (o.a. met high-tech intellectueel eigendom)
  • defensie-industrie (10 organisaties)
  • onderwijssector (waaronder een universiteit en een hogeschool)
  • financiële sector (meerdere banken, verzekeraars, belasting- en administratiekantoren)
  • ICT-bedrijven (meerdere bekende/grote namen, met o.a. Defensie als klant; en enkele ICT-beveiligingsbedrijven)
  • havenbedrijven
  • petrochemische industrie
  • zorgpartijen (o.a. zorgaanbieders en nationale zorg-ICT)
  • enkele kleinere ISPs en telecomproviders
  • […meer…]

Attributie aan de organisaties is gebaseerd op een combinatie van WHOIS-gegevens van het IP-adres, de systeem-/domeinnamen in het TLS-certificaat, en PTR- en A-records in DNS. Slechts in enkele gevallen ging het — oordelend naar die gegevens — om een test- of ontwikkelsysteem. De rest betreft productieomgevingen of voormalige productieomgevingen. In voormalige productieomgevingen kunnen nog altijd actuele gebruikersnamen/wachtwoorden staan; dus ook dán is er in potentie een ‘echt’ probleem, ook als die omgeving onmiddels is ontkoppeld van de rest van het netwerk.

Organisaties die Pulse Connect Secure gebruiken doen er goed aan hun logs te controleren op aanwezigheid van de volgende waarden (zonder de “[…]”):

[...]/data/runtime/mtmp/lmdb/dataa/data.mdb?[...]
[...]/data/runtime/mtmp/lmdb/randomVal/data.mdb?[...]
[...]/data/runtime/mtmp/system?[...]

Als één of meer hiervan succesvol is gedownload door een onbekende derde dan is het zaak de VPN-gebruikers onmiddellijk hun wachtwoord te laten wijzigen op alle systemen waar zij dat wachtwoord gebruiken. Hopelijk betreft dat niet óók hun privéaccounts bij Facebook, Google, Apple, enzovoorts; hergebruik van wachtwoorden blijft een hardnekkig fenomeen.

Het NCSC heeft meerdere meldingen ontvangen inzake Pulse Secure en verschillende partijen geïnformeerd. Ons (Secura) is niet bekend welke partijen wel en welke niet. Vanwege de ernst van de situatie hebben ook wij direct actie in gang gezet (better safe than sorry): een reeks organisaties is vorige week door ons gebeld en een meerdere kwetsbare systemen zijn inmiddels gepatcht. Ongetwijfeld zullen meer partijen zo’n inspanning hebben ondernomen. We hebben het echter druk genoeg met onze normale werkzaamheden en zouden dit dus liever niet hoeven doen; maar voelen het een beetje als een morele plicht (if not us, then who?).

Dit soort situaties is onacceptabel: het kan niet zo zijn dat honderden systemen — in dit geval ook bij grootbedrijven en in vitale sectoren — na het bekend worden van ernstige kwetsbaarheden nog maandenlang actief zijn als sitting ducks voor kwaadwillenden.

Daarover het volgende.

Zowel het NCSC als private ICT-beveiligingsbedrijven als journalisten als (andere) individuele onderzoekers hebben beperkte mogelijkheden en resources. Het testen van andermans systemen op een kwetsbaarheid kan strafbaar zijn onder de wet computercriminaliteit, ook al zijn de bedoelingen goed en doorstaat de werkwijze de toets aan subsidiariteit/proportionaliteit (zo was ons onderzoek beperkt tot het uitlezen van versie-informatie en een bestand dat op alle Pulse Connect Secure-systemen identitiek is — dus geen gebruikersgegevens verwerven, laat staan code injecteren of commando’s uitvoeren).

Coordinated Vulnerability Disclosure (CVD; voorheen Responsible Disclosure) is voor dit soort cases hooguit een lapmiddel, want te arbeidsintensief gegeven de urgentie en omvang van het aantal kwetsbare organisaties. De verantwoordelijkheid kan niet liggen bij individuele onderzoekers of beveiligingsbedrijven die ongevraagd ad-hoc testen. Maar getuige wat is aangetroffen kan de verantwoordelijkheid vooralsnog óók niet alleen liggen bij de private organisaties zelf. En de vendor heeft gedaan wat deze moest doen: een beveiligingspatch uitbrengen en daarover communiceren aan klanten.

Het NCSC is dan weer met handen en voeten gebonden door wetgeving en ethische overwegingen: misschien wenst de Rijksoverheid zich in beginsel niet wil te mengen in private aangelegenheden. En ICT-beveiliging van private organisaties is en blijft in beginsel een private aangelegenheid.

De situatie rondom CVE-2019-11510 toont echter aan dat die verantwoordelijkheid bij private organisaties nog onvoldoende effectief wordt gedragen, ook bij organisaties die competente IT-beveiligers in dienst hebben (zo weten we beroepshalve). Hoe de huidige situatie zich laat verklaren is niet duidelijk — het zou een onderwerp kunnen zijn voor een (wetenschappelijk?) evaluatieonderzoek.

Het idee is niet nieuw, maar misschien zou het NCSC of een ander (Rijks)overheidsorgaan de ruimte/bevoegdheid moeten krijgen om Nederlandse IP-adresruimte bij (uitsluitend) zeer ernstige kwetsbaarheden in internet-facing producten onder voorwaarden proactief te testen (of laten testen) op kwetsbare systemen. Een centraal contactlijstje met CISOs van MKB en grootbedrijven zou daarbij kunnen helpen, als dat niet reeds bestaat.

Het opent wel een can of worms:

  • Risico’s
    • Wat als een privaat systeem uitvalt door een test die de overheid uitvoert? (of laat uitvoeren)
    • Hoe weet je dat een IP-adres(blok) op het tijdstip van een test nog in gebruik is door organisatie X, en alleen door die organisatie?
    • Hoe om te gaan met blacklisting/whitelisting van IP-adressen waarmee de overheid test?
  • Privacy
    • Wat als grondig/zorgvuldig testen met zich meebrengt dat gebruikersgegevens worden uitgelezen, al is het maar een beetje?
    • In hoeverre is het mogelijk om op een betrouwbare/robuuste manier de IP-adresruimte die door individuele burgers wordt gebruikt (dus niet bedrijfsmatig door een organisatie) buiten de scan te laten?
  • Taakopvatting van de overheid
    • Vinden we dit wel/niet een taak voor de overheid?
    • Is er een minder inbreukmakend middel waarmee hetzelfde doel kan worden bereikt?
    • Zou het voor private organisaties opt-in of opt-out moeten zijn?
    • Hoe om te gaan met gevallen waarbij een private organisatie ook na melding door de overheid een kwetsbaar systeem niet patcht?
    • Welke kwetsbaarheden wel testen, welke niet?
    • Hoe weten we dat de overheid de gevonden kwetsbaarheden niet zelf uitbuit voor (andere) overheidsbelangen zoals opsporings- en inlichtingenwerk? (misschien geen groot punt van zorg; maar het kan niet buiten beschouwing blijven.)

Misschien eist actief testen op kwetsbaarheid door de Rijksoverheid een verandering in wetgeving. Dat is dan een kluif voor juristen en/of politiek.

Tot slot als quick-reference het lijstje met affected en non-affected versies van Pulse Connect Secure en Pulse Policy Secure (bron: SA44101):

SA44101 - 2019-04: Out-of-Cycle Advisory: Multiple vulnerabilities
resolved in Pulse Connect Secure / Pulse Policy Secure 9.0RX

Affected Versions:
Pulse Connect Secure 9.0R1 - 9.0R3.3
Pulse Connect Secure 8.3R1 - 8.3R7
Pulse Connect Secure 8.2R1 - 8.2R12
Pulse Connect Secure 8.1R1 - 8.1R15
Pulse Policy Secure 9.0R1 - 9.0R3.3
Pulse Policy Secure 5.4R1 - 5.4R7
Pulse Policy Secure 5.3R1 - 5.3R12
Pulse Policy Secure 5.2R1 - 5.2R12
Pulse Policy Secure 5.1R1 - 5.1R15

Not Affected:
Pulse Connect Secure 9.1R1 and above
Pulse Connect Secure 9.0R4 & 9.0R3.4
Pulse Connect Secure 8.3R7.1
Pulse Connect Secure 8.2R12.1
Pulse Connect Secure 8.1R15.1 
Pulse Policy Secure 9.1R1 and above
Pulse Policy Secure 9.0R4 & 9.0R3.4
Pulse Policy Secure 5.4R7.1
Pulse Policy Secure 5.3R12.1
Pulse Policy Secure 5.2R12.1
Pulse Policy Secure 5.1R15.1

P.S. 1: wie klant is bij een cyberverzekeraar en vier maanden lang een kritieke beveiligingspatch op een internet-facing systeem niet installeert hoeft bij een compromittering waarschijnlijk niet te rekenen op een uitkering. Lees meer: ‘Vlijt en naarstigheid’ in een digitale wereld: eigen schuld en beredding in de context van de cyberverzekering (.pdf) van mr. N.M. Brouwer in AV&S 2019/23, augustus 2019.

P.S. 2: Pulse Secure-productversies die later kwetsbaar bleken hebben begin 2018 in de VS een Common Criteria-certificering gekregen. Daarmee zijn die versies goedgekeurd voor gebruik in bepaalde gevoelige(re) omgevingen in de VS. Een positieve resultaat van een Common Criteria-certificeringstraject, zoals in Nederland uitgevoerd door het AIVD-NBV en onder het BSPA-programma via geaccrediteerde bedrijven, betekent niet dan een product foutloos is. Het komt vaker voor dat in goedgekeurde producten kwetsbaarheden worden gevonden — ook ernstige. Dat houdt verband met het (EAL-)niveau waarop zekerheid wordt gevraagd, en daaraan gekoppeld de scoping, beschikbare tijd, kennis, vaardigheden, apparatuur, documentatie, en (on)beschikbaarheid van broncode. Iets dat in de nabije toekomst weer ‘s zelfstandig aandacht verdient.

* Het publiceren van deze blogpost — terwijl er nog kwetsbare systemen zijn — gebeurt met gemengde gevoelens. Bad Packets heeft al gepubliceerd dat wereldwijd liefst 14.500 (!) kwetsbare instances actief zijn. Mede daarom lijkt verder wachten ons, en de personen bij wie we een zienswijze hebben gevraagd, méér onverantwoordelijk dan nu naar buiten te treden met de actuele aantallen; zonder daarbij IP-adressen of namen van organisaties te benoemen.

One thought on “[Dutch] Kwetsbare Pulse Connect Secure SSL-VPNs in Nederlandse IP-adresruimte: bevindingen en gedachten

Comments are closed.