Month: September 2019

Physical Counter Surveillance – Dry Cleaning and Evading Capture

In a meeting with a former counter-intelligence practitioner I first learned of ‘dry cleaning’ as tradecraft jargon in the realm of countersurveillance. Willam E. Dyson’s book Terrorism – An Investigator’s Handbook, 4th Edition (2015; first edition published in 2011) defines it as follows:

dry cleaning A process by which a subject takes actions that enable him to “lose” anyone who is attempting to follow him. A person may “dry clean” himself by entering a crowded movie theater and leaving soon after through a rear door. Undercover officers and informants should also undertake “dry cleaning” maneuvers before meeting each other.

The Terms & Definitions of Interest for DoD Counterintelligence Professionals (.pdf, 2011) from the U.S. Office of Counterintelligence (DXC), part of the Defense Intelligence Agency (DIA), contains a definition taken from an old manual of the Air Force Office of Special Investigations (AFOSI):

Dry Cleaning. [Tradecraft jargon] Any technique used to elude surveillance. A usual precaution used by intelligence personnel when actively engaged in an operation. (AFOSI Manual 71-142, 9 Jun 2000)

Following the meeting I did a bit of self-study and came across a reposted text apparently once shared at the now-defunct forum at XtremeRoot.net. I’m reposting it here because 1) it is IMO a useful read that covers (a subset of) aspects that also came up in said meeting, and 2) LOCKSS. I could not readily identify whom to contact to ask for permission to re-post it here. If you’re the author, feel free to contact me (see sidebar).

Further reading on this topic (friendly reminder: always apply critical thinking):

Traditional humint tradecraft presumably remains a key aspect of modern intelligence, notwithstanding the tech-heavy era we now live in. And be reminded that technology can fail — for instance by accident, by sabotage or (indirectly) by adversarial interception/surveillance.

NOTE: everything below this line is NOT authored by me, except for one [NOTE: (…)] block that I added.


I recently underwent some counter surveillance training, and it was one of the most exciting things I’ve ever done. As such, I thought I’d write up a short tutorial based on what I was taught and what I went through. This is all related to personal counter surveillance – i.e. preventing people following you.

There are 3 major parts to counter surveillance:
1) Planning
2) Identification – Spotting people who may be following you and verifying their intent.
3) Evasion – Making it difficult to follow you by performing certain maneuvers and following certain rules.

These principles, when put together, form something called a cleaning run. Its objective is to get you to a destination whilst identifying and losing any tail you might have.

Planning
The basic rules of a cleaning run are as follows:

  • Give yourself roughly double to triple the amount of time usually needed to get to the destination. A cleaning run can last up to 3 hours!
  • Plan your journey before heading out.
  • Move across a large geographic area.
  • Act naturally.
  • Try to spend at least 50% of your journey in areas that are not covered by CCTV.
  • Vary your transport method. Travel by bus, tram, train and taxi as well as on foot.
  • Be aware of your surroundings and the people nearby.
  • Be prepared! You need a pen, paper, envelope, stamps and enough cash for transport and visits to cafes / coffee shops. If you smoke, take some cigarettes and a lighter too.

The first step is to plan your journey. Start in an arbitrary direction, heading nowhere near your destination. You need to visit a variety of locations including quiet suburbs and busy city centres. Try to make the path you take relatively realistic (e.g. don’t walk round a block twice) and make it look like you have a reason to go to certain places along the way. You need at least two locations that will be almost entirely deserted – large open areas like parks are excellent for spotting someone following you. Make sure that your route crosses a few bridges and goes down some small side streets. You need to be able to stop off frequently at shops and other attractions. Look up timetables for buses, trams and trains, and use these services in your journey. You’ll also want to find places with post boxes and phone boxes, as they can provide some useful distractions.

Identification
Before you can shake a tail, you need to identify it. The best way to do this is to spot people you have seen before. A professional team can consist of 10 or more people, of which 2 or 3 at a time will follow you. They do a hand over periodically and try to avoid re-using the same members so that you don’t notice the tail. The “tried and tested” positioning system is to have one person follow directly behind you and another follow on the other side of the road further behind. If a third person is used, they are usually kept further back. If they think you’ve identified an agent, they’ll pull them out and replace them if possible.

The following things about a person can help you identify them as a tail:

  • If there are multiple agents, expect 90% of them to be 30 years old or less.
  • A professional team member usually has a precise watch. You can spot these quite easily if you’re close by.
  • They will change their course when you stop or change your course.
  • They will avoid looking directly at you, or stare.
  • Untrained people in a team might talk into their sleeve or talk to themselves.
  • If there are only one or two agents and they are associated with the police (CID, SOCA, etc), they will usually be wearing a suit (this is true for the UK, at least).
  • When waiting, they will usually loiter aimlessly or appear fascinated by a mundane sign or poster.

When walking down quiet roads it is easy to notice someone following you. However, it is difficult to turn round and get a good look at them without them noticing. One great method to this is to enter a shop and purchase something. As you enter, glance behind you to see if anyone is there. If there is, hold the door for them. When you leave, go back the way you came for a while, then turn off and go another direction. You can usually identify at least one surveillance member this way.

In places with some traffic, cross over at an intersection. If you’re on the left of the street turn right and vice versa. This gives you chance to stop and look around as if you were checking for traffic. If you cross at a pedestrian crossing, pretend to press the button but don’t. This gives you time to stop and look around longer, making anyone following you quite obvious.

Small bridges and alleys can make great choke points. Be aware that isolated areas might be problematic because they might confront you, so try to pick areas with at least a few people around. If you smoke, stop to light up as you walk down a choke point. Stand sideways so that you can see both directions. This means that anyone following you will have to walk straight past, so you can easily identify them. You could also stop to write an SMS message – it’s feasible that you can’t walk and text at the same time. If you do this, start writing it and stop after the 4th or 5th letter. Most people will at least try to write and walk before failing!

In larger shops, stand and browse the magazines. You can use the short periods between picking up each magazine to glance in a direction to look for anyone you remember from before, or anyone looking at you. Untrained people will often behave unusually and can easily give themselves away in certain situations. They may stare intently at you, or completely avoid making eye contact. In the case of the ones who are quite obviously attempting to watch you without directly looking, orchestrate your path so that you walk past them, then stop and ask the time. This usually shocks and disorientates them, and they’ll usually get flustered and stutter their reply.

Use your pen and paper to jot down short descriptions of people that might be following you and anyone that you see twice. You can buy a newspaper and use the crossword to jot things down too. If you see someone twice in two far apart areas, you’re probably being followed. The same applies if you see the same person three times as you’re performing your run.

A clever trick is to scan for Bluetooth devices nearby when sat around. If you see the same name twice, you have a tail. [NOTE: one probably should not carry any electronic device to a secret meeting to begin with, except burners — which still requires tradecraft. Radio emissions — and not only Bluetooth or Wi-Fi — should be assumed to be unique fingerprints.]

Evasion
Once you’ve spotted the people you want to escape, you need to start doing things to divert their attention from you to thin out the crowd. The text-book stuff like dodging down an alley or switching back on yourself is way too obvious and a professional will be able to handle it easily.

Organise your journey so that you arrive at a train station, get your tickets, then have to wait 10 minutes in the coffee shop before boarding a train. If possible, use the automated ticket machine and jump in just before someone else gets in the queue behind you. This helps stop agents from shoulder-surfing to find out where you’re going, or listening in on your conversation with the ticket office person. Wait until the last minute before moving to the platform, or sit on the wrong platform until your train is announced and then move to the correct one. Sit as close to a door as possible so you can see the entire carriage.

When travelling by bus, pay for a ticket to the furthest destination it goes to, then get off before that stop. This helps divert resources and prevent any surveillance teams from setting up in a target location. If you can sit at the back do so, as you can see where everybody is. On double-decker buses you might want to sit up top to make it more obvious if you’re being followed.

Towards the final quarter of your run, make it look like you’re doing something sinister. Go to a phonebox and call the number of a small computer shop. Ask something like “how much is your cheapest SATA hard drive?” and write down the price and a random postal code that’s near the computer shop. Write a single letter on the bottom of the paper to make it more confusing, then place it on top of the phone unit and leave the box. This will look like you’re trying to perform a dead-drop, so an agent would investigate. This reduces the number of people following you. You can then go into another phone box, fumble around underneath it to make it look like you’re grabbing something that’s taped to the bottom, get out an envelope and pretend to put this non-existent thing inside it, attach a stamp, write an address on there (somewhere around five miles away) and go post it in a postbox. An agent will need to get someone to open the phone box, so this will delay them further.

Strike up a conversation with someone in the street to make it look like that’s who you went to go see. This is best done in a quiet area, so you can watch the people nearby.

You can perform a covert U-turn by walking past a shop and showing some interest in it (stare at it as you walk) and then stopping 20 feet down the road as you very obviously check your watch. Stare at your watch for a second, then turn back and go to that shop. This makes it look like you couldn’t decide if you had time to go to the shop. Some poorly trained agents might just stop still and stare at you gormlessly if you do this.

In extreme circumstances, you can go for certain overt techniques that give away the fact that you know you’re being followed:

  • Do a U-turn whilst walking and check out everyone who looks at you.
  • Do the whole “tying my shoelace” thing. It can mean agents have to be dropped because they have to pass you, but it’s very obvious and you can’t actually identify them easily.
  • Ask someone you think is tailing you for a lighter. Strike up conversation about the weather or contemplate them on their hair, shirt or watch if they have to spend more than 5 seconds fumbling around for it.
  • Dodge down an alleyway quickly or move in a circuitous through a store with multiple exits. These allow you to shake a tail, but make it obvious that you are immediately wary of someone following you.
  • Sit in a coffee shop and wait until you see someone that you know is following you. As you get up to leave, they will look over. Stare directly at them and wave before leaving.
  • Use a payphone to call for three taxis. Book one from your current location (or nearby) to position A, and book the other two from near position A to position B. Take only one of the second taxis, then have them drop you off slightly outside location B. If they’re resourceful enough to be able to pull phone records, they’ll spend resources trying to find out who you called and where you asked to go to. Once they discover you have called 3 taxis, they’ll know something is odd.

[…]

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

Klik hier om voorbij de updates te skippen en direct naar de oorspronkelijke publicatie te gaan.

  • UPDATE 2021-04-20: een onbekende kritieke bug (0-day) in Pulse Connect Secure >=9.0R3 wordt actief uitgebuit door, allegedly, “Chinese-backed state hackers”: CVE-2021-22893 = preauth RCE, CVSSv3.1 Base Score = 10 (hoogst mogelijke score). Leverancier Pulse Secure, sinds vorig jaar eigendom van Ivanti, hoopt in mei een spoedpatch uit brengen. Tot die tijd kan een workaround worden toegepast. Zie US-CERT Alert (AA21-110A), NCSC-2021-0345 en deze post van FireEye: Check Your Pulse: Suspected APT Actors Leverage Authentication Bypass Techniques and Pulse Secure Zero-Day.
  • UPDATE 2020-08-17: Overheid wist wie kwetsbaar was, maar liet bedrijven toch gehackt worden (FD) en ‘Overheid waarschuwt bedrijven niet altijd bij hack’ (NOS).

    Heel zuur. De kern van het verhaal: reeds in augustus 2019 waren bij NCSC lijsten van kwetsbare Pulse-systemen bekend, maar (mede) doordat het NCSC ingevolge hun (beperkte) mandaat niet alle informatie heeft doorgezet zijn sommige Nederlandse systemen in mei/juni 2020 alsnog gecompromitteerd. Informatie over systemen die niet onder rijk/vitaal vallen is door het NCSC niet doorgezet aan de betrokken organisaties.

    Organisaties, vitaal of niet-vitaal, zijn en blijven verantwoordelijk voor hun eigen informatiebeveiliging. Maar dat betekent niet dat áls je informatie hebt over actuele kwetsbaarheden, het acceptabel is dat die informatie niet terechtkomt bij die organisaties. Mij was destijds niet bekend dat het NCSC uit zulke lijsten alleen vitaal & rijk doorzette en niets deed (c.q. mocht doen) met de informatie over andere systemen, waaronder systemen van zorginstellingen en enkele van de nu alsnog gecompromitteerde bedrijven. Dat is me pas duidelijk geworden in de nasleep.

    Herhaling voorkomen eist herziening v/d status quo, waaronder mogelijk het aanpassen v/h mandaat van NCSC zodat zij die informatie wél mogen doorzetten.

    Mijn persoonlijke mening is dat organisaties — ongeacht welke — bij kwetsbaarheden v/d ernst van Pulse/Forti/Palo/Citrix/etc. niet alleen moeten worden gemaild (zoals DIVD normaal gesproken doet, o.a. via het Security Meldpunt) maar dat er ook ‘actief’ 1-op-1 contact moet zijn, bijvoorbeeld telefonisch. Een e-mail belandt nog wel ‘s in een spambox of wordt om andere reden gemist of niet doorgezet. Dat is ook de reden dat de meeste pentestbedrijven bij het aantreffen van hoge en kritieke risico’s hun klant direct bellen en niet alleen per e-mail informeren (en in onversleutelde e-mail ook nooit concrete kwetsbaarheden benoemen).

  • UPDATE 2020-08-04: Hacker leaks passwords for 900+ enterprise VPN servers (ZDNet). Kwaadwillenden lijken in juni/juli aanvallen te hebben uitgevoerd op ~900 Pulse-systemen wereldwijd. Van een grote reeks organisaties zijn o.a. inloggegevens gelekt via webfora. Dit is in omvang/scope het grootste openbaar bekende incident met ongepatchte Pulse-systemen tot nu toe.
  • UPDATE 2020-06-03: Field Note on CVE-2019-11510: Pulse Connect Secure SSL-VPN in the Netherlands, gepubliceerd in ACM DTRAP Vol. 1 Issue 2, mei 2020. Bedoeld als discussiestuk hopende de passiviteit c.q. angst c.q. risicomijdendheid te doorbreken: we moeten m.i. (doorgaan met) proactief scannen bij nieuwe kritieke kwetsbaarheden. Daar zitten juridische, ethische, organisatorische en technische aspecten aan. De Field Note bevat daarover een aantal vragen om de gedachten te prikkelen. Citeren kan als:
    Matthijs Koot. 2020. Field Note on CVE-2019-11510: Pulse Connect Secure SSL-VPN in the Netherlands. Digital Threats: Research and Practice 1, 2, Article 13 (May 2020), 7 pages. DOI:https://doi.org/10.1145/338276
  • UPDATE 2020-02-11: Kamerbrief over resultaten analyse VPN software (mirror .pdf). Het daarin genoemde DTC (van MinEZ) is (nog?) niet operationeel t.a.v. informatiedeling over specifieke kwetsbare systemen/IP-adressen. Het DTC zet algemene adviezen/waarschuwingen van het NCSC door en die worden alleen ter ore genomen door ontvangers die zelf doorhebben gebruiker te zijn van een bepaald IT-product c.q. een bepaalde IT-configuratie. De ervaring leert dat zelfbewustzijn (‘situational awareness’) daarover dikwijls verre van perfect is. En dus gaan we gewoon door met ongevraagd (pro)actief scannen en melden — de belangen zijn te groot om het over te laten aan bureaucratie. Dat zulke scanning zélf strikt genomen computervredebreuk kan inhouden, zoals het geval bij (betrouwbaar) testen op Pulse CVE-2019-11510 en Citrix CVE-2019-19781, is zeer ongemakkelijk: voor mij persoonlijk kan “einde VOG” betekenen “einde carrière”. Noodzaak, proportionaliteit en subsidiariteit van scanactiviteiten zijn dus cruciaal. Maar met kritieke kwetsbaarheden die zo breed in de samenleving blijken te bestaan moeten we wel. Niets doen is geen optie.

    Tot het DTC op het punt van informatiedeling over specifieke kwetsbare systemen/IP-adressen operationeel is blijft het Nederlandse Security Meldpunt (dat tijdens het ad hoc “live gaan” op 13/14 januari informeel is ondergebracht bij DIVD) een nuttige aanvulling op het NCSC voor het (doen) dissemineren van informatie over specifieke kwetsbare systemen aan personen die daar iets mee kunnen/moeten, zoals IT-beveiligers en -beheerders bij de betrokken organisaties en/of hun IT-dienstverleners.

    De kamerbrief benoemt overigens (begrijpelijk) niet alles dat in de praktijk heeft gespeeld c.q. nog speelt. Een voorbeeld daarvan is dat in retrospect bleek dat het NCSC ten tijde van het Pulse-verhaal in augustus 2019 geen kennis had van alle IP-adressen van alle ABDO-bedrijven c.q. -toeleveranciers en dat dáárom systemen van een tiental ABDO-bedrijven c.q. -toeleveranciers door het NCSC in de door derden bij het NCSC aangeleverde lijsten niet als zodanig zijn herkend en geïnformeerd. Informatie over het kwetsbaar zijn van die specifieke systemen is dus bij het NCSC blijven liggen en bij Defensie pas op de radar gekomen nadat ik m’n lijst (ook) beschikbaar maakte aan het Bureau Industrieveiligheid van de MIVD. Zij beschikken in tegenstelling tot het NCSC t.a.v. ABDO-bedrijven over doorzettingsmacht. Dat de betreffende systemen na het contact met Bureau Industrieveiligheid heel snel alsnog gepatcht of (tijdelijk) offline zijn gehaald zal allicht ook aan die doorzettingsmacht te danken zijn.

    De brief vermeldt verder: “De AIVD en de MIVD hebben gesignaleerd dat statelijke actoren misbruik maken van de kwetsbaarheid in de Pulse Secure VPN-software.” Weet daarbij dat het niet gaat om het napraten van NSA & GCHQ.

    Binnenkort verschijnt bij ACM DTRAP een veldnotitie van ondergetekende over de Pulse-casus, incluis enkele gedachten over proactief scannen door CSIRTs in een gefedereerd/decentraal model. Om meerdere redenen, waaronder autonomie/privacy en informatiemacht (geen extra big brother…), ben ik persoonlijk geen voorstander van een gecentraliseerd model waarbij, zeg, het NCSC zelf méér zou scannen dan alleen rijksoverheidorganisaties en infrastructuur die raakt aan vitale processen. Pragmatisch, efficiënt, betrouwbaar en vertrouwelijk zijn m.i. kernwaarden bij proactief scannen.
  • 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.

Oorspronkelijke publicatie

[Onderstaand bericht is gepubliceerd 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 dat 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.