EITC/IS/WAPT Web Applications Penetration Testing är det europeiska IT-certifieringsprogrammet för teoretiska och praktiska aspekter av penetrationstestning av webbapplikationer (white hacking), inklusive olika tekniker för webbsidors spidering, scanning och attacktekniker, inklusive specialiserade penetrationstestverktyg och sviter .
Läroplanen för EITC/IS/WAPT Web Applications Penetration Testing täcker introduktion till Burp Suite, web spridering och DVWA, brute force-testning med Burp Suite, webbapplikationsbrandvägg (WAF) detektering med WAFW00F, målomfång och spidering, upptäcka dolda filer med ZAP, WordPress sårbarhetsskanning och uppräkning av användarnamn, belastningsbalanseringsskanning, cross-site scripting, XSS – reflekterad, lagrad och DOM, proxyattacker, konfigurering av proxyn i ZAP, filer och katalogattacker, fil- och katalogupptäckt med DirBuster, webbattacker , OWASP Juice Shop, CSRF – Cross Site Request Forgery, cookie-insamling och omvänd konstruktion, HTTP-attribut – cookie-stealing, SQL-injektion, DotDotPwn – katalogtraversal fuzzing, iframe-injection och HTML-injection, Heartbleed exploit – discovery and exploatering, PHP-kodinjection, bWAPP – HTML-injektion, reflekterad POST, OS-kommandeinjektion med Commix, serversidan inkluderar SSI-injektion, pentestning i Docker, OverTheWire Natas, LFI och kommandoinjektion, Google-hackning för penetrering, Google Dorks för penetrationstestning, Apache2 ModSecurity, samt Nginx ModSecurity, inom följande struktur, som omfattar omfattande videodidaktiskt innehåll som referens för denna EITC-certifiering.
Webbapplikationssäkerhet (ofta kallad Web AppSec) är konceptet att designa webbplatser för att fungera normalt även när de attackeras. Tanken är att integrera en uppsättning säkerhetsåtgärder i en webbapplikation för att skydda dess tillgångar från fientliga agenter. Webbapplikationer, som all programvara, är benägna att ha brister. Några av dessa brister är faktiska sårbarheter som kan utnyttjas, vilket utgör en risk för företag. Sådana brister skyddas mot via webbapplikationssäkerhet. Det innebär att man använder säkra utvecklingsmetoder och sätter in säkerhetskontroller under hela mjukvaruutvecklingens livscykel (SDLC), för att säkerställa att designfel och implementeringsproblem åtgärdas. Online penetrationstestning, som utförs av experter som syftar till att avslöja och utnyttja sårbarheter i webbapplikationer med hjälp av en så kallad white hacking-metod, är en nödvändig praxis för att möjliggöra lämpligt försvar.
Ett webbpenetrationstest, även känt som ett webbpenetest, simulerar ett cyberangrepp på en webbapplikation för att hitta exploaterbara brister. Penetrationstestning används ofta för att komplettera en webbapplikationsbrandvägg i samband med webbapplikationssäkerhet (WAF). Penntestning innebär i allmänhet ett försök att penetrera ett valfritt antal applikationssystem (t.ex. API:er, frontend/backend-servrar) för att hitta sårbarheter, såsom osaniserade indata som är sårbara för kodinjektionsattacker.
Resultaten av onlinepenetrationstestet kan användas för att konfigurera WAF-säkerhetspolicyer och åtgärda upptäckta sårbarheter.
Penetrationstestning har fem steg.
Proceduren för penntestning är uppdelad i fem steg.
- Planering och scouting
Att definiera omfattningen och målen för ett test, inklusive de system som ska hanteras och de testmetoder som ska användas, är det första steget.
För att få en bättre förståelse för hur ett mål fungerar och dess potentiella svagheter, samla in intelligens (t.ex. nätverks- och domännamn, e-postserver). - Scanning
Nästa steg är att ta reda på hur målapplikationen kommer att reagera på olika typer av intrångsförsök. Detta uppnås vanligtvis genom att använda följande metoder:
Statisk analys – Undersöker en applikations kod för att förutsäga hur den kommer att bete sig när den körs. I ett enda pass kan dessa verktyg skanna hela koden.
Dynamisk analys är processen att inspektera en applikations kod medan den är i drift. Denna metod för skanning är mer praktisk eftersom den ger en realtidsvy av en applikations prestanda. - Få tillgång
För att hitta ett måls svagheter använder det här steget webbapplikationsangrepp som cross-site scripting, SQL-injektion och bakdörrar. För att förstå skadan som dessa sårbarheter kan orsaka försöker testare utnyttja dem genom att eskalera privilegier, stjäla data, avlyssna trafik och så vidare. - Behåller åtkomst
Syftet med detta steg är att bedöma om sårbarheten kan utnyttjas för att etablera en långsiktig närvaro i det komprometterade systemet, vilket gör att en dålig aktör kan få djupgående tillgång. Målet är att efterlikna avancerade ihållande hot, som kan stanna i ett system i månader för att stjäla ett företags mest känsliga information. - Analys
Penetrationstestresultaten läggs sedan in i en rapport som innehåller information som:
Sårbarheter som utnyttjades i detalj
Uppgifter som inhämtades som var känsliga
Den tid som penntestaren kunde förbli obemärkt i systemet.
Säkerhetsexperter använder dessa data för att hjälpa till att konfigurera ett företags WAF-inställningar och andra applikationssäkerhetslösningar för att korrigera sårbarheter och förhindra ytterligare attacker.
Metoder för penetrationsprovning
- Extern penetrationstestning fokuserar på ett företags tillgångar som är synliga på internet, såsom själva webbapplikationen, företagets webbplats, samt e-post- och domännamnsservrar (DNS). Målet är att få tillgång till och utvinna användbar information.
- Intern testning innebär att en testare har tillgång till en applikation bakom ett företags brandvägg som simulerar en fientlig insiderattack. Detta är inte nödvändigt en oseriös anställd simulering. En anställd vars legitimation erhållits till följd av ett nätfiskeförsök är en vanlig utgångspunkt.
- Blindtestning är när en testare helt enkelt får namnet på företaget som testas. Detta gör att säkerhetsexperter kan se hur ett verkligt applikationsangrepp kan utspela sig i realtid.
- Dubbelblindtestning: I ett dubbelblindtest är säkerhetspersonal omedvetna om den simulerade attacken i förväg. De kommer inte att hinna bygga upp sina befästningar innan ett intrångsförsök, precis som i den verkliga världen.
- Riktad testning – i detta scenario samarbetar testaren och säkerhetspersonalen och håller koll på varandras rörelser. Detta är en utmärkt träningsövning som ger ett säkerhetsteam feedback i realtid från en hackers perspektiv.
Webbapplikationsbrandväggar och penetrationstestning
Penetrationstestning och WAF är två separata men kompletterande säkerhetstekniker. Testaren kommer sannolikt att utnyttja WAF-data, såsom loggar, för att hitta och utnyttja en applikations svaga områden i många typer av penntester (med undantag för blind- och dubbelblinda tester).
I sin tur kan penntestningsdata hjälpa WAF-administratörer. Efter att ett test har slutförts kan WAF-konfigurationer modifieras för att skydda mot de brister som upptäckts under testet.
Slutligen uppfyller penntestning vissa av säkerhetsrevisionsmetodernas efterlevnadskrav, såsom PCI DSS och SOC 2. Vissa krav, såsom PCI-DSS 6.6, kan endast uppfyllas om en certifierad WAF används. Men på grund av de ovan nämnda fördelarna och möjligheten att ändra WAF-inställningar, gör detta inte penntestning mindre användbar.
Vad är betydelsen av webbsäkerhetstestning?
Målet med webbsäkerhetstestning är att identifiera säkerhetsbrister i webbapplikationer och deras installation. Applikationsskiktet är det primära målet (dvs det som körs på HTTP-protokollet). Att skicka olika former av input till en webbapplikation för att skapa problem och få systemet att reagera på oväntade sätt är ett vanligt sätt att testa dess säkerhet. Dessa "negativa tester" ser för att se om systemet gör något som det inte var avsett att åstadkomma.
Det är också viktigt att inse att webbsäkerhetstestning innebär mer än att bara verifiera applikationens säkerhetsfunktioner (som autentisering och auktorisering). Det är också viktigt att säkerställa att andra funktioner distribueras på ett säkert sätt (t.ex. affärslogik och användning av korrekt indatavalidering och utdatakodning). Syftet är att säkerställa att webbapplikationens funktioner är säkra.
Vilka är de många typerna av säkerhetsbedömningar?
- Testa för Dynamic Application Security (DAST). Det här automatiserade säkerhetstestet för applikationer är bäst lämpat för lågriskappar som vänder sig mot internt och som måste uppfylla lagstadgade säkerhetskrav. Att kombinera DAST med några manuella säkerhetstester online för vanliga sårbarheter är den bästa strategin för appar med medelhög risk och viktiga applikationer som genomgår mindre förändringar.
- Säkerhetskontroll för statiska applikationer (SAST). Denna applikationssäkerhetsstrategi inkluderar både automatiserade och manuella testmetoder. Den är idealisk för att upptäcka buggar utan att behöva köra appar i en levande miljö. Det tillåter också ingenjörer att skanna källkoden för att upptäcka och åtgärda säkerhetsbrister i programvaran på ett systematiskt sätt.
- Penetrationsundersökning. Detta manuella applikationssäkerhetstest är idealiskt för viktiga applikationer, särskilt de som genomgår betydande förändringar. För att hitta avancerade attackscenarier använder utvärderingen affärslogik och motståndsbaserad testning.
- Application Self-Protection in the Runtime (RASP). Denna växande applikationssäkerhetsmetod innehåller en mängd olika tekniker för att instrumentera en applikation så att hot kan övervakas och, förhoppningsvis, förhindras i realtid när de uppstår.
Vilken roll spelar applikationssäkerhetstestning för att minska företagets risk?
De allra flesta attacker mot webbapplikationer inkluderar:
- SQL Injection
- XSS (Cross Site Scripting)
- Fjärrkommandoexekvering
- Traversal attack
- Begränsad åtkomst till innehåll
- Intrång i användarkonton
- Installation av skadlig kod
- Förlorade försäljningsintäkter
- Kundernas förtroende urholkas
- Varumärkes rykte skadar
- Och många andra attacker
I dagens internetmiljö kan en webbapplikation skadas av en mängd olika utmaningar. Grafiken ovan visar några av de vanligaste attackerna som utförs av angripare, som var och en kan orsaka betydande skada på en enskild applikation eller ett helt företag. Att känna till de många angreppen som gör en applikation sårbar, såväl som de möjliga resultaten av en attack, gör att företaget kan lösa sårbarheter i förväg och effektivt testa för dem.
Begränsande kontroller kan upprättas under de tidiga faserna av SDLC för att förhindra problem genom att identifiera grundorsaken till sårbarheten. Under ett webbapplikationssäkerhetstest kan kunskap om hur dessa hot fungerar också användas för att rikta in sig på kända platser av intresse.
Att känna igen effekten av en attack är också viktigt för att hantera företagets risker, eftersom effekterna av en framgångsrik attack kan användas för att avgöra hur allvarlig sårbarheten är. Om sårbarheter upptäcks under ett säkerhetstest, kan företaget prioritera korrigerande åtgärder mer effektivt genom att fastställa deras svårighetsgrad. För att minska risken för företaget, börja med kritiska svårighetsproblem och arbeta dig ner till mindre påverkan.
Innan du identifierar ett problem kommer en bedömning av den möjliga effekten av varje program i företagets applikationsbibliotek att hjälpa dig att prioritera applikationssäkerhetstestning. Wenb-säkerhetstestning kan schemaläggas för att rikta in företagets kritiska applikationer först, med mer riktade tester för att minska risken mot verksamheten. Med en etablerad lista över högprofilerade applikationer kan wenb-säkerhetstestning schemaläggas för att rikta in företagets kritiska applikationer först, med mer riktade tester för att minska risken mot verksamheten.
Vilka funktioner bör undersökas under ett webbapplikationssäkerhetstest?
Tänk på följande icke-uttömmande lista över funktioner under säkerhetstestning av webbapplikationer. En ineffektiv implementering av var och en kan resultera i svagheter som utsätter företaget för fara.
- Konfiguration av applikationen och servern. Kryptering/kryptografiska inställningar, webbserverkonfigurationer och så vidare är alla exempel på potentiella brister.
- Validering av indata och felhantering Dålig in- och utdatabehandling leder till SQL-injektion, cross-site scripting (XSS) och andra typiska injektionsproblem.
- Autentisering och underhåll av sessioner. Sårbarheter som kan leda till att användaren efterliknar sig. Behörighetsstyrka och skydd bör också beaktas.
- Tillstånd. Applikationens kapacitet att skydda mot vertikala och horisontella privilegieskaleringar testas.
- Logik i affärer. De flesta program som tillhandahåller affärsfunktioner är beroende av dessa.
- Logik på klientens sida. Den här typen av funktion blir allt vanligare med moderna, JavaScript-tunga webbsidor, såväl som webbsidor som använder andra typer av klientsidesteknologier (t.ex. Silverlight, Flash, Java-applets).
För att bekanta dig i detalj med certifieringsläroplanen kan du utöka och analysera tabellen nedan.
EITC/IS/WAPT Web Applications Penetration Testing Certification Curriculum refererar till didaktiskt material med öppen tillgång i en videoform. Lärprocessen är uppdelad i en steg-för-steg-struktur (program -> lektioner -> ämnen) som täcker relevanta läroplansdelar. Obegränsad rådgivning med domänexperter tillhandahålls också.
För detaljer om certifieringsförfarandet kontrollera Hur det fungerar.
Ladda ner det fullständiga offline-självlärande förberedande materialet för EITC/IS/WAPT Web Applications Penetration Testing-programmet i en PDF-fil
EITC/IS/WAPT förberedande material – standardversion
EITC/IS/WAPT förberedande material – utökad version med granskningsfrågor