Veebirakenduste turvalisusest

Osalesin hiljuti veebirakenduste turvakoolitusel, mis muutis mu suhtumist internetti ilmselt igaveseks. Miks? Kuidas sulle meeldiks veebipoest saada näiteks tasuta plasmateler, 9 mobiiltelefoni ja lisaks veel väike rahasüst krediitkaardile? Kõik see on teoorias võimalik, kui veebipoe programmeerija on teinud mõned vead, testija pole neid üles leidnud ja ka firma muudes protsessides on puudujääke.

Aga kuidas siis neid tasuta asju saada? Näiteks, proovi panna ostukorvi sulle sobiv teler ja -9 mobiiltelefoni (just, negatiivne arv), mille kogusumma ületab teleri maksumuse. Kui tellimus läbi läheb, saad parimal juhul nii teleri, telefonid (kuna laos võidi arvata, et see miinusmärk on mingi süsteemi viga) kui ka negatiivse lõppsumma krediitkaardile (kui raamatupidamises arvati, et tegu on kreeditarvega). Kõlab uskumatult, aga väidetavalt true story.

 

Et taolisi vigu vältida, peaks kõigepealt teadma, kuidas pätid neid otsivad. Ning just sellest antud koolitus oligi. 2 päeva hands-on “häkkimist” ja nüüdseks vaatan ma pea igat veebi input-form‘i natuke teise pilguga. Kui minu sisestatud andmeid samal saidil kuskil teises kohas ka välja näidatakse, siis teen paranoiliselt väikse testi. Näiteks, toksin input‘i sisse “javascript:alert(1337);”, salvestan ja kui selle peale hüppab mulle ette hüpikaken, kuhu on kirjutatud 1337, siis saab seal lehel juba väga palju pahandust korda saata :) Kuigi see oli väga lihtsustatud näide ja programmeerijad tavaliselt päris nii elementaarseid vigu ei tee, siis näitab see kätte suuna, kuidas peaks mõtlema nii veebirakendusi arendades kui ka testides.

 

 

Koolitusel kaeti hulganisti erinevaid ründe liike ja viise, kuidas nende vastu kaitsta. Mõned märksõnad: Cross-Site Scripting (XSS), küpsised (cookies), sessiooni kaaperdamine, sunnitud päringud (Cross-Site/On-SiteRequest Forgery), kasutajaliidese võltsimine (User Interface Redress Attacks, ClickJacking, CursorJacking jne). Koolitusel öeldi tabavalt, et “ründajale piisab ühest turvaaugust, arendusmeeskond peab leidma ja parandama kõik”.

 

Arvestades, et isegi kahest päevast jäi kogu materjali katmiseks väheks, siis ühe artikliga ei tee harimise osas just kuigi palju ära. Tegelikult peaks sellise mõttemaailma tutvustamine olema ülikoolide IT-teemalistes õppekavades, sest kust muidu äsja tööturule tulevad noored teadma peaks, kuidas nii tööandja kui viimase klientide huve kaitsta. Ja ka juhtide tasemel peaks veebirakenduste turvalisuse teemale rohkem rõhku panema – kasvõi selleks, et nad teaks, mida nõuda. Teadmatuse, kogenematuse, naiivsuse, liigse kiirustamise jms tõttu töösse lastud turvaauguline rakendus võib ettevõttele põhjustada märkimisväärseid ebamugavusi ja rahalisi kahjusid. Ja seda ei soovi ju keegi.

 

Lõpetuseks natuke alatut reklaami ka – koolitust korraldanud Clarified Security (sh Pro endine töötaja Jaanus Kääp, kes tegi oma hobist elukutse) näol on tegu tõsiste oma ala spetsialistidega. Lausa lust oli vaadata, kuidas ükski küsimus ei jäänud vastuseta, näiteid nii kodust kui kaugemalt oli kamaluga võtta ning praktilised ülesanded olid hästi läbi mõeldud. Just sellised peaksid ained ülikooliski olema, entusiasm õppida tuleks iseenesest.

3 thoughts on “Veebirakenduste turvalisusest”

Leave a Reply

Your email address will not be published. Required fields are marked *