Afstudeeronderzoek: Detectie, analyse en meting van DNS-tunnelingtechnieken
Potentiële DNS-tunnelingactiviteiten identificeren uit het .nl-verkeer
Kies jouw kleur
Veel bezocht
Veelgestelde vragen
Via de Whois kun je de huidige houder van een domeinnaam opzoeken. Om de persoonsgegevens in te zien moet je vanwege de privacygevoelige informatie eerst de gebruikersvoorwaarden van de Whois accepteren. Gegevens van privé personen kunnen ook afgeschermd zijn vanwege de AVG (Algemene verordening gegevensbescherming).
Op de pagina domeinnaam zoeken lees je meer over wat een domeinnaam is, de werking van de Whois en de privacy van persoonsgegevens.
Je wilt je domeinnaam verhuizen naar een andere registrar. Vraag dan je verhuistoken op bij je huidige registrar. Lees de verhuisstappen op de pagina domeinnaam verhuizen.
Neem contact op met je registrar. Jouw registrar kan de contactgegevens bij je domeinnaam voor je aanpassen. Wij raden je aan het resultaat te controleren via de Whois. Lees meer over het aanpassen van je gegevens bij contactgegevens wijzigen.
Wij weten niet wat de reden van de opheffing is. Neem contact op met je registrar. Het voordeel van de quarantaine is dat je altijd de mogelijkheid hebt om een opheffing die je niet had bedoeld te herstellen.
Voorbeeld: In de voorwaarden van je registrar staat dat je elk jaar je abonnement moet verlengen. Dat gebeurt dan niet automatisch. Zo kan het gebeuren dat je domeinnaam wordt opgeheven zonder dat je er om gevraagd hebt.
Wanneer je een klacht hebt over of een geschil met je registrar dan zijn er verschillende mogelijkheden om tot een oplossing te komen. Hierover lees je meer op pagina klacht over registrar. SIDN heeft geen formele klachtenprocedure voor het behandelen van een klacht over jouw registrar.
Wil je zelf direct domeinnamen kunnen registreren bij SIDN voor je klanten of voor je eigen organisatie? Dan kun je .nl-registrar worden. Lees meer over de voorwaarden en de manier waarop je je kunt inschrijven als registrar via de pagina registrar worden.
Potentiële DNS-tunnelingactiviteiten identificeren uit het .nl-verkeer
De oorspronkelijk blogpost is Engelstalig, dit is de Nederlandse vertaling.
DNS-tunneling is een geavanceerde techniek die gebruikmaakt van het DNS-protocol om heimelijk gegevens te verzenden. In deze blogpost vat ik de inzichten samen die ik tijdens mijn stage bij SIDN heb verworven, ga ik dieper in op de kenmerken van DNS-tunneling en bekijk ik of we DNS-tunneling in .nl-verkeer kunnen detecteren.
Bij DNS-tunneling wordt gebruikgemaakt van het DNS-protocol om gegevens binnen DNS-query's en -antwoorden te coderen, waardoor een verborgen communicatiekanaal ontstaat waarmee traditionele beveiligingsmaatregelen zoals firewalls kunnen worden omzeild. Firewalls laten DNS-verkeer vaak door, waardoor dit verkeer bij uitstek geschikt is voor verschillende malafide doeleinden, zoals data-exfiltratie en remote command execution. DNS-tunneling kan echter ook legitieme toepassingen hebben, bijvoorbeeld in netwerken die worden gecontroleerd door autoritaire regimes.
Bij DNS-tunneling gaat het doorgaans om het coderen van gegevens in domeinnamen en DNS-records, die vervolgens worden verzonden naar een aangepaste DNS-server die wordt beheerd door bijvoorbeeld de aanvaller. De gegevens worden door de server gedecodeerd en verwerkt.
Een van de belangrijkste uitdagingen bij het detecteren van DNS-tunneling is dat getunneld verkeer het vermogen heeft om op te gaan in legitiem DNS-verkeer. Om die uitdaging het hoofd te bieden, zijn er verschillende detectietechnieken ontwikkeld, waaronder anomaliedetectie op basis van DNS-querypatronen, entropieanalyse van DNS-querynamen en monitoring op ongebruikelijke DNS-recordtypen. In eerdere onderzoeken is geprobeerd DNS-tunneling te detecteren in lokale netwerken of op recursieve resolvers. Voor zover ik weet, is geen van die technieken toegepast op TLD-verkeer.
Het doel van mijn onderzoek was om DNS-tunneling te detecteren in .nl-verkeer. Uiteindelijk wilde ik weten of DNS-tunneling voorkomt in het .nl-domein. Het doel was dus niet om DNS-tunnelingquery's te blokkeren, erachter te komen wie er gebruik van maken of de verzonden informatie te decoderen.
Als ik voor DNS-tunneling gebruikte query's in het .nl-verkeer wilde detecteren, moest ik eerst weten hoe het verkeer dat in DNS-tunnelingtools wordt gebruikt, eruitziet. Vanuit die gedachte zette ik een lokaal testbed op, zodat ik DNS-tunneling in een gecontroleerde omgeving kon simuleren. Met behulp van de inzichten die ik dankzij het testbed opdeed, kon ik regels ontwikkelen die ik vervolgens in het echt kon toepassen op .nl-verkeer.
Ik richtte mijn lokale testbed in met een gesimuleerde rootserver, een .nl-nameserver en een nameserver die autoritatief was voor de domeinnaam die voor de tunneling werd gebruikt. Verder installeerde ik een recursieve resolver met daarop de DNS-tunnelingclient, die gebruikmaakte van iodine. Elk systeem draaide op een virtuele machine.
Voor het analyseren van het .nl-verkeer maakte ik gebruik van ENTRADA, SIDN's eigen dataplatform waarop .nl-verkeer wordt opgeslagen.
Net als in eerdere onderzoeken hanteerde ook ik een tweeledige aanpak die bestond uit een combinatie van verkeersanalyse en payloadanalyse:
Verkeersanalyse
Bij deze methode wordt gelet op DNS-verkeerspatronen om anomalieën te detecteren die duiden op tunneling. Ik onderzocht DNS-queryvolumes op ongebruikelijke pieken, onregelmatige spreiding en afwijkingen van gangbaar verkeersgedrag , die allemaal kunnen wijzen op potentiële tunnelingactiviteiten.
Payloadanalyse
Deze methode is gericht op het onderzoeken van de inhoud van DNS-query's en -antwoorden. Bij DNS-tunneling worden gegevens vaak gecodeerd binnen domeinnamen of TXT-records. Door payloads te analyseren en zo kenmerken zoals querytypen en opgevraagde domeinnamen te bepalen, was ik in staat om potentiële tunnelingactiviteiten te identificeren.
Op basis van wat ik in het testbed had waargenomen en geïnspireerd door gerelateerd onderzoek, ontwikkelde ik verschillende detectieregels. De regels zijn getest in zowel het DNS-testbed als ENTRADA:
Hoge entropie
Evaluatie van de entropie van opgevraagde namen. Door de willekeurigheid en complexiteit van de gecodeerde gegevens resulteert DNS-tunneling vaak in hogere entropiewaarden.
Coderingsdetectie
Onderzoek van DNS-subdomeinen op specifieke coderingsschema's zoals Base32 en Base64. DNS-tunnelingtools coderen hun informatie vaak met behulp van dit soort schema's.
Typen bronrecords
Monitoring op minder gangbare DNS-bronrecords zoals TXT, NULL en PRIVATE. Dit soort recordtypen worden vaak door DNS-tunnelingtools gebruikt.
Opeenvolgende reeksen
Identificatie van patronen van opeenvolgende letters en cijfers binnen DNS-query's. Uit mijn metingen op het testbed maakte ik op dat dit soort patronen een teken kunnen zijn van DNS-tunneling.
Specifieke letters
Controle op de aanwezigheid van de tekens 'z' of 'y' in het meest linkse label van de domeinnaam. Daarvan is vastgesteld dat er een correlatie is met het gebruik van DNS-tunnelingtools.
Ik paste de in het DNS-testbed ontwikkelde detectieregels toe op .nl-verkeer in ENTRADA en was in staat om potentiële DNS-tunnelingactiviteiten te identificeren. Helaas kan ik er nooit 100% zeker van zijn dat de geïdentificeerde query's DNS-tunnelingquery's zijn, maar het feit dat ze voldoen aan mijn regelset en het feit dat we geen andere redelijke verklaringen kunnen vinden voor de verkeerspatronen in kwestie zijn sterke aanwijzingen dat ook .nl-domeinnamen worden gebruikt voor DNS-tunneling.
Om een voorbeeld te noemen: 'yrbbb0.*.*.nl.' is een domeinnaam die ik in het verkeer naar de .nl-nameservers heb geïdentificeerd en die ik heb geclassificeerd als een door de DNS-tunnelingtool iodine geïnitieerde query. Om privacyredenen heb ik de naam van het secondleveldomein weggelaten.
Op een willekeurig gekozen dag vond ik meer dan 3000 unieke .nl-domeinnamen die mogelijk werden gebruikt voor DNS-tunneling. Ik observeerde meer dan 250.000 query's voor die domeinnamen en dat was nog maar uit 6 landen. De meeste van die query's waren afkomstig uit de Verenigde Staten.
Concluderend blijkt uit mijn onderzoek dat we inderdaad DNS-tunneling kunnen detecteren in verkeer verzameld bij een TLD en dat DNS-tunneling nog steeds veel voorkomt. Voor de toekomst zou het interessant kunnen zijn om onderzoek te doen naar het waarom van DNS-tunneling en of we door erop te scannen malware-infecties in netwerken zouden kunnen detecteren. De in andere opzichten welkome privacybeschermende techniek QNAME minimisation zal het in de toekomst echter moeilijker maken om DNS-tunneling bij TLD's te detecteren.
Voor een meer gedetailleerde beschrijving van mijn onderzoek kun je mijn master thesis lezen.
Artikel door:
Deel dit artikel