Vad är säkerhetstestning? Typer med exempel

Innehållsförteckning:

Anonim

Vad är säkerhetstestning?

SÄKERHETSTESTNING är en typ av programvarutestning som avslöjar sårbarheter, hot, risker i ett program och förhindrar skadliga attacker från inkräktare. Syftet med säkerhetstester är att identifiera alla möjliga kryphål och svagheter i mjukvarusystemet som kan leda till förlust av information, intäkter, anseende från organisationens anställda eller utanför.

Varför säkerhetstestning är viktigt?

Huvudmålet med säkerhetstestning är att identifiera hoten i systemet och mäta dess potentiella sårbarheter så att hoten kan stöta på och systemet inte slutar fungera eller inte kan utnyttjas. Det hjälper också till att upptäcka alla möjliga säkerhetsrisker i systemet och hjälper utvecklare att åtgärda problemen genom kodning.

I den här handledningen lär du dig-

  • Vad är säkerhetstestning?
  • Typer av säkerhetstestning
  • Hur man gör säkerhetstestning
  • Exempel på testscenarier för säkerhetstestning
  • Metoder / tillvägagångssätt / tekniker för säkerhetstestning
  • Roller för säkerhetstestning
  • Säkerhetstestverktyg
  • Myter och fakta om säkerhetstestning

Typer av säkerhetstester:

Det finns sju huvudtyper av säkerhetstester enligt Open Source Security Testing Methodology Manual. De förklaras enligt följande:

  • Sårbarhetsskanning : Detta görs genom automatiserad programvara för att skanna ett system mot kända sårbarhetssignaturer.
  • Säkerhetsskanning: Det handlar om att identifiera svagheter i nätverket och systemet och ger senare lösningar för att minska dessa risker. Denna skanning kan utföras för både manuell och automatisk skanning.
  • Penetrationstest : Denna typ av test simulerar en attack från en skadlig hackare. Denna testning innefattar analys av ett visst system för att kontrollera potentiella sårbarheter för ett externt hackningsförsök.
  • Riskbedömning: Denna testning innefattar analys av säkerhetsrisker som observerats i organisationen. Risker klassificeras som Låg, Medium och Hög. Denna testning rekommenderar kontroller och åtgärder för att minska risken.
  • Säkerhetsgranskning: Detta är en intern inspektion av applikationer och operativsystem för säkerhetsfel. En revision kan också göras via linje för radinspektion av kod
  • Etisk hacking: Det hackar ett organisationsprogramvarusystem. Till skillnad från skadliga hackare, som stjäl för sina egna vinster, är avsikten att avslöja säkerhetsfel i systemet.
  • Posture Assessment: Detta kombinerar säkerhetsscanning, etisk hacking och riskbedömningar för att visa en övergripande säkerhetsställning av en organisation.

Hur man gör säkerhetstestning

Det är alltid överens om att kostnaden kommer att vara högre om vi skjuter upp säkerhetstester efter programimplementeringsfasen eller efter distributionen. Så det är nödvändigt att involvera säkerhetstester i SDLC-livscykeln i de tidigare faserna.

Låt oss titta på motsvarande säkerhetsprocesser som ska antas för varje fas i SDLC

SDLC-faser Säkerhetsprocesser
Krav Säkerhetsanalys för krav och kontrollera missbruk / missbruk
Design Analys av säkerhetsrisker för design. Utveckling av testplan inklusive säkerhetstester
Kodning och enhetstestning Statisk och dynamisk testning och säkerhet White Box Testing
Integrationstestning Black Box Testing
Systemtestning Black Box Testing och sårbarhetsskanning
Genomförande Penetrationstestning, sårbarhetsskanning
Stöd Effektanalys av lappar

Testplanen bör innehålla

  • Säkerhetsrelaterade testfall eller scenarier
  • Testdata relaterade till säkerhetstestning
  • Testverktyg krävs för säkerhetstestning
  • Analys av olika testutgångar från olika säkerhetsverktyg

Exempel på testscenarier för säkerhetstestning:

Exempel på testscenarier för att ge dig en glimt av fall med säkerhetstest -

  • Ett lösenord ska vara i krypterat format
  • Program eller system bör inte tillåta ogiltiga användare
  • Kontrollera kakor och sessionstid för ansökan
  • För finansiella webbplatser bör webbläsarens bakåtknapp inte fungera.

Metoder / tillvägagångssätt / tekniker för säkerhetstestning

Vid säkerhetstester följs olika metoder och de är som följer:

  • Tiger Box : Denna hacking görs vanligtvis på en bärbar dator som har en samling OS och hackverktyg. Denna testning hjälper penetrationstestare och säkerhetstestare att göra sårbarhetsbedömning och attacker.
  • Black Box : Tester har tillstånd att testa allt om nätverkstopologin och tekniken.
  • Grå ruta : Delvis information ges till testaren om systemet, och det är en hybrid av vita och svarta lådmodeller.

Roller för säkerhetstestning

  • Hackare - Få åtkomst till datorsystem eller nätverk utan tillstånd
  • Crackers - Bryt dig in i systemen för att stjäla eller förstöra data
  • Ethical Hacker - Utför de flesta av de brytande aktiviteterna men med tillstånd från ägaren
  • Skriptkiddies eller paketapor - oerfarna hackare med färdigheter i programmeringsspråk

Säkerhetstestverktyg

1) inkräktare

Intruder är en sårbarhetsskanner av företagsklass som är lätt att använda. Den kör över 10 000 högkvalitativa säkerhetskontroller över din IT-infrastruktur, som inkluderar, men är inte begränsat till: konfigurationssvagheter, applikationssvagheter (som SQL-injektion och skriptöverföring på plats) och saknade korrigeringar. Intruder ger intelligent prioriterade resultat samt proaktiva genomsökningar för de senaste hoten och hjälper till att spara tid och skyddar företag i alla storlekar från hackare.

Funktioner:

  • AWS, Azure och Google Cloud-anslutningar
  • Perimeter-specifika resultat för att minska din externa attackyta
  • Högkvalitativ rapportering
  • Slack, Microsoft Teams, Jira, Zapier-integrationer
  • API-integration med din CI / CD-pipeline

2) Owasp

Open Web Application Security Project (OWASP) är en världsomspännande ideell organisation som fokuserar på att förbättra säkerheten för programvara. Projektet har flera verktyg för att testa olika programvarumiljöer och protokoll. Projektets flaggskeppsverktyg inkluderar

  1. Zed Attack Proxy (ZAP - ett integrerat penetrations testverktyg)
  2. OWASP beroendekontroll (den söker efter projektberoenden och kontrollerar mot kända sårbarheter)
  3. OWASP Web Testing Environment Project (samling av säkerhetsverktyg och dokumentation)

3) WireShark

Wireshark är ett nätverksanalysverktyg som tidigare kallades Ethereal. Det fångar paket i realtid och visar dem i läsbart format för människor. I grund och botten är det en nätverkspaketanalysator - som ger minutinformation om dina nätverksprotokoll, dekryptering, paketinformation etc. Det är en öppen källkod och kan användas på Linux, Windows, OS X, Solaris, NetBSD, FreeBSD och många andra system. Informationen som hämtas via det här verktyget kan ses via ett GUI eller TTY-läget TShark Utility.

4) W3af

w3af är ett ramverk för attack och granskning av webbapplikationer. Den har tre typer av plugins; upptäckt, granskning och attack som kommunicerar med varandra för eventuella sårbarheter på webbplatsen, till exempel ett upptäcktspluggin i w3af letar efter olika webbadresser för att testa för sårbarheter och vidarebefordra det till granskningsprogrammet som sedan använder dessa webbadresser för att söka efter sårbarheter.

Myter och fakta om säkerhetstestning:

Låt oss prata om ett intressant ämne om myter och fakta om säkerhetstester:

Myt nr 1 Vi behöver ingen säkerhetspolicy eftersom vi har ett litet företag

Fakta: Alla och alla företag behöver en säkerhetspolicy

Myt nr 2 Det finns ingen avkastning på investeringarna i säkerhetstester

Fakta: Säkerhetstestning kan peka på förbättringsområden som kan förbättra effektiviteten och minska stilleståndstiden, vilket möjliggör maximal genomströmning.

Myt nr 3 : Enda sättet att säkra är att koppla ur det.

Fakta: Det enda och bästa sättet att säkra en organisation är att hitta "Perfect Security". Perfekt säkerhet kan uppnås genom att utföra en hållningsbedömning och jämföra med affärsmässiga, juridiska och industriella motiveringar.

Myt nr 4 : Internet är inte säkert. Jag kommer att köpa programvara eller hårdvara för att skydda systemet och rädda verksamheten.

Fakta: Ett av de största problemen är att köpa mjukvara och hårdvara för säkerhet. Istället bör organisationen först förstå säkerheten och sedan tillämpa den.

Slutsats:

Säkerhetstestning är den viktigaste testningen för en applikation och kontrollerar om konfidentiella uppgifter förblir konfidentiella. I denna typ av test spelar testaren en roll som angriparen och spelar runt i systemet för att hitta säkerhetsrelaterade buggar. Säkerhetstestning är mycket viktigt i Software Engineering för att skydda data på alla sätt.