Een DDoS is een schoolvoorbeeld van hoe een standaard netwerktechniek tegen zichzelf gekeerd kan worden. Hoewel er meerdere vormen van DDoS zijn, komen ze er in essentie allemaal op neer dat ze een server of website zoveel werk te doen geven dat deze het loodje legt of in elk geval geen regulier netwerkverkeer meer kan afhandelen.

Vormen van DDoS

DDoS-aanvallen zijn in twee hoofdcategorieën onder te verdelen, Application Flooding en Denial of Service door middel van protocollen. Tot de laatste categorie wordt het ‘misbruiken’ van protocollen gerekend, zoals een TCP SYN flood attack, TCP ACK attack en dergelijke. Bij dit soort aanvallen worden heel veel SYN of ACK netwerkpakketjes naar een systeem gestuurd. Dat probeert in reactie op elk van deze berichten een connectie op te zetten. Maar natuurlijk komt het niet tot een verbinding, terwijl het alsmaar groeiende aantal ‘half open verbindingen’ wel steeds meer resources onttrekt aan het systeem, waardoor het uiteindelijk zijn taken niet meer kan uitvoeren.

Application Flooding, de tweede vorm van DDoS, is iets intelligenter dan de pure protocol-aanval. Bij Application Flooding wordt misbruik gemaakt van een normale applicatie zoals een web- of mailserver. Door het versturen van bijvoorbeeld extreem veel ‘http get-verzoeken’ of het initiëren van verschillende (halve) SMTP-aanvragen, worden de resources van de betrokken systemen opnieuw opgeslokt tot deze ermee stoppen.

Een DDoS herkennen

Het lastige aan een DDoS is dat er niets incorrects gebeurt, gesproken in termen van netwerkprotocollen en netwerkverkeer. Het zijn volledig valide aanvragen aan computersystemen. Alleen worden de vragen misbruikt door niet te wachten op een antwoord of door een TCP-sessie nooit af te sluiten. Computersystemen kunnen daar slecht mee overweg. Senior netwerkspecialist Gert-Jan de Boer heeft zich de afgelopen tijd beziggehouden met DDoS-aanvallen en een analyse gemaakt van de soorten aanvallen en mogelijke tegenmaatregelen.

De Boer heeft een proefopstelling gebouwd om zelf DDoS-aanvallen te kunnen initiëren en te analyseren en zo bekend te worden met de verschillende soorten aanvallen en maatregelen die het beste kunnen worden toegepast. “De proefopstelling bestaat uit een Radware DefensePro met een reporting appliance en een Apache webserver erachter. Aanvallen hebben we geïnitieerd vanuit twee virtuele machines. Een met Raptor Traffic Suite, een attacktool van Radware die een aantal aanvallen kan uitvoeren en die .pcap captures heeft van eerder uitgevoerde aanvallen. Deze captures kunnen opnieuw afgespeeld worden richting de eigen webserver. De tweede VM gebruikt Backtrack Linux om de security te kunnen testen”, aldus De Boer.

Patroonherkenning

Er zijn meerdere mogelijkheden om een DDoS-aanval te counteren. Het is belangrijk om te weten wat voor aanval er wordt uitgevoerd, zodat de juiste maatregel genomen kan worden. “De enig haalbare methode om een DDoS tegen te gaan is specifiek verkeer te blokkeren. Dit moet gebeuren op basis van de informatie die de aangevallen partij over de DDoS kan verzamelen uit het netwerkverkeer waarmee het op dat moment overspoeld wordt”, aldus De Boer. Aan de basis van het nemen van tegenmaatregelen bij een DDoS, ligt de analyse van de soort DDoS die wordt uitgevoerd. “Je kunt een DDoS herkennen aan het patroon van het netwerkverkeer. Je ziet extreem veel netwerkpakketen met ongeveer dezelfde karakteristieken. Die laten zich dus prima analyseren.”

Gert-Jan de Boer heeft voor de analyse van het netwerkverkeer een programma geschreven dat helpt het patroon in een DDoS te herkennen. De tool is geschreven in Python en draait in principe op Linux, Mac en Windows. De tool captured via een mirror-poort op een switch het netwerkverkeer van de DDoS en dumpt statistische informatie in de SQLite-database. De informatie bestaat uit timestamp, protocol, ttl, tcp flags, icmp echo type en natuurlijk source en destination IP, evenals het portnummer. “Op basis van deze data kunnen grafieken gegeneerd worden over bijvoorbeeld de top 50 voorkomende IP-adressen, de meest voorkomende Time-to-Live-pakketten of de meest voorkomende tcp-flags. In voorkomende gevallen is het op basis van deze patronen zelfs mogelijk het botnet te herkennen dat de DDoS uitvoert.”

Tegenmaatregelen

Het patroon herkennen is volgens De Boer de sleutel tot het keren van de aanval. “Bij een aanval hoef je niet lijdzaam toe te zien. Weten wat voor aanval het is helpt gericht de juiste tegenmaatregel te nemen. Op basis van de informatie uit de tool kan dan Anti-DDoS apparatuur geconfigureerd worden of specifiek verkeer geblokkeerd.”

De insteek van een tegenmaatregel bij een DDoS is niet zozeer het stoppen van de aanval, maar vooral de kwalijke gevolgen voor de eigen systemen pareren. Maar wat moet dat antwoord dan zijn? “Simpelweg een null-routering opnemen (een netwerkroute die nergens naartoe gaat) heeft onvoldoende effect, want dat stopt alleen het retourverkeer. Terwijl rigoureus verkeer blokkeren met een access-list op de aan het internet gekoppelde apparatuur er vaak alleen maar voor zorgt dat deze bezwijkt onder de processorkracht die door de access-list wordt gebruikt. De enig haalbare methode is zo specifiek mogelijk het verkeer blokkeren dat bij de DDoS hoort.”

Deze filtering kan op de eigen site worden gedaan of bij een ISP. De beste resultaten leveren daarbij specifieke Anti-DDoS appliances. Deze combineren vaak ook andere technieken, zoals intrusion prevention en gedragsherkenning. Ze kunnen in line geplaatst worden en daarbij dankzij hardware-acceleratie op lijnsnelheid de pakketten filteren. Het door De Boer gebruikte DefensePro van Radware heeft bijvoorbeeld een signature filter om bekende aanvallen tegen te houden en gedragsherkenning om dynamisch een signature samen te stellen. Ook kan het specifieke applicaties beveiligen zoals http en ftp tegen application flooding en bruto force pogingen tot het verkrijgen van wachtwoorden. Naast Radware leveren onder meer Arbor Networks, Fortinet en Riorey soortgelijke oplossingen.

Voor grote bedrijven kan het interessant zijn via off-ramping de filtering buiten het eigen bedrijf te laten plaatsvinden. Het volledige netwerkverkeer voor dat bedrijf wordt daarbij naar het datacenter van de leverancier van de DDoS-techniek gerouteerd, daar geschoond en dan pas weer doorgestuurd naar de eigenlijke bestemming. Ook binnen het eigen rekencentrum kan zo’n methode worden gehanteerd. Ondermeer de Arbor-appliances leveren deze mogelijkheid. Als deze off-ramping, filtering en on-ramping op het eigen netwerk gebeurt, moet er wel voldoende capaciteit op het eigen netwerk zijn.

Tijd om te handelen

“‘Een setup zoals wij die gebouwd hebben gaat voor een netwerkbeheerder mogelijk wat ver, maar ik moedig iedere beheerder aan zelf te onderzoeken wat voor risico’s zijn omgeving loopt om getroffen te worden door een DDoS en vooraf na te denken over mogelijke te nemen maatregelen. Het is immers een feit dat praktisch iedere omgeving te maken krijgt met aanvalspogingen zoals portscans en misschien zelfs inbraakpogingen en DDoS-aanvallen.

Op het moment dat de aanval wordt uitgevoerd is het te laat om kennis op te doen, dan moet er gehandeld worden.” De Boer is van plan zijn zelfgeschreven analyse-tool als open source software aan te bieden, zodra die voldoende kwaliteit heeft.