Vad är säkerhetstestning? Typer med exempel

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 resultera i förlust av information, intäkter, anseende hos de anställda eller utomstående i organisationen.

Varför är säkerhetstestning viktigt?

Huvudmålet med Säkerhetstestning är att identifiera hoten i systemet och mäta dess potentiella sårbarheter, så att hoten kan mötas 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 denna handledning lär du dig-

Typer av säkerhetstester:

Det finns sju huvudtyper av säkerhetstester enligt manual för öppen källkodstestning. 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 innebär att identifiera svagheter i nätverk och system 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 : Den här typen av tester simulerar en attack från en skadlig hackare. Denna test involverar analys av ett visst system för att kontrollera eventuella 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, medel 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äkerhetsbrister. En granskning kan också göras via rad -för -rad -inspektion av kod
  • Etiskt hackande: Det hackar ett organisationsprogramvarusystem. Till skillnad från skadliga hackare, som stjäl för sina egna vinster, är avsikten att avslöja säkerhetsbrister i systemet.
  • Utvärdering av hållning: Detta kombinerar säkerhetsskanning, etisk hackning och riskbedömningar för att visa en övergripande säkerhetsställning för en organisation.

Hur man gör säkerhetstestning

Det är alltid enighet om att kostnaden kommer att bli mer om vi skjuter upp säkerhetstestningen efter programimplementeringsfasen eller efter distributionen. Så det är nödvändigt att involvera säkerhetstestning 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 fall av missbruk/missbruk
Design Säkerhetsrisker analys för design. Utveckling av Testplan inklusive säkerhetstester
Kodning och enhetstestning Statisk och dynamisk testning och säkerhet White Box Testning
Integrationstestning Black Box -testning
Systemtestning Black Box -testning och sårbarhetsskanning
Genomförande Penetrationstest , Sårbarhetsskanning
Stöd Konsekvensanalys av Patches

Testplanen bör innehålla

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

Exempel testscenarier för säkerhetstestning:

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

  • 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

I säkerhetstester följs olika metoder, och de är följande:

  • Tiger Box : Denna hackning görs vanligtvis på en bärbar dator som har en samling operativsystem och hackverktyg. Denna testning hjälper penetrationstestare och säkerhetstestare att genomföra sårbarhetsbedömning och attacker.
  • Svart låda : Tester har behörighet att testa allt om nätverkstopologi och teknik.
  • Grå låda : Delvis information ges till testaren om systemet, och det är en hybrid av vita och svarta lådmodeller.

Säkerhetstestroller

  • Hackare - Få åtkomst till datorsystem eller nätverk utan tillstånd
  • Crackers - Bryt 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
  • Script Kiddies eller paket apor - oerfarna hackare med programmeringsspråkkunskaper

Säkerhetstestverktyg

1) Inkräktare

Inkräktare är en sårbarhetsskanner i företagsklass som är lätt att använda. Den kör över 10 000 högkvalitativa säkerhetskontroller i din IT-infrastruktur, som inkluderar, men är inte begränsade till: konfigurationssvagheter, applikationssvagheter (t.ex. SQL-injektion och skript över flera platser) och saknade patchar. Genom att tillhandahålla intelligent prioriterade resultat samt proaktiva genomsökningar efter de senaste hoten, hjälper Intruder till att spara tid och håller företag i alla storlekar säkra från hackare.

Funktioner:

  • AWS-, Azure- och Google Cloud -anslutare
  • Omkretssspecifika resultat för att minska din yttre 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 pennan testa olika mjukvarumiljöer och protokoll. Flaggskeppsverktyg för projektet inkluderar

  1. Zed Attack Proxy (ZAP - ett integrerat penetrationstestverktyg)
  2. OWASP -beroendekontroll (den söker efter projektberoenden och kontrollerar mot kända sårbarheter)
  3. OWASP webbprovningsmiljöprojekt (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 mänskligt läsbart format. 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 en webbapplikationsattack och granskningsram. Den har tre typer av plugins; upptäckt, granskning och attack som kommunicerar med varandra för eventuella sårbarheter på webbplatsen, till exempel letar ett upptäcktsprogram i w3af efter olika webbadresser för att testa sårbarheter och vidarebefordrar 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äkerhetstestning:

Myt #1 Vi behöver inte en säkerhetspolicy eftersom vi har ett litet företag

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

Myt #2 Det finns ingen avkastning på investeringen i säkerhetstester

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

Myt #3 : Enda sättet att säkra är att koppla ur den.

Fakta: Det enda och bästa sättet att säkra en organisation är att hitta 'perfekt säkerhet'. 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 #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 programvara 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 konfidentiell data förblir konfidentiell. I denna typ av tester spelar testaren en roll som angriparen och spelar runt i systemet för att hitta säkerhetsrelaterade buggar. Säkerhetstestning är mycket viktigt inom Software Engineering för att skydda data på alla sätt.