Preskušanje prodora spletnih aplikacij EITC/IS/WAPT je evropski certifikacijski program IT o teoretičnih in praktičnih vidikih testiranja penetracije spletnih aplikacij (belo vdiranje), vključno z različnimi tehnikami za skeniranje spletnih mest, skeniranje in napade, vključno s specializiranimi orodji in paketi za testiranje penetracije. .
Učni načrt testiranja penetracije spletnih aplikacij EITC/IS/WAPT zajema uvod v programsko opremo Burp Suite, web spridering in DVWA, preskušanje brute sile z Burp Suite, zaznavanje požarnega zidu spletnih aplikacij (WAF) z WAFW00F, ciljni obseg in spidering, odkrivanje skritih datotek z ZAP, pregledovanje ranljivosti WordPress in naštevanje uporabniških imen, pregledovanje uravnoteženja obremenitve, skriptiranje med spletnimi mesti, XSS – odražen, shranjen in DOM, proxy napadi, konfiguracija proxyja v ZAP, napadi na datoteke in imenike, odkrivanje datotek in imenikov z DirBuster, praksa spletnih napadov , OWASP Juice Shop, CSRF – Ponarejanje zahtev na več mestih, zbiranje piškotkov in povratni inženiring, HTTP atributi – kraja piškotkov, injekcija SQL, DotDotPwn – prečkanje imenika, injekcija iframe in injekcija HTML, Heartbleed izkoriščanje – odkrivanje in izkoriščanje, vbrizgavanje kode PHP bWAPP – injekcija HTML, odražena POST, injekcija ukazov OS s Commixom, na strani strežnika vključuje injekcijo SSI, pentestiranje v Dockerju, OverTheWire Natas, LFI in injiciranje ukazov, Google hacking za pentesting, Google Dorks Za testiranje penetracije, Apache2 ModSecurity, kot tudi Nginx ModSecurity, v naslednji strukturi, ki zajema izčrpno video didaktično vsebino kot referenco za to EITC certifikat.
Varnost spletnih aplikacij (pogosto imenovana tudi Web AppSec) je koncept oblikovanja spletnih mest za normalno delovanje, tudi če so napadena. Ideja je integracijo niza varnostnih ukrepov v spletno aplikacijo za zaščito njenih sredstev pred sovražnimi agenti. Spletne aplikacije so tako kot vsa programska oprema nagnjene k napakam. Nekatere od teh pomanjkljivosti so dejanske ranljivosti, ki jih je mogoče izkoristiti in predstavljati tveganje za podjetja. Takšne pomanjkljivosti so zaščitene z varnostjo spletne aplikacije. Vključuje uporabo varnih razvojnih pristopov in vzpostavitev varnostnega nadzora skozi celoten življenjski cikel razvoja programske opreme (SDLC), s čimer se zagotovi, da se odpravijo pomanjkljivosti načrtovanja in težave pri izvajanju. Spletno penetracijsko testiranje, ki ga izvajajo strokovnjaki, ki želijo odkriti in izkoristiti ranljivosti spletnih aplikacij s tako imenovanim pristopom belega hekerja, je bistvena praksa, ki omogoča ustrezno obrambo.
Preizkus spletne penetracije, znan tudi kot test spletnega peresa, simulira kibernetski napad na spletno aplikacijo, da bi našel pomanjkljivosti, ki jih je mogoče izkoristiti. Preskušanje penetracije se pogosto uporablja kot dopolnitev požarnega zidu spletne aplikacije v kontekstu varnosti spletnih aplikacij (WAF). Testiranje s peresom na splošno vključuje poskus prodora v poljubno število aplikacijskih sistemov (npr. API-je, sprednji/zaledni strežniki), da bi našli ranljivosti, kot so neočiščeni vnosi, ki so ranljivi za napade z vbrizgavanjem kode.
Ugotovitve spletnega testa penetracije se lahko uporabijo za konfiguriranje varnostnih politik WAF in obravnavanje odkritih ranljivosti.
Preizkus penetracije ima pet korakov.
Postopek testiranja peresa je razdeljen na pet korakov.
- Načrtovanje in izvidništvo
Opredelitev obsega in ciljev testa, vključno s sistemi, ki jih je treba obravnavati, in metodologijami testiranja, ki jih je treba uporabiti, je prva faza.
Če želite bolje razumeti, kako cilj deluje in njegove morebitne slabosti, zberite obveščevalne podatke (npr. imena omrežja in domen, poštni strežnik). - Skeniranje
Naslednja faza je ugotoviti, kako se bo ciljna aplikacija odzvala na različne vrste poskusov vdorov. To se običajno doseže z uporabo naslednjih metod:
Statična analiza – Preučevanje kode aplikacije, da se napove, kako se bo obnašala, ko bo zagnana. V enem samem prehodu lahko ta orodja skenirajo celotno kodo.
Dinamična analiza je postopek preverjanja kode aplikacije med delovanjem. Ta metoda skeniranja je bolj praktična, saj omogoča pregled delovanja aplikacije v realnem času. - Pridobitev dostopa
Da bi odkrili ciljne slabosti, ta korak uporablja napade spletnih aplikacij, kot so skriptiranje med spletnimi mesti, injekcija SQL in zaledna vrata. Da bi razumeli škodo, ki bi jo te ranljivosti lahko povzročile, jih preizkuševalci poskušajo izkoristiti s povečevanjem privilegijev, krajo podatkov, prestrezanjem prometa itd. - Ohranjanje dostopa
Namen te stopnje je oceniti, ali je ranljivost mogoče izkoristiti za vzpostavitev dolgoročne prisotnosti v ogroženem sistemu, kar bo slabemu akterju omogočilo poglobljen dostop. Cilj je posnemati napredne trajne grožnje, ki lahko ostanejo v sistemu več mesecev, da ukradejo najbolj občutljive podatke podjetja. - Analiza
Rezultati testa penetracije se nato vnesejo v poročilo, ki vključuje informacije, kot so:
Ranljivosti, ki so bile podrobno izkoriščene
Podatki, ki so bili pridobljeni, so bili občutljivi
Koliko časa je preizkuševalec pisal lahko ostal neopažen v sistemu.
Strokovnjaki za varnost uporabljajo te podatke za pomoč pri konfiguriranju nastavitev WAF podjetja in drugih varnostnih rešitev aplikacij, da bi popravili ranljivosti in preprečili nadaljnje napade.
Metode penetracijskega testiranja
- Zunanje penetracijsko testiranje se osredotoča na sredstva podjetja, ki so vidna na internetu, kot so sama spletna aplikacija, spletno mesto podjetja, pa tudi e-poštni in domenski strežniki (DNS). Cilj je pridobiti dostop in pridobiti koristne informacije.
- Notranje testiranje pomeni, da ima preizkuševalec dostop do aplikacije za požarnim zidom podjetja, ki simulira sovražni napad notranjih informacij. To ni potrebna simulacija prevarantskih zaposlenih. Zaposleni, katerega poverilnice so bile pridobljene zaradi poskusa lažnega predstavljanja, je običajno izhodišče.
- Slepo testiranje je, ko preizkuševalec preprosto dobi ime podjetja, ki se testira. To varnostnim strokovnjakom omogoča, da v realnem času vidijo, kako se lahko dejanski napad na aplikacijo odvija.
- Dvojno slepo testiranje: pri dvojno slepem testu se varnostni strokovnjaki vnaprej ne zavedajo simuliranega napada. Ne bodo imeli časa, da bi utrdili svoje utrdbe pred poskusom vdora, tako kot v resničnem svetu.
- Ciljno testiranje – v tem scenariju preizkuševalec in varnostno osebje sodelujeta in spremljata gibanje drug drugega. To je odlična vaja za usposabljanje, ki varnostni skupini daje povratne informacije v realnem času z vidika hekerja.
Požarni zidovi spletnih aplikacij in testiranje penetracije
Preizkus penetracije in WAF sta dve ločeni, a komplementarni varnostni tehniki. Preizkuševalec bo verjetno uporabil podatke WAF, kot so dnevniki, da bi našel in izkoristil šibka področja aplikacije pri številnih vrstah testiranja s peresom (z izjemo slepih in dvojno slepih testov).
Po drugi strani pa lahko podatki o testiranju peres pomagajo skrbnikom WAF. Po zaključku preskusa je mogoče konfiguracije WAF spremeniti za zaščito pred napakami, odkritimi med preskusom.
Končno testiranje s peresom izpolnjuje nekatere zahteve glede skladnosti metod varnostne revizije, kot sta PCI DSS in SOC 2. Nekatere zahteve, kot je PCI-DSS 6.6, je mogoče izpolniti le, če se uporablja certificiran WAF. Vendar pa zaradi zgoraj omenjenih prednosti in možnosti spreminjanja nastavitev WAF testiranje s peresom ni nič manj uporabno.
Kakšen je pomen testiranja spletne varnosti?
Cilj testiranja spletne varnosti je odkriti varnostne pomanjkljivosti v spletnih aplikacijah in njihovi nastavitvi. Aplikacijski sloj je primarni cilj (tj. tisto, kar se izvaja na protokolu HTTP). Pošiljanje različnih oblik vnosa v spletno aplikacijo, da se sprožijo težave in se sistem odzove na nepričakovane načine, je običajen pristop za testiranje njegove varnosti. Ti »negativni testi« poskušajo ugotoviti, ali sistem počne kaj, česar ni bil namenjen.
Pomembno je tudi vedeti, da testiranje spletne varnosti vključuje več kot le preverjanje varnostnih funkcij aplikacije (kot sta preverjanje pristnosti in avtorizacija). Prav tako je ključnega pomena zagotoviti, da so druge funkcije varno nameščene (npr. poslovna logika in uporaba ustreznega preverjanja vnosa in izhodnega kodiranja). Namen je zagotoviti, da so funkcije spletne aplikacije varne.
Katere so številne vrste varnostnih ocen?
- Preizkus dinamične varnosti aplikacij (DAST). Ta samodejni varnostni test aplikacij je najprimernejši za aplikacije z nizkim tveganjem, ki so obrnjene v notranjost, ki morajo izpolnjevati zakonske varnostne zahteve. Kombinacija DAST-a z nekaterimi ročnimi spletnimi varnostnimi testiranji za pogoste ranljivosti je najboljša strategija za srednje tvegane aplikacije in ključne aplikacije, ki so podvržene manjšim spremembam.
- Varnostno preverjanje za statične aplikacije (SAST). Ta varnostna strategija aplikacije vključuje tako avtomatizirane kot ročne metode testiranja. Idealen je za odkrivanje hroščev, ne da bi morali zagnati aplikacije v okolju v živo. Inženirjem omogoča tudi skeniranje izvorne kode, da bi sistematično odkrili in odpravili varnostne napake programske opreme.
- Pregled penetracije. Ta ročni varnostni test aplikacij je idealen za bistvene aplikacije, zlasti tiste, ki so podvržene pomembnim spremembam. Za iskanje naprednih scenarijev napadov ocena uporablja poslovno logiko in testiranje na podlagi nasprotnika.
- Samozaščita aplikacije v času izvajanja (RASP). Ta rastoča metoda zaščite aplikacij vključuje različne tehnološke tehnike za instrumentiranje aplikacije, tako da je mogoče grožnje opazovati in, upajmo, preprečiti v realnem času, ko se pojavijo.
Kakšno vlogo ima testiranje varnosti aplikacij pri zmanjševanju tveganja podjetja?
Velika večina napadov na spletne aplikacije vključuje:
- SQL injection
- XSS (skriptiranje med spletnimi mesti)
- Izvajanje ukazov na daljavo
- Napad prečkanja poti
- Omejen dostop do vsebine
- Ogroženi uporabniški računi
- Namestitev zlonamerne kode
- Izgubljeni prihodki od prodaje
- Kršitev zaupanja strank
- Škodi ugledu blagovne znamke
- In veliko drugih napadov
V današnjem internetnem okolju lahko spletni aplikaciji škodijo različni izzivi. Zgornja grafika prikazuje nekaj najpogostejših napadov, ki jih izvajajo napadalci, od katerih lahko vsak povzroči znatno škodo posamezni aplikaciji ali celotnemu podjetju. Poznavanje številnih napadov, zaradi katerih je aplikacija ranljiva, in možnih rezultatov napada omogoča podjetju, da ranljivosti odpravi pred časom in jih učinkovito preizkusi.
Omilitvene kontrole je mogoče vzpostaviti v zgodnjih fazah SDLC, da preprečimo kakršne koli težave z identifikacijo osnovnega vzroka ranljivosti. Med preizkusom varnosti spletne aplikacije se lahko znanje o delovanju teh groženj uporabi tudi za ciljanje na znana zanimiva mesta.
Prepoznavanje vpliva napada je pomembno tudi za obvladovanje tveganja podjetja, saj se lahko učinki uspešnega napada uporabijo za določitev resnosti celotne ranljivosti. Če se med varnostnim testom odkrijejo ranljivosti, določanje njihove resnosti omogoča podjetju, da učinkoviteje določi prednostne ukrepe za odpravo. Če želite zmanjšati tveganje za podjetje, začnite s težavami s kritično resnostjo in se spuščajte do tistih z manjšim vplivom.
Preden ugotovite težavo, vam bo ocena možnega vpliva vsakega programa v knjižnici aplikacij podjetja pomagala dati prednost testiranju varnosti aplikacij. Varnostno testiranje Wenb je mogoče načrtovati tako, da najprej cilja na kritične aplikacije podjetja, z bolj ciljno usmerjenim testiranjem za zmanjšanje tveganja za podjetje. Z uveljavljenim seznamom odmevnih aplikacij se lahko varnostno testiranje wenb načrtuje tako, da najprej cilja na kritične aplikacije podjetja, z bolj ciljno usmerjenim testiranjem za zmanjšanje tveganja za podjetje.
Katere funkcije je treba preveriti med varnostnim testom spletne aplikacije?
Med testiranjem varnosti spletnih aplikacij upoštevajte naslednji neizčrpen seznam funkcij. Neučinkovito izvajanje vsakega od njih bi lahko povzročilo slabosti, ki bi podjetje ogrozile.
- Konfiguracija aplikacije in strežnika. Nastavitve šifriranja/kriptografije, konfiguracije spletnega strežnika in tako naprej so primeri možnih napak.
- Preverjanje obravnave vnosa in napak Slaba obdelava vhoda in izhoda vodi do injekcije SQL, skriptov na več mestih (XSS) in drugih tipičnih težav z vbrizgavanjem.
- Preverjanje pristnosti in vzdrževanje sej. Ranljivosti, ki lahko povzročijo lažno predstavljanje uporabnika. Upoštevati je treba tudi moč in zaščito poverilnic.
- Pooblastilo. Zmožnost aplikacije za zaščito pred navpičnim in horizontalnim stopnjevanjem privilegijev se preizkuša.
- Logika v poslu. Večina programov, ki zagotavljajo poslovno funkcionalnost, se zanaša na te.
- Logika na strani stranke. Ta vrsta funkcij je vse pogostejša pri sodobnih spletnih straneh, ki vsebujejo veliko JavaScript, pa tudi pri spletnih straneh, ki uporabljajo druge vrste tehnologij na strani odjemalca (npr. programčki Silverlight, Flash, Java).
Da bi se podrobneje seznanili s kurikulumom certificiranja, lahko razširite in analizirate spodnjo tabelo.
Kurikulum za certificiranje penetracijskega testiranja spletnih aplikacij EITC/IS/WAPT se sklicuje na didaktična gradiva z odprtim dostopom v video obliki. Učni proces je razdeljen na strukturo po korakih (programi -> lekcije -> teme), ki zajema ustrezne dele učnega načrta. Zagotovljeno je tudi neomejeno svetovanje s strokovnjaki za področje.
Za podrobnosti o postopku certificiranja preverite Kako deluje.
Prenesite celotno pripravljalno gradivo za samoučenje brez povezave za program EITC/IS/WAPT Penetration Testing v spletni datoteki PDF
Pripravljalna gradiva EITC/IS/WAPT – standardna različica
Pripravljalna gradiva EITC/IS/WAPT – razširjena različica z vprašanji za pregled