Penetrační a aplikační testy Ing. Vladimír Lazecký vladimir.lazecky@viavis.cz ü Pochopení, co je penetrační a aplikační test ü Co lze od testu očekávat a co ne ü Proč a kdy mají testy smysl ü Jak se testuje ü Přehled metodik ü Jak test zadat Vědět, kde a jak hledat… Cíl a smysl přednášky ü Penetrační test: ü Prověření úrovně bezpečnosti formou testu ü Testování bezpečnostních vlastností ü Simulace bezpečnostního incidentu: ü Pokus o průnik ü Snaha o znefunkčnění ü Detekce útoku… Penetrační testování a testy aplikací ü Penetrační test: ü Penetrační test – testování bezpečnosti ü Aplikační test: ü Test funkčních vlastností ü Test nefunkčních vlastností – zátěžové testy, přístupové testy… ü Kombinované testy: ü Zahrnují bezpečnostní, funkční i výkonové testy ü Výhody/nevýhody Penetrační test x aplikační test ü Mnoho různých hledisek a typů testů ü Podíl lidského faktoru: ü Automatizované testy: ü Algoritmický test ü Scan zranitelností – vulnerability scan ü Výhody: ü Opakovatelnost ü Srovnatelnost výsledků ü Nižší náklady ü Nevýhody: ü Omezení algoritmizací Penetrační testy - kategorizace ü „Ručně vedené“ testy: ü Testy dle konkrétní metodiky ü Kreativní testy ü Výhody: ü Opakovatelnost – u testů dle metodik ü Kreativita – hloubkové využití zranitelností ü Odhalení chyb mimo algoritmus ü Nevýhody: ü Vyšší náklady ü Nižší míra opakovatelnosti a srovnání Penetrační testy - kategorizace ü Kooperativní testy: ü Testy v součinnosti s testovaným subjektem ü Zaměření se na konkrétní slabiny a systémy ü Často ve spojení s hardeningem: ü Testování konfigurací a zabezpečení ü Výhody: ü Externí pohled ü Test je cílen dle potřeb ü Nevýhody: ü Test je veden předpokládanou cestou Penetrační testy – kategorizace – součinnost testovaného subjektu ü Nekooperativní testy: ü Testy bez vědomí testovaného subjektu ü Součástí jsou obvykle i testy bezpečnostních procesů: ü Zda je test zachycen ü Jak na test je reagováno ü Postup testu se dle reakce upravuje ü Růst „brutality“ ü Výhody: ü Procesy jsou součástí testování ü Kreativní vedení testu ü Nevýhody: ü Vyšší náklady ü Nižší míra opakovatelnosti a srovnání Penetrační testy – kategorizace – součinnost testovaného subjektu ü Blind test ü Žádná vstupní znalost ü Simulace postupu reálného útočníka ü Součástí je OSINT ü Zjištění informací z veřejných zdrojů ü Testovaným publikované zranitelnosti ü Výstup pro snižování rizik ü Výhody: ü Obraz, jak může být úspěšný reálný externí útočník ü Odhalení publikovaných slabin ü Nevýhody: ü Test může být zaměřen zcela mimo záměr ü Test nemusí odhalit všechny slabiny Penetrační testy – kategorizace – dle znalostí testujícího ü Test se znalostí ü Testující má částečnou znalost o subjektu ü Simulace útoku interním zaměstnancem ü Součástí může být ü Prověření přístupu, konfigurací ü Stav interního prostředí ü Výhody: ü Využití technik útoku s přístupem do interního systému ü Odhalení „bílých míst“ ü Nevýhody: ü Obtížně se realizuje jako nekooperativní test ü Nákladné testy v případě nekooperativních testů Penetrační testy – kategorizace – dle znalostí testujícího ü Technické testy ü Předmětem testování je IT systém ü Cílem: ü Odhalení chyb návrhu, architektury ü Konfigurační chyby ü Integrační chyby ü Provozní chyby ü Výhody: ü Existence metodik a meřitelnost ü Testuje se technika ü Nevýhody: ü Žádný systém není provozován bez lidského faktoru ü Limity odhalení interface Hardware/Software/Liveware Penetrační testy – kategorizace – dle předmětu testování ü Sociotechnické testy ü Předmětem testování je uživatel a jeho chování ü Etický kodex testování ü Cílem: ü Testy uživatelských návyků, dodržování pravidel, jejich znalost, schopnost test odhalit ü Metody: ü Manipulace, zneužití důvěry, podvrhy ü Výhody: ü Motivace zaměstnanců k dodržování pravidel ü Nevýhody: ü Ohrožení důvěry a firemní kultury Penetrační testy – kategorizace – dle předmětu testování ü Testy lze vhodně kombinovat ü Technické testy x sociotesty ü Phishing, vishing – test průniku do systému ü Testy se znalostí x bez znalosti = tzv. GREY test ü Kreativní testy ü Testovací scénář na míru Penetrační testy – možnosti provedení ü Přípravná etapa: ü Cíl testu ü Získávání informací – OSINT, konzultace ü Plánování testu: ü Volba technik testování ü tvorba testovacích scénářů ü Validace scénářů ü Detekce zranitelností: ü Výstupy OSINT: ü Smlouvy, systémy.. Penetrační testy – etapy penetračního testu ü Testování ü Realizace testovacích scénářů ü Zvyšování brutality testů ü Detekce zranitelností, hodnocení, částečné posouzení rizik ü Návrhy protiopatření Penetrační testy – etapy penetračního testu ü Zpracování výsledků a předání zprávy ü Obsah zprávy: ü Metodika ü Popis realizace ü Zjištěné zranitelnosti s hodnocením ü Návrh jejich odstranění - protiopatření Penetrační testy – etapy penetračního testu ü Open Source Security Testing Methodology Manual (OSSTMM) ü Open Web Application Security Project (OWASP) ü Web Application Security Consortium Threat Classification (WASC- TC) ü Penetration Testing Execution Standard (PTES) ü Information Systems Security Assessment Framework (ISSAF) Penetrační testy – metodiky Penetrační testy – metodiky https://www.isecom.org/OSSTMM.3.pdf ü Často používaná metodika ü Pokus o přístup k testování systematickým a vědeckým způsobem ü Lze získat pro testování certifikaci ü Do jisté míry univerzální metodika Penetrační testy – OSSTMM ü Typy chyb testujícího – musí s nimi pracovat: ü False positive – odhalená pravda je ve skutečnosti lež ü False negative – odhalená lež je ve skutečnosti pravda ü Gray positive – na všechny dotazy se jeví odpověď jako pravdivá, ačkoli není ü Gray negative – na všechny dotazy se jeví odpověď jako lež, ačkoli není ü Specter – některé odpovědi se jeví jako pravda, některé jako lež, ale realita je neznámá ü Indiscretion – odpovědi jsou jak pravdivé, tak lži, záleží, kdy se ptáte ü Entropy Error – odpověď se ztratí v šumu přenosu ü Falsification – odpověď se mění v závislosti na místě a způsobu dotazu ü Sampling error – odpověď nezahrnuje celek, ale pouze vzorek ü Constraint – odpověď je limitována použitím konkrétních nástrojů a jejich omezením ü Propagation – odpověď je předpokládána bez testu ü Human error – chyba vyplývající z přístupu a schopností testujícího OSSTM - hodnocení a validace chyb testování Open Web Application Security Project - OWASP https://owasp.org/ ü Mnoho použitelných metodik, zdrojů informací a standardů Penetrační testy – OWASP https://owasp.org/projects/ ü Testy mobilních aplikací – dobrý zdroj Penetrační testy – OWASP https://owasp.org/www-project-mobile-security-testing-guide/ Web Application Security Consortium Threat Classification - WASC-TC http://projects.webappsec.org/f/WASC-TC-v2_0.pdf ü Přehled a klasifikace hrozeb aplikací Web Application Security Consortium Threat Classification - WASC-TC ü Ukázka: Web Application Security Consortium Threat Classification - WASC-TC http://projects.webappsec.org/w/page/13246916/Buffer%20 Overflow Penetration Testing Execution Standard (PTES) http://www.pentest-standard.org/index.php/Main_Page ü Obsahuje 7 fází testu ü Specifikační fáze: ü Rozsah testu ü Cíle testu ü Časová omezení ü Jiné omezující podmínky ü Sběr informací: ü Metodika OSINT PTES PTES http://www.pentest- standard.org/index.php/Intelligence_Gathering#Mobile_Footprint ü Obsahuje 7 fází testu ü Modelování hrozeb ü Využití výsledků OSINT ü Východisko pro tvorbu testovacích scénářů ü Analýza zranitelností ü Exploitace ü Post exploitace ü Reporting − Sada technických návodů – problém aktuálnosti PTES PTES http://www.pentest- standard.org/index.php/PTES_Technical_Guidelines ü Nejde o přímou metodiku penetračního testování ü Rámec hodnocení bezpečnosti informačních systémů Information Systems Security Assesment Framework – ISSAF https://untrustednetw ork.net/files/issaf0.2.1. pdf ü Obdobné fáze, navíc je přidáno ničení stop Information Systems Security Assesment Framework – ISSAF https://untrustednetwork.net/ files/issaf0.2.1.pdf ü Framework pro Cyber Security, hodnocení a testování NIST – National Institute for Standard and Technology https://nvlpubs.nist.gov/n istpubs/CSWP/NIST.CSWP. 04162018.pdf Kde hledat nástroje pro penetrační testy https://geekflare.com/web-penetration-testing-tools/ Kde hledat nástroje pro penetrační testy https://www.kali.org/ ü Cíle testování ü Způsob testování ü Metodika ü Typ testu… ü Limitující podmínky ü Smlouva ü Závazek na ničení stop Penetrační testy – jak je zadat Máte nějaké dotazy? Děkuji za pozornost Ing. Vladimír Lazecký