Kas iš tikrųjų yra penetracinis testavimas ir kam jis reikalingas
Penetracinis testavimas, arba tiesiog pentest’as – tai kontroliuojama kibernetinė ataka į jūsų IT sistemas, kurią atlieka profesionalūs etiniai hakeriai. Skamba bauginančiai? Tačiau tai vienas efektyviausių būdų išsiaiškinti, kur jūsų skaitmeninėje tvirtovėje yra silpniausi taškai, dar prieš tai, kai juos atranda tikri kibernetiniai nusikaltėliai.
Lietuvoje penetraciniai testai dar neseniai buvo laikomi prabanga, kurią galėjo sau leisti tik stambios finansų įstaigos ar telekomunikacijų milžinai. Dabar situacija kardinaliai pasikeitė. Su didėjančiais kibernetinių atakų mastais ir griežtėjančiais reguliaciniais reikalavimais (ačiū, BDAR ir NIS2 direktyva), pentest’ai tampa būtinybe daugeliui vidutinio dydžio įmonių.
Praktikoje tai atrodo taip: samdoma specializuota kibernetinio saugumo kompanija, kuri bando įsilaužti į jūsų sistemas naudodama tuos pačius metodus kaip ir tikri užpuolikai. Tik skirtumas tas, kad vietoj duomenų vagystės ar sistemos paralyžiavimo, jūs gaunate išsamią ataskaitą su visomis aptiktomis spragomis ir rekomendacijomis, kaip jas užtaisyti.
Kokios įmonės Lietuvoje jau investuoja į pentestus
Lietuvos rinka šiuo klausimu yra gana įdomi. Pirmieji, kas pradėjo reguliariai užsakinėti penetracinius testus, buvo bankai ir mokėjimo paslaugų teikėjai – jiems tai tiesiog privaloma pagal Lietuvos banko reikalavimus. Bet dabar sąrašas gerokai išsiplėtė.
E-komercijos įmonės – štai kas pastaruosius kelerius metus tapo vienu didžiausių pentest’ų užsakovų. Ir tai suprantama: kai tavo svetainėje sukasi šimtai tūkstančių eurų per mėnesį ir saugomi tūkstančių klientų mokėjimo duomenys, saugumo spragos gali kainuoti ne tik pinigų, bet ir reputacijos. Vienas Vilniaus e-parduotuvių vadovas man pasakojo, kaip po pirmojo pentest’o jie rado kritinę spragą, kuri teoriškai leido pasiekti visą klientų duomenų bazę. Testas kainavo apie 3000 eurų, o potencialios BDAR baudos už duomenų nutekėjimą galėjo siekti šešiaženkles sumas.
IT įmonės, ypač tos, kurios kuria programinę įrangą kitiems, taip pat vis dažniau užsako pentestus. Čia tai tampa konkurenciniu pranašumu – galėjimas klientui parodyti nepriklausomos audito ataskaitas, patvirtinančias produkto saugumą, yra stiprus argumentas derybose.
Sveikatos priežiūros įstaigos irgi pamažu prisijungia. Nors čia procesas lėtesnis (dažnai dėl ribotų biudžetų), bet po kelių rezonansų sulaukusių kibernetinių atakų prieš ligonines Europoje, ir Lietuvos medicinos įstaigų vadovai pradeda suprasti rizikas.
Kiek iš tikrųjų kainuoja pentest’as Lietuvoje
Dabar prie klausimo, kuris daugelį domina labiausiai – kiek tai kainuoja? Atsakymas, kaip ir daugelyje IT srities, yra klasikinis „priklauso”. Bet pabandykime konkrečiau.
Mažos apimties išorinis testas, pavyzdžiui, vienos svetainės ar web aplikacijos patikrinimas, gali kainuoti nuo 1500 iki 4000 eurų. Tai paprastai apima automatizuotą skenavimą ir rankinį testavimą, kuris trunka kelias dienas. Tokio testo metu tikrinami standartiniai dalykai: SQL injekcijos, XSS pažeidžiamumai, autentifikacijos silpnybės ir panašiai.
Vidutinio sudėtingumo projektai – kai reikia patikrinti kelias sistemas, atlikti vidinį tinklą testavimą ar išbandyti mobilią aplikaciją – paprastai svyruoja 5000-12000 eurų diapazone. Čia jau kalbame apie rimtesnį darbą, kuris gali užtrukti 1-3 savaites.
Išsamūs, kompleksiniai testai, apimantys visą įmonės IT infrastruktūrą, vidinius ir išorinius tinklus, aplikacijas, o gal net socialinės inžinerijos elementus – tai jau 15000-40000 eurų ir daugiau teritorija. Tokius testus užsako stambesnės organizacijos, kurioms kibernetinis saugumas yra kritinė verslo dalis.
Įdomu tai, kad Lietuvoje kainos yra gerokai mažesnės nei Vakarų Europoje ar JAV, kur panašaus lygio paslaugos gali kainuoti 2-3 kartus brangiau. Tai reiškia, kad lietuviškos kibernetinio saugumo kompanijos gali konkuruoti tarptautinėje rinkoje kaina, nors kokybės prasme daugelis jau seniai yra pasaulinių lyderių lygyje.
Ką įmonės sako po pirmojo pentest’o
Kalbėjau su keliais IT vadovais ir saugumo specialistais, kurie užsakė penetracinius testus savo įmonėms. Reakcijos būna įvairios, bet viena bendra – beveik visi sako, kad rado daugiau problemų nei tikėjosi.
Vienas Kauno IT startupo CTO pasakojo: „Mes manėme, kad esame gana saugūs. Turime brandų produktą, komandoje yra patyrę programuotojai, darome code review. Bet po pentest’o gavome 23 puslapių ataskaitą su 17 pažeidžiamumų, iš kurių 3 buvo kritiniai. Buvo ir gėda, ir dėkingumas, kad tai rado ‘savi’, o ne kažkas kitas.”
Kitas dažnas komentaras – nustebimas, kaip kūrybiškai pentest’eriai gali kombinuoti, atrodytų, nekaltas spragas. Viena finansų technologijų įmonė pasakojo, kaip testuotojai sujungė tris atskirus, kiekvienas sau nekritinius pažeidžiamumus, ir sugebėjo gauti administratoriaus teises sistemoje. Kiekviena spraga atskirai atrodė kaip mažareikšmė, bet kartu jos sudarė rimtą saugumo grėsmę.
Yra ir tokių, kurie po pirmojo testo nusivilia – ne paslaugos kokybe, o savo sistemų būkle. Vienas e-komercijos projekto savininkas prisipažino: „Po ataskaitos gavimo supratau, kad mums reikės investuoti dar bent 20000 eurų į saugumo patobulinimus. To biudžete nebuvo. Bet alternatyva – rizikuoti viskuo – buvo dar blogesnė.”
Kaip pasirinkti pentest’ą atliekančią įmonę Lietuvoje
Lietuvoje šiuo metu veikia keliolika įmonių, teikiančių penetracinio testavimo paslaugas. Kaip nesuklysti renkantis?
Pirma, žiūrėkite į sertifikatus ir kvalifikacijas. Rimtos kompanijos turi specialistus su tarptautiniais sertifikatais kaip OSCP (Offensive Security Certified Professional), CEH (Certified Ethical Hacker), GPEN ir panašiais. Tai nereiškia, kad be sertifikatų specialistas negali būti geras, bet sertifikatai bent jau rodo tam tikrą formalų kompetencijos lygį.
Antra, paprašykite referensinių projektų. Geros pentest’ų kompanijos gali pasidalinti bent anoniminėmis savo darbų istorijomis. Jei įmonė dirba jau kelerius metus, bet negali pateikti jokių pavyzdžių – tai raudonas signalas.
Trečia, atkreipkite dėmesį į metodologiją. Profesionalūs pentest’eriai dirba pagal pripažintas metodologijas kaip OWASP Testing Guide, PTES (Penetration Testing Execution Standard) ar OSSTMM. Jei įmonė negali paaiškinti, kokia metodologija naudosis – vėl raudonas signalas.
Ketvirta, svarbu, kaip pateikiama ataskaita. Geriausia, kai galite pamatyti pavyzdinę ataskaitą (žinoma, be jautrių duomenų). Ataskaita turėtų būti suprantama ne tik techniniam personalui, bet ir vadovybei. Ji turi aiškiai nurodyti rizikas, jų įtaką verslui ir konkrečius žingsnius problemoms spręsti.
Ir galiausiai – kaina. Jei kažkas siūlo „pilną infrastruktūros pentest’ą už 500 eurų” – tai arba apgavystė, arba paslaugos kokybė bus atitinkama. Kokybiškam darbui reikia laiko ir kvalifikuotų specialistų, o tai kainuoja.
Dažniausios klaidos ruošiantis pentest’ui
Daugelis įmonių daro tas pačias klaidas, kai pirmą kartą užsako penetracinį testavimą. Pabandykime jų išvengti.
Klaida numeris vienas – nepakankamas pasirengimas. Pentest’as nėra kažkas, ką galima tiesiog „užsakyti ir pamiršti”. Reikia paruošti testavimo apimtį (scope), suderinti laiką, įspėti atitinkamus žmones organizacijoje. Viena įmonė man pasakojo, kaip jų pentest’as buvo nutrauktas pirmąją dieną, nes saugumo sistemos užblokavo testuotojų IP adresus, o atsakingas darbuotojas buvo atostogose ir niekas negalėjo jų atblokuoti.
Antra klaida – per siauras testas. Kai kurios įmonės nori sutaupyti ir prašo patikrinti tik vieną sistemą ar aplikaciją, ignoruodamos, kad visos jų sistemos yra tarpusavyje susietos. Užpuolikai naudoja silpniausią grandį – gal tai bus ne pagrindinė sistema, o kažkoks senas, pamirštas serveris, per kurį galima patekti į vidinį tinklą.
Trečia klaida – neveikimas po testo. Stebėtinai dažnai įmonės gauna pentest’o ataskaitą, paskaito ją, pasibaido ir… sudeda į stalčių. Po pusės metų, kai įvyksta tikras incidentas, paaiškėja, kad visos tos pačios spragos, apie kurias įspėjo pentest’eriai, vis dar neužtaisytos. Pentest’as be tolesnių veiksmų yra tiesiog išmestos pinigai.
Ketvirta klaida – per didelis pasitikėjimas vienu testu. Pentest’as parodo jūsų saugumo būklę konkrečiu momentu. Bet jūsų sistemos keičiasi – diegiate naujus funkcionalumus, keičiate infrastruktūrą, atsiranda naujų pažeidžiamumų tipų. Todėl pentest’ai turėtų būti reguliarūs – bent kartą per metus, o geriau – po kiekvieno didesnio sistemos pakeitimo.
Ar verta investuoti į pentest’ą mažesnėms įmonėms
Dažnai girdžiu argumentą: „Mes esame maža įmonė, kam mums užpulti?” Tai pavojinga iliuzija. Kibernetiniai nusikaltėliai nerenka aukų pagal dydį – jie ieško lengvų taikinių. Kartais mažesnė įmonė yra net patrauklesnis taikinys, nes paprastai turi silpnesnę apsaugą.
Be to, jei jūsų įmonė dirba su kitomis, didesnėmis organizacijomis, jūsų saugumas gali tapti jų problema. Vis daugiau stambių įmonių pradeda reikalauti iš savo tiekėjų ir partnerių įrodymų apie tinkamą kibernetinio saugumo lygį. Pentest’o ataskaita čia gali būti svarus argumentas.
Mažesnėms įmonėms galiu rekomenduoti pradėti nuo bazinio išorinio testo. Tai santykinai nebrangu (1500-3000 eurų), bet duoda gerą vaizdą apie pagrindines problemas. Jei biudžetas labai ribotas, galima pradėti nuo automatizuotų saugumo skenavimų – tai dar pigiau, nors ir ne taip išsamų kaip pilnavertis pentest’as.
Kitas variantas mažesnėms įmonėms – bug bounty programos. Tai kai jūs viešai paskelbiate, kad mokate už rastus pažeidžiamumus. Čia mokate tik už rezultatą, ne už procesą. Tiesa, Lietuvoje tokios programos dar nėra labai populiarios, bet pasaulyje tai jau įprasta praktika.
Ką daryti su pentest’o rezultatais – praktinis gidas
Taigi, gavote pentest’o ataskaitą. Dabar kas? Štai praktinis planas, kaip su ja dirbti.
Pirmas žingsnis – prioritetų nustatymas. Nebandykite taisyti visko iš karto. Geros ataskaitos pažeidžiamumus klasifikuoja pagal rimtumą (paprastai nuo Critical iki Low). Pradėkite nuo kritiškiausių. Tai paprastai tie, kurie leidžia užpuolikui gauti neteisėtą prieigą prie jautrių duomenų arba perimti sistemos kontrolę.
Antras žingsnis – techninės komandos įtraukimas. Pentest’o ataskaitą turėtų peržiūrėti ne tik IT vadovas, bet ir tie žmonės, kurie faktiškai taisys problemas – programuotojai, sistemų administratoriai. Organizuokite susitikimą, aptarkite kiekvieną svarbesnę spragą, supraskite jos priežastis ir galimus sprendimus.
Trečias žingsnis – veiksmų plano sudarymas. Kiekvienam pažeidžiamumui priskirkite atsakingą asmenį, terminą ir reikiamus resursus. Būkite realistai – kai kurias spragas galite užtaisyti per kelias dienas, kitos gali reikalauti rimtų architektūrinių pakeitimų ir užtrukti mėnesius.
Ketvirtas žingsnis – pakartotinis testavimas (retest). Kai manote, kad pagrindinės problemos išspręstos, verta užsakyti pakartotinį testavimą. Daugelis pentest’ų kompanijų siūlo retest’ą už mažesnę kainą arba net įtraukia jį į pradinę paslaugą. Tai leidžia patikrinti, ar spragos tikrai užtaisytos ir ar taisydami vieną problemą neatskleidėte kitos.
Penktas žingsnis – mokymasis iš klaidų. Pentest’o ataskaita – tai puiki mokomoji medžiaga jūsų komandai. Organizuokite mokymą, aptarkite, kodėl tos spragos atsirado, kaip jų išvengti ateityje. Tai investicija į ilgalaikį saugumą.
Pentest’as kaip investicija, o ne išlaida
Baigiant norisi pabrėžti vieną esminį dalyką – penetracinis testavimas nėra išlaida, tai investicija. Investicija į jūsų verslo tęstinumą, reputaciją ir ramybę.
Lietuvoje kibernetinio saugumo kultūra sparčiai bręsta. Dar prieš penkerius metus pentest’ai buvo egzotika, dabar tai tampa standartu. Įmonės, kurios šiandien investuoja į proaktyvų saugumo testavimą, rytoj bus konkurenciniame pranašume prieš tas, kurios laukia, kol problemos atsiras pačios.
Taip, pentest’as kainuoja. Bet palyginkite tai su potencialiomis nuostoliais per kibernetinę ataką – prarastais duomenimis, verslo nutraukimu, BDAR baudomis, sugadinta reputacija. Vienas rimtas incidentas gali kainuoti dešimtis ar šimtus kartų daugiau nei reguliarūs saugumo testai.
Jei dar nedarėte pentest’o – pradėkite nuo mažo. Užsakykite bazinį išorinį testavimą, pamatykite, kaip tai veikia, ką galite sužinoti. Didžioji tikimybė, kad rezultatai jus ir nustebins, ir įkvėps toliau investuoti į saugumą. O jei jau darote pentestus – puiku, tęskite ir nepamirškite, kad tai turėtų būti reguliarus, ne vienkartinis procesas.
Kibernetinis saugumas nėra tikslas, tai kelionė. Ir pentest’as – vienas geriausių būdų įsitikinti, kad keliaujate teisinga kryptimi.
