Nuomonė: XSS – nuvertinta grėsmė?

Prie kompiuterio
Daugeliui tikriausiai teko girdėti šią magišką santrumpą „XSS“ (angl. Cross-site scripting), gaila kol kas nėra gražaus lietuviško vertimo, pažodžiui tai būtų kažkas panašaus į „tarptinklalapinis scenarijų rašymas/vykdymas“. Kodėl verta apie šį pažeidžiamumą nuolatos kalbėti? Nes maždaug devynios iš dešimties interneto svetainių yra pažeidžiamos, likusi viena svetainė taip pat potencialiai gali nukentėti nuo šio pažeidžiamumo, kadangi saugumo tyrinėtojai nuolatos randa naujų „XSS“ išnaudojimo vektorių ne tik pačiose Web aplikacijose, bet ir pasitelkę naršyklių arba tarnybinių stočių programinės įrangos spragas.

OWASP projektas „XSS“ pažeidžiamumams skiria pirmą vietą tarp rimčiausių ir dažniausiai pasitaikančių pažeidžiamumų tinklo aplikacijose, tačiau dauguma programuotojų ir „rimtų“ saugumo expertų šio pažeidžiamumo nelaiko realia grėsme ir jį ignoruoja. Aišku, ignoruoja iki tol, kol nuo jo nudega, o labiausiai tai aktualu finansinėms institucijoms ir bendruomeniniams portalams, kurie patiria ne tik finansinius nuostolius, bet ir praranda klientų pasitikėjimą.

Pasitelkę „XSS“ įsilaužėliai gali:

Kodėl programuotojai kuria pažeidžiamą kodą? Išskirčiau tris pagrindines priežastis: paslaugų sutartyje nėra nieko pasakyta apie saugumo užtikrinimą, kodo kūrėjai nėra apmokyti arba paprasčiausiai tingi saugiai programuoti, naudoja platformą, kur už visus elementarius saugaus kodo niuansus yra atsakingas pats programuotojas. Galima būtų paminėti ir daugiau priežasčių, tačiau visos jos vienaip ar kitaip susijusios su žmogiškuoju faktoriumi. Dar iki šiol vienas populiariausių tinklo aplikacijų pažeidžiamumų yra PHP puslapių įterpimas, kuris yra žymiai pavojingesnis, nes apima pačio serverio ir vartotojų saugumą, tad ką bekalbėti apie iš pažiūros nekaltą „XSS“. Daug laiko praeis, kol saugumo užtikrinimas, taps programavimo kultūros dalimi.

Žvelgiant iš techninės pusės, „XSS“ pažeidžiamumų paieška ir išnaudojimas yra toks nesudėtingas, kad dažnai už šių pažeidžiamumų ar saugumo tyrinėjimų ta tema paskelbimą, saugumo tyrinėtojai susilaukia kritikos iš kitų, „rimtesnių“ saugumo tyrinėtojų. Su tuo sutikti neverta, kadangi auksiniai buferių perpildymo laikai seniai baigėsi. Jeigu anksčiau užtekdavo kaip parametrą programai perduoti labai ilgą eilutę, susidedančią iš pasikartojančių simbolių sekos, kuri perpildydavo buferį ir perrašydavo EIP (angl. Extended Instruction Pointer), tai dabar tokius pažeidžiamumus programose sėkmingai neutralizuoja ir pačios operacinės sistemos. Atėjus WEB 2.0 erai, o ir WEB 3.0 jau ne už kalnų, interneto erdvė vis labiau koncentruojasi į socialinius ryšius, tad ateityje bus visai nebūtina analizuoti OS branduolio TCP/IP steką, norint patekti į kompanijos vidų – užteks paprasčiausio „XSS“ pažeidžiamumo populiariame bendruomeniniame portale.