Co je testování zabezpečení?
SECURITY TESTING je typ testování softwaru, který odhaluje zranitelná místa, hrozby, rizika v softwarové aplikaci a předchází škodlivým útokům vetřelců. Účelem bezpečnostních testů je identifikovat všechny možné mezery a slabiny softwarového systému, které by mohly vést ke ztrátě informací, příjmů, pověsti ze strany zaměstnanců nebo cizinců organizace.
Proč je testování zabezpečení důležité?
Hlavním cílem testování zabezpečení je identifikovat hrozby v systému a měřit jeho potenciální zranitelnosti, aby na ně bylo možné narazit a aby systém nepřestal fungovat nebo nebyl zneužit. Pomáhá také při zjišťování všech možných bezpečnostních rizik v systému a pomáhá vývojářům řešit problémy pomocí kódování.
V tomto výukovém programu se naučíte
- Co je testování zabezpečení?
- Druhy testování zabezpečení
- Jak provést testování zabezpečení
- Ukázkové testovací scénáře pro testování zabezpečení
- Metodiky / přístup / techniky pro testování bezpečnosti
- Role testování zabezpečení
- Nástroj pro testování zabezpečení
- Mýty a fakta o testování zabezpečení
Druhy testování zabezpečení:
Existuje sedm hlavních typů testování zabezpečení podle příručky metodiky testování zabezpečení Open Source. Vysvětlují se takto:
- Skenování zranitelnosti : Dělá se to pomocí automatizovaného softwaru pro skenování systému proti známým zranitelným podpisům.
- Skenování zabezpečení: Zahrnuje identifikaci slabých míst v síti a systému a později poskytuje řešení ke snížení těchto rizik. Toto skenování lze provést pro ruční i automatické skenování.
- Penetrační testování : Tento druh testování simuluje útok škodlivého hackera. Toto testování zahrnuje analýzu konkrétního systému za účelem kontroly potenciálních zranitelností při pokusu o externí hackerství.
- Hodnocení rizik: Toto testování zahrnuje analýzu bezpečnostních rizik pozorovaných v organizaci. Rizika jsou klasifikována jako nízká, střední a vysoká. Toto testování doporučuje kontroly a opatření ke snížení rizika.
- Bezpečnostní audit: Jedná se o interní kontrolu bezpečnostních nedostatků aplikací a operačních systémů. Audit lze provést také kontrolou kódu po řádku
- Etické hackerství: Jedná se o hacking systémů organizace Software. Na rozdíl od škodlivých hackerů, kteří kradou pro své vlastní zisky, je záměrem odhalit bezpečnostní chyby v systému.
- Posouzení postoje: Toto kombinuje bezpečnostní skenování, etické hackerství a hodnocení rizik a ukazuje celkovou pozici zabezpečení organizace.
Jak provést testování zabezpečení
Vždy se souhlasí, že náklady budou vyšší, pokud odložíme testování zabezpečení po fázi implementace softwaru nebo po nasazení. Je tedy nutné zahrnout testování zabezpečení do životního cyklu SDLC v dřívějších fázích.
Podívejme se na odpovídající bezpečnostní procesy, které mají být přijaty pro každou fázi v SDLC
Fáze SDLC | Bezpečnostní procesy |
---|---|
Požadavky | Bezpečnostní analýza požadavků a kontrola případů zneužití / zneužití |
Design | Analýza bezpečnostních rizik pro návrh. Vypracování testovacího plánu včetně bezpečnostních testů |
Kódování a testování jednotek | Statické a dynamické testování a testování bezpečnostního pole |
Testování integrace | Testování černé skříňky |
Testování systému | Testování černé skříňky a skenování zranitelnosti |
Implementace | Penetrační testování, skenování zranitelnosti |
Podpěra, podpora | Dopadová analýza záplat |
Plán zkoušek by měl obsahovat
- Testovací případy nebo scénáře související se zabezpečením
- Testování dat souvisejících s testováním zabezpečení
- Testovací nástroje potřebné pro testování zabezpečení
- Analýza různých výstupů testů z různých bezpečnostních nástrojů
Ukázkové testovací scénáře pro testování zabezpečení:
Ukázkové testovací scénáře, které vám poskytnou letmý pohled na testovací případy zabezpečení -
- Heslo by mělo být v šifrovaném formátu
- Aplikace nebo systém by neměl umožňovat neplatné uživatele
- Zkontrolujte soubory cookie a čas relace pro aplikaci
- U finančních webů by tlačítko Zpět v prohlížeči nemělo fungovat.
Metodiky / přístup / techniky pro testování bezpečnosti
Při testování zabezpečení se postupuje podle různých metodik, které jsou následující:
- Tiger Box : Toto hackování se obvykle provádí na notebooku, který má sbírku operačních systémů a hackerských nástrojů. Toto testování pomáhá penetračním testerům a testerům zabezpečení provádět hodnocení zranitelnosti a útoky.
- Black Box : Tester je oprávněn provádět testování všeho o topologii sítě a technologii.
- Šedá skříňka : Testeri jsou poskytovány dílčí informace o systému a jedná se o hybrid modelů bílé a černé skříňky.
Role testování zabezpečení
- Hackeři - přistupujte k počítačovému systému nebo síti bez povolení
- Crackers - pronikněte do systémů, abyste ukradli nebo zničili data
- Ethical Hacker - Provádí většinu zlomových činností, ale se svolením vlastníka
- Script Kiddies nebo paketové opice - nezkušení hackeři se znalostí programovacího jazyka
Nástroj pro testování zabezpečení
1) Vetřelec
Intruder je podnikový skener zranitelnosti, který se snadno používá. Spouští přes 10 000 vysoce kvalitních bezpečnostních kontrol napříč vaší IT infrastrukturou, mezi které patří mimo jiné: slabé stránky konfigurace, slabé stránky aplikací (například SQL injection a skriptování mezi weby) a chybějící opravy. Intruder poskytuje inteligentně upřednostňované výsledky i proaktivní skenování nejnovějších hrozeb a pomáhá šetřit čas a chrání podniky všech velikostí před hackery.
Funkce:
- AWS, Azure a Google Cloud konektory
- Výsledky specifické pro daný obvod snižují váš vnější povrch útoku
- Vysoce kvalitní hlášení
- Integrace Slack, Microsoft Teams, Jira, Zapier
- Integrace API s vaším potrubím CI / CD
2) Owasp
Open Web Application Security Project (OWASP) je celosvětová nezisková organizace zaměřená na zlepšování zabezpečení softwaru. Projekt má několik nástrojů k testování různých softwarových prostředí a protokolů perem. Mezi stěžejní nástroje projektu patří
- Zed Attack Proxy (ZAP - integrovaný nástroj pro testování penetrace)
- Ověření závislosti OWASP (prohledává závislosti projektu a kontroluje známé chyby zabezpečení)
- OWASP Web Testing Environment Project (sbírka bezpečnostních nástrojů a dokumentace)
3) WireShark
Wireshark je nástroj pro síťovou analýzu, dříve známý jako Ethereal. Zachytává pakety v reálném čase a zobrazuje je v čitelném formátu. V zásadě jde o analyzátor síťových paketů - který poskytuje podrobné informace o vašich síťových protokolech, dešifrování, informacích o paketech atd. Je to otevřený zdroj a lze jej použít v systémech Linux, Windows, OS X, Solaris, NetBSD, FreeBSD a mnoha dalších jiné systémy. Informace, které jsou načteny pomocí tohoto nástroje, lze zobrazit pomocí grafického uživatelského rozhraní nebo nástroje TShark v režimu TTY.
4) W3af
w3af je rámec pro útoky a audit webových aplikací. Má tři typy pluginů; objev, audit a útok, které spolu komunikují ohledně jakýchkoli zranitelných míst na webu, například objevovací plugin ve w3af hledá různé adresy URL pro testování zranitelností a předá je auditovacímu pluginu, který pak použije tyto adresy URL k vyhledání zranitelných míst.
Mýty a fakta o testování zabezpečení:
Pojďme si promluvit o zajímavém tématu Mýty a fakta o testování zabezpečení:
Mýtus č. 1 Nepotřebujeme bezpečnostní politiku, protože máme malou firmu
Fakt: Každý a každá společnost potřebuje bezpečnostní politiku
Mýtus č. 2 Investice do testování zabezpečení se nevrací
Fakt: Testování zabezpečení může poukázat na oblasti pro zlepšení, které mohou zlepšit účinnost a snížit prostoje, což umožňuje maximální propustnost.
Mýtus č. 3 : Jediným způsobem, jak zabezpečit, je odpojit jej.
Fakt: Jediným a nejlepším způsobem, jak zabezpečit organizaci, je najít „Perfect Security“. Dokonalé bezpečnosti lze dosáhnout provedením posouzení polohy a porovnáním s obchodními, právními a průmyslovými ospravedlněními.
Mýtus č. 4 : Internet není bezpečný. Koupím software nebo hardware, abych ochránil systém a zachránil firmu.
Fakt: Jedním z největších problémů je nákup softwaru a hardwaru pro zabezpečení. Místo toho by organizace měla nejprve porozumět zabezpečení a poté jej použít.
Závěr:
Testování zabezpečení je nejdůležitějším testováním aplikace a kontroluje, zda důvěrná data zůstanou důvěrná. V tomto typu testování hraje tester roli útočníka a hraje kolem systému, aby našel chyby související se zabezpečením. Testování zabezpečení je v softwarovém inženýrství velmi důležité k ochraně dat všemi prostředky.