Skip to main content

Hva er en sikkerhetsfeil?

En sikkerhetsfeil i dataprogramvare er en feil i sin programmerte operasjon som kan gi en bruker utilsiktet tilgang til funksjoner, ressurser eller data som ellers ville blitt beskyttet av programmet.Årsaken til en sikkerhetsfeil kan omfatte feil i programmering, feil forståelse av eksterne biblioteker eller tilsyn når du går fra en testversjon av et program til en utgivelsesversjon.Det kan være vanskelig å diagnostisere og reparere en sikkerhetsfeil, fordi den har potensial til å være en kombinasjon av flere aspekter av programmet, hvorav noen kan være forhåndskompilert uten original kildekode tilgjengelig for programmerere å undersøke.

énAv de primære årsakene til en sikkerhetsfeil kan være samspillet mellom to forskjellige deler av datakoden som kanskje ikke har blitt skrevet av samme person.Det kan oppstå problemer når en funksjon eller klasse utfører handlinger som er ukjente eller uventede, for eksempel å endre en variabel som inneholder en del av programtilstanden eller endre interne egenskaper uten å varsle tilknyttede elementer.Dette kan føre til at andre deler av programmet opererer med forutsetninger, eller for å bli forbigått fullstendig, og skape et sikkerhetshull som kan utnyttes.Eksterne biblioteker utviklet av kommersielle programvareselskaper kan noen ganger forårsake et sikkerhetsproblem, spesielt i tilfeller som grafiske brukergrensesnitt (GUIS) og nettverksprotokollinnpakninger som inneholder en stor mengde skjult prosesseringskode.

Enkle programmeringsfeil og problemer med minnetildeling som kan overskrive kodesegmenter eller søle informasjon fra minne til områder der den kan utnyttes.Ubyggede funksjoner i et program kan også forårsake en sikkerhetsfeil ved å tillate en betingelse i programmet som kan gi utførelse til en uferdig del av koden uten riktig sikkerhetskontroll for inngang og utdata.Jo større og mer kompleks et program er, jo høyere er sannsynligheten for at en sikkerhetsfeil eksisterer i koden. Det er flere måter å prøve å forhindre at en sikkerhetsfeil går over i endelige utgivelsesversjoner av programvare.Noe av det viktigste er brukertesting, der mange prøver å bruke programmet for å se om det fungerer som det skal.Bruke programvareprofilere MDASH;programmer som undersøker og registrerer hukommelsesbruk og annen statistikk mens programvare kjører mdash;kan bidra til å fange noen interne feil som kan føre til et sikkerhetsproblem.Når feilene blir fanget og reparert, frigjør de fleste selskaper oppdateringer eller oppdateringer som eliminerer de oppdagede feilene i programvare allerede i distribusjon.