Mis on SYN-i küpsised?

SYN-i küpsised on meetod, mille abil serveriadministraatorid saavad SYN-i üleujutusena tuntud meetodi abil ära hoida teatud tüüpi teenuse keelamise (DoS) rünnaku serveri vastu. Seda tüüpi rünnak kasutab protsessi, mille käigus luuakse ühendus kliendi ja hosti vahel, mida nimetatakse kolmesuunaliseks käepigistuseks, et tekitada hostil liiga palju kliendipäringuid, mis külmutab või jookseb kokku süsteemi. Sellised rünnakud on aga suures osas aegunud selliste meetodite tõttu nagu SYN-i küpsiste kasutamine, mis neist mööda hiilivad. Need küpsised ei kujuta turvaohtu ega -riski ei hostile ega klientidele ega põhjusta ühenduvusprobleeme ega probleeme.

SYN-i küpsiste toimimise viis põhineb paljude serverite ja kasutajate või hosti- ja kliendisüsteemide üksteisega ühenduse loomisel. Seda protsessi nimetatakse kolmesuunaliseks käepigistuseks ja see algab siis, kui klientsüsteem saadab päringu hostsüsteemiga ühenduse loomiseks. Taotlust nimetatakse sünkroonimissõnumiks või SYN-iks ja selle võtab vastu hostsüsteem. See hostsüsteem kinnitab seejärel, et SYN on vastu võetud, saates kliendile tagasi kinnituse ehk SYN-ACK sõnumi.

Kui klientsüsteem selle SYN-ACK-teate saab, saadab klient hostile tagasi lõpliku ACK-teate. Kui hostsüsteem saab selle lõpliku ACK-i, võimaldab see kliendil süsteemile juurde pääseda ja seejärel saada teistelt klientidelt täiendavaid SYN-i päringuid. Enamikul hostserveritel on SYN-i päringute jaoks üsna väike järjekord, tavaliselt ainult kaheksa korraga.

DoS-rünnaku vorm, mida nimetatakse SYN-i üleujutamiseks, kasutab seda hostsüsteemi ülekoormamiseks. Selleks saadetakse SYN-sõnum, millele host saadab vastuseks SYN-ACK-i, kuid lõplikku ACK-teadet klient ei saada, hoides positsiooni järjekorras avatuna. Kui seda tehakse SYN-i üleujutusrünnaku ajal õigesti, hõivavad need vastamata päringud kogu järjekorra ega saa vastu võtta uusi seaduslike klientide taotlusi.

SYN-i küpsised aitavad seda tüüpi rünnakutest mööda hiilida, võimaldades hostil käituda nii, nagu oleks tal tegelikust suurem järjekord. SYN-i üleujutuse rünnaku korral saab host kasutada SYN-küpsiseid, et saata kliendile SYN-ACK, kuid see välistab selle kliendi SYN-kirje. Põhimõtteliselt võimaldab see hostil töötada nii, nagu poleks SYN-i kunagi vastu võetud.

Kui klient on selle SYN-ACKi koos SYN-küpsistega vastu võtnud, sisaldab hostile tagasi saadetud vastav ACK andmeid algse SYN-ACKi kohta. Seejärel saab host kasutada seda ACK-i ja kaasasolevaid SYN-küpsiseid, et taastada algne SYN-ACK ja selle algse päringu jaoks sobiv kirje. Kui see on tehtud, võib kliendil lubada hostiga ühenduse luua, kuid kogu protsess väldib tõhusalt järjekorda, mis muidu võib olla hõivatud SYN-i üleujutusrünnakuga.