Penetrationstestning
Vad är Pentesting?
Pentesting, även känd som penetrationstestning, är en säkerhetsbedömning, en analys och progression av simulerade attacker på en applikation (webb, mobil eller API) eller nätverk för att kontrollera dess säkerhetsställning. Målet är att penetrera applikationen eller nätverkets säkerhetsförsvar genom att leta efter sårbarheter. Dessa är vanligtvis svagheter eller brister som en angripare kan utnyttja för att påverka konfidentialitet, integritet eller tillgänglighet. Detta mål är detsamma oavsett om du utför applikationspentesting eller nätverkspentesting. Resultatet av ett pentest är en lista över sårbarheter, riskerna de utgör för applikationen eller nätverket och en avslutande rapport med en sammanfattning av testet tillsammans med information om dess metodik och rekommendationer för åtgärdande. Sårbarheterna som hittas under ett penetrationstest kan användas för att finjustera dina säkerhetspolicyer, korrigera dina applikationer eller nätverk, identifiera vanliga svagheter i applikationer och i allmänhet stärka hela din säkerhetsställning.
Vad är manuell pentestning?
Manuell penetrationstestning är ett tillvägagångssätt för säkerhetstestning som lägger mänsklig expertis ovanpå professionell programvara och verktyg för penetrationstestning, såsom automatiserad binär statisk och automatiserad dynamisk analys. Pentesting programvara är bra på att upptäcka problem med vanliga sårbarhetsklasser men kan inte upptäcka vissa designfel.
Ett manuellt pentest utfört av en skicklig pentester krävs för att ge fullständig täckning inklusive design, affärslogik och risker för sammansatta fel som endast kan upptäckas genom manuella (mänskliga) tester.
Vårt tillvägagångssätt
Fas 1. Förberedelse
Det första steget i Pentesting as a Service-processen är att förbereda alla parter som är involverade i uppdraget. På kundsidan handlar det om att bestämma och definiera omfattningen av testet och skapa konton på penetrationstestplattformen. SecOps-teamet tilldelar en Core Lead och domänexperter med kompetens som matchar kundens teknikstack. En Slack-kanal skapas också för att förenkla on-demand-kommunikation mellan kunden och Pentest-teamet.
Fas 2. Kick Off
Det andra steget är att kicka igång pentest. Detta innebär vanligtvis ett 30-minuters telefonsamtal med kund- och Pentest-teamen. Huvudsyftet med samtalet är att erbjuda en personlig introduktion, anpassa sig efter tidslinjen och slutföra testomfattningen.
Fas 3. Testning
Det tredje steget är var pentestingen kommer att äga rum. Steg 1 och 2 är nödvändiga för att fastställa en tydlig omfattning, identifiera målmiljön och ställa in referenser för testet. Nu är det dags för experterna att analysera målet för sårbarheter och säkerhetsbrister som kan utnyttjas om de inte mildras ordentligt. När Pentest-teamet genomför tester säkerställer Core Lead täckningsdjupet och kommunicerar med kunden vid behov via plattformen och Slack-kanalen. Det är också här den verkliga kreativa kraften hos Core Domain Experts kommer in i bilden.
Fas 4. Rapportering
Det fjärde steget är rapporteringsfasen, som är en interaktiv och pågående process. Individuella fynd publiceras i plattformen när de upptäcks, och i slutet av ett test granskar Core Lead alla fynd och producerar en slutlig sammanfattande rapport. När rapporten är klar skickas den till kunden.
Rapporten är inte statisk; det är ett levande dokument som uppdateras när ändringar görs (se Omtestning i fas 5).
Fas 5. Omtestning
Det är viktigt att identifiera sårbarheter i dina applikationer, men det viktigaste är att åtgärda de problem som hittas för att förbättra säkerheten och kvaliteten på koden. När kunden väl är medveten om säkerhetsproblemen som identifierats under testet, åtgärdas varje problem under de närmaste veckorna och månaderna. När kunden markerar ett fynd som "Redo for Re-test" på plattformen, verifierar Core Lead korrigeringen och den slutliga rapporten uppdateras.
Fas 6. Feedback
När testningen är klar, rapporten har skickats till kunden och åtgärden pågår, kontaktar ett kundframgångsteam kunden för feedback. Kunder ger initialt feedback genom en undersökning med fem frågor som gör att de kan betygsätta den övergripande processen, resultaten och hela rapporten. Under ett schemalagt återkopplingssamtal dyker kunderna djupare in i sina enkätsvar efter behov och samordnar sig med Cobalt Customer Success Team om åtgärder och förväntningar framåt. Denna feedback hjälper Cobalt-teamet att fortsätta att förbättra processen för kommande tester och forma plattformens produktfärdplan framåt.
Pentesting as a Service
Utan att tillämpa ett livscykelsynsätt på ett Pentest-program är en organisation dömd att behandla säkerhet som ett punkt-i-tid-projekt snarare än en kontinuerlig funktion. Till sin natur har ett projekt ett start- och slutdatum. När projektet är klart går alla vidare till nästa sak. Det är viktigt att behandla ett Pentest-program som en pågående process. Steg 6, återkopplingsfasen, bör alltid leda till förberedelserna för nästa pentest oavsett om det sker nästa vecka, månad, kvartal eller år. Brandvakt tillsammans med Cobalt kommer att se till att rätt förberedelser görs för iterationen av cykeln.
Översikt
Penetrationstestning, även känd som pentesting, säkerhetspentesting och säkerhetstestning, är en form av etisk hacking. Den beskriver den avsiktliga lanseringen av simulerade cyberattacker av penetreringstestare med "vit hatt" som använder strategier och verktyg utformade för att komma åt eller utnyttja datorsystem, nätverk, webbplatser och applikationer. Även om huvudsyftet med penntestning är att identifiera exploaterbara problem så att effektiva säkerhetskontroller kan implementeras, kan säkerhetspersonal också använda tekniker för penetrationstestning, tillsammans med specialiserade testverktyg, för att testa robustheten i en organisations säkerhetspolicy, dess regelefterlevnad, dess anställdas säkerhetsmedvetenhet, och organisationens förmåga att identifiera och reagera på säkerhetsproblem och incidenter såsom obehörig åtkomst, när de inträffar.
Som en simulerad cyberattack hjälper etiska hackningstekniker säkerhetspersonal att utvärdera effektiviteten av informationssäkerhetsåtgärder inom sina organisationer. De djupaste försöken att genomborra bepansringen av en organisations cyberförsvar, leta efter exploaterbara sårbarheter i nätverk, webbappar och användarsäkerhet. Målet är att hitta svagheter i systemen innan angripare gör det.
När behöver du Pentests?
Oavsett om du köper eller köper ett annat företag kommer du att upptäcka att säkerhetsbedömningar har blivit en integrerad del av due diligence-processen. 100% av chefer och rådgivare i en 2019 (ISC)2-undersökning sa att säkerhetsrevisioner har blivit standardpraxis i M&A. Pentests är en vanlig komponent i dessa granskningar, både som en punkt-i-tid ögonblicksbild och som en del av ett kontinuerligt testprogram.
Om din revisor inte ber om ett pentest, är chansen stor att dina kunder gör det. Digitala tjänster har skapat ett komplext nätverk där ett framgångsrikt intrång kan påverka flera företag som är anslutna till målet, vilket framgår av FireEye- och SolarWinds-incidenterna i slutet av 2020. Som ett resultat blir företag alltmer oroade över sina leverantörers engagemang för säkerhet och innan de undertecknar, begär de dokument som en SOC 2-rapport eller en pentest-rapport som utfärdats under de senaste 6 månaderna.
Uppenbarligen är trycket på för cybersäkerhet. För att minska riskerna och mogna sina program diversifierar teamen alltmer sina tillvägagångssätt. Ett exempel är kombinationen av automatiserade säkerhetsverktyg och manuella pentest. När de är korrekt konfigurerade kan skannrar fånga signaturer för skadlig programvara, kodningsfel och misstänkta beteendemönster. Pentests kan fungera som ett extra lager av försvar, validera dessa verktygs noggrannhet och leta efter mer komplexa brister som kräver kreativt tänkande: affärslogikbrister, auktorisationsinkonsekvenser, kedjade bedrifter och rasförhållanden.
Hur det fungerar
Brandvakt erbjuder Pentesting-as-a-Service tillsammans med Cobalt. Vårt tillvägagångssätt är ett agilt arbetssätt med kort initieringstid, vanligtvis 24-48 timmar. När omfattningen har definierats, sker penetrationstestet under en uppsättning av två veckor. Till skillnad från traditionella penetrationstester behöver du inte vänta veckor på rapporten utan kan hellre följa med i en dashboard när penetrationstestet sker och när sårbarheter avslöjas. Tillsammans med upptäckterna ges rekommendationer om hur man kan åtgärda problemen.
Vårt penetrationstestning är ett agilt tillvägagångssätt som följer följande steg Planera -> Testa -> Åtgärda -> Rapportera -> Analysera -> Upptäck.
Vad kan vi testa?
Web Application Pentest
Internet är en viktig del av många dagliga uppgifter. Miljontals människor använder webbplatser och applikationer för att handla, handla och surfa säkert. Eftersom webbapplikationer har blivit allt populärare hotas de konstant av hackare, virus och skadliga tredje parter.
Eftersom många webbapplikationer lagrar eller skickar ut känslig data måste apparna alltid vara säkra, särskilt de som används av allmänheten.
Genomträngande av webbapplikationer fungerar som en förebyggande kontrollåtgärd, vilket gör att du kan analysera alla aspekter av din webbapplikations säkerhet.
Experter följer en webbapplikation som testar bästa praxis och med målen:
- Testa effektiviteten hos befintliga säkerhetspolicyer
- Identifiera okända sårbarheter
- Bestäm de mest sårbara områdena för en attack
- Testa alla offentligt exponerade programkomponenter (routrar, brandväggar och DNS)
- Hitta eventuella kryphål som kan utsättas för datastöld
Cloud Config Review
Den primära och grundläggande skillnaden i molnpenetrationstestning är att din organisation inte äger den underliggande hårdvaran som dina system/applikationer/tjänster körs på. Så du måste se till att du har behörighet innan du testar din molninfrastruktur eller låter en tredje part testa den. I vissa fall är detta väldigt enkelt, eftersom många värdleverantörer inte längre kräver tillstånd för att utföra penetrationstestning på nätverksnivå av dina publika värdar (t.ex. Azure, Digital Ocean, Google), så länge som testet inte inkluderar alla aspekter av denial-of-service (DoS).
Code Assisted Pentest
Pentest utförs vanligtvis ur ett "svart låda"- eller "nollkunskapsperspektiv"; vilket innebär att säkerhetsinspektörerna inte har begränsade förkunskaper om implementeringsdetaljerna för målapplikationen inom räckvidden. Med kodassisterad, grå-box-penetrationstestning har våra penetester tillgång till källkoden för applikationen, vilket effektivt gör det möjligt för teamet att använda koden tillsammans med testaktiviteter som ett sätt att få en grundlig förståelse av målapplikationen och förbättra noggrannheten av de upptäckta fynden. Vår kodassisterade pentest är dock inte en kodgranskning eftersom den endast används för att analysera attackvektorer.
Tveka inte att kontakta Us-katalogen så att vi kan diskutera penetrationstestning som en tjänst mer på djupet och hur Cobalt-plattformen fungerar.
Typer av mjukvarutestning
Svart låda: Ingen tidigare åtkomst ges under ett externt nätverksprov såvida det inte uttryckligen anges i omfattningen.
Vit låda: Specifik åtkomst ges under ett externt nätverkstest.
Grå låda: Ingen åtkomst ges för att starta, men viss åtkomst ges efter att vissa tester utförts.
Vidare kan dessa detaljer inkluderas i omfattningen av den önskade pentesten med testning av grå låda och vit låda:
- Nätverksdiagram
- Infrastrukturdiagram
- Konton (även tillfälliga konton för pentests)
- Användar information
All information som ges om systemet som testas är användbar för pentestare. Ju fler möjligheter och förmåga det finns att ta reda på vilken programvara som någons webbserver kör, desto effektivare är det att hitta exploateringar specifikt relaterade till den versionen av programvaran snarare än att prova en mängd olika exploateringar för att se vad som fastnar.
Vi kan möta kunder där de vill att vi ska vara. Men om kunder letar efter maximal effekt och/eller ett white-box-test, rekommenderar vi det här när vi förbereder testets omfattning:
- Bestäm vilka tillgångar som ska testas, till exempel vilka delar av det externa nätverket
- Bestäm IP-adresserna som följer med dessa tillgångar
- Presentera dessa IP-adresser som omfattning
Det är viktigt att säkerställa att de angivna IP-adresserna faktiskt tillhör företaget, och även varna eventuella tredjepartsleverantörer relaterade till dessa tillgångar. För att öka värdet av externa bedömningar kan övervakning av offentliga IP-adresser från vilka attacker ibland utförs vara till hjälp för att bättre identifiera och svara på framtida attacker.
När det kommer till den typiska listan över saker vi normalt kontrollerar under ett externt nätverkstest, följer de ramverk och bästa praxis som t.ex. OWASP, ASVS, eller OSSTMM. Vanligtvis utförs portskanningsaktiviteter, följt av sökning efter webbservrar. Att fastställa vilken programvara och version som används för varje tjänst är också till hjälp för att identifiera felkonfigurationer eller sårbarheter.
API Pentest
Avsaknaden av ett tydligt protokoll gör applikationssäkerhetsbedömningar av mikroservice-API:er något osäkra, eftersom de typiska webbsäkerhetsbedömningsverktygen, föreskrivna säkerhetsbedömningsmetoder och allmän erfarenhet av penetrationstestar kanske inte inkluderar täckning eller interaktionskunnande för en viss mikrotjänst API-erbjudande eller operativt beteende.
API-penetrationstestning involverar alla processer för att leta efter sårbarheter och bygga starka slutpunkter i dina API:er. Ett av de vanligaste hoten mot webbapplikationer är API-missbruk, vilket kan orsaka hinder för en smidig drift av alla digitala industrier.
API-penetrationstestning påminner mycket om penetrationstestning av webbapplikationer och därför är API-penetreringsmetoden baserad på samma grund - OWASP Top 10, OWASP ASVS och OWASP Testing Guide. Cobalt testar webbaserade API:er, REST API:er och mobila API:er. Våra pentester analyserar mål-API:et för att avgöra vilken autentiseringstyp som används, studera API-strukturer, förstå begäransmetoder, svar, roller och utnyttja buggar på ett riktigt produktions-API eller ett API i en iscensättningsmiljö.
Externt nätverk Pentest
Det är viktigt att känna till din organisations sårbarheter och hur angripare kan utnyttja dem. Extern nätverkstestning är ett sätt att göra det, genom att aktivt utvärdera säkerheten för en organisations perimeterinfrastruktur som är direkt tillgänglig från internet. Detta görs för att lokalisera potentiella möjligheter för angripare att få känslig information och äventyra affärskritisk infrastruktur.
Externa nätverk inkluderar servern, VPN-inloggningen, en webbmailportal och alla portaler som kan nås från en webbläsare. Under en extern nätverkstestning använder våra pentestare verkliga attackvektorer och verktyg för att försöka äventyra externa system och få tillgång till känslig information eller system.
Mobilapplikation Pentest
Våra pentestare går längre än att bara titta på vanliga API- och webbsårbarheter. Våra testare undersöker risken med en mobilapplikation genom att utnyttja OWASP Mobile Top 10 och andra metoder för att bedöma säkerheten.
Säkerhet har alltid varit ett stort problem för företag, och denna oro är ännu större när det kommer till mobila applikationer. Idag har nästan alla ledande varumärken eller produkter en mobilapp för att lättare kunna nå sina kunder.
Fler användare än någonsin förlitar sig på mobila applikationer för en majoritet av sina digitala uppgifter framför traditionella stationära applikationer. Dessa applikationer har tillgång till stora mängder användardata, varav mycket är känslig data och måste skyddas från obehörig åtkomst.
Ur en penntestares perspektiv finns det ett växande behov av duktiga mobila pentestare. Mobilapplikationer är en viktig attackyta att täcka, och även om alla populära mobila plattformar (iOS och Android) tillhandahåller sin egen uppsättning säkerhetskontroller som är utformade för att hjälpa utvecklarna att bygga säkra applikationer överlåts detta ofta till utvecklaren att välja mellan en mängd olika säkerhetsfunktioner alternativ. Om de inte implementeras korrekt, eller lämnas felkonfigurerade, introducerar de säkerhetsluckor i en applikation.