Netflix bekymret over DDoS mod tunge API-kald

Angribere, der bevidst udnytter dyre API-kald til at nedlægge tjenester, vækker bekymring hos Netflix.

En form for DDoS-angreb rettet mod dyre API-kald i microservice-arkitekturer bekymrer Netflix. Streaming-tjenesten kalder truslen 'application DDoS.' Det fortæller The Register på baggrund af et teknisk blogindlæg begået af Scott Behrens og Bryan Paynehos fra Netflix om emnet.

Hvor traditionelle DDoS-angreb typisk går ud på at fylde en netværkstjeneste med så meget skrammel-trafik, at legitime brugere ikke længere kan serviceres, så sigter 'application DDoS' mod dyre API-kald.

Logoet til Netflix-værktøjet Repulsive Grizzly, som skal hjælpe med at finde sårbarheder i forhold til 'application DDoS'-angreb.

»En enkelt forespørgsel ved kanten kan forgrene sig ud i tusindvis af forespørgsler i middle-tier- og backend-microservices,« står der blandt andet i indlægget fra Behrens og Payne, som fortsætter:

»Hvis en angriber kan identificere API-kald, som har denne effekt, så kan det være muligt at bruge denne forgrenelsesarkitektur (eng. fan out architecture) mod den overordnede service. Hvis de resulterende beregninger er dyre nok, så kan visse middle-tier-tjenester stoppe med at fungere.«

Og afhængigt af, hvor kritisk disse tjenester er, så kan sådan et angreb tage hele tjenesten ned, fremgår det videre af indlægget.

En del af problemet i forhold til 'application DDoS' opstår ifølge Behrens og Payne til dels som følge af, at applikations-firewalls ikke har øje for de mulige konsekvenser, masse-API-kald kan have.

Og derfor kan trafik, der er lavet, så den ser legitim ud, men som er målrettet de dyreste API'er målt på bagvedliggende regnekraft, få alvorlige konsekvenser, påpeger de.

For at komme problematikken til livs har Netflix lavet et værktøj, virksomheden kalder Repulsive Grizzly. Det kan bruges til at teste applikationers sårbarhed overfor denne form for angreb.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (5)
Ulrik Pedersen

Hvis et API kald forlanger autentificering ved hver forespørgsel, så er det i min simple udvikleroptik da muligt at afslutte forespørgslen allerede inden den sætter de bagvedliggende microservices i gang.

Der må være en twist på den historie som jeg enten ikke forstår, eller som ikke er kommet med i oversættelsen.

Det er klart at hvis man udstiller en service på nettet uden filter så kan den hurtigt sættes under pres, men det kan umuligt være en så simpel ting Netflix bøvler med.

Patrick Moog

Det kan være at Netflix overvejer at åbne deres API igen?

Så kan få konti der ikke vil blive fanget som alm. DDOS (fordi antallet af requests er lav), lave meget arbejde fordi de laver requests der er "komplekse" og sjældne (ikke cahced).

Jesper S. Møller

Hvis et API kald forlanger autentificering ved hver forespørgsel, så er det i min simple udvikleroptik da muligt at afslutte forespørgslen allerede inden den sætter de bagvedliggende microservices i gang.

Blandt Netflix' klienter er der jo almindelige browsere, med helt almindelige HTTPS forbindelser. Derfor er det jo ingen sag (for en indlogget bruger) at finde ud af hvilke databærende, "tunge" services, der kan kaldes (hint: Din favoritbrowsers Developer Tools, Network-fanen), og gentage disse kald i parallel med samme parametre (hint: "Copy as cURL").

Det er jo i princippet nok til at skaffe viden om denne type sårbarhed (men efterlader selvfølgelig informationer om hvilken bruger, der gør det -- så lad være).

Ulrik Pedersen

OK, jeg troede logikken i mit indlæg var indlysende nok.

Men skal nok skære det mere tydeligt ud ;)

Benytter du autentificering på alle API kald kan du lynhurtigt identificere synderen og tage de nødvendige forholdsregler for at dæmme op for problemet.

Mht. at åbne op for API så bør det, igen i min simple udvikler optik, aldrig være mere åbent end at du benytter en eller anden form for nøgle til at identificere en given bruger.

Årsagen til at man vil åbne op for enhver form for API er jo at man vil give andre udviklere muligheden for at benytte ens data og infrastruktur på en anderledes måde, og dermed eventuelt også på en uhensigtsmæssig måde. Hvis ikke man har en bremse på det så ligger man også som man har redt.

Jesper S. Møller

Benytter du autentificering på alle API kald kan du lynhurtigt identificere synderen og tage de nødvendige forholdsregler for at dæmme op for problemet.

Enig, og de store platforme går da også den vej - men...

... mens det er fint nok fsva opfølging på angreb (I scenariet hvor det er en enkelt bruger, der går amok med sit eget login), handler artiklen netop om prævention, ikke kur. Hvis angriberen f.eks. har et botnet af zombier med gyldige Netflix-logins, er du stadig chanceløs.
Hvis du skal automatisere afværgeaktionen er du nødt til at beregne "omkostningen" per brugerkald og rate-limitere derigennem, og så har du jo bare fået et nyt skaleringsproblem.

Som udvikler håber jeg bestemt at Netflix fortsat vil køre den åbne stil hvor de både deler ud af erfaringer og kode.

Log ind eller Opret konto for at kommentere
Pressemeddelelser

Silicom i Søborg har fået stærk vind i sejlene…

Silicom Denmark arbejder med cutting-edge teknologier og er helt fremme hvad angår FPGA teknologien, som har eksisteret i over 20 år.
22. sep 2017

Conference: How AI and Machine Learning can accelerate your business growth

Can Artificial Intelligence (AI) and Machine Learning bring actual value to your business? Will it supercharge growth? How do other businesses leverage AI and Machine Learning?
13. sep 2017

Affecto has the solution and the tools you need

According to GDPR, you are required to be in control of all of your personally identifiable and sensitive data. There are only a few software tools on the market to support this requirement today.
13. sep 2017