Paprastas vartotojas išgirdęs pranešimą apie naują virusą dažniausiai mano, jog tai jo neliečia, tačiau vos tik dėl viruso ar kirmino kaltės dingsta ar yra pavagiami jo konfidencialūs duomenys, susirūpinama saugumu. Tuomet pradedamos naudoti įvairios apsaugos priemonės, tokios kaip antivirusinės programos, ugniasienės.

Pažeidžiamumai paprastai leidžia atlikti iš anksto nenumatytus veiksmus programoje – jos darbo sutrikdymas, priėjimas prie neleistinų duomenų ar kenksmingo kodo vykdymas sistemoje. Įdomu tai, kad saugumo pažeidžiamumai retai pasireiškia įprasto ir numatyto darbo su programine sistema metu. Tačiau, jeigu apie šias klaidas sužino suinteresuotas asmuo – nusikaltėlis - situacija pasikeičia.

Klaidų ir pažeidžiamumų kuriant šiuolaikines technologijas beveik neįmanoma išvengti. Spragos programinėje įrangoje bei jų pašalinimas yra neatsiejama programinių produktų kūrimo ir taikymo dalis.

JAV ir Vakarų Europos šalyse vis rimčiau ir atsakingiau žiūrima į programinės įrangos pažeidžiamumus, tačiau kaip yra pas mus, Lietuvoje?

Lietuvoje nėra labai didelių programinės įrangos gamintojų, tai galima sieti su siauru potencialių programinės įrangos vartotojų ratu ir maža mūsų šalies rinka.

Lietuviška programinė įranga gerai atlieka jai numatytas funkcijas. Tačiau kokia situacija yra su jos patikimumu ir saugumu?

UAB „Critical Security“ atlikti tyrimai parodė, kad nors lietuviškos programinės įrangos ir nėra daug, tačiau spragų joje, jei ne daugiau, tai tikrai ne mažiau nei kitur. Visi nagrinėti programinės įrangos produktai turėjo tam tikrų pažeidžiamumų ir saugumo spragų.

Nagrinėtoje programinėje įrangoje buvo aptikta daugybė kelių tipų pažeidžiamumų. Nesigilinant į technines subtilybes surastus pažeidžiamumus galima skirstyti į šiuos tipus:

Dizaino klaidos;

Pažeidžiamumai susiję su nekorektišku vartotojo įvedamų duomenų apdorojimu;

Neteisingas vartotojų teisių paskirstymas;

Neteisingai realizuotas ar išvis neegzistuojantis duomenų šifravimas.

Programinę įrangą taip pat galima suskirstyti į tipus:

Interneto aplikacijos;

Darbastalio programos;

Tarnybinės programos.

Interneto aplikacijose daugiausiai surasta netinkamo vartotojo įvedamų duomenų apdorojimo pažeidžiamumų, jie sudarė maždaug 69 proc. viso šio tipo programinėje įrangoje surastų pažeidžiamumų skaičiaus. Netinkamo duomenų apdorojimo pažeidžiamumai, interneto aplikacijose, lemia informacijos vagystes, leidžia įsilaužėliams skintis kelią į vidinį organizacijos tinklą.

Darbastalio programose, kaip ir interneto aplikacijose, taip pat daugiausiai aptikta neteisingo duomenų apdorojimo pažeidžiamumų, jie sudarė beveik 82 proc. viso tokio tipo programose rastų pažeidžiamumų kiekio, tačiau šių pažeidžiamumų išnaudojimas turi kiek kitokias pasekmes, nei interneto aplikacijose surasti analogiški pažeidžiamumai. Neteisingas duomenų apdorojimas darbastalio programose, dažniausiai priveda prie kodo vykdymo atakuojamoje sistemoje – tai leidžia įsilaužėliui užvaldyti sistemą ir gauti priėjimą prie joje saugomų duomenų.

Tarnybinėse programose aptikti pažeidžiamumai pagal tipus pasiskirstė beveik tolygiai. Daugumoje nagrinėtų tarnybinių programų yra rimtų dizaino klaidų – naudojami pasenę protokolai, neteisingai realizuota vartotojų autentifikacija, neteisingai saugomi duomenys. Taip pat beveik visose analizuotose programose duomenų šifravimas buvo realizuotas neteisingai ar jo išvis nebuvo.

Susirūpinti verčia tas faktas, kad analizuodami programinį kodą, nusprendėme jog tai nebus gili analizė ir todėl kiekvienai tirtai programai analizuoti skyrėme iki trijų valandų – jei pažeidžiamumai pasirodydavo anksčiau, gilesnį tyrimą nutraukdavome, o jei per tris valandas nieko nebūtų aptinkama – analizę norėjome nutraukti. Tačiau, deja, programinė įranga mūsų specialistų rankose pasiduodavo žymiai greičiau, todėl taip ir neperžengėme trijų valandų ribos.

Nedidelį dalis tyrimų metu aptiktų pažeidžiamumų jau yra paviešinta, plačiau susipažinti galima http://corporate.critical.lt/?laboratorija.

Manome, jog prastą kodo kokybę, mūsų šalyje, lemia kol kas pernelyg žemas susidomėjimas informacine sauga, todėl daugelis programos spragų lieka nepastebėtos, o ir dalis kompanijų tiesiog nutyli apie patiriamus nuostolius dėl saugumo spragų ir įsilaužimų.

Be to, pas mus saugumo situacijos gerinimo griebiamasi tik tada, kai kažkas atsitinka ir atsiranda realūs nuostoliai – iki tol į informacinį saugumą žiūrima pro pirštus. Tai atsiliepia ir programinės įrangos kokybei saugumo požiūriu: saugumas nėra diegiamas į programinės įrangos architektūra jos dizaino ir projektavimo metu – jis „lipdomas“ tik tada, kai programoje jau realizuotos pagrindinės funkcijos. Dėl tokio projektavimo modelio dažnai saugumo funkcionalumas neatsiranda išvis arba atsiranda tada, kai programa jau taikoma realiomis sąlygomis.

Tačiau išlaikyti savo saugumo specialistą yra brangu, o ir naudoti jį efektyviai – sudėtinga. Pasaulyje yra taikoma praktika, kad saugumu užsiima samdomos bendrovės: tai kainuoja mažiau nei gero specialisto išlaikymas organizacijos viduje, taip pat saugumo diegimas ir integravimas visuomet susijęs su tam tikrais suvaržymais.

Tad kokios paslaugos yra prieinamos organizacijoms, norinčioms pagerinti kuriamų ar naudojamų programinės įrangos produktų saugumą? Visų pirma, tai yra darbuotojų apmokymas – leidžiantis lengvai ir pakankamai pigiai gerinti kuriamų produktų kokybę.

Kitos, kiek kompleksiškesnės ir efektyvesnės, paslaugos yra pažeidžiamumų paieška ir kodo auditas. Pažeidžiamumų paieška – tai techninių metodų taikymas, norint pažeisti programinį produktą. Būtent tokiu būdu UAB „Critical Security“ specialistai aptiko daugelį pažeidžiamumų programinėje įrangoje.

Šis metodas nors ir yra efektyvus, tačiau šiek tiek apriboja auditorių veiksmus – specialistai gaišta laiką aiškindamiesi programos veikimo subtilybes – atkūrinėdami programos kodą ir pan. Todėl, kai kurie pažeidžiamumai gali nepasireikšti ar likti nepastebėti dėl įvairių aplinkos faktorių. Kodo auditas sujungia prieš tai aptartą metodiką su kodo analize – specialistai nagrinėdami išeities kodus gali greičiau aptikti pažeidžiamumus, taip galima aptikti kur kas daugiau saugumo spragų, nei nagrinėjant programinį kodą „aklai“.

Informacinės technologijos šiomis dienomis tampa verslo pamatu, o programinė įranga yra viena svarbiausių IT sudedamųjų dalių, todėl vis svarbesnis vaidmuo tenka šios įrangos saugumui. Saugumo spragos kenkia ne tik finansiškai, bet ir kitais aspektais: galimas reputacijos sumenkėjimas, klientų praradimas ir konkurencinės kovos pralaimėjimas. Tad galbūt verta imtis priemonių jau dabar, kol dar ne vėlu?