Hvordan fungerer antivirus?

posted in: Sikkerhed, virus m.v. | 0

Antivirus burde være totalt unødvendigt, hvis blot folk havde en ordentlig opdragelse. Men sådan er det desværre ikke. Antivirus er ikke blot et program som leveres fra forskellige udviklingsfirmaer, men en hel familie af programmer fra hver enkelt firma. Så det kan være en lille smule uoverskueligt: De enkelte antivirus pakker består typisk af både det egentlige antivirus program og en større eller mindre samling af andre programmer, som leverandøren mener kan udgøre en fordel: Firewall, PC optimizer, Spamfilter, Addblocker, Sandbox, VPN, m.v. samt et abonnement på virussignaturer. Og denne samling af programmer, samt forskellige udgaver af selve antivirus programmet, pakker leverandøren så i forskellige suiter til forskellige priser, så når du fra samme leverandør kan købe antivirus til forskellige priser, så er der altså en forklaring. De typiske pakker er Gratis version (antivirus med en eller anden begrænsning i funktion eller tid), Antivirus (det du tror du køber) og Internet sikkerhed (antivirus + ekstra beskyttelsesfunktioner i forhold til Internettet).

Selve antivirusprogrammet har en række funktioner: Realtime aktivering, scanning, genkendelse, eliminering, opdatering.

Realtime aktivering: Du vil ikke have virus, så antivirus programmet skal være aktivt i en række situationer for at forhindre en virus i at køre. Det normale er, at antivirusprogrammet aktiveres hver eneste gang, du ønsker at læse en fil fra din harddisk. Altså en slags lille omvej på forbindelsen fra harddisk til din computers hukommelse. Dette er grunden til, at man bør undgå at have installeret mere end ét antivirussystem: Det sløver din PC ned, hvis den skal ud på to omveje. Egentligt burde dette så være en 100 pct kontrol af alle risici, men antivirus pakkerne vil gerne fange en virus så tidligt som muligt, så de tjekker (muligvis – ikke alle pakker har alle funktioner) også filer, som du modtager i din mail eller som du henter fra Internettet. Og som et ekstra lag af sikkerhed kan din antivirus pakke også indeholde en realtids vurdering af de hjemmesider, som du er på vej til at besøge. Dette er egentligt ikke en del af antivirus programmet, men en særskilt funktion, hvor din browser “lige tjekker” i leverandørens kartotek over kendte virusspredere, så du advares inden du går ind på siden. Fx er Microsoft Windows altid incl. Edge browseren (adgang til Internettet) og Defender (antivirus) og som standard er Edge også udvidet med Defender Smartscreen Filter – altså en “del af” Defender, som kan være aktiveret i din browser.

Scanning er en manuel eller automatisk aktiveret (scheduleret på et eller andet tidspunkt, fx dagligt) gennemlæsning og kontrol at alle relevante filer på (en del af) din harddisk. Hver fil kontrolleres på nøjagtig samme måde, som den enkelte fil kontrolleres ved realtidsaktiveringen. Nogle (gratis) programmer har kun denne mulighed og ikke realtidskontrol, fx Malwarebytes gratis version. Og det er så på en måde en fordel: Du kan benytte en eller anden realtids virusbeskyttelse og så kan du supplere med en eftersøgning ved hjælp af Malwarebytes: Det vil ikke sløve din PC ved almindelig drift – kun når du selv har bedt programmet om at tjekke. De fleste antivirus programmet vil (foreslå at) starte med en fuld scanning, når de netop er blevet installeret.

Genkendelsen er antivirusprogrammernes svage side. Den oprindelige metode består i kontrol for en bestemt virussignatur (Tænkt eksempel: en fil der starter med 88AF1E56B7FF1310AB0421 er en kendt virus). Metoden kræver altså at virus er kendt og det er derfor antivirusprogrammer løbende opdaterer si selv med data om kendte virus. Engang var det rigeligt med daglig opdatering, men nu er der antivirus programmer der opdaterer meget hyppigere. Men selv om de gør det så er det jo et problem, at virus skal være kendt for at den kan opdages. Antivirus udviklerne arbejder sammen for at få viden om kendte virus spredt så hurtigt som muligt, men der vil uundgåeligt være såkaldte zero day exploits: Virus, der endnu ikke er opdaget og beskrevet. Og forbryderne kender metoden, så de har svaret igen med at ændre deres virusprogrammer flere gange i løbet af en dag, så den kode, der downloades, når solen står op over New Zealand, er allerede ændret når solen står op over Australien. Skiderikker! For at løse dette problem er der (mindst) tre yderligere metoder: Heuristic analyse: En gennemgang af en fil uden kendt virus signatur for at undersøge om “den laver noget, der er typisk for en virus”. Det tager desværre mere computertid og indebærer ret stor risiko for falske positive (altså at en ok fil bliver mistænkt for at være en virus). Af samme grund vil du som regel blive bedt om selv at tage stilling til en funden “mulig virus”. En lignende metode går ud på, at holde øje med hvad det mistænkte program foretager sig, når det bliver åbnet og hvis det ser ud til at programmet opfører sig som en ransomware virus så bliver det stoppet. Denne metode kan udbygges med at den første åbning af en fil sker i en “Sandbox”: Et beskyttet mini-system, hvorfra et kørende program ikke har adgang til resten af computeren, hverken hukommelse eller harddisk. Den sidste metode er egentligt et alternativ til alle de ovenstående metoder: Intet program får lov til at starte, hvis ikke det er godkendt. Godkendelsen kan være lokal på egen PC (det er selvfølgelig hurtigst) eller fra leverandørens udvidede database over godkendte programmer. Hvis programmet ikke findes på nogle af disse lister bliver det sendt til leverandøren med henblik på analyse og vil så kunne godkendes efter lidt tid. Metoden blev benyttet af den danske antivirus udvikler Bitrater og Sophos m.fl. Metoden er ikke særlig hensigtsmæssig for os udviklere: Vi laver “nye” programmer hver eneste gang vi har en lille ændring i vores programkode.

Eliminering er rimeligt simpel: Der kan være forskellige variationer over om det sker automatisk og med eller uden besked til brugeren, men enten slettes virus programmet eller også sættes det i karantæne, d.v.s. filen flyttes til en mappe, der er skjult for operativsystemet og alle andre programmer end antivirus programmet. Man kan så bruge antivirus programmet til at pille det ud af karantæne, hvis man har vurderet at det var en fejl.

Opdatering er tilsvarende enkelt: Antivirus programmet sørger selv for at opdatere sin database over kendte virus. Supplerende kan programmet med mellemrum også opdatere sig selv, hvis udviklerne har fundet nye smarte funktioner, som de har puttet ind i programmet. Hvis du kigger på en oversigt over kørende programmer, fx Windows Jobliste vil du for nogle programpakker kunne se, at der kører mere end ét program, der tilhører antivirus leverandørens pakke – det kan typisk være opdateringsprogrammet, der kører som en selvstændig proces.

Andre programmer: Som nævnt kan en antivirus programpakke inde meget andet end selve antivirus programmet: Firewall (beskyttelse mod hackeres indbrud udefra), PC optimizer (analyse for dårlige indstillinger i operativsystemet, oprydning i registry m.v.), Spamfilter (analyse af indhold og afsender af modtagen mails – ikke efter virus, men efter typiske spam mails: Uønskede reklame og phishing mails), Addblocker (en tilføjelse til din browser, så visse annoncer ikke vises på de hjemmesider, du besøger), Sandbox (et beskyttet driftsmiljø, hvor man kan afprøve mistænkelige filer), VPN (virtuel privat netværk så du fx kan læse hjemmesider uden at nogen kan se hvem du er). Mere detaljeret beskrivelse af disse vil kræve en artikel for hver – og nogen af dem kan du allerede finde her på bloggen.

Her er en engelsk artikel med nogenlunde tilsvarende beskrivelser incl. henvisning til enkelte konkrete pakker.