Kas yra įsilaužimo testas (pen test)?
Atlikus įsilaužimo testus (dažnai vadinamus „pen testais“) galima įvertinti tikimybę, kad jūsų tinklas, įskaitant atskiras tinklo sistemas ir konkrečias programas, gali tapti atakos taikiniu. Sužinokite, kaip atliekami tokie testai ir ką jie reiškia jau veikiančiam tinklui.
Kas yra įsilaužimo testavimas?
IT sektoriuje įsilaužimo testas – tai planinis bet kokio dydžio tinklo ar atskirų kompiuterių ataka, kurios tikslas – nustatyti pažeidžiamumą. Šiam tikslui pasiekti naudojami įvairūs įrankiai, kuriais imituojami skirtingi atakos scenarijai, pagrįsti įprastais atakos metodais. Įprasti objektai, kuriems atliekamas įsilaužimo testas, yra:
- Tinklo jungiamosios priemonės, pvz., maršrutizatoriai, komutatoriai ir šliuzai
- Saugumo šliuzai, pvz., programinės ir aparatinės ugniasienės, paketų filtrai, virusų skeneriai, apkrovos balansavimo įrenginiai, IDS ir IPS ir pan.
- Serveriai, pvz., žiniatinklio serveriai, duomenų bazių serveriai, failų serveriai ir kt.
- Telekomunikacijų sistemos
- Visų tipų žiniatinklio programos
- Infrastruktūros įrenginiai, pvz., prieigos kontrolės mechanizmai
- Sistemos dalį sudarantysbelaidžiai tinklai, pvz., „WiFi“ ar „Bluetooth“
Testavimas paprastai skirstomas į „juodosios dėžės“, „baltosios dėžės“ ir „pilkosios dėžės“ testavimą: atliekant „juodosios dėžės“ testavimą, įsilaužimo testuotojams suteikiama tik informacija apie tikslinio tinklo ar sistemos adresą. Atliekant „baltosios dėžės“ testavimą, testuotojai turi išsamių žinių apie sistemas, kurias ketina testuoti. Be IP adreso, jie taip pat gauna informaciją apie naudojamus programinės ir aparatinės įrangos komponentus. „Pilkosios dėžės“ testavimas, kuris yra labiausiai paplitusi įsilaužimo testavimo forma, apjungia „juodosios dėžės“ ir „baltosios dėžės“ testavimo metodus. Pateikiama pagrindinė informacija apie IT infrastruktūrą, pavyzdžiui, kam naudojamos sistemos ir kokia jų bendra sandara.
Ko man reikia norint atlikti įsilaužimo testą?
Kaip sukurti individualų įsilaužimo testą savo tinklui? Toliau pateikiama svarbiausia informacija apie tai, ką reikia atsižvelgti atliekant įsilaužimo testą.
Kaip pasiruošti įsilaužimo testui?
Norint sėkmingai atlikti įsilaužimo testą, svarbu pirmiausia parengti aiškų planą. Nustatykite, kokie komponentai turi būti išbandyti, ar turite visus reikiamus įrankius, taip pat kiekvieno atskiro testo trukmę bei bendrą tinklo įvertinimo laikotarpį.
Pasirengimo etapas tampa dar svarbesnis, jei samdote išorinius testuotojus ir ketinate taikyti „baltosios dėžės“ testavimo metodą. Jei nusprendėte naudoti šį metodą, testavimo komandai turėsite pateikti visą informaciją apie savo tinklą ir jo sistemas, taip pat turimą sistemos dokumentaciją. „Juodosios dėžės“ testavimo atveju procesas skiriasi. Taikant šį metodą, turėsite nurodyti tik tų komponentų, kuriuos reikia išbandyti, tikslinius adresus.
Penetracijos testuotojai turėtų turėti žinių pagrindinėse techninėse srityse, tokiose kaip sistemų administravimas, tinklo protokolai, programavimo kalbos, IT saugumo produktai, taikomųjų programų sistemos ir tinklo komponentai.
Kokie yra geriausi įsilaužimo testavimo įrankiai?
Kadangi yra tiek daug įvairių atakų rūšių, protinga turėti daug įvairių įrankių, skirtų įsilaužimo testavimui. Kai kurie iš svarbiausių jų yra:
- Prievadų skeneriai: prievadų skeneriai naudoja specializuotas priemones, kad nustatytų atvirus sistemos prievadus.
- Pažeidžiamumo skeneriai: pažeidžiamumo skeneriai tikrina sistemas, ieškodami esamų saugumo pažeidžiamumų, klaidingų konfigūracijų ir netinkamų slaptažodžių bei vartotojų politikų.
- Snifferiai: snifferis naudojamas tinklo srautui analizuoti. Kuo stipresnis šifravimas, tuo mažiau informacijos jis galės surinkti.
- Paketų generatoriai: paketų generatoriai yra įrankiai, naudojami tinklo srauto duomenims generuoti arba imituoti. Tai leidžia imituoti tinklo srautą atliekant įsilaužimo testą.
- Slaptažodžių laužikliai: įsilaužimo testuotojai naudoja slaptažodžių laužiklius kaip būdą gauti nesaugius slaptažodžius.
Daugelis iš aukščiau išvardytų įrankių buvo specialiai sukurti tinklo saugumo testams, todėl yra pritaikyti konkrečioms testavimo sritims. Nors didžioji dauguma šių programų yra atvirojo kodo, yra ir keletas komercinių saugumo programų, kurios paprastai yra geriau dokumentuotos ir kurioms teikiama išsami IT pagalba.
Kokie yra įsilaužimo testo etapai?
Penetracijos testavimo procedūrą galima suskirstyti į šiuos keturis etapus:
Tinklo koncepcijos apžvalga
Prasiskverbimo testas gali atskleisti neatitikimus ar silpnąsias vietas tinklo struktūroje ar atskiruose komponentuose dar parengiamajame etape. Pavyzdžiui, jei kelioms programoms priskirtos skirtingos prieigos grupės, tai gali greitai sukelti sunkumų ir kelti grėsmę visam tinklui, net jei pats tinklas ir atskiros jame veikiančios programos yra tinkamai apsaugotos. Kai kuriuos iš šių atvejų galima išspręsti jau per pirmines derybas, o kiti gali būti patvirtinti tik atlikus praktinį testą.
Testų saugumo stiprinimo priemonės
Saugaus įmonės tinklo pagrindas – užtikrinti, kad tinkle naudojamos sistemos būtų kuo saugesnės. Atliekant įsilaužimo testą, svarbu patikrinti jau taikomas apsaugos priemones. Tai apima įdiegtos programinės įrangos, pvz., operacinių sistemų, sistemos paslaugų ir programų, kurios visada turėtų būti atnaujintos, patikrinimą. Jei naudojamos senesnės versijos, nes jos suderinamos su kitomis programomis, reikia imtis alternatyvių atsargumo priemonių, kad apsaugotumėte savo sistemą. Be to, svarbų vaidmenį vaidina prieigos ir autentiškumo reikalavimai atskiroms sistemoms ir programoms. Šiuo atveju įsilaužimo testas apima tokius klausimus kaip:
- Prieigos teisės
- Slaptažodžių naudojimas ir šifravimas
- Esamų sąsajų ir atvirų prievadų naudojimas
- Nustatytos taisyklės (pvz., ugniasienės taisyklės)
Ieškoti žinomų pažeidžiamumų
Paprastai saugumo pažeidžiamumų nustatymas neužtrunka ilgai, todėl įsilaužimo testuotojai dažniausiai gerai žino tiriamų objektų pažeidžiamas vietas. Remdamiesi informacija apie versijų būklę ir pataisų lygį, kurią surinko tirdami tinklo komponentų apsaugos stiprinimą, testuotojai gali greitai nustatyti, kurios programos kelia saugumo riziką. Jei per trumpą laiką reikia išanalizuoti daug sistemų, gali būti naudinga pasitelkti pažeidžiamumų skenerius, nors jie ne visada pateikia tikslius rezultatus.
Tikslingas pažeidžiamumų išnaudojimas
Testeris gali nustatyti, ar aptiktos pažeidžiamybės gali būti išnaudotos, tik jas iš tikrųjų išnaudodamas. Komandų sekos, naudojamos tokiems išnaudojimams, paprastai yra iš įvairių interneto šaltinių gauti skriptai. Tačiau jie ne visada yra saugiai suprogramuoti. Jei atliekamas nesaugus išnaudojimas, kyla rizika, kad testuojama programa ar sistema sugrius, o blogiausiu atveju gali būti perrašyti svarbūs duomenys. Todėl įsilaužimo testuotojai turėtų būti atsargūs ir naudoti tik patikimus scenarijus iš patikimų šaltinių arba visai susilaikyti nuo pažeidžiamumo testavimo.
Testavimo komanda turėtų užrašyti visus įsilaužimo testo etapus ir rezultatus. Taip turėsite geriausią pagrindą atskiriems etapams suprasti ir situacijai įvertinti. Remdamiesi rekomenduojamais prioritetų sąrašais, galėsite žingsnis po žingsnio optimizuoti savo sistemos apsaugos procesą. Paprastai rekomenduojama įsilaužimo testą atlikti bent kartą per metus.
Kokie yra įsilaužimo testavimo privalumai ir trūkumai?
Vienalytės kompiuterinės struktūros jau yra praeitis. Šiandienos decentralizuotos IT struktūros kasdien gali sukelti naujų pažeidžiamumų ir klaidų. Nors kartais programinės įrangos kūrėjai gali greitai ištaisyti šias klaidas, kartais tokių problemų sprendimas jiems užtrunka šiek tiek ilgiau.
Būtent čia įsilaužimo testavimas parodo savo privalumus, suteikdamas šias galimybes:
- Įsilaužimo testai leidžia išnagrinėti sistemas daug išsamiau nei įprastas saugumo patikrinimas.
- Pagrindinis įsilaužimo testavimo tikslas – patikrinti, kaip gerai atskiri komponentai veikia kartu.
- Pasitelkdami išorinį testuotoją, gausite papildomą nuomonę bei kitokį požiūrį į jūsų esamą saugumo koncepciją.
- Profesionalūs įsilaužimo testuotojai yra specialiai apmokyti ir prie jūsų sistemos priartėja taip, kaip tai darytų įsilaužėlis.
Tačiau įsilaužimo testavimas, ypač bendradarbiavimas su išoriniais testuotojais, taip pat turi savų trūkumų:
- Atliekant įsilaužimo testą, testavimo komanda turi prieigą prie vidinės informacijos ir procesų.
- Atliekant įsilaužimo testus, visada yra tikimybė, kad testas gali padaryti nepataisomą žalą.
- Penetracijos testai pateikia tik jūsų tinklo sistemų momentinę būklę, todėl jie niekada neturėtų būti naudojami kaip priežastis atsisakyti įprastų saugumo priemonių.
Taip pat svarbu nepamiršti, kad tradiciniai įsilaužimo testai neįvertina su socialine inžinerija susijusių rizikų. Daugelis įmonių siūlo paslaugas, skirtas tokiems pažeidžiamumams nustatyti, taip pat rengia specialius mokymus, kaip išvengti socialinės inžinerijos atakų.