Netikėtas gedimas: milijonus svetainių sustabdė ne ataka, o klaidingas vidinis atnaujinimas
Kai dėl „Cloudflare“ sutrikimo vienu metu sustojo milžiniška dalis interneto, daugelis pirmiausia manė, kad tai kibernetinė ataka. Tokių nuogąstavimų netrūko ir todėl, kad prieš kelias dienas panašų incidentą patyrė „Microsoft Azure“. Tačiau po išsamesnio tyrimo „Cloudflare“ patvirtino, kad gedimo esmė buvo visai kitokia: „Ši problema nebuvo tiesiogiai ar netiesiogiai sukelta kibernetine ataka ar kokia nors kenkėjiška veikla“. Kaip rašoma oficialiame bendrovės pranešime, nei atakos, nei įsilaužimo nebuvo[1].
Tikroji priežastis slypėjo viename faile. „Cloudflare“ vadovas Matthew Prince išsamiai paaiškino situaciją atsiprašymo tekste. Keisdami duomenų bazės leidimus, specialistai netyčia sukūrė problemą, dėl kurios „Cloudflare“ botų valdymo įrankio failas padvigubėjo.
Failas buvo sukurtas su labai griežtais dydžio ribojimais, todėl jam juos viršijus, sistema tiesiog nebeatlaikė. Taip sugriuvo esminė apsaugos paslauga, o kartu su ja ir didelė dalis pasaulio interneto.
Situacija buvo tokia netikėta, kad pats M. Prince vidinėje komandos pokalbių erdvėje rašė: „Bijau, kad tai didelis botnetas, kuris demonstruoja savo galią“. Tik vėliau paaiškėjo, kad ne botai kalti, o programinės įrangos atnaujinimas ir klaidingas užklausų atsakas duomenų bazėje.
Kai leidimai buvo pakeisti, duomenų bazė prie vieno failo pridėjo dvigubai daugiau informacijos nei turėtų. Šis per didelis failas išplito po visą „Cloudflare“ tinklą, o programinė įranga, turėjusi jį nuskaityti, tiesiog subyrėjo.

Vidinė techninė klaida sukėlė grandininę reakciją, kuri išjungė ChatGPT ir kitus pasaulinius gigantus
„Cloudflare“ tinklas valdo didelę dalį pasaulinio srauto, todėl kiekvienas sutrikimas atsispindi šimtams milijonų vartotojų. Šįkart dingę paslaugų sąrašai buvo įspūdingi: neveikė ChatGPT, Uber, McDonald’s užsakymo sistemos, Twitter/X, League of Legends ir net dauguma technologijų žiniasklaidos svetainių bei Lietuvos portalai. Visa tai dėl vieno failo, kuris turėjo apdoroti botų atpažinimo funkcijas.
Gedimo mechanizmas buvo paprastas, bet pavojingas. Programinė įranga, valdanti „Cloudflare“ tinklo srautą, turi nustatytą leistiną mašininio mokymosi požymių limitą, kuris padeda atpažinti automatizuotus užklausų srautus.
Failui padvigubėjus ir viršijus 200 leistinų požymių ribą, sistema pradėjo generuoti 5xx klaidų bangas. M. Prince aiškino, kad „programinė įranga turėjo funkcijos failo dydžio apribojimą, kuris buvo mažesnis nei jo dvigubas dydis“, todėl programa tiesiog nustojo veikusi[2].
Dar daugiau painiavos sukėlė tai, kad failas atsinaujindavo kas penkias minutes. Vienos duomenų bazės dalys jau generavo blogą failą, kitos dar ne. Todėl tinklas iš pradžių veikė šiek tiek lyg ir normaliai, o po penkių minučių vėl griūdavo. Ši besikartojanti klaidų banga ir paskatino pirmąsias prielaidas, kad tai galėtų būti išorinė ataka.
Tik tada, kai visi duomenų bazės mazgai pradėjo kurti tą pačią klaidingą failo versiją, sistema nutraukė darbą visiškai. Sprendimas buvo paprastas: specialistai sustabdė blogo failo platinimą, įkėlė senesnę jo versiją ir perkrovė pagrindinius tarpinius serverius. Vos tik buvo atlikti šie veiksmai, interneto paslaugos ėmė atsistatyti.
„Cloudflare“ prisiėmė atsakomybę ir žada pertvarkas, kad tokie gedimai nepasikartotų
M. Prince pripažino, kad tai buvo rimčiausias Cloudflare sutrikimas nuo 2019 metų ir pridūrė: „Visos Cloudflare komandos vardu norėčiau atsiprašyti už nepatogumus, kuriuos šiandien sukėlėme interneto vartotojams“.
Atsiprašymas paprastas ir atviras, bet kartu akcentuojantis įmonės reikšmę pasaulinei infrastruktūrai. Nors techniniai sutrikimai gali nutikti visiems, tokios apimties gedimai kelia klausimų dėl interneto saugumo ir patikimumo.
Vadovas taip pat pažymėjo, kad Cloudflare ėmėsi veiksmų ateičiai. Įmonė žada stiprinti vidines apsaugas, diegti daugiau automatinių saugiklių, peržiūrėti gedimų valdymo scenarijus ir užtikrinti, kad konfigūracijos failai daugiau nebegalėtų sugadinti viso tinklo. Anot jo, „ankstesni gedimai visada paskatindavo kurti naujas, atsparesnes sistemas“.
Tai rodo, kad net didžiausios įmonės gali susidurti su paprasta technine klaida, kuri sujaukia globalias paslaugas. Taip pat tokia situacija parodė kaip šiais laikais viskas sujungta ir vienas sutrikimas gali paveikti visą pasaulį ir sustabdyti įvairius darbus.