Hva er programvaresikkerhet?

Hva er programvaresikkerhet?
Programvaresikkerhet er bygging av sikker programvare med iboende forsvar, slik at den fortsetter å fungere under ondsinnede angrep, til tilfredsstillelse av brukerne og eierne av programvaren. Denne artikkelen forklarer truslene og løsningene, fra et generelt synspunkt. Standard ordforråd i informasjonssikkerhet er også forklart. Du bør være datamaskin- og internettlitteratur for å forstå denne artikkelen; Du burde også ha studert et dataspråk, e.g., Perl, C, C ++, PHP, etc.

Det som er sikret er informasjons- og programvarepakker (applikasjoner og dokumenter). Informasjon er enhver melding som er nyttig for noen. “Informasjon” er et vagt ord. Konteksten den brukes gir sin betydning. Det kan bety nyheter, forelesning, opplæring (eller leksjon) eller løsning. En programvarepakke er vanligvis en løsning på noen problemer eller relaterte problemer. Tidligere ble all informasjon som ikke ble talt skrevet på papir. I dag kan programvaren betraktes som en delmengde informasjon.

Programvaren kan ligge i en datamaskin, eller være i transitt fra en datamaskin til en annen. Filer, data, e -post, innspilt stemme, innspilte videoer, programmer og applikasjoner ligger på en datamaskin. Mens du er bosatt i en datamaskin, kan det bli ødelagt. Mens du er i transitt, kan det fortsatt bli ødelagt.

Enhver enhet med en prosessor og minne er en datamaskin. Så i denne artikkelen, en kalkulator, en smarttelefon eller et nettbrett (e.g., iPad) er en datamaskin. Hver av disse enhetene og deres nettverksoverføringsmedier har programvare, eller programvare i transitt som bør beskyttes.

Privilegier

En bruker kan få privilegiet å utføre en fil på en datamaskin. En bruker kan få privilegiet å lese koden til en fil på en datamaskin. En bruker kan få privilegiet å endre (skrive) koden til en fil på en datamaskin. En bruker kan få en, to eller alle disse privilegiene. Det er andre privilegier til et operativsystem eller en database. Brukere har forskjellige mengder eller nivåer av privilegier i et system.

Trusler

Baser av programvaretrusler

For å beskytte programvare, må du kjenne dens trusler. Programvaren må beskyttes mot uautoriserte personer som får tilgang til dataene sine. Det må beskyttes mot ulovlig bruk (for å forårsake skade, for eksempel). Programvaren skal beskyttes mot avsløring for rivaler. Programvaren skal ikke bli ødelagt. Programvaren skal ikke slettes utilsiktet. Programvaren skal ikke forstyrres. Programvaren skal ikke ha noen modifisering som er uoppfordret til. Data (programvare) skal ikke inspiseres uten god grunn, spesielt ikke av uautoriserte mennesker. Programvaren skal ikke kopieres (piratkopiert).

En eller flere av disse basene, noe som resulterer i en bestemt type klassisk trussel.

Klasser av programvaretrussel

Forfalskningsangrep

Dette er situasjonen der en person (eller program) vellykket representerer en annen person (eller program) i litt programvareaktivitet. Dette gjøres ved hjelp av falske data for å få en fordel som er ulovlig.

Avvisning

Dette er situasjonen der noen gjør noe galt, og nekter at han/hun ikke er den som gjorde det. Personen kan bruke en annen persons signatur for å gjøre feil ting.

Datainnbrudd

Et datainnbrudd er når sikker eller privat informasjon frigjøres med vilje eller utilsiktet til et miljø som ikke er klarert.

Denial-of-service angrep

Et programvarevernnett har programvare som kjører i datamaskinene i nettverket. Hver bruker bruker vanligvis datamaskinen sin foran ham og ber vanligvis tjenester fra andre datamaskiner i nettverket. En kriminell bruker kan bestemme seg for å oversvømme en server med overflødige forespørsler. En server har et begrenset antall forespørsler den kan håndtere i løpet av en varighet. I dette flomskjemaet kan ikke legitime brukere bruke serveren så ofte de burde, siden serveren er opptatt med å svare på kriminens forespørsler. Dette overbelaster serveren, midlertidig eller på ubestemt tid å forstyrre serverenes tjenester. I løpet av dette bremser verten (serveren) seg i drift for legitime brukere, mens gjerningsmannen utfører sin ugagn, som blir uoppdaget, fordi de legitime brukerne som sto ved, som venter på service, ikke kunne vite hva som foregikk på serveren. De gode brukerne blir nektet tjeneste, mens angrepet pågår.

Privilege opptrapping

Ulike brukere av et operativsystem eller applikasjon har forskjellige privilegier. Så noen brukere ender opp med mer verdi enn andre, fra systemet. Å utnytte en programvarefeil eller konfigurasjonsovervåkning for å få forhøyet tilgang til ressurser eller uautorisert informasjon er privilegium opptrapping.

Ovennevnte klassifiseringsordninger kan brukes til å forårsake datamaskinvirus og ormer.

En eller flere av de ovennevnte klassifiseringsordningene kan brukes til programvareangrep, som inkluderer: tyveri av åndsverk, databasekorrupsjon, identitetstyveri, sabotasje og informasjonsutpressing. Hvis en person bruker en eller flere av ordningene for å endre ødeleggende, et nettsted slik at kundene på nettstedet mister tilliten, er det sabotasje. Informasjonsutpressing er stjeling av et selskaps datamaskin eller falskt innhenting av hemmelig informasjon om selskapet. Datamaskinen som er stjålet kan ha hemmelig informasjon. Dette kan føre til ransomware, der tyven vil be om betaling, til gjengjeld for eiendommen eller informasjonen stjålet.

Personvern

Når noe er følsomt eller iboende spesielt for deg, er den tingen privat for deg. Dette gjelder også for en gruppe mennesker. Et individ trenger å uttrykke seg selv selektivt. For å oppnå en slik selektivitet, må individet planlegge seg selv eller planlegge informasjon om seg selv; Det er privatliv. En gruppe mennesker trenger å uttrykke seg selektivt. For å oppnå en slik selektivitet, må gruppen planlegge seg selv eller planlegge informasjon om seg selv; Det er privatliv. Et individ trenger å beskytte seg selv selektivt. For å oppnå en slik selektiv beskyttelse, må individet beskytte seg selv eller beskytte informasjon om seg selv på en selektiv måte; det vil si personvern. En gruppe mennesker trenger å beskytte seg selektivt. For å oppnå en slik selektiv beskyttelse, må gruppen beskytte seg selv eller beskytte informasjon om seg selv på en selektiv måte; det vil si personvern.

Identifisering og autentisering

Når du reiser til et fremmed land, vil du nå en havn i det landet. I havnen vil en politibetjent be deg om å identifisere deg selv. Du vil presentere passet ditt. Politibetjenten vil kjenne din alder (fra fødselsdato), ditt kjønn og ditt yrke fra passet, og han vil se på deg (ditt ansikt); det er identifisering. Politibetjenten vil sammenligne ditt virkelige ansikt og bildet i passet. Han vil også estimere din alder med det som er i passet for å vite om det er deg.

Å se på deg og knytte din alder, kjønn og yrke med deg er identifikasjon. Å bekrefte om det virkelige ansiktet ditt og bildet ditt er det samme, og estimerer om presentasjonen din samsvarer med alderen din, er autentisering. Identifikasjon knytter en person eller noe til visse attributter. Å indikere en identitet er også identifikasjon. Autentisering er handlingen med å bevise at identiteten (identifikasjonen) er sann. Med andre ord, autentisering er handlingen om å bevise en påstand.

I databehandling er den vanligste måten å autentisere bruken av et passord. En server har for eksempel mange brukere. Ved innlogging indikerer du identiteten din (identifiser deg selv) med brukernavnet ditt. Du beviser identiteten din med passordet ditt. Passordet ditt skal visstnok være kjent bare av deg. Autentisering kan gå lenger; Ved å stille deg et spørsmål, som “I hvilken by eller by ble du født?”

Sikkerhetsmål

Sikkerhetsmålene i informasjon er konfidensialitet, integritet og tilgjengelighet. Disse tre funksjonene er kjent som CIA -triaden: C for konfidensialitet, i for integritet og en for tilgjengelighet.

konfidensialitet

Informasjonen må ikke avsløres for uautoriserte individer, eller uautoriserte enheter eller uautoriserte prosesser; Dette er informasjonskonfidensialitet i informasjonssikkerhet (samt programvaresikkerhet). Stjeling av passord eller sending av sensitive e -postmeldinger til en feil person er konfidensialitet som blir kompromittert. Fortrolighet er en komponent i personvern som beskytter informasjon mot uautoriserte individer, eller uautoriserte enheter eller uautoriserte prosesser.

Integritet

Informasjon eller data har en livssyklus. Med andre ord, informasjon eller data har starttid og slutttid. I noen tilfeller, etter slutten av livssyklusen, må informasjonen (eller dataene) slettes (lovlig). Integritet består av to funksjoner, som er: 1) vedlikehold og sikring av nøyaktigheten av informasjonen (eller data) over hele livssyklusen, og 2) fullstendigheten til informasjonen (eller data) over hele livssyklusen. Så informasjon (eller data) må ikke reduseres eller endres på en uautorisert eller uoppdaget måte.

Tilgjengelighet

For at ethvert datasystem skal tjene dets formål, må informasjon (eller data) være tilgjengelig når det er nødvendig. Dette betyr at datasystemet, og overføringsmediene, må fungere riktig. Tilgjengeligheten kan kompromitteres med systemoppgraderinger, maskinvarefeil og strømbrudd. Tilgjengeligheten kan også bli kompromittert av angrep.

Ikke-avvisning

Når noen bruker identiteten din og signaturen din for å signere en kontrakt som han aldri oppfylte, er ikke-avvisning når du ikke kan nekte i retten at du ikke forfatter kontrakten.

På slutten av en kontrakt må den parten som tilbyr tjenesten ha tilbudt tjenesten; Partiet betaler må ha foretatt betalingen.

For å forstå hvordan ikke-avlegg gjelder for digital kommunikasjon, må du først vite betydningen av nøkkel og betydningen av digital signatur. En nøkkel er et stykke kode. En digital signatur er en algoritme som bruker en nøkkel for å produsere en annen kode som blir sammenlignet med en skriftlig signatur av avsenderen.

I digital sikkerhet leveres ikke-avvisning (ikke nødvendigvis garantert) av en digital signatur. I programvaresikkerhet (eller informasjonssikkerhet) er ikke-avvisning å gjøre med dataintegritet. Datakryptering (som du kanskje har hørt) kombinert med digital signatur bidrar også til konfidensialitet.

Sikkerhetsmålene i informasjon er konfidensialitet, integritet og tilgjengelighet. Ikke-avvisning er imidlertid en annen funksjon du må ta i betraktning når du arbeider med informasjonssikkerhet (eller programvaresikkerhet).

Svar på trusler

Trusler kan responderes på, på en eller flere av de følgende tre måtene:

- Reduksjon/avbøtning: Dette er implementering av sikkerhetstiltak og mottiltak for å eliminere sårbarheter eller blokkere trusler.

- Tildel/overføring: Dette legger trusselen til en annen enhet, for eksempel et forsikringsselskap eller et outsourcing -selskap.

- Aksept: Dette evaluerer om kostnadene for mottiltaket oppveier de mulige tapskostnadene på grunn av trusselen.

Adgangskontroll

I informasjonssikkerhet som programvaresikkerhet er en del, er tilgangskontroll en mekanisme som sikrer at bare kvalifiserte brukere er i stand til å få tilgang til beskyttede ressurser i et gitt system, med sine forskjellige fortjent privilegier.

Gjeldende løsning på informasjonssikkerhet

Den nåværende og populære måten å gjøre informasjonssikkerhet på er å håndheve tilgangskontroll. Dette inkluderer tiltak som å validere innspill til en applikasjon, installere antivirus, bruke en brannmur til et lokalt nettverk og bruke transportlagssikkerhet.

Når du forventer en dato som innspill til en applikasjon, men brukeren oppgir et nummer, må en slik inndata avvises. Det er inndata validering.

Et antivirus installert i datamaskinen din forhindrer at virus ødelegger filer på datamaskinen din. Dette hjelper i tilgjengeligheten av programvare.

Regler kan gjøres for å overvåke og kontrollere innkommende og avtroppende trafikk i et lokalt nettverk for å beskytte nettverket. Når slike regler blir implementert som programvare, er det en brannmur i lokalområdet, det vil si en brannmur.

Transport Layer Security (TLS) er en sikkerhetsprotokoll designet for å lette personvern og datasikkerhet for overføringer over Internett. Dette innebærer å kryptere kommunikasjonen mellom å sende vert og mottak av verten.

Å gjøre informasjonssikkerhet ved å håndheve tilgangskontroll kalles sikkerhetsprogramvare, som er forskjellig fra programvaresikkerhet, som forklart nedenfor. Begge tilnærminger har samme mål, men de er forskjellige.

Programvaresikkerhet

Programmer, som de er skrevet i dag, har mange programvaresårbarheter som programmerere har realisert mer og mer de siste 20 årene. De fleste angrep blir gjort ved å dra nytte av disse sårbarhetene enn å overvinne eller jobbe rundt tilgangskontroll.

En buffer er som en matrise, men uten pålagt lengde. Når en programmerer skriver inn i en buffer, er det mulig å ubevisst overskrive utover dens lengde. Denne sårbarheten er en bufferoverløp.

Programvare i dag har avverget med sikkerhetsgreninger-inkludert implementeringsfeil som bufferoverløp og designfeil som inkonsekvent feilhåndtering. Dette er sårbarheter.

Du har kanskje hørt om dataspråk -juksekoder som PHP -jukser, Perl Cheats og C ++ juksekoder. Dette er sårbarheter.

Programvaresikkerhet, i motsetning til sikkerhetsprogramvare, overvinner disse sårbarhetene ved å skrive defensiv kode der sårbarhetene vil bli forhindret. Mens applikasjonen blir brukt, etter hvert som flere sårbarheter blir oppdaget, bør utviklere (programmerere) se etter måter å kode sårbarhetene på nytt, defensivt.

Trusselen, angrep fra tjeneste-av-tjeneste, kan ikke stoppes ved tilgangskontroll, for for at gjerningsmannen skal gjøre det, må han allerede ha tilgang til verten (server). Det kan stoppes ved å inkludere noen intern programvare som overvåker hva brukerne gjør i verten.

Programvaresikkerhet er et robust design innenfra, som gjør programvareangrep vanskelig. Programvaren skal være selvbeskyttelse og har ikke noe sårbarhet ikke. På denne måten blir det enklere og mer kostnadseffektivt å kjøre et sikkert nettverk.

Programvaresikkerhet designer defensiv kode fra applikasjonen mens sikkerhetsprogramvaren håndhever (designer) tilgangskontroll. Noen ganger overlapper disse to problemene, men ofte gjør de det ikke.

Programvaresikkerhet er allerede ganske utviklet, selv om den fremdeles utvikles, er den ikke så utviklet som sikkerhetsprogramvare. Dårlige hackere oppnår sine mål mer ved å dra nytte av sårbarheter i programvare enn ved å overvinne eller jobbe rundt sikkerhetsprogramvare. Håpet er at informasjonssikkerhet i fremtiden vil være mer av programvaresikkerhet enn sikkerhetsprogramvare. Foreløpig må både programvaresikkerhets- og sikkerhetsprogramvare pågå.

Programvaresikkerhet vil egentlig ikke være effektiv hvis streng testing ikke gjøres på slutten av programvareutviklingen.

Programmerere må utdannes i å utføre defensiv kodeprogrammering. Brukere må også utdannes hvordan de bruker applikasjoner defensivt.

I programvaresikkerhet må utvikleren sørge for at brukeren ikke får flere privilegier enn han fortjener.

Konklusjon

Programvaresikkerhet er utforming av applikasjon med defensiv koding mot sårbarheter for å gjøre programvareangrep vanskelig. Sikkerhetsprogramvare er derimot produksjonen av programvare som håndhever tilgangskontroll. Programvaresikkerhet utvikles fortsatt, men det er mer lovende for informasjonssikkerhet enn sikkerhetsprogramvare. Det brukes allerede, og den vokser i popularitet. I fremtiden vil begge være nødvendige, men med programvare trengte sikkerhet mer.