EITC/IS/WAPT Penetration Testing for webapplikasjoner er det europeiske IT-sertifiseringsprogrammet for teoretiske og praktiske aspekter ved penetrasjonstesting av nettapplikasjoner (hvit hacking), inkludert ulike teknikker for edderkopping, skanning og angrepsteknikker for nettsider, inkludert spesialiserte verktøy og suiter for penetrasjonstesting .
Læreplanen for EITC/IS/WAPT Web Applications Penetration Testing dekker introduksjon til Burp Suite, web spridering og DVWA, brute force testing med Burp Suite, nettapplikasjons brannmur (WAF) deteksjon med WAFW00F, målomfang og spidering, oppdage skjulte filer med ZAP, WordPress sårbarhetsskanning og brukernavnoppregning, lastbalanseringsskanning, skripting på tvers av nettsteder, XSS – reflektert, lagret og DOM, proxy-angrep, konfigurering av proxy i ZAP, filer og katalogangrep, fil- og katalogoppdagelse med DirBuster, praksis for nettangrep , OWASP Juice Shop, CSRF – Cross Site Request Forgery, innsamling av informasjonskapsler og omvendt utvikling, HTTP-attributter – informasjonskapselstyling, SQL-injeksjon, DotDotPwn – kataloggjennomgang, fuzzing i kataloger, iframe-injeksjon og HTML-injeksjon, Heartbleed-utnyttelse – oppdagelse og utnyttelse, PHP-kodeinjeksjon, bWAPP – HTML-injeksjon, reflektert POST, OS-kommandeinjeksjon med Commix, server-side inkluderer SSI-injeksjon, pentesting i Docker, OverTheWire Natas, LFI og kommandoinjeksjon, Google-hacking for penetrering, Google Dorks for penetrasjonstesting, Apache2 ModSecurity, samt Nginx ModSecurity, innenfor følgende struktur, som omfatter omfattende videodidaktisk innhold som referanse for denne EITC-sertifiseringen.
Nettapplikasjonssikkerhet (ofte referert til som Web AppSec) er konseptet med å designe nettsteder for å fungere normalt selv når de blir angrepet. Ideen er å integrere et sett med sikkerhetstiltak i en webapplikasjon for å beskytte eiendelene mot fiendtlige agenter. Nettapplikasjoner, som all programvare, er utsatt for feil. Noen av disse feilene er faktiske sårbarheter som kan utnyttes, og utgjør en risiko for virksomheter. Slike feil beskyttes mot via nettapplikasjonssikkerhet. Det innebærer bruk av sikre utviklingstilnærminger og innføring av sikkerhetskontroller gjennom hele programvareutviklingens livssyklus (SDLC), som sikrer at designfeil og implementeringsproblemer blir løst. Online penetrasjonstesting, som utføres av eksperter som tar sikte på å avdekke og utnytte sårbarheter i nettapplikasjoner ved hjelp av en såkalt white hacking-tilnærming, er en viktig praksis for å muliggjøre passende forsvar.
En nettpenetrasjonstest, også kjent som en nettpenntest, simulerer et nettangrep på en nettapplikasjon for å finne utnyttbare feil. Penetrasjonstesting brukes ofte for å supplere en nettapplikasjonsbrannmur i sammenheng med webapplikasjonssikkerhet (WAF). Penntesting innebærer generelt forsøk på å trenge inn i et hvilket som helst antall applikasjonssystemer (f.eks. APIer, frontend/backend-servere) for å finne sårbarheter, for eksempel usanerte innganger som er sårbare for kodeinjeksjonsangrep.
Funnene til den elektroniske penetrasjonstesten kan brukes til å konfigurere WAF-sikkerhetspolicyer og adressere oppdagede sårbarheter.
Penetrasjonstesting har fem trinn.
Prosedyren for pennetesting er delt inn i fem trinn.
- Planlegging og speiding
Å definere omfanget og målene for en test, inkludert systemene som skal adresseres og testmetodene som skal brukes, er det første trinnet.
For å få en bedre forståelse av hvordan et mål fungerer og dets potensielle svakheter, samle etterretninger (f.eks. nettverks- og domenenavn, e-postserver). - Skanning
Det neste trinnet er å finne ut hvordan målapplikasjonen vil reagere på forskjellige typer inntrengingsforsøk. Dette oppnås vanligvis ved å bruke følgende metoder:
Statisk analyse – Undersøker en applikasjons kode for å forutsi hvordan den vil oppføre seg når den kjøres. I ett enkelt pass kan disse verktøyene skanne hele koden.
Dynamisk analyse er prosessen med å inspisere en applikasjons kode mens den er i drift. Denne metoden for skanning er mer praktisk fordi den gir en sanntidsvisning av en applikasjons ytelse. - Få tilgang
For å finne svakhetene til et mål bruker dette trinnet nettapplikasjonsangrep som skripting på tvers av nettsteder, SQL-injeksjon og bakdører. For å forstå skaden som disse sårbarhetene kan påføre, prøver testere å utnytte dem ved å eskalere privilegier, stjele data, avskjære trafikk og så videre. - Beholder tilgang
Hensikten med denne fasen er å vurdere om sårbarheten kan utnyttes til å etablere en langsiktig tilstedeværelse i det kompromitterte systemet, slik at en dårlig aktør kan få dybdetilgang. Målet er å etterligne avanserte vedvarende trusler, som kan forbli i et system i flere måneder for å stjele en bedrifts mest sensitive informasjon. - Analyse
Penetrasjonstestresultatene legges deretter inn i en rapport som inneholder informasjon som:
Sårbarheter som ble utnyttet i detalj
Data som ble innhentet som var sensitive
Hvor lang tid pennetesteren var i stand til å forbli ubemerket i systemet.
Sikkerhetseksperter bruker disse dataene til å hjelpe med å konfigurere en bedrifts WAF-innstillinger og andre applikasjonssikkerhetsløsninger for å lappe sårbarheter og forhindre ytterligere angrep.
Metoder for penetrasjonstesting
- Ekstern penetrasjonstesting fokuserer på et firmas eiendeler som er synlige på internett, for eksempel selve webapplikasjonen, selskapets nettsted, samt e-post- og domenenavnservere (DNS). Målet er å få tilgang til og hente ut nyttig informasjon.
- Intern testing innebærer at en tester har tilgang til en applikasjon bak et selskaps brannmur som simulerer et fiendtlig innsideangrep. Dette er ikke nødvendig en falsk ansattsimulering. En ansatt som har fått legitimasjon som følge av et phishing-forsøk er et vanlig utgangspunkt.
- Blindtesting er når en tester ganske enkelt får navnet på selskapet som testes. Dette lar sikkerhetseksperter se hvordan et faktisk applikasjonsangrep kan utspille seg i sanntid.
- Dobbel-blind testing: I en dobbel-blind test er sikkerhetseksperter ikke klar over det simulerte angrepet på forhånd. De vil ikke ha tid til å bygge opp festningsverkene sine før et forsøk på innbrudd, akkurat som i den virkelige verden.
- Målrettet testing – i dette scenariet samarbeider testeren og sikkerhetspersonalet og holder oversikt over hverandres bevegelser. Dette er en utmerket treningsøvelse som gir et sikkerhetsteam tilbakemelding i sanntid fra en hackers perspektiv.
Brannmurer for nettapplikasjoner og penetrasjonstesting
Penetrasjonstesting og WAF-er er to separate, men komplementære sikkerhetsteknikker. Testeren vil sannsynligvis utnytte WAF-data, for eksempel logger, for å finne og utnytte en applikasjons svake områder i mange typer penntesting (med unntak av blinde og doble blindtester).
På sin side kan testdata fra penner hjelpe WAF-administratorer. Etter at en test er fullført, kan WAF-konfigurasjoner endres for å beskytte mot feilene som oppdages under testen.
Til slutt tilfredsstiller pennetesting visse av sikkerhetsrevisjonsmetodenes samsvarskrav, som PCI DSS og SOC 2. Visse krav, som PCI-DSS 6.6, kan bare oppfylles hvis en sertifisert WAF brukes. På grunn av de nevnte fordelene og potensialet for å endre WAF-innstillinger, gjør dette imidlertid ikke pennetesting mindre nyttig.
Hva er betydningen av testing av nettsikkerhet?
Målet med nettsikkerhetstesting er å identifisere sikkerhetsfeil i nettapplikasjoner og deres oppsett. Applikasjonslaget er det primære målet (dvs. det som kjører på HTTP-protokollen). Å sende ulike former for input til en nettapplikasjon for å indusere problemer og få systemet til å reagere på uventede måter er en vanlig tilnærming for å teste sikkerheten. Disse "negative testene" ser for å se om systemet gjør noe det ikke var ment å oppnå.
Det er også viktig å innse at testing av nettsikkerhet innebærer mer enn bare å verifisere applikasjonens sikkerhetsfunksjoner (som autentisering og autorisasjon). Det er også avgjørende å sikre at andre funksjoner distribueres trygt (f.eks. forretningslogikk og bruk av riktig inndatavalidering og utgangskoding). Hensikten er å sørge for at nettapplikasjonens funksjoner er trygge.
Hva er de mange typene sikkerhetsvurderinger?
- Test for Dynamic Application Security (DAST). Denne automatiserte applikasjonssikkerhetstesten er best egnet for lavrisiko-apper som vender mot internt som må oppfylle regulatoriske sikkerhetskrav. Å kombinere DAST med noen manuelle online sikkerhetstestinger for vanlige sårbarheter er den beste strategien for apper med middels risiko og viktige applikasjoner som gjennomgår mindre endringer.
- Sikkerhetssjekk for statiske applikasjoner (SAST). Denne applikasjonssikkerhetsstrategien inkluderer både automatiserte og manuelle testmetoder. Den er ideell for å oppdage feil uten å måtte kjøre apper i et levende miljø. Det lar også ingeniører skanne kildekoden for å oppdage og fikse sikkerhetsfeil i programvaren på en systematisk måte.
- Penetrasjonsundersøkelse. Denne manuelle applikasjonssikkerhetstesten er ideell for viktige applikasjoner, spesielt de som gjennomgår betydelige endringer. For å finne avanserte angrepsscenarier bruker evalueringen forretningslogikk og motstanderbasert testing.
- Application Self-Protection in the Runtime (RASP). Denne voksende applikasjonssikkerhetsmetoden inkluderer en rekke teknologiteknikker for å instrumentere en applikasjon slik at trusler kan overvåkes og forhåpentligvis forhindres i sanntid når de oppstår.
Hvilken rolle spiller applikasjonssikkerhetstesting for å redusere selskapets risiko?
De aller fleste angrep på nettapplikasjoner inkluderer:
- SQL Injection
- XSS (Cross Site Scripting)
- Ekstern kommandoutførelse
- Traversal angrep
- Begrenset innholdstilgang
- Kompromitterte brukerkontoer
- Installasjon av skadelig kode
- Tapte salgsinntekter
- Kundenes tillit svekker
- Skader merkevareomdømmet
- Og mange andre angrep
I dagens Internett-miljø kan en nettapplikasjon bli skadet av en rekke utfordringer. Grafikken ovenfor viser noen av de vanligste angrepene utført av angripere, som hver kan forårsake betydelig skade på en individuell applikasjon eller en hel virksomhet. Å kjenne til de mange angrepene som gjør en applikasjon sårbar, så vel som mulige resultater av et angrep, gjør at selskapet kan løse sårbarheter på forhånd og effektivt teste for dem.
Reduserende kontroller kan etableres gjennom de tidlige fasene av SDLC for å forhindre problemer ved å identifisere årsaken til sårbarheten. Under en sikkerhetstest for nettapplikasjoner kan kunnskap om hvordan disse truslene fungerer også brukes til å målrette mot kjente steder av interesse.
Å gjenkjenne virkningen av et angrep er også viktig for å håndtere selskapets risiko, ettersom virkningene av et vellykket angrep kan brukes til å bestemme alvorlighetsgraden av sårbarheten generelt. Hvis sårbarheter oppdages under en sikkerhetstest, kan bedriften prioritere utbedring mer effektivt ved å fastslå alvorlighetsgraden. For å redusere risikoen for selskapet, start med kritiske alvorlighetsproblemer og arbeid deg ned for å redusere innvirkningen.
Før du identifiserer et problem, vil vurdering av den mulige effekten av hvert program i selskapets applikasjonsbibliotek hjelpe deg med å prioritere applikasjonssikkerhetstesting. Wenb-sikkerhetstesting kan planlegges for å målrette bedriftens kritiske applikasjoner først, med mer målrettet testing for å redusere risikoen mot virksomheten. Med en etablert liste over høyprofilerte applikasjoner kan wenb-sikkerhetstesting planlegges for å målrette bedriftens kritiske applikasjoner først, med mer målrettet testing for å redusere risikoen mot virksomheten.
Hvilke funksjoner bør undersøkes under en sikkerhetstest for nettapplikasjoner?
Under sikkerhetstesting av nettapplikasjoner bør du vurdere følgende ikke-uttømmende liste over funksjoner. En ineffektiv implementering av hver av dem kan føre til svakheter og sette selskapet i fare.
- Konfigurasjon av applikasjonen og serveren. Kryptering/kryptografiske oppsett, webserverkonfigurasjoner og så videre er alle eksempler på potensielle feil.
- Validering av input- og feilhåndtering Dårlig inn- og utdatabehandling fører til SQL-injeksjon, cross-site scripting (XSS) og andre typiske injeksjonsproblemer.
- Autentisering og vedlikehold av økter. Sårbarheter som kan føre til etterligning av brukere. Legitimasjonsstyrke og beskyttelse bør også tas i betraktning.
- Autorisasjon. Applikasjonens kapasitet til å beskytte mot vertikale og horisontale rettighetseskaleringer blir testet.
- Logikk i virksomheten. De fleste programmer som tilbyr forretningsfunksjonalitet er avhengige av disse.
- Logikk i klientens ende. Denne typen funksjoner blir mer vanlig med moderne, JavaScript-tunge nettsider, så vel som nettsider som bruker andre typer klientsideteknologier (f.eks. Silverlight, Flash, Java-appleter).
For å gjøre deg mer kjent med sertifiseringspensumet kan du utvide og analysere tabellen nedenfor.
EITC/IS/WAPT Web Applications Penetration Testing Certification Curriculum refererer til didaktisk materiale med åpen tilgang i et videoskjema. Læringsprosessen er delt inn i en trinnvis struktur (programmer -> leksjoner -> emner) som dekker relevante læreplandeler. Ubegrenset rådgivning med domeneeksperter tilbys også.
Sjekk for detaljer om sertifiseringsprosedyren Hvordan det fungerer.
Last ned det komplette offline selvlærende forberedende materialet for EITC/IS/WAPT Web Applications Penetration Testing-programmet i en PDF-fil
EITC/IS/WAPT forberedende materialer – standardversjon
EITC/IS/WAPT forberedende materialer – utvidet versjon med gjennomgangsspørsmål