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ý