Ako si vybrať firmu na penetračné testovanie? - Nethemba

BLOG

Ako si vybrať firmu na penetračné testovanie?

2014-11-13 19:12 Pavol Lupták

Dôležité kritéria pri výbere spoľahlivého dodávateľa

Úvod

Hneď na začiatku by som rád zdôraznil, že vediem firmu zameranú na penetračné testovanie a bezpečnostné audity. Aby som sa čo najviac vyhol zaujatosti, snažil som sa nasledujúcom článku zachovať v maximálne možnej miere objektivitu, súčasne pritom ale využiť moje takmer 15-ročné skúsenosti v oblasti penetračného testovania a IT bezpečnosti. Podotkol by som, že všetky nižšie popísané kritéria na ideálneho dodávateľa penetračného testovania nespĺňa ani naša firma, aj keď sa snažíme k tomu každým rokom priblížiť.

Pri výbere dodávateľa na penetračné testovania som sa zameral na analýzu tohto problému z hľadiska 3 kritérií, ktoré pokladám v prípade IT bezpečnosti za najdôležitejšie – etika, profesionalita a skúsenosti.

Etika

Bohužiaľ už pár rokov sa stretávam na Slovensku s tým, že tí, ktorí vedia odhalovať bezpečnostné zraniteľnosti, nevedia ako ich správne a eticky zverejňovať, a tí, ktorí platia za penetračné testy, nevedia aké etické pravidlá majú vyžadovať od ich dodávateľov. V praxi to znamená, že na Slovensku relatívne často funguje typ výhražného penetračného biznisu, keď niekto bez akéhokoľvek súhlasu odhalí na Vašom webe nejakú vážnejšiu zraniteľnosť a vzápätí Vám napíše výhražný mail znenia:
“Dobrý deň, na Vašom webe sme odhalili vážnu zraniteľnosť, viac informácií o nej Vám poskytneme, keď si u nás/u mňa zaplatíte penetračný test…”.

Bohužiaľ málokto z vystrašených klientov si uvedomí, že toto konanie je vyslovene neetické a to z nasledujúcich príčin:

1. Ide o získavanie biznisu prostredníctvom vyhrážania (ak nie vyslovene vydierania).
2. Informácie o uvedených zraniteľnostiach boli získané (ak nie nelegálnym, tak) neetickým spôsobom – bez Vášho súhlasu na vykonanie testu, ktorý to odhalil.

Seriózna IT bezpečnostná spoločnosť, ktorá poskytuje penetračné testy a bezpečnostné audity by:

1. Nikdy nemala využívať vyhrážací (alebo vydieračský) prístup ku klientovi a to:

  • podmienovať objednanie penetračného testu tým, že Vás informuje o bezpečnostných zraniteľnostiach, ktoré o Vašej webovej aplikácii zistili bez Vášho súhlasu

  • podmienovať objednanie penetračného testu tým, že inak zverejní odhalené
    bezpečnostné zraniteľnosti

  • žiadať priamu kompenzáciu (napríklad finančnú) za zverejnenie odhalenej zraniteľností Vám alebo tretej strane

Vo všetkých troch prípadoch ide (ak nie o nelegálny, tak) neetický prístup.

2. Mala vždy vyžadovať podpísanie vzájomnej zmluvy o vykonaní penetračných testov (tzv. „zmluva o bezpečnostnom zhodnotení“), kde Vaša spoločnosť dáva svoj súhlas vykonávateľovi na spustenie a vykonanie daných penetračných testov v definovanom čase (z daného definovaného IP adresného rozsahu alebo miesta) za jasných, zmluvne definovaných podmienok.

3. Nemala mať problém podpísať obojstrannú NDA (Zmluva o mlčanlivosti) s adekvátnou zmluvnou pokutou (minimálne do výšky ceny samotného penetračného testu).
Seriózna bezpečnostná spoločnosť vykonávajúca penetračné testy by sa nemala pustiť do testovania Vášho webu predtým, ako jej na to dáte písomný súhlas (v zmluve o vykonaní penetračných testov, prípadne inej zmluve), podobne by Vás nemala informovať o zraniteľnostiach, ktoré odhalila počas testovania vykonaného bez Vášho súhlasu.

Profesionalita

Posudzovať technické schopnosti firmy vykonávajúcich penetračné testy, či bezpečnostné audity môže byť relatívne dosť ťažké. Tri veci, ktoré Vám môžu pomocť aspoň čiastočne si overiť tieto schopnosti sú:

1. Technické bezpečnostné certifikácie

ISACA certifikáty CISA, CISM, CGEIT, či CRISC nie sú technické certifikácie a o schopnosti realizovať penetračné testy prakticky vôbec nevypovedajú.

ISC2 certifikát CISSP je technický certifikát pre IT security manažérov, ktorý ide dostatočne veľa do šírky, ale málo do hĺbky, takže tiež nijako nevypovedá o schopnosti realizovať kvalitné penetračné testovanie.

EC-Council certifikáty CEH, ECSA, LPT patria medzi najpopulárnejšie hackerské certifikácie, ale úroveň znalostí na to, aby ste ich získali, je relatívne dosť nízka a tiež nijako nevypovedajú o nadštandardných technických schopnostiach penetračných testerov.

Certifikáty, ktoré reflektujú hlboké znalosti penetračného testovania sú napríklad OSCP (Offensive Security Certified Professional), CEPT (Certified Expert Penetration Tester), či rôzne certifikácie od organizácie SANS, napríklad GCIA. V slovenských, či českých končinách sú tieto certifikácie bohužiaľ dosť neznáme a klienti ich nepoznajú a teda nevyžadujú.

2. Ukážkové výstupné správy, manuálne overenie, metodológie

Firma, ktorá vykonáva penetračné testovanie, či bezpečnostné audity, by nemala mať problém na požiadenie poskytnúť ukážkové anonymizované správy (reporty) testov, ktoré vykonala.

Z výsledných správ je obvykle možné zistiť, či penetračné testovanie bolo vykonané formou spustenia 2-3 automatizovaných nástrojov, ktorých výstup bol len preložený do slovenčiny/čestiny, alebo bolo realizované aj hĺbkové testovanie, ktoré zahrňuje manuálne overovanie zraniteľností (tzv. „manual inspection“) a prípadne reverzné inžinierstvo (obzvlášť pri lokálne testovaných aplikáciách). Vo všeobecnosti platí, že manuálne hľadanie a overovanie zraniteľností, ako aj schopnosť vykonávať reverzné inžinierstvo, svedčí o nadštandardných znalostiach testerov a toto kritérium by malo byť vyžadované v prípade, že ako zákazník chcete skutočne dôkladné overenie bezpečnosti aplikácie alebo systému.

Penetračné testovanie môže byť vykonané rôznymi postupmi. Niektorí dodávatelia ako svoj „know-how“ používajú vlastné metodológie, väčšina skúsených spoločností ale preferuje verejne dostupné „best-practice“ metodológie, medzi najznámejšie patrí OSSTMM, pri detailnom testovaní webových aplikácií je to OWASP Testing Guide v4 , v prípade mobilných aplikácií zase OWASP Mobile Project. Aplikácie na spracovanie čísel platobných kariet sa obvykle testujú podľa PCI-DSS štandardu.

3. Organizačná zodpovednosť a nezaujatosť

Spoločnosť na penetračné testovanie by nemala mať problém o odhalených bezpečnostných nálezoch informovať zákazníka okamžite, ešte predtým, ako mu vyhotoví a dodá výslednú správu. Dodržiavanie termínov ukončenia je tiež známka profesionality.

Ďalší prejav profesionality dodávateľa je dodržiavanie internej bezpečnosti samotných penetračných testerov (mazanie odovzdaných výsledných správ a dokumentácie po ukončení projektu, možnosť šifrovanej komunikácie so samotnými testermi využitím technológii PGP alebo S/MIME, či šifrované hovory, ako aj fyzická bezpečnosť priestorov dodávateľa a jej neustále preverovanie).

Dôležitá je aj ústretovosť k smerom zákazníkovi – napríklad ochota vykonávať niektoré druhy testov (napríklad DoS) v nočných hodinách, či cez víkendy.

Aby bola zachovaná čo najväčšia nezaujatosť a objektívnosť pri hľadaní zraniteľností, vykonávateľ penetračných testov či bezpečnostných auditov by mala byť iná spoločnosť ako spoločnosť, ktorá samotné riešenie vyvíja či nasadzuje. Podobne vykonávateľ testov by nemal realizovať samotné bezpečnostné opravy a mal by slúžiť len ako nezávislý bezpečnostný konzultant.

Skúsenosti a aktivity v IT bezpečnostnej komunite

Penetračné testovanie je citlivá oblasť a množstvo zákazníkov si neželá byť zverejnených v referenciách dodávateľov penetračných testov či bezpečnostných auditov. Napriek tomu dostupné referencie môžu pomôcť zistiť, či daná spoločnosť má dlhodobé skúsenosti napríklad s testovaním aplikácií v bankovom prostredí, testovaním mobilných aplikácií, či rôznymi neštandardnými technológiami, ktoré zákazník požaduje.

Tie najlepšie svetové firmy dá sa povedať „bezpečnosťou žijú“ – neustále odhaľujú nové druhy a vektory zraniteľností, analyzujú nové technológie, píšu odborné články, publikujú a prednášajú na svetových konferenciách a svoje know-how, či technické nástroje zverejňujú.

Záver

Rozdiely v kvalite ako aj cene firiem na penetračné testy a bezpečnostné audity môžu byť skutočne dramatické. Pri oslovení viacerých dodávateľov je preto vhodné na začiatku definovať očakávanú úroveň a hĺbku samotného bezpečnostného zhodnotenia a na základe toho vybrať cenovo prijateľného dodávateľa.

Kedže každý dodávateľ môže mať trochu iný pohľad na bezpečnosť a odhalené zraniteľnosti rôznych dodávateľov sa nemusia prekrývať, pri testovaní bezpečnosti je dobré disponovať nezaujatým názorom od viacerých spoločností. Preto minimálne vo finančnom sektore existuje pravidlo striedať dodávateľov na penetračné testy a bezpečnostné audity a to napríklad každé dva roky.