Många verksamheters avsaknad av ett Domain Name System (DNS) tunnelskydd och god DNS-säkerhet är förvånande, orsakerna kan man bara spekulera om. Kanske beror det på att det ofta krävts väldigt nischade produkter som ligger utanför de vanligaste säkerhetsskydden med brandväggar, IDS/IPS och liknande. Skydd mot DNS-tunnling blir då ytterligare en säkerhetslösning i mängden av alla de andra lösningar man redan investerat i.
Brister i DNS-säkerhet vanliga
Många organisationer tillåter också de flesta trafiktyper och applikationer helt fritt mot Internet utan någon som helst insyn och kontroll. Då spelar det mindre roll om det går att tunnla med hjälp av just DNS. Däremot så kan DNS-tunnling definitivt vara värt att titta närmare på för de verksamheter som har investerat i en hög nivå av säkerhet.
Brist på god DNS-säkerhet kan också bero på brist av medvetenhet om problemställningen. Ändå har DNS-tunnling funnits som fenomen och använts av hackare i säkert tio års tid för att kommunicera icke-DNS-trafik över DNS-protokollet med datorer utanför det egna nätverket. Vid DNS-tunnling använder man DNS-protokollet för att gömma sin trafik i för att kunna skicka in och ut data från interna närverk till externa nätverk som exempelvis Internet.
DNS-tunnling missbrukar internets telefonkatalog
Problemet med DNS-tunnling är att det fungerar nästan överallt och är oftast en tillåten väg mellan det interna nätet och omvärlden. DNS är en funktion som man behöver ha och genom att möjligheten ofta finns för att transportera information i DNS paket, har användandet av DNS tunnlar blivit ett etablerat sätt för att ta sig in och ut på ett företagsnätverk, lagligt eller olagligt.
Rent konkret fungerar DNS som en telefonkatalog som översätter URL:er till sina motsvarande IP-adresser för att styra datatrafiken till rätt adress. DNS-servern känner till alla IP-adresser i det egna nätverket, men för att få reda på en okänd IP-adress ute på internet måste DNS-servern skicka ut en fråga till en annan DNS-server på internet som i sin tur kan behöva ställa en fråga till ytterligare en annan DNS-server. På så sätt skapas kedjor med DNS där det går frågor och svar mellan en användares dator och DNS servers som levererar svar tillbaka med IP adresser som användaren försöker nå vid exempelvis Internet surf.
Hackern använder en speciell programvara, en malware som installeras på en DNS klient på insidan och kommunicerar med hackerns DNS server på utsidan. På så sätt kan filer och information delas upp i många delar som sedan paketeras i data delen av DNS paket för exfiltration.
Den information som hackarens mjukvara stoppar i datapaketen och som trafikerar tunneln ser därför helt ok ut från utsidan. Brandväggen förstår i regel inte att det är något fel eftersom paketformatet är legitimt och man inte heller gör något regelbrott rent applikationsmässigt och beaktar inte vart paketet är på väg. Vid stora mängder data som skickas via tunnel så blir det en stor mängd med DNS-förfrågningar. Dessa kan ”smetas” ut över tid och på så vis ytterligare minska risk döljas upptäckt.
DNS-tunnling för Command and control, exfiltration
DNS-tunnling kan användas på flera sätt. Inte sällan handlar det om att stjäla känslig data från ett företag/organisation (exfiltration) eller att skicka in skadlig kod. Ett annat vanligt användningsområde brukar gå under beteckningen command and control. Det går ut på att ta över och styra de interna datorerna att utföra vissa kommandon. Informationsinhämtningen kan ske mycket sofistikerat. Exempelvis kan hackaren styra informationen för att få output tillbaka om huruvida det gick bra att installera den skadliga koden och om allt går den väg som hackaren planerat (C2 Callbacks). Kända attacker är ”Morto”, ”Feederbot” och ”FrameworkPOS”.
Andra motiv för DNS-tunnling kan vara att använda mjukvaror som Iodine eller Tunnel Guru för att kringgå nätverksautentisering och IT-policys på publika eller privata wifi-nätverk
Lösning: molnbaserad DNS-säkerhet
För att täppa till möjligheten att etablera en DNS-tunnel måste antingen DNS stängas av (vilket man som regel inte vill eller kan) alternativt måste man implementera ett skydd mot DNS-tunnling. Det finns idag flera olika sätt att implementera en god DNS-säkerhet. Vanligast är att implementationen av säkerheten fås via en molnbaserad säkerhetstjänst (Secure Internet Gateway, SIG). Den molnbaserade tjänsten innehåller avancerad analys av alla DNS-uppslag och kan därmed tillämpa säkerhet på DNS-nivå. DNS-säkerhet tillämpas vanligtvis i linje med trafiken och inspekterar då alla DNS paket samt vart DNS frågor ställs. Detta kan ske i en router eller en brandväggar som har denna funktionalitet.
Det är också möjligt att införa skydd mot exfiltration med hjälp av en DNS-proxy. DNS-Proxyn placeras mellan det interna företagsnätet och internet och ansvarar enbart för DNS-förfrågningarna och där kan även integration ske mot en katalogtjänst för att erhålla användarens identitet.
Som en ytterligare bonus kan DNS-baserad säkerhet applicera filtrering av domäner. Att jämföra med klassisk URL-filtrering men istället baserat på enbart domäninformation. Klienter utanför kontoret säkras också ytterligare genom att använda den molnbaserade DNS-säkerhetstjänsten som ett kraftfullt komplement. Ett exempel på ett molnbaserat DNS-skydd med samtliga funktioner ovan är Cisco Umbrella.
Har du en fråga till en av våra certifierade säkerhetskonsulter – är det kanske dags att göra en analys av er säkerhet? Hör av dig!
Björn Videnberg är lösningsarkitekt på Conscia Netsafe. Han var CCIE 2001-2012 och har över 20 års erfarenhet av IT-branschen varav 15 år med kvalificerade lösnings- och säkerhetsprojekt på IBM. Läs mer om Björn här.
Foto: Alexander Mils/Unsplash