Čo je penetračný test (pen test)?
Pomocou penetračných testov (často označovaných ako pen testy) je možné určiť pravdepodobnosť útoku na vašu sieť, vrátane jednotlivých systémov v rámci siete, ako aj konkrétnych aplikácií. Zistite, ako sa takéto testy vykonávajú a čo znamenajú pre sieť, ktorá je už v prevádzke.
Čo je penetračné testovanie?
V sektore IT je penetračný test plánovaný útok na sieť ľubovoľnej veľkosti alebo jednotlivé počítače, ktorého cieľom je odhaliť zraniteľné miesta. Na dosiahnutie tohto cieľa sa používajú rôzne nástroje na simuláciu rôznych vzorov útokov, ktoré sú modelované na základe bežných metód útokov. Typické komponenty, ktoré prechádzajú penetračným testom, sú:
- Sieťové spojovacie prvky, ako sú smerovače, prepínače a brány
- Bezpečnostné brány, ako sú softvérové a hardvérové firewally, filtre paketov, antivírusové skenery, vyrovnávače zaťaženia, IDS a IPS atď.
- Servery, ako sú webové servery, databázové servery, súborové servery atď.
- Telekomunikačné systémy
- Všetky typy webových aplikácií
- Inštalácie infraštruktúry, napr. mechanizmy kontroly prístupu
- Bezdrôtové siete, ktoré sú súčasťou systému, ako napríklad WiFi alebo Bluetooth
Testovanie sa zvyčajne delí na testovanie čiernej skrinky, bielej skrinky a šedej skrinky: pri testovaní čiernej skrinky dostávajú penetrační testeri iba informácie o adrese cieľovej siete alebo systému. Pri testovaní bielej skrinky majú testeri rozsiahle znalosti o systémoch, ktoré budú testovať. Okrem IP adresy dostávajú aj informácie o používaných softvérových a hardvérových komponentoch. Testovanie šedej skrinky, ktoré je najbežnejšou formou penetračného testovania, kombinuje metódy testovania čiernej skrinky a bielej skrinky. K dispozícii sú základné informácie o IT infraštruktúre, napríklad na čo sa systémy používajú a ich všeobecné zloženie.
Čo potrebujem na testovanie pera?
Ako môžete vytvoriť vlastný penetračný test pre svoju sieť? Nižšie nájdete základné informácie o tom, čo je potrebné zohľadniť pri vykonávaní penetračného testu.
Ako sa môžem pripraviť na penetračný test?
Aby ste úspešne vykonali penetračný test, je dôležité najskôr vypracovať jasný plán. Určite, ktoré komponenty je potrebné otestovať, či máte k dispozícii všetky potrebné nástroje a časový rámec pre každý jednotlivý test, ako aj pre celkové hodnotenie vašej siete.
Prípravná fáza je ešte dôležitejšia, ak najímate externých testerov a chcete použiť metódu testovania bielej skrinky. Ak je to metóda, ktorú chcete použiť, budete musieť testovaciemu tímu poskytnúť všetky informácie o vašej sieti a jej systémoch, ako aj dokumentáciu, ktorú máte k dispozícii pre váš systém. V prípade testovania čiernej skrinky je proces odlišný. Pri tejto metóde budete musieť zverejniť len cieľové adresy komponentov, ktoré majú byť testované.
Pen testeri by mali mať odborné znalosti v kľúčových technických oblastiach, ako sú správa systémov, sieťové protokoly, programovacie jazyky, produkty IT bezpečnosti, aplikačné systémy a sieťové komponenty.
Aké sú najlepšie nástroje na testovanie penetrácie?
Vzhľadom na to, že existuje toľko rôznych druhov útokov, je rozumné mať k dispozícii veľa rôznych nástrojov na testovanie penetrácie. Niektoré z najdôležitejších sú:
- Skenery portov: skenery portov používajú špecializované nástroje na identifikáciu otvorených portov v systéme.
- Skenery zraniteľnosti: skenery zraniteľnosti skúmajú systémy s cieľom zistiť existujúce bezpečnostné zraniteľnosti, chybné konfigurácie a neprimerané politiky týkajúce sa hesiel a používateľov.
- Sniffery: sniffer sa používa na analýzu sieťového prevádzky. Čím silnejšie je šifrovanie, tým menej informácií bude môcť zhromaždiť.
- Generátory paketov: generátory paketov sú nástroje používané na generovanie alebo simuláciu dát sieťovej prevádzky. To umožňuje napodobniť sieťovú prevádzku počas penetračného testu.
- Crackery hesiel: penetrační testeri používajú crackery hesiel ako spôsob, ako získať heslá, ktoré nie sú bezpečné.
Mnohé z vyššie uvedených nástrojov boli výslovne vyvinuté na testovanie bezpečnosti sietí a v dôsledku toho sú prispôsobené konkrétnym oblastiam testovania. Hoci drvivá väčšina týchto programov pochádza z oblasti open source, existujú aj niektoré komerčné bezpečnostné aplikácie, ktoré sú vo všeobecnosti lepšie zdokumentované a ponúkajú komplexnú IT podporu.
Aké sú jednotlivé kroky penetračného testu?
Postup testovania perom možno rozdeliť do nasledujúcich štyroch krokov:
Prehľad koncepcie siete
Penetračné testovanie môže odhaliť nezrovnalosti alebo slabé miesta v konštrukcii siete alebo jednotlivých komponentov už vo fáze prípravy. Ak je napríklad viacero aplikácií nakonfigurovaných s rôznymi prístupovými skupinami, môže to rýchlo viesť k komplikáciám a predstavovať bezpečnostné riziko pre celú sieť, aj keď sieť a jednotlivé hostované programy sú dostatočne chránené. Niektoré z týchto prípadov je možné vyriešiť už počas predbežnej diskusie, zatiaľ čo iné je možné potvrdiť len vykonaním praktického testu.
Opatrenia na posilnenie testovania
Zabezpečenie čo najvyššej bezpečnosti systémov používaných v sieti je základom bezpečnej firemnej siete. Počas penetračného testovania je dôležité skontrolovať už prijaté obranné opatrenia. Patrí sem kontrola nainštalovaného softvéru, ako sú operačné systémy, systémové služby a aplikácie, ktoré by mali byť vždy aktualizované. Ak sa používajú staršie verzie, pretože sú kompatibilné s inými aplikáciami, je potrebné prijať alternatívne opatrenia na ochranu systému. Okrem toho dôležitú úlohu zohrávajú požiadavky na prístup a autentizáciu pre jednotlivé systémy a programy. Penetračný test sa tu zaoberá otázkami, ako sú:
- Práva prístupu
- Používanie hesiel a šifrovanie
- Používanie existujúcich rozhraní a otvorených portov
- Definované pravidlá (napr. pravidlá firewallu)
Vyhľadávanie známych zraniteľností
Zistenie bezpečnostných zraniteľností zvyčajne netrvá dlho, preto sú testeri penetrácie zvyčajne oboznámení s útokmi na testované objekty, ktoré skúmajú. Na základe informácií, ktoré testeri zhromaždili o stave verzií a úrovni opravných balíkov počas svojho výskumu posilňovania sieťových komponentov, môžu rýchlo identifikovať, ktoré aplikácie predstavujú bezpečnostné riziko. Ak je potrebné analyzovať veľa systémov v krátkom čase, môže byť užitočné použiť skenery zraniteľností, hoci neposkytujú vždy presné výsledky.
Cielené využívanie exploitov
Tester môže zistiť, či je možné objavené zraniteľnosti zneužiť, len ich skutočne zneužijúc. Sekvencie príkazov používané na takéto zneužitie sú zvyčajne skripty získané z rôznych internetových zdrojov. Nie vždy sú však bezpečne naprogramované. Ak sa vykoná nezabezpečený exploit, existuje riziko, že testovaná aplikácia alebo systém sa zrúti a v najhoršom prípade môžu byť prepísané dôležité údaje. Preto by testeri penetrácie mali byť opatrní a používať iba spoľahlivé skripty z renomovaných zdrojov alebo sa testovaniu zraniteľnosti úplne vyhnúť.
Testovací tím by mal zaznamenať všetky kroky a výsledky penetračného testu. Takto získate optimálny základ pre pochopenie jednotlivých krokov a vyhodnotenie situácie. Na základe odporúčaných zoznamov priorít môžete krok za krokom optimalizovať proces ochrany vášho systému. Všeobecne sa odporúča vykonávať penetračný test aspoň raz ročne.
Aké sú výhody a nevýhody penetračného testovania?
Homogénne počítačové štruktúry sú minulosťou. Dnešné decentralizované IT štruktúry môžu každý deň spôsobiť nové zraniteľnosti a chyby. Hoci tvorcovia softvéru niekedy dokážu tieto chyby rýchlo opraviť, niekedy im to môže trvať trochu dlhšie.
Tu sa prejavujú silné stránky penetračného testovania, ktoré prináša nasledujúce výhody:
- Pen testy skúmajú systémy oveľa podrobnejšie ako bežná bezpečnostná kontrola.
- Základným cieľom penetračných testov je skontrolovať, ako dobre jednotlivé komponenty spolupracujú.
- S externým testerom získate dodatočný názor, ako aj iný pohľad na váš základný bezpečnostný koncept.
- Profesionálni penetrační testeri sú špeciálne vyškolení a k vášmu systému pristupujú tak, ako by to urobil hacker.
Penetračné testovanie, a najmä spolupráca s externými testermi, má však aj svoje nevýhody:
- Počas vykonávania penetračného testu má testovací tím prístup k interným informáciám a procesom.
- Pri penetračných testoch vždy existuje možnosť, že test môže spôsobiť nenapraviteľné škody.
- Pen testy poskytujú iba momentálny obraz vašich sieťových systémov a ako také by nikdy nemali slúžiť ako dôvod na upustenie od bežných bezpečnostných opatrení.
Je tiež dôležité mať na pamäti, že tradičné penetračné testy neposudzujú riziká spojené so sociálnym inžinierstvom. Mnohé spoločnosti ponúkajú služby na identifikáciu takýchto zraniteľností a poskytujú aj špeciálne školenia o tom, ako predchádzať útokom sociálneho inžinierstva.