Penetrační testování
Penetrační testování nebo Testování perem je typ testování zabezpečení používaný k odhalení zranitelností, hrozeb a rizik, která by mohl útočník zneužít v softwarových aplikacích, sítích nebo webových aplikacích. Účelem penetračního testování je identifikovat a otestovat všechny možné chyby zabezpečení, které jsou v softwarové aplikaci přítomny. Penetrační testování se také nazývá Pen Test.
Zranitelností je riziko, že útočník může narušit nebo získat autorizovaný přístup k systému nebo jakýmkoli datům v něm obsaženým. Zranitelnosti jsou obvykle způsobeny náhodou během fáze vývoje a implementace softwaru. Mezi běžné chyby zabezpečení patří chyby návrhu, chyby konfigurace, chyby softwaru atd. Analýza penetrace závisí na dvou mechanismech, konkrétně na posouzení zranitelnosti a testování penetrace (VAPT).
Proč penetrační testování?
Penetrace je v podniku zásadní, protože -
- Finanční sektory, jako jsou banky, investiční bankovnictví, burzy cenných papírů, chtějí, aby jejich data byla zabezpečena, a testování penetrace je nezbytné pro zajištění bezpečnosti
- V případě, že je softwarový systém již hacknut a organizace chce zjistit, zda v systému stále existují nějaké hrozby, aby se zabránilo budoucím hackerům.
- Proaktivní penetrační testování je nejlepší ochranou proti hackerům
Typy penetračního testování:
Typ vybraného penetračního testu obvykle závisí na rozsahu a na tom, zda chce organizace simulovat útok zaměstnance, správce sítě (interní zdroje) nebo externí zdroje. Existují tři typy penetračního testování a jsou
- Testování černé skříňky
- Penetrační testování v bílé krabici
- Šedé pole Penetrační testování
Při penetračním testování černé skříňky nemá tester žádné znalosti o systémech, které mají být testovány. Je odpovědný za shromažďování informací o cílové síti nebo systému.
Při penetračním testování bílé skříňky jsou testeru obvykle poskytovány úplné informace o síti nebo systémech, které mají být testovány, včetně schématu IP adres, zdrojového kódu, podrobností OS atd. To lze považovat za simulaci útoku jakýmkoli Interní zdroje (zaměstnanci organizace).
Při penetračním testování v šedém poli je tester vybaven částečnými znalostmi systému. Lze jej považovat za útok externího hackera, který získal nelegitimní přístup k dokumentům o síťové infrastruktuře organizace.
Jak provést penetrační testování
Níže jsou uvedeny činnosti, které je třeba provést, aby se provedl Penetrační test -
Krok 1) Fáze plánování
- Stanoví se rozsah a strategie úkolu
- K definování rozsahu se používají stávající zásady zabezpečení, standardy
Krok 2) Fáze zjišťování
- Shromažďujte co nejvíce informací o systému, včetně dat v systému, uživatelských jmen a dokonce i hesel. Toto se také nazývá FINGERPRINTING
- Skenujte a sondujte do portů
- Zkontrolujte zranitelnost systému
Krok 3) Útočná fáze
- Hledání zneužití pro různé chyby zabezpečení K zneužití systému potřebujete nezbytná bezpečnostní oprávnění
Krok 4) Fáze hlášení
- Zpráva musí obsahovat podrobná zjištění
- Zjištěná rizika zranitelných míst a jejich dopad na podnikání
- Doporučení a řešení, pokud existují
Hlavním úkolem při penetračním testování je shromáždit informace o systému. Existují dva způsoby, jak shromažďovat informace -
- Model „jeden na jednoho“ nebo „jeden na více“ s ohledem na hostitele: Tester provádí techniky lineárně proti jednomu cílovému hostiteli nebo logickému seskupení cílových hostitelů (např. Podsíti).
- Model „mnoho k jednomu“ nebo „mnoho k mnoha“: Tester využívá více počítačů k provádění technik shromažďování informací náhodně, s omezenou rychlostí a nelineárně.
Příklady nástrojů pro testování penetrace
Při penetračním testování se používá široká škála nástrojů a důležité nástroje jsou:
- NMap - Tento nástroj se používá pro skenování portů, identifikaci OS, trasování trasy a pro skenování zranitelnosti.
- Nessus - Toto je tradiční síťový nástroj pro zabezpečení.
- Pass-The-Hash - tento nástroj se používá hlavně k prolomení hesla.
Úloha a odpovědnost testerů penetrace:
Úkolem penetračních testerů je:
- Testeři by měli shromažďovat požadované informace od Organizace, aby umožnili penetrační testy
- Najděte chyby, které by mohly hackerům umožnit zaútočit na cílový počítač
- Pen Testers by měli myslet a chovat se jako skuteční hackeři, i když eticky.
- Práce prováděná testery penetrace by měla být reprodukovatelná, aby ji vývojáři mohli snadno opravit
- Počáteční datum a konečné datum provedení testu je třeba definovat předem.
- Tester by měl být odpovědný za jakoukoli ztrátu v systému nebo informacích během testování softwaru
- Tester by měl zachovávat důvěrnost údajů a informací
Ruční penetrace vs. automatické penetrační testování:
Ruční testování penetrace | Automatizované penetrační testování |
---|---|
Ruční testování vyžaduje, aby testy provedli odborníci | Automatizované testovací nástroje poskytují jasné zprávy s méně zkušenými profesionály |
Ruční testování vyžaduje k jeho sledování Excel a další nástroje | Testování automatizace má centralizované a standardní nástroje |
V ručním testování se výsledky vzorků liší od testu k testu | V případě automatických testů se výsledky od testu k testu neliší |
Vyčištění paměti by si uživatelé měli pamatovat | Automatické testování bude mít komplexní vyčištění. |
Nevýhody penetračního testování
Penetrační testování nemůže najít všechny chyby zabezpečení v systému. Existují omezení času, rozpočtu, rozsahu a dovedností testerů penetrace
Následující budou vedlejší účinky, když provádíme penetrační testování:
- Ztráta a poškození dat
- Dolů
- Zvyšte náklady
Závěr:
Testeři by se měli chovat jako skuteční hackeři a otestovat aplikaci nebo systém a musí zkontrolovat, zda je kód bezpečně napsán. Penetrační test bude účinný, pokud bude existovat dobře implementovaná bezpečnostní politika. Politika a metodika testování penetrace by měla být místem pro zefektivnění testování penetrace. Toto je kompletní průvodce pro začátečníky pro Penetrační testování.
Podívejte se na náš projekt testování penetrace naživo