Verborgen communicatiekanaal: hoe informatie ongezien een systeem in- of uitglipt
Stel je twee gevangenen voor in aangrenzende cellen die niet met elkaar mogen praten. Ze ontdekken dat er een waterleiding tussen hun cellen loopt en spreken een tikcode af: één tik is een 'a', twee tikken een 'b', en zo verder. Een bewaker die de leiding controleert, ziet alleen een leiding die af en toe geluid maakt door normaal gebruik van de kraan — niet dat er een boodschap doorheen wordt gestuurd. Dat is in de kern wat een verborgen communicatiekanaal is, in het Engels een covert channel: een manier om informatie over te dragen via een systeem, netwerk of apparaat dat daar helemaal niet voor gebouwd is, en waarbij het juist de bedoeling is dat een toezichthouder niet doorheeft dat er communicatie plaatsvindt.
In de digitale wereld gebeurt hetzelfde met computers en netwerken. Denk aan malware op een computer die opzettelijk geen internetverbinding heeft (een zogeheten air-gapped systeem, vaak gebruikt bij kerncentrales of industriële besturingssystemen). Die malware kan de snelheid van de interne ventilator subtiel laten schommelen in een patroon dat een verborgen boodschap vormt. Een smartphone die toevallig in de buurt ligt, vangt dat geluidspatroon op met de microfoon en zet het om in data. Voor iedereen die toekijkt, draait de computer gewoon zoals altijd — alleen weten zender en ontvanger dat er stiekem iets wordt doorgegeven.
Wat is het precies?
De term komt oorspronkelijk uit een wetenschappelijk artikel van computerwetenschapper Butler Lampson uit 1973, getiteld "A Note on the Confinement Problem". Lampson beschreef een fundamenteel probleem: hoe zorg je ervoor dat een programma dat je vertrouwt niet stiekem informatie doorspeelt naar een programma dat je niet vertrouwt, via een weg die je niet had voorzien?
Een verborgen kanaal verschilt van gewone versleuteling en van steganografie (het verstoppen van een boodschap ín een bestaand communicatiemiddel, zoals tekst verbergen in de pixels van een foto). Bij steganografie bestaat het communicatiekanaal echt en is het bedoeld om berichten te versturen — alleen de inhoud is verborgen. Bij een verborgen communicatiekanaal is het juist het kanaal zélf dat niet voor communicatie bedoeld was, en misbruikt wordt om toch gegevens over te brengen.
Beveiligingsonderzoekers onderscheiden traditioneel twee hoofdtypen. Het eerste is een opslagkanaal (storage channel): twee partijen delen toegang tot een stukje geheugen, schijfruimte of een technisch veld waarvan de ene partij de waarde kan veranderen en de andere die kan aflezen. Een klassiek voorbeeld is het misbruiken van ongebruikte of optionele velden in de header (het technische 'envelopje' vooraan een datapakket) van een netwerkprotocol zoals IP of TCP: de afzender stopt geheime bits in zo'n veld, het pakket ziet er voor de rest heel gewoon uit, en de ontvanger haalt de bits er weer uit.
Het tweede type is een timingkanaal: er wordt geen data in een veld verstopt, maar informatie zit in het tíjdstip of de volgorde van gebeurtenissen die beide partijen kunnen waarnemen. Denk aan de tijd die een systeem nodig heeft om te reageren, of de pauzes tussen opeenvolgende netwerkpakketten. Door die pauzes bewust langer of korter te maken, kan een zender een reeks nullen en enen doorgeven zonder dat er ergens een verdacht databestand hoeft te staan.
Wat wil men ermee bereiken?
Het onderzoeksveld ontstond vanuit de behoefte van overheden om zeer gevoelige computersystemen te beveiligen. In de Amerikaanse defensiewereld werd in 1985 de "Orange Book" (formeel: Trusted Computer System Evaluation Criteria) van kracht, een standaard die van systemen met de hoogste beveiligingsniveaus eiste dat ontwikkelaars actief zochten naar mogelijke verborgen kanalen en de maximale hoeveelheid data die daardoorheen kon lekken (de "bandbreedte") aan banden legden.
Voor kwaadwillenden is het doel vaak ontwijking: malware wil gegevens naar buiten smokkelen of instructies ontvangen van een aansturingsserver (command-and-control, kortweg C2) zonder dat firewalls, dataverlies-preventiesoftware (DLP, software die probeert te voorkomen dat gevoelige bestanden het netwerk verlaten) of zelfs een fysieke air gap dat tegenhoudt.
Voor verdedigers is het juist andersom: door in het lab zelf verborgen kanalen te bouwen, leren beveiligingsonderzoekers wat technisch mogelijk is. Die kennis gebruiken ze om detectiemethoden te ontwikkelen en om gedeelde computerbronnen — bijvoorbeeld virtuele machines die bij verschillende klanten van dezelfde cloudaanbieder op één fysieke server draaien — zo te ontwerpen dat er zo min mogelijk stiekem lek kan optreden tussen klanten onderling.
Er is ook een derde, minder verdachte toepassing: censuuromzeiling. Mensenrechtenactivisten en journalisten in landen met strenge internetcensuur gebruiken technieken die sterk lijken op verborgen kanalen om verkeer te vermommen als iets onschuldigs, zodat censoren niet zien dat er verboden software zoals Tor wordt gebruikt. Dezelfde technische truc kan dus zowel voor spionage als voor persvrijheid worden ingezet — de techniek zelf is neutraal, de context bepaalt of het als aanval of als bescherming geldt.
Voorbeelden uit de praktijk
Een aantal onderzoeksprojecten en tools illustreert goed hoe divers dit veld is.
- Loki / Loki2 (gepubliceerd rond 1996-1997 in het hackerstijdschrift Phrack): een vroeg proof-of-concept dat liet zien hoe je willekeurige data kunt versturen verstopt in ICMP-echoberichten, beter bekend als "ping"-verkeer, waardoor het verkeer eruitziet als een onschuldige netwerktest.
- Ultrasone mesh-netwerken tussen air-gapped computers: onderzoekers Michael Hanspach en Michael Goetz van het Duitse Fraunhofer FKIE toonden in 2013 aan dat computers zonder enige netwerkverbinding toch data konden uitwisselen via voor mensen onhoorbaar hoogfrequent geluid, verstuurd via ingebouwde luidsprekers en opgevangen door microfoons, over afstanden van enkele tot enkele tientallen meters.
- Air-gap-onderzoek van Mordechai Guri (Ben-Gurion University, Israël), met een hele reeks proof-of-concepts vanaf 2014: AirHopper (de videokaart genereert radiosignalen die een nabije smartphone opvangt), BitWhisper (twee naast elkaar staande, geïsoleerde computers wisselen data uit via kleine temperatuurschommelingen), en Fansmitter en DiskFiltration uit 2016 (data verstopt in het geluid van respectievelijk de ventilator en de harde schijf).
- DNS-tunneling met tools als iodine en dnscat2: hierbij wordt data verstopt in DNS-verzoeken, het protocol dat domeinnamen omzet naar IP-adressen. Omdat DNS-verkeer door vrijwel elke firewall ongefilterd doorgelaten wordt, is dit een populaire route voor malware om stiekem te communiceren of gegevens te stelen.
- Domain fronting: tot ongeveer 2018 gebruikte onder meer Tor's "meek"-verhullingstechniek deze methode om verkeer via grote clouddiensten te laten lopen, zodat censoren op netwerkniveau alleen een onschuldig domein zagen terwijl de werkelijke bestemming verborgen bleef. Grote cloudaanbieders zoals Google en Amazon stopten dat jaar met het ondersteunen van deze truc, waardoor deze route grotendeels werd afgesloten.
Hoe ver is de techniek?
De ontwikkelstatus verschilt sterk per type kanaal. Opslagkanalen die misbruik maken van velden in netwerkprotocollen zijn al decennia bekend, relatief eenvoudig te bouwen, maar ook redelijk goed te detecteren als verdedigers weten waarnaar ze moeten zoeken — bijvoorbeeld met diepgaande pakketinspectie die controleert of protocolvelden wel de waarden bevatten die je zou verwachten.
Timingkanalen zijn hardnekkiger, omdat ze gebruikmaken van kleine, moeilijk te elimineren tijdsverschillen die inherent zijn aan gedeelde hardware of netwerken. Hier is sprake van een voortdurende wedloop tussen onderzoekers die nieuwe kanalen bedenken en verdedigers die met statistische analyse en machine learning proberen afwijkende verkeerspatronen te herkennen.
Fysieke kanalen — via geluid, warmte of radiogolven tussen air-gapped apparaten — blijven grotendeels experimenteel labwerk. De haalbare snelheid is doorgaans erg laag, van enkele bits per seconde tot soms maar enkele bits per minuut, en de malware moet al op de geïsoleerde computer staan via een andere weg, bijvoorbeeld een besmette USB-stick. Het is dus vooral een techniek voor de "laatste stap" bij zeer gerichte spionage tegen hoogwaardige doelen, niet een dreiging voor gewone gebruikers.
Eerlijk gezegd is moeilijk met zekerheid te zeggen hoe vaak verborgen kanalen daadwerkelijk in echte aanvallen worden gebruikt: het wezenskenmerk van deze techniek is nu juist dat ze onopgemerkt probeert te blijven. Openbare kennis komt vooral uit een combinatie van academisch onderzoek en incidentele, publiek gemaakte analyses van digitale inbraken.
Wie werken eraan?
Op academisch vlak springt het Cyber Security Research Center van de Ben-Gurion University in Israël eruit, met Mordechai Guri en collega's als drijvende kracht achter tientallen air-gap-covert-channel-onderzoeken. In Polen doet de Warsaw University of Technology, met onderzoekers als Wojciech Mazurczyk en Krzysztof Szczypiorski, al jaren gezaghebbend werk op het gebied van netwerksteganografie. Het Duitse Fraunhofer FKIE leverde met het ultrasone-mesh-onderzoek een van de meest aangehaalde studies in dit veld.
Op het gebied van standaarden ligt de basis bij de Amerikaanse defensie- en inlichtingengemeenschap, die met de Orange Book in de jaren tachtig de eerste formele eisen voor covert-channel-analyse opstelde; de latere, internationaal gebruikte Common Criteria-standaard bevat vergelijkbare eisen voor de hoogst beveiligde systemen. Nieuw onderzoek naar zowel aanval als verdediging verschijnt jaarlijks op grote vakconferenties zoals USENIX Security, IEEE Symposium on Security and Privacy en ACM CCS.
Commercieel zijn het vooral leveranciers van dataverlies-preventiesoftware, endpoint-detectiesoftware (EDR) en beveiligingsspecialisten voor industriële en air-gapped omgevingen die deze kennis toepassen om detectie te bouwen. Aan de andere kant van het spectrum werkt het Tor Project aan verhullingstechnieken om internetcensuur te omzeilen — technisch verwant aan verborgen kanalen, maar met bescherming van vrije meningsuiting als doel in plaats van spionage of malware-aansturing.