Hva er sikkerhetstesting?
SIKKERHETSTESTING er en type programvaretesting som avdekker sårbarheter, trusler, risikoer i et program og forhindrer ondsinnede angrep fra inntrengere. Hensikten med sikkerhetstester er å identifisere alle smutthull og svakheter i programvaresystemet som kan føre til tap av informasjon, inntekter, anseelse fra de ansatte eller utenforstående i organisasjonen.
Hvorfor sikkerhetstesting er viktig?
Hovedmålet med sikkerhetstesting er å identifisere truslene i systemet og måle potensielle sårbarheter, slik at truslene kan oppstå og systemet ikke slutter å fungere eller ikke kan utnyttes. Det hjelper også med å oppdage alle mulige sikkerhetsrisikoer i systemet og hjelper utviklere å løse problemene gjennom koding.
I denne veiledningen vil du lære-
- Hva er sikkerhetstesting?
- Typer sikkerhetstesting
- Hvordan gjøre sikkerhetstesting
- Eksempel på testscenarier for sikkerhetstesting
- Metoder / tilnærming / teknikker for sikkerhetstesting
- Roller for sikkerhetstesting
- Sikkerhetstestverktøy
- Myter og fakta om sikkerhetstesting
Typer sikkerhetstesting:
Det er syv hovedtyper av sikkerhetstesting i henhold til Open Source Security Testing Methodology Manual. De forklares som følger:
- Sårbarhetsskanning : Dette gjøres gjennom automatisert programvare for å skanne et system mot kjente sårbarhetssignaturer.
- Sikkerhetsskanning: Det innebærer å identifisere nettverks- og systemsvakheter, og gir senere løsninger for å redusere disse risikoene. Denne skanningen kan utføres for både manuell og automatisk skanning.
- Penetrasjonstesting : Denne typen testing simulerer et angrep fra en ondsinnet hacker. Denne testen involverer analyse av et bestemt system for å se etter potensielle sårbarheter for et eksternt hackingsforsøk.
- Risikovurdering: Denne testingen involverer analyse av sikkerhetsrisiko observert i organisasjonen. Risiko er klassifisert som lav, middels og høy. Denne testingen anbefaler kontroller og tiltak for å redusere risikoen.
- Sikkerhetsrevisjon: Dette er en intern inspeksjon av applikasjoner og operativsystemer for sikkerhetsfeil. En revisjon kan også gjøres via linje for linjeinspeksjon av kode
- Etisk hacking: Det er hacking av organisasjonens programvaresystemer. I motsetning til ondsinnede hackere, som stjeler for egen gevinst, er hensikten å avsløre sikkerhetsfeil i systemet.
- Holdningsvurdering: Dette kombinerer sikkerhetsskanning, etisk hacking og risikovurderinger for å vise en generell sikkerhetsstilling av en organisasjon.
Hvordan gjøre sikkerhetstesting
Det er alltid avtalt at kostnadene vil være mer hvis vi utsetter sikkerhetstesting etter implementering av programvare eller etter distribusjon. Så det er nødvendig å involvere sikkerhetstesting i SDLC-livssyklusen i de tidligere fasene.
La oss se på de tilsvarende sikkerhetsprosessene som skal vedtas for hver fase i SDLC
SDLC-faser | Sikkerhetsprosesser |
---|---|
Krav | Sikkerhetsanalyse for krav og sjekk misbruk / misbruk |
Design | Analyse av sikkerhetsrisiko for design. Utvikling av testplan inkludert sikkerhetstester |
Koding og enhetstesting | Statisk og dynamisk testing og sikkerhet White Box Testing |
Integrasjonstesting | Black Box Testing |
Systemtesting | Black Box Testing og sårbarhetsskanning |
Gjennomføring | Penetrasjonstesting, sårbarhetsskanning |
Brukerstøtte | Konsekvensanalyse av lapper |
Testplanen skal inneholde
- Sikkerhetsrelaterte testsaker eller scenarier
- Testdata relatert til sikkerhetstesting
- Testverktøy som kreves for sikkerhetstesting
- Analyse av ulike tester fra forskjellige sikkerhetsverktøy
Eksempel på testscenarier for sikkerhetstesting:
Eksempel på testscenarier for å gi deg et glimt av sikkerhetstestsaker -
- Et passord skal være i kryptert format
- Applikasjon eller system skal ikke tillate ugyldige brukere
- Sjekk informasjonskapsler og økttid for søknad
- For økonomiske nettsteder, bør ikke Browser Back-knappen fungere.
Metoder / tilnærming / teknikker for sikkerhetstesting
I sikkerhetstesting følges forskjellige metoder, og de er som følger:
- Tiger Box : Denne hackingen gjøres vanligvis på en bærbar datamaskin som har en samling operativsystemer og hackingsverktøy. Denne testingen hjelper penetrasjonstestere og sikkerhetstestere med å utføre sårbarhetsvurdering og angrep.
- Black Box : Tester er autorisert til å teste alt om nettverkstopologien og teknologien.
- Grå boks : Delvis informasjon blir gitt til testeren om systemet, og det er en hybrid av hvite og svarte boksmodeller.
Roller for sikkerhetstesting
- Hackere - Få tilgang til datasystem eller nettverk uten autorisasjon
- Crackers - Bryt inn i systemene for å stjele eller ødelegge data
- Ethical Hacker - Utfører de fleste av de ødelagte aktivitetene, men med tillatelse fra eieren
- Script Kiddies eller pakkaper - Uerfarne hackere med ferdigheter i programmeringsspråk
Sikkerhetstestverktøy
1) Inntrenger
Intruder er en sårbarhetsskanner i bedriftsklasse som er enkel å bruke. Den kjører over 10 000 sikkerhetskontroller av høy kvalitet på tvers av IT-infrastrukturen din, som inkluderer, men ikke er begrenset til: svakheter i konfigurasjonen, svakheter i applikasjonen (for eksempel SQL-injeksjon og skripting på tvers) og manglende oppdateringer. Intruder gir intelligent prioriterte resultater samt proaktive skanninger for de nyeste truslene, og hjelper deg med å spare tid og beskytter bedrifter i alle størrelser mot hackere.
Egenskaper:
- AWS, Azure og Google Cloud-kontakter
- Perimeter-spesifikke resultater for å redusere ytre angrepsoverflate
- Rapportering av høy kvalitet
- Slakk, Microsoft Teams, Jira, Zapier integrasjoner
- API-integrasjon med CI / CD-rørledningen
2) Owasp
Open Web Application Security Project (OWASP) er en verdensomspennende ideell organisasjon som fokuserer på å forbedre sikkerheten til programvare. Prosjektet har flere verktøy for å teste forskjellige programvaremiljøer og protokoller. Flaggskip verktøy for prosjektet inkluderer
- Zed Attack Proxy (ZAP - et integrert penetrasjonstestverktøy)
- OWASP-avhengighetskontroll (den søker etter prosjektavhengigheter og sjekker mot kjente sårbarheter)
- OWASP Web Testing Environment Project (samling av sikkerhetsverktøy og dokumentasjon)
3) WireShark
Wireshark er et nettverksanalyseverktøy som tidligere var kjent som Ethereal. Den fanger pakken i sanntid og viser dem i lesbart format. I utgangspunktet er det en nettverkspakkeanalysator - som gir de minste detaljene om nettverksprotokollene dine, dekryptering, pakkeinformasjon, etc. Det er en åpen kildekode og kan brukes på Linux, Windows, OS X, Solaris, NetBSD, FreeBSD og mange andre systemer. Informasjonen som blir hentet via dette verktøyet kan vises gjennom en GUI eller TTY-modus TShark Utility.
4) W3af
w3af er et rammeverk for angrep og revisjon av webapplikasjoner. Den har tre typer plugins; oppdagelse, tilsyn og angrep som kommuniserer med hverandre for eventuelle sårbarheter på nettstedet, for eksempel et oppdagelses-plugin i w3af ser etter forskjellige nettadresser for å teste for sårbarheter og videresende det til revisjons-pluginet som deretter bruker disse URL-ene til å søke etter sårbarheter.
Myter og fakta om sikkerhetstesting:
La oss snakke om et interessant emne om myter og fakta om sikkerhetstesting:
Myte nr. 1 Vi trenger ikke en sikkerhetspolicy siden vi har en liten bedrift
Fakta: Alle og alle selskaper trenger en sikkerhetspolicy
Myte nr. 2 Det er ingen avkastning på investering i sikkerhetstesting
Fakta: Sikkerhetstesting kan peke på forbedringsområder som kan forbedre effektiviteten og redusere nedetid, noe som muliggjør maksimal gjennomstrømning.
Myte nr. 3 : Den eneste måten å sikre er å koble den fra.
Fakta: Den eneste og beste måten å sikre en organisasjon på er å finne "Perfect Security". Perfekt sikkerhet kan oppnås ved å utføre en holdningsvurdering og sammenligne med forretningsmessige, juridiske og industrielle begrunnelser.
Myte nr. 4 : Internett er ikke trygt. Jeg vil kjøpe programvare eller maskinvare for å beskytte systemet og redde virksomheten.
Fakta: Et av de største problemene er å kjøpe programvare og maskinvare for sikkerhet. I stedet bør organisasjonen først forstå sikkerhet og deretter bruke den.
Konklusjon:
Sikkerhetstesting er den viktigste testen for en applikasjon og sjekker om konfidensielle data forblir konfidensielle. I denne typen testing spiller tester en rolle som angriperen og spiller rundt i systemet for å finne sikkerhetsrelaterte feil. Sikkerhetstesting er veldig viktig i Software Engineering for å beskytte data på alle måter.