Sulmi mohim i shërbimit

**Sulmi mohim i shërbimit** (**DoS** ose **DDoS**) janë ndër më të thjeshtat dhe më vulgare sot. Sulmet DoS nuk kanë objektiv vjedhjen, modifikimin apo shkatërrimin e informatave, por të pengoj adaptimin e një përdoruesi nga përdorimi i një pune. Një sulm DoS vjen në shumë mënyra, nga më te thjeshta ndarja e fuqisë së një sistemi, ose përmbytja e një sistemi derisa të adoptohet në trafikun e rrjetit. Natyra publike e internetit e bën veçanërisht me pika të dobëta (vulnerable) nga sulmet DoS. Sulmet DoS/DDoS të shpjeguara poshtë janë të gjitha të bazuara në rrjetet e sulmeve DoS. DoS/DDoS sulmet janë edhe sulme aktive, si sulmuesit në vazhdimësi përpiqen të ndërrojnë diçka, në ketë rast vlefshmërinë e një serveri.

#### TCP SYN Flood Attack
Një shembull i thjeshtë i sulmeve DoS është "TCP SYN flood attack". Një seancë TCP është e ngritur duke përdor mekanizma shtrëngim duarsh të trefishta, i cili i lejon klientit dhe "host"-tit që të sinkronizoj lidhjen dhe të pranoj sekuencat e numrave fillestar. Hosti i përgjigjet me një SYN / ACK, përsëri të sinkronizoj. Pastaj klienti pranon dërgesën e paketës SYN / ACK duke i dërguar ACK. Kur hosti pranon ACK lidhja bëhet e hapur, duke lejuar trafikun nga dy anët. Lidhja mbetet e hapur deri sa klienti apo hosti lëshon një FIN ose RST paket, ose lidhja ka rëne (time out). Procesi është i ilustruar poshtë:
                              
Në sulmet TCP SYN flood, sulmuesi krijon një lidhje TCP gjysmë të hapur duke i dërguar paketën fillestare SYN me një IP adresë të imituar, dhe kurrë nuk pranon SYN / ACK nga hosti me një ACK. Kjo eventualisht do të udhëheq drejt arritjes së limitit dhe ndalimin e pranimit të lidhjes nga përdoruesit e arsyeshëm. Shumë rutera sot janë në gjendje të detektojnë SYN floods duke monitoruar shumën e sezoneve TCP të mbetura pa përgjigje dhe duke i zhduk ato para se seanca të përfundoj. Ata shpesh mund të jene të konfiguruar që të caktojnë maksimumin e numrave të lejuar të konektimeve gjysmë të hapura, dhe limitin e shumës së kohës që hosti të pret për pranimin përfundimtar. Pa këto masa mbrojtëse, serveri mund eventualisht të del jashtë memories, duke shkaktuar falimentime absolute.

#### UDP Flood Attacks
UDP është një lidhje protokolli që nuk përdore mekanzima lidhje duarsh që të stabilizoj konektimin. Kjo gjë në mënyre relative është e lehte që të shpërdorohet për sulmet flood. Një sulm i zakonshëm UDP flood shpesh referohet si Pepsi attack, është një sulm ku sulmuesi dërgon një numër të madhe të paketa të imituara UDP në porte të rastësishme në host. Koha CPU, memorja, dhe bandwidth kërkon që të procedoj këto paketa që mund të bëjnë objektivin të pamundshëm për përdoruesit. Që ta minimizojmë rrezikun e sulmeve UDP flood, duhet të bëjmë disable UDP serviset e pa përdorshme në server dhe ti bllokojmë UDP portet e papërdorura me një firewall që ta mbroni rrjetin tuaj.

#### Ping of Death Attacks
Një tjerë sulm DoS i njohur mirë është Ping of Death. Sulmuesi dërgon një ICMP Echo kërkesë paket me një numër më të madh se 65,535 bytes,  duke shkaktuar te pranuesi buffer overflow (buffer overflow—kalim i cakut, kufirit) dhe objektivi apo viktima, sistemi i tij të shkoj në crash ose reboot. Posaçërisht sistemet operative Windows, por edhe sisteme te vjetra të MAC dhe Linux dhe pajisje rrjeti si router mund të jene vulnerable nga Ping of Death.
Sistemet operative moderne dhe pajisjet e rrjetit pa problem nuk i vejnë re këto  paketa mbi masë. Kurse sistemet operative mund zakonisht te bëjnë update me ndonjë patch.

#### Smurf Attacks
Sulm i rrezikshëm i DoS është ai Smurf attack, e cila ka mundësi te shkaktohet për shkak të konfigurimit të pajisjeve të rrjetit që përgjigjen të pasqyrimet e ICMP të dërguara te adresa transmetuese. Sulmuesi dërgon një sasia të madhe të ICMP trafikut të adresa transmetuese, dhe përdor IP adresën e viktimës si burim IP-je ashtu që përgjigja nga të gjitha pajisjet që i përgjigjen adresës transmetuese do ta përmbysin viktimën. Pjesa e rrezikshme e këtij sulmi është që sulmuesi mund të përdor një lidhje të dobët (low-bandwidth connection) që të rrezoj një lidhje të fortë (high-bandwidth connection). Sasia e trafikut e dërguar nga sulmuesi është e shumëfishuar nga një faktor që është i barabartë me numrin e hosteve prapa roterëve që i përgjigjet ICMP echo paketave.

Skeda:Sulmet DoS.gif

Diagrami i mësipërm përshkruan një Smurf attack në progres. Sulmuesi dërgon paketa ICMP echo te ruteri ne 128KBps.
Sulmuesi i modifikon paketat duke ndërruar burimin e IP-ës të IP adresa e kompjuterit të viktimës ashtu që paketat imituese i do të dërgohen në adresën e caktuar. Destinacioni i adresës së paketave është "broadcast address" në ketë rast e kemi 129.64.255.255. Nëse ruteri s’është i konfiguruar që ti dërgoj përpara këto transmetime te hosti në anën tjetër te ruterit të gjitha këto hosti do t’iu përgjigjet. Në shembullin e mësipërm na jep të kuptojmë 640 Kbps (5 x 128 Kbps) të përgjigjeve ICMP do të dërgohen në sistemin e viktimës, ku e cili në mënyre efikase do të bëj të pa aftë lidhjen 512 Kbps.  Përveç objektiviteti të sistemit, edhe ruteri ndërmjetësuesi është gjithashtu viktimë, edhe gjithashtu ato hoste ne "Bounce Site". Një sulm i thjesht që përdor UDP transmetime të paketave në vend të ICMP transmetimeve te paktës është e quajtur si "Fraggle Attack".
Është e vështir ta pengosh një Smurf attack plotësisht sepse ato janë të krijuar vetëm për rrjetat e konfiguruar gabimisht. Për tu siguruar nga këto sulme të duhet të instalosh një firewall dhe ta konfigurosh mir ruterin.

#### Teardrop Attacks
Kur të dhënat janë të dërguar përmes TCP/IP networkut, janë të ndara në copëza të vogla. Ato copëza përmbajnë fusha të kompresuara në TCP headers që përshkruajnë kur të dhënat fillojnë dhe mbarojnë. Në një sulm Teardrop, sulmuesi dërgon copëza jo valide të fushave të bllokuara në fushën e kompresuar, e cila mund të dërgoj sistemin e caktuar në crash kur provon ti rigrumbullon copëzat e të dhënave.

#### Bonk Attacks
Bonk sulmet janë më të thjeshta se Teardrop sulmet. Duke dërguar IP fragmente (copeza) me shkelje të fushave të kompresuara në TCP header, fusha  të kompresuara që janë shumë të mëdha. Kjo mund të shkaktoj që sistemi të shkoje në crash.

#### Land Attacks
Gjate sulmeve Land sulmuesi dërgon një TCP SYN paket të imituar më të njëjtën burim IP-je dhe destinacion adrese. Kjo e bën sistemin në siklet me versione të vjetruara të TCP/IP sepse pranon një TCP lidhje të kërkuar nga vet. Kjo mund të dërgoj sistemin në crash.

#### ICMP
ICMP është dizajnuar për të pasur kontroll dhe testuar mesazhet përmes "IP networks".
Ndryshe nga "Transport Layer" protokollet TCP (Transmission Control Protocol) dhe UDP (User Datagram Protocol) të cilat operojnë në baze të IP, ICMP ekziston anash IP.
Prapë se prapë, shumë vegla siguruese si firewalls bllokojnë ose ç’kyçin të gjitha pjesët e ICMP për arsye sigurimi.
ICMP Message Types
ICMP operon duke dërguar dhe pranuar numra të limituar të llojeve të mesazheve. ICMP mesazhet janë të definuara në LANA ICMP Type Numbers.

:Llojet e mesazhet më të thjeshta ICMP janë:

    Type  Name
    *0    Echo Reply
    *3    Destination Unreachable
    *4    Source Quench
    *5    Redirect
    *6    Alternate Host Address
    *8    Echo
    *9    Router Advertisement
    *10   Router Solicitation
    *11   Time Exceeded
    *12   Parameter Problem
    *13   Timestamp
    *14   Timestamp Reply
    *15   Information Request
    *16   Information Reply
    *17   Address Mask Request
    *18   Address Mask Reply
    *30   Traceroute

#### UDP
User Datagram Protocol (UDP) është njëra ndër protokollet e Internet protocol suite. Duke përdor UDP, programet në rrjetat e kompjuterit mund të dërgojnë mesazhe të shkurta ndonjëherë të njohura si datagrams (duke përdor Datagram Sockets) të tjetri. UDP është e njohur nganjëherë edhe si Universal Datagram Protocol.

#### IDS
Intrusion detection system (IDS) zakonisht detekton manipulime të pa dëshiruara të sistemeve kompjuterike, kryesisht ndërmjet internetit. Manipulimet mund të marrin formën e sulmeve nga "crackers". Një IDS nuk mund të detektoj sulme të enkriptuara.
Intrusion detecion system është përdorur të detektoj pjesë të veçuara të dëmshme që mund të shkaktojnë dëm në sistemet kompjuterike. Kjo përfshin sulmet e rrjetit kundër vulnerable services, të dhëna të sulmuara në aplikacione, hosti i sulmuar si nga privilege escalation, qasje të paautorizuara që mendojnë të kenë qasje në fajllet e ndjeshëm, dhe malware (viruses, trojan horses dhe worms).

#### TTL Expiration
Sulmet TTL expiration shkojnë në drejtim të kontrollit të mesazheve ICMP për ta përmbyt (flood) viktimën. Ne ketë sulm, burimi i adresës është e imituar që të ketë përputhshmëri me adresën e viktimës. TTL për paketat është në një vlere të vogël që zhduket në trafik në një ruter me shpejtësi të madhe. Kur TTL e paketës arrin zeron, ruteri e gjuan paketën dhe dërgon një mesazh ICMP TTL expired  te burimi i adresës, në ketë rast sajti i viktimës. Që nga TTL expiration është bëre shpesh në karta interneti në ASIC, kjo mund të ketë shpejtësi ekstreme reflektive mediale.
Mënyra më e mirë qe të mbrohesh nga kësi lloj sulmi është që të limitojmë ICMP të gjitha ruterët vulnerable në pronarin e servisit të networkut. Disa networka janë duke ofruar që ta bëjn "off", ta ndalin procesimin e TTL expiration.

### Distributed Denial of Service (DDoS) Attacks
Kur një sulmues sulmon nga burime të shumëfishta të sistemeve, është i quajtur si "Destributed Denial of Service (DDoS) attack". Nëse sulmuesi është në gjendje të organizoj një sasi të madhe te klientëve të konektuar, do të pranoj të kaloj përtej tyre. Prandaj, një denial of service do të ndodh. Kjo është një metodë e thjesht e përdorur nga "Hacktivist"-tet.
Megjithatë, sulmuesi në mënyrë tipike nuk i ka në pronësi këta kompjuter. Pronaret aktual zakonisht nuk janë të informuar për sistemin e tyre që po përdoret për një sulm DDoS. Sulmuesi zakonisht shpërndan Trojan Horses që përmbajne kode me qellim të keq (mailicious code) që e lejon sulmuesin ta kontrolloje sistemin e tyre. Si "malicious code" është edhe i referuar si "Backdoor". Kur njëherë këta Trojan Horses ekzekutohen, ata mund ti dërgojnë një email qeë ta informojnë se sistemi i tyre mund të kontrollohet nga ata (remotely controlled). Sulmuesi pastaj do të instaloj vegla (tools) që i duhen ta kryej sulmin. Kur sulmuesi munda ta kontrolloje mjaft mirë sistemin, të cilët mund të quhen si "zombies" ose "slaves", ai ose ajo mund të nis sulmin. Diagrami i mëposhtëm na shpjegon planë veprimet:

Në të shumtën e rasteve, është vështir apo ndoshta e pamundshme ta pengosh një sulm DDoS plotësisht. Disa rutera, firewall, dhe IDS janë në gjendje të detektojnë sulme DoS dhe të bllokojnë lidhje të dyshimta që të pengojnë serverin të ketë mbingarkesë (overloaded). Kur të jesh një viktimë i një sulmi DDoS në veprim e sipër, duhesh të kontaktosh ISP tënd që ta bllokosh IP adresën që shihet që mund të jetë burimi i sulmit. Megjithatë, sulmuesi krijon burim adresa të imituara, duke e bere shumë të veshit që ti gjurmosh burimin aktual të sulmit pa hyrje shtesë te korporatës së ISP tuaj.

Distributed Reflective Denial of Service (DRDoS) Attacks
Një sulm distributed reflective denial of service përdore kontrolle të mbledhura "remote" të kompjuterëve që ti dërgoj paketat e rreme te një media refleksive, në mënyre tipike te serverët ose ruterat në një sulme refleksivë i shpjeguar më poshtë. Figura na tregon për një DRDoS UDP dhe TCP një sulm flood. Siç na tregon diagrami është shumë vështir që të gjurmohet ky sulm sepse kontrollimi i kompjuterëve është dy shtresore e fshehur nga paketat e dërguara në sajtin e viktimës.
 
Në sulm DRDOS mund të përdor variante të ndryshme të sulmeve refleksive nga kompjuterët skllav nëpërmes hosteve refleksive të viktima. Trafiku nga kompjuteri kryesore të kompjuterët zombie (skllav) mund të jetë shumë i ulët, madje i fshehur me një normal ICMP echo reply ping paketa të cilat janë gati gjitha gjithmonë brenda networkut duke lejuar te kontrollohen kompjuterët skllav prapa firewalleve.

Mbrojtja nga sulmet DoS
Si sulmuesit të cilët gjejnë dobësi që të përdorën (vulnerabilities to be exploited) që të shkaktojnë sulme DoS, programerët e programeve apo me e rëndësishmja e  sistemeve operative bëjnë lëshimin e patcheve që ti mënjanojnë këto lloj sulme.. P.sh. Microsoft e ka rregulluar OS e vet që ti mënjanoj SYN Flooding duke i limituar numrin e kërkesave SYN që të ruhen në memorien e sistemit që ta pengoj të mos merr "overloaded" mbi ngarkese.. Mire kjo është vetëm një rast.. SYN Flooding mund të ekzekutohet në shumë mënyra dhe mund të shpjegohet në shumë mënyra në të ardhmën keto patche ndoshta s’do të mund të jene në gjendje ti pengojnë këto sulme.. Kështu unë mendoj se duke bere update programet dhe sistemet operative me patche nga krijuesit e tyre është e nevojshme të dijmë për sulmet të cilat janë bëre kundër nesh dhe dobësitë (vulnerabiliy) të cilat mund të përdoren (exploited) kundër nesh..

## Shiko edhe 
* Kibernetika

## Referime