EITC/IS/WAPT Web Applications Penetration Testing je európsky IT certifikačný program zameraný na teoretické a praktické aspekty penetračného testovania webových aplikácií (white hacking), vrátane rôznych techník pre spiderovanie webových stránok, skenovanie a techniky útokov, vrátane špecializovaných nástrojov a balíkov na penetračné testovanie. .
Učebné osnovy EITC/IS/WAPT penetračného testovania webových aplikácií zahŕňajú úvod do Burp Suite, web spridering a DVWA, testovanie hrubou silou s Burp Suite, detekciu firewallu webových aplikácií (WAF) s WAFW00F, cieľový rozsah a spidering, objavovanie skrytých súborov pomocou ZAP, skenovanie zraniteľnosti WordPress a enumerácia používateľských mien, kontrola vyrovnávania zaťaženia, skriptovanie medzi stránkami, XSS – odrazené, uložené a DOM, útoky proxy, konfigurácia proxy v ZAP, útoky na súbory a adresáre, zisťovanie súborov a adresárov pomocou DirBuster, prax webových útokov , OWASP Juice Shop, CSRF – Cross Site Request Forgery, zhromažďovanie súborov cookie a spätné inžinierstvo, Atribúty HTTP – kradnutie súborov cookie, vstrekovanie SQL, DotDotPwn – fuzzovanie prechodom cez adresár, vstrekovanie prvkov iframe a vstrekovanie HTML, exploit Heartbleed – objavovanie a využívanie, vstrekovanie kódu PHP, bWAPP – vstrekovanie HTML, odrazený POST, vstrekovanie príkazov OS pomocou Commix, vstrekovanie SSI na strane servera, testovanie v Docker, OverTheWire Natas, LFI a command injection, Google hacking pre pentesting, Google Dorks For penetration testing, Apache2 ModSecurity, ako aj Nginx ModSecurity, v rámci nasledujúcej štruktúry, zahŕňajúcej komplexný videodidaktický obsah ako referenciu pre túto EITC certifikáciu.
Zabezpečenie webových aplikácií (často označované ako Web AppSec) je koncept navrhovania webových stránok tak, aby fungovali normálne, aj keď sú napadnuté. Ide o integráciu súboru bezpečnostných opatrení do webovej aplikácie na ochranu jej aktív pred nepriateľskými agentmi. Webové aplikácie, ako každý softvér, sú náchylné na chyby. Niektoré z týchto nedostatkov sú skutočné zraniteľnosti, ktoré možno zneužiť a predstavujú riziko pre podniky. Proti takýmto chybám sa chráni bezpečnosť webových aplikácií. Zahŕňa to použitie bezpečných vývojových prístupov a zavedenie bezpečnostných kontrol počas životného cyklu vývoja softvéru (SDLC), čím sa zabezpečí, že sa vyriešia chyby v návrhu a implementačné problémy. Online penetračné testovanie, ktoré vykonávajú odborníci, ktorých cieľom je odhaliť a zneužiť zraniteľnosti webových aplikácií pomocou takzvaného bieleho hackerského prístupu, je nevyhnutnou praxou na umožnenie vhodnej obrany.
Webový penetračný test, známy aj ako test webovým perom, simuluje kybernetický útok na webovú aplikáciu s cieľom nájsť zneužiteľné chyby. Penetračné testovanie sa často používa na doplnenie brány firewall webových aplikácií v kontexte zabezpečenia webových aplikácií (WAF). Testovanie pera vo všeobecnosti zahŕňa pokusy preniknúť do ľubovoľného počtu aplikačných systémov (napr. API, frontend/backend serverov) s cieľom nájsť zraniteľné miesta, ako sú neupravené vstupy, ktoré sú zraniteľné voči útokom na vstrekovanie kódu.
Zistenia online penetračného testu možno použiť na konfiguráciu bezpečnostných zásad WAF a na riešenie zistených zraniteľností.
Penetračné testovanie má päť krokov.
Postup testovania pera je rozdelený do piatich krokov.
- Plánovanie a skauting
Prvou fázou je definovanie rozsahu a cieľov testu, vrátane systémov, ktoré je potrebné riešiť, a testovacích metodík, ktoré sa majú použiť.
Aby ste lepšie pochopili, ako cieľ funguje a jeho potenciálne slabé stránky, zbierajte informácie (napr. názvy sietí a domén, poštový server). - Snímanie
Ďalšou fázou je zistiť, ako bude cieľová aplikácia reagovať na rôzne typy pokusov o prienik. To sa zvyčajne dosiahne použitím nasledujúcich metód:
Statická analýza – Skúmanie kódu aplikácie s cieľom predpovedať, ako sa bude správať pri spustení. V jedinom prechode dokážu tieto nástroje naskenovať celý kód.
Dynamická analýza je proces kontroly kódu aplikácie počas jej prevádzky. Tento spôsob skenovania je praktickejší, pretože poskytuje pohľad na výkon aplikácie v reálnom čase. - Získanie prístupu
Na nájdenie slabých stránok cieľa tento krok využíva útoky webových aplikácií, ako je skriptovanie medzi stránkami, vstrekovanie SQL a zadné vrátka. Aby porozumeli škodám, ktoré môžu tieto zraniteľnosti spôsobiť, testeri sa ich snažia zneužiť eskaláciou privilégií, krádežou údajov, zachytením prevádzky atď. - Zachovanie prístupu
Účelom tejto fázy je posúdiť, či možno zraniteľnosť zneužiť na vytvorenie dlhodobej prítomnosti v napadnutom systéme, čo umožní zlému aktérovi získať hĺbkový prístup. Cieľom je napodobniť pokročilé perzistentné hrozby, ktoré môžu zostať v systéme mesiace, aby ukradli najcitlivejšie informácie spoločnosti. - Analýza
Výsledky penetračného testu sa potom vložia do správy, ktorá obsahuje informácie ako:
Zraniteľnosti, ktoré boli detailne využité
Získané údaje boli citlivé
Čas, počas ktorého bol tester pera schopný zostať v systéme bez povšimnutia.
Bezpečnostní experti používajú tieto údaje na pomoc pri konfigurácii podnikových nastavení WAF a iných bezpečnostných riešení aplikácií, aby opravili slabé miesta a zabránili ďalším útokom.
Metódy penetračného testovania
- Externé penetračné testovanie sa zameriava na aktíva firmy, ktoré sú viditeľné na internete, ako je samotná webová aplikácia, web spoločnosti, ako aj e-mailové a doménové servery (DNS). Cieľom je získať prístup k užitočným informáciám a získať ich.
- Vnútorné testovanie znamená, že tester má prístup k aplikácii za firemným firewallom, ktorá simuluje nepriateľský útok zasvätených osôb. Toto nie je potrebná simulácia nečestného zamestnanca. Bežným východiskovým bodom je zamestnanec, ktorého poverenia boli získané v dôsledku pokusu o phishing.
- Slepé testovanie je, keď testerovi jednoducho poskytne názov spoločnosti, ktorá je testovaná. To umožňuje bezpečnostným expertom vidieť, ako môže prebiehať skutočný útok na aplikáciu v reálnom čase.
- Dvojito zaslepené testovanie: Pri dvojito zaslepenom teste si bezpečnostní profesionáli vopred neuvedomujú simulovaný útok. Nestihnú podoprieť svoje opevnenia pred pokusom o prelomenie, rovnako ako v skutočnom svete.
- Cielené testovanie – v tomto scenári tester a bezpečnostný personál spolupracujú a sledujú vzájomné pohyby. Ide o vynikajúce tréningové cvičenie, ktoré poskytuje bezpečnostnému tímu spätnú väzbu v reálnom čase z pohľadu hackera.
Firewally webových aplikácií a penetračné testovanie
Penetračné testovanie a WAF sú dve samostatné, ale vzájomne sa dopĺňajúce bezpečnostné techniky. Tester pravdepodobne využije údaje WAF, ako sú protokoly, na nájdenie a využitie slabých oblastí aplikácie v mnohých typoch testovania perom (s výnimkou slepých a dvojito slepých testov).
Údaje o testovaní pera zase môžu pomôcť správcom WAF. Po dokončení testu možno konfigurácie WAF upraviť, aby sa chránili pred chybami zistenými počas testu.
Nakoniec, testovanie perom spĺňa určité požiadavky na zhodu metód bezpečnostného auditu, ako napríklad PCI DSS a SOC 2. Určité požiadavky, ako napríklad PCI-DSS 6.6, možno splniť len vtedy, ak sa použije certifikovaný WAF. Avšak kvôli vyššie uvedeným výhodám a potenciálu upravovať nastavenia WAF to neznamená, že testovanie perom je menej užitočné.
Aký význam má testovanie webovej bezpečnosti?
Cieľom testovania webovej bezpečnosti je identifikovať bezpečnostné chyby webových aplikácií a ich nastavenie. Aplikačná vrstva je primárnym cieľom (tj čo beží na protokole HTTP). Odosielanie rôznych foriem vstupu do webovej aplikácie s cieľom vyvolať problémy a prinútiť systém reagovať neočakávaným spôsobom je bežným prístupom na testovanie jej bezpečnosti. Tieto „negatívne testy“ zisťujú, či systém robí niečo, čo nebolo zamýšľané.
Je tiež dôležité si uvedomiť, že testovanie webovej bezpečnosti zahŕňa viac než len overenie bezpečnostných prvkov aplikácie (ako je autentifikácia a autorizácia). Je tiež dôležité zabezpečiť bezpečné nasadenie ostatných funkcií (napr. obchodná logika a použitie správneho overenia vstupu a kódovania výstupu). Účelom je uistiť sa, že funkcie webovej aplikácie sú bezpečné.
Aké sú mnohé typy hodnotení bezpečnosti?
- Test zabezpečenia dynamickej aplikácie (DAST). Tento automatický test zabezpečenia aplikácií je najvhodnejší pre nízkorizikové interne orientované aplikácie, ktoré musia spĺňať regulačné bezpečnostné požiadavky. Kombinácia DAST s manuálnym online testovaním bezpečnosti na bežné zraniteľnosti je najlepšou stratégiou pre stredne rizikové aplikácie a kľúčové aplikácie, ktoré prechádzajú malými zmenami.
- Kontrola zabezpečenia pre statické aplikácie (SAST). Táto stratégia zabezpečenia aplikácií zahŕňa automatizované aj manuálne testovacie metódy. Je ideálny na zisťovanie chýb bez toho, aby ste museli spúšťať aplikácie v živom prostredí. Umožňuje tiež inžinierom skenovať zdrojový kód, aby systematickým spôsobom zisťovali a opravovali chyby zabezpečenia softvéru.
- Penetračné vyšetrenie. Tento manuálny test zabezpečenia aplikácií je ideálny pre základné aplikácie, najmä tie, ktoré prechádzajú významnými zmenami. Na nájdenie pokročilých scenárov útoku sa pri hodnotení používa obchodná logika a testovanie založené na protivníkovi.
- Vlastná ochrana aplikácie za behu (RASP). Táto rastúca metóda zabezpečenia aplikácií zahŕňa množstvo technologických techník na vybavenie aplikácie, aby bolo možné hrozby sledovať a dúfajme, že im predchádzať v reálnom čase, keď sa vyskytnú.
Akú úlohu zohráva testovanie bezpečnosti aplikácií pri znižovaní rizika spoločnosti?
Prevažná väčšina útokov na webové aplikácie zahŕňa:
- SQL Injection
- XSS (skriptovanie medzi stránkami)
- Vykonanie diaľkového príkazu
- Path Traversal Attack
- Obmedzený prístup k obsahu
- Ohrozené používateľské účty
- Inštalácia škodlivého kódu
- Stratené príjmy z predaja
- Narúša sa dôvera zákazníkov
- Poškodenie dobrého mena značky
- A množstvo ďalších útokov
V dnešnom internetovom prostredí môže byť webová aplikácia poškodená rôznymi problémami. Vyššie uvedený obrázok zobrazuje niekoľko najbežnejších útokov, ktorých sa dopúšťajú útočníci, pričom každý z nich môže spôsobiť značné škody jednotlivej aplikácii alebo celému podniku. Poznanie mnohých útokov, ktoré spôsobujú, že aplikácia je zraniteľná, ako aj možné výsledky útoku, umožňuje spoločnosti včas vyriešiť slabé miesta a efektívne ich otestovať.
V počiatočných fázach SDLC je možné zaviesť zmierňujúce kontroly, aby sa predišlo akýmkoľvek problémom identifikáciou základnej príčiny zraniteľnosti. Počas testu zabezpečenia webovej aplikácie možno znalosti o tom, ako tieto hrozby fungujú, použiť aj na zacielenie na známe zaujímavé miesta.
Rozpoznanie dopadu útoku je tiež dôležité pre riadenie rizika spoločnosti, pretože dopady úspešného útoku môžu byť použité na určenie závažnosti celkovej zraniteľnosti. Ak sa počas bezpečnostného testu zistia slabé miesta, určenie ich závažnosti umožní spoločnosti efektívnejšie uprednostniť úsilie o nápravu. Ak chcete znížiť riziko pre spoločnosť, začnite problémami s kritickou závažnosťou a prepracujte sa k tým, ktoré majú menší dopad.
Pred identifikáciou problému vám posúdenie možného vplyvu každého programu v knižnici aplikácií spoločnosti pomôže uprednostniť testovanie bezpečnosti aplikácií. Testovanie zabezpečenia Wenb možno naplánovať tak, aby sa najskôr zameralo na kritické aplikácie firmy, pričom cielenejšie testovanie zníži riziko voči podniku. So zavedeným zoznamom vysokoprofilových aplikácií je možné naplánovať testovanie zabezpečenia wenb tak, aby sa najskôr zameralo na kritické aplikácie firmy, s cielenejším testovaním na zníženie rizika voči podniku.
Aké funkcie by sa mali preskúmať počas testu zabezpečenia webovej aplikácie?
Počas testovania bezpečnosti webových aplikácií zvážte nasledujúci neúplný zoznam funkcií. Neefektívna implementácia každého z nich by mohla viesť k slabým stránkam, ktoré ohrozujú spoločnosť.
- Konfigurácia aplikácie a servera. Šifrovanie/kryptografické nastavenia, konfigurácie webového servera atď., to všetko sú príklady potenciálnych chýb.
- Overenie spracovania vstupu a chýb Zlé spracovanie vstupu a výstupu vedie k vstrekovaniu SQL, skriptovaniu medzi stránkami (XSS) a ďalším typickým problémom s vkladaním.
- Autentifikácia a údržba relácií. Chyby zabezpečenia, ktoré by mohli viesť k odcudzeniu identity používateľa. Do úvahy by sa mala brať aj pevnosť poverenia a ochrana.
- Autorizácia. Testuje sa schopnosť aplikácie chrániť sa pred vertikálnou a horizontálnou eskaláciou privilégií.
- Logika v podnikaní. Väčšina programov, ktoré poskytujú obchodné funkcie, sa na ne spolieha.
- Logika na strane klienta. Tento typ funkcie sa stáva bežnejším pri moderných webových stránkach s vysokým obsahom JavaScriptu, ako aj pri webových stránkach využívajúcich iné typy technológií na strane klienta (napr. Silverlight, Flash, Java applety).
Aby ste sa podrobne oboznámili s certifikačným učebným plánom, môžete rozšíriť a analyzovať tabuľku nižšie.
Certifikačný študijný plán penetračného testovania webových aplikácií EITC/IS/WAPT odkazuje na didaktické materiály s otvoreným prístupom vo forme videa. Učebný proces je rozdelený do štruktúry krok za krokom (programy -> lekcie -> témy) pokrývajúce príslušné časti kurikula. Poskytuje sa aj neobmedzené poradenstvo s odborníkmi na domény.
Podrobnosti o kontrole postupu certifikácie Ako funguje CBD Factum Pet Solution?.
Stiahnite si kompletné offline samovzdelávacie prípravné materiály pre program penetračného testovania webových aplikácií EITC/IS/WAPT v súbore PDF
Prípravné materiály EITC/IS/WAPT – štandardná verzia
Prípravné materiály EITC/IS/WAPT – rozšírená verzia o recenzné otázky