'Nødafbryder' kan stoppe Memcached-baseret DDoS-angreb, mens de er i gang

12. marts 2018 kl. 14:453
'Nødafbryder' kan stoppe Memcached-baseret DDoS-angreb, mens de er i gang
Illustration: Corero Network Security.
Ny løsning gør det nemmere at stoppe Memcached-baserede DDoS angreb, men den er formentlig ulovlig at anvende.
Artiklen er ældre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

De to rekordstore DDoS angreb, som bla. Version2 har omtalt på det sidste, har det til fælles, at de har udnyttet en svaghed ved frit tilgængelige servere med Memcached-systemet.

Svagheden gør det muligt at sende enorm trafik mod få eller enkelte IP-adresser, dette gør det muligt at forstærke DDoS-angreb betydeligt, uden brug af omfattende Botnets.

Memcached kom allerede i slutningen af februar med en opdatering, som ændrer standardindstillingerne. Dette gør, at UDP protokollen, som udnyttes i angrebene, er deaktiveret som standard.

“Flush-all”

Selvom mængden af frit tilgængelige memcached servere på det seneste blevet kraftigt reduceret, er der stadig nok tilbage til at udgøre et problem. I sidste uge blev en ny løsning på problemet annonceret. Den omtales som en “Kill Switch”, en nødafbryder, der kan stoppe et memcached angreb.

Artiklen fortsætter efter annoncen

Ved at studere den sendte trafik under et angreb, kan man se hvilke servere, der udnyttes under angrebet. Ved så at sende en “flush-all” kommando til hver af disse servere kan man slettes cachen i serverne, inklusiv det payload, som angriberne har lagt der.

Det er selskabet Corero Network Security som hævder at have opdaget denne metode. Værktøjet skal have vist sig at være 100% effektivt under reelle angreb. Men selskabet tilbyder kun nødafbryderen til egne kunder. Selskabet tilbyder tjenester som beskytter kunderne bla. mod DDoS angreb.

Memfixed

I torsdags kom sikkerhedsspecialisten Amir Khashayar Mohammadi med et nyt Python-baseret værktøj, som kan gøre det samme og betydeligt mere. En del af ekstrafunktionaliteten bør man nok undlade at benytte.

Ifølge Bleeping Computer kan Memfixed slette cachen på Memcached-systemet. I samme mappe som Memfixed programmet ligger en tekstfil, servers.txt, hvori alle Memcached-serverne er angivet. Under et angreb vil værktøjet sende 'flush-all' kommandoen til hver eneste Memcached server, hvilket skulle stoppe angrebet.

Artiklen fortsætter efter annoncen

Memfixed kan også kobles til programmeringsgrenessnittet til søgetjenesten Shodan for automatisk indhentning af IP-adresserne til de berørte Memcached-servere. Dermed vil cachen tømmes for samtlige sårbare servere, og ikke kun dem, som bruges i angrebet.

Mohammadi skriver, at metoden er uetisk, uanset hvordan man ser på det.

I tillæg til 'flush- all' kommandoen, støtter Memfixed også en 'shutdown' kommando. Også denne kan sendes til de berørte memcached servere. Da den deaktiverer memcached-systemet på serveren, overskrider man en grænse ved at benytte den, da man risikerer at hele tjenesten, som serveren understøtter, stopper med at virke. Dermed er man gået fra at forsvare sig selv, til at selv at være angriber.

Datatyveri

Corero Network Security skriver desuden, at memcached-svagheden kan bruges til at stjæle al den data, som ligger i cachen til tjenesten.

Memcached-protokollen blev designet til at kunne bruges uden indlogning, hvilket betyder, at alt hvad du lægger i en sårbar memcached-server kan blive stjålet af enhver på internettet, uden brugernavn, password eller revisionsspor, skriver selskabet. Nøglerne, som er knyttet til data skal nemlig, kunne afsløres ved hjælp af en enkelt debuggingkommando. Dertil kommer at angribere vil kunne modificere data i cachen, uden at dette opdages af serverejeren

3 kommentarer.  Hop til debatten
Denne artikel er gratis...

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.

Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.

Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.

Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.

Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
3
13. marts 2018 kl. 12:43

Det kunne være sjovt at hører en jurist om dette.

Jeg ville som en del af argumentationen for at det bør være lovligt, drage en paralle til begrebet "gratis". Tilbage i ca. 1997 havde jeg lidt erhvervs jura, budskabet bla. her at skriver du at noget er gratis, må kunden bede om at få alle de gratis eksemplare den erhvervsdrivene har. Den erhvervsdrivende kan ikke begrænse kunden til kun at kunne få 1.

Jeg vil også hive udviklerens noter frem, deri står der bla. at memcache ikke er tiltænkt at være eksponeret direkte på internettet.

2
12. marts 2018 kl. 18:59

Det ville give mening, men sådan er det ikke.

Din intention er det som afgør sagen. Hvis din oprigtige forventning er at memcached-serveren er stillet til rådighed for dig med vilje, og du samtidigt forventer at du får en nyttig service ud af at sende flush-all, så er det klart lovligt at sende flush-all. Det bliver dog rimeligt vanskeligt at få den gennem bullshit-detectoren i en dansk retssal.

Du har nok mere en chance med almindelig nødret: Hvis en mindre forbrydelse kan forhindre en alvorligere forbrydelse eller hvis du kan forhindre alvorlige skader på personer eller ting, så kan du ofte slippe for straf for at bryde loven. Men igen, HVOR slemt er skaderne fra det DDoS-angreb? Kunne du gøre noget andet og mindre drastisk for at mindske skaderne?

Moralsk er jeg ikke i tvivl om at det korrekte er at sende shutdown eller flush-all. Jeg har absolut ingen moralske kvababbelser over den slags; i sidste ende er det også i memcached-ejerens interesse at få hullet fikset. Men lov og moral er ikke det samme, og det er trælst at bruge måneder af sit liv på at spekulere over forskellen -- bag tremmer.

1
12. marts 2018 kl. 15:48

Når en webserver stiller en tjenstlige frit tilgængelige, så må jeg bruge den, dvs tilgå den. Når en mail server stiller sin tjeneste til rådighed, må jeg sende mail til den. Hvis en memcache server stiller en flush-all tjeneste frit til rådighed, hvorfor må jeg så ikke bruge den?