(Distributed) Denial Of Service – (D)DoS
Denial Of Service napadi imaju za cilj upravo ono što im ime sugeriše, da onemoguće legitimnim korisnicima neke usluge pristup toj usluzi. Razlika između DoS i DDoS – rječ distribuirani, znači da se napad sprovodi sa više izvora, često su to botovi koji su zarazili neke sisteme i koordinisano vrše napad.
Obzirom na širok cilj ovakvog napada, onemogućavanje pristupa nekoj usluzi, postoji veliki broj načina da se izvede. Neki od najčešćih su :
- Preopterećenje web servera zahtjevima. Zahtjevanje podataka od web servera u kratkim intervalima ili sa više računara u jednom trenutku će dovesti do preopterećenja servera i napadač će zauzeti sve raspoložive resurse dok regularni korisnik neće biti u mogućnosti da pristupi, ovakav problem je teško rješiti jer je posljedica fizičkih ograničenja opreme.
- Izvođenje Buffer Overflow-a. Bilo koji programski jezik koji prepušta korisniku brigu o alociranju memorije ( kao C i C++) može biti doveden u stanje buffer overflow-a, na sledećem primjeru koda pokušava se unjeti više karaktera nego što je predviđeno za buffer i dolazi do greške.
void overflow (char *string) {
char buffer[10];
strcpy(buffer, string); // Problematični dio koda
}int main () {
char *string = “Ovaj string je dužine veće od 10.”;
overflow(str);
} - DoS zbog nekorektnog rukovanja resursima. Ukoliko se u toku izvršavanja nekog koda pojavi potreba za pristupom bazi podataka, fajlu ili sličnom resursu prema kome se drži otvorena konekcija, obaveza programera je da konstruiše mehanizam koji će u svakom slučaju nakon izvršetka koda ovaj resurs osloboditi. Nekada zbog izvršavanja koda na neočekivan način ( izuzeci i slično ) linija koda koja oslobađa resurs biti će preskočena i sledeći put kada kod bude izvršen resurs neće biti dostupan.
- Primanje nekorektnih parametara od korisnika. Ako je korisnik u poziciji da šalje serveru podatke koji će uticati na izvršavanje koda na neki način moguće je da korisnik dovede server u stanje DoSa slanjem parametara koji će dovesti do kvara.
Izvor:www.owasp.org