En vanligt förekommande tråd i Datorer och IT-forumet är
"min dator har virus vad ska jag göra omfg hlep!!!11" Dessa trådar får ofta en hög svar i stil med
"ladda hem $(FAVORITANTIVIRUS) och scanna, så fixar det sig." Detta svar är fullkomligt felaktigt, missledande och t o m direkt skadligt för den infekterade. Då dessa spridare av misinformation konfronteras med sin okunskap reagerar de ofta defensivt, och fortsätter sedan att sprida samma dynga i andra liknande trådar. Den här trådens syfte är att förklara varför de har fel.
För att sammanfatta;
den enda säkra åtgärden vid en virusinfektion är att formatera om hårddisken, installera om operativsystemet och ta bort alla körbara filer. För någon utan större datorvana kan detta verka skrämmande, och som en fullkomligt oproportionerlig åtgärd. Antivirusprogram kan ju ta bort alla virus och laga filerna de bodde i, eller hur?
FEL!För att förklara varför måste vi veta mer om hur en dator fungerar. Ta en titt på följande diagram:

Så ser kommunikationen mellan datorprogram, operativsystem och dator ut, starkt förenklat. Användaren jobbar med ett
applikationsprogram, men applikationsprogrammet i sig kan egentligen inte gör någonting; för att få någonting gjort måste applikationen prata med
operativsystemet. Operativsystemet sitter som en tolk mellan applikationsprogram och
dator.
Om ett program t ex vill veta vad som finns i C:\WINDOWS måste programmet först fråga operativsystemet som i sin tur frågar datorn, som ger ett svar som skickas tillbaka via operativsystemet. All information som antivirusprogram har om datorn kommer alltså från operativsystemet, inte från själva datorn.
Det finns många olika typer av virus, så det går inte att säga exakt vad vart och ett av dem gör. Dock går det att berätta vad de
kan göra, vilket är fullt tillräckligt för den här trådens syfte. När ett virus infekterar din dator har den makten att ersätta situationen i fig. 1 med följande situation:

Som vi ser har viruset obemärkt krupit in mellan applikationsprogrammen och operativsystemet. När ett applikationsprogram frågar operativsystemet efter någonting talar det i själva verket med viruset, som har makten att göra vad det vill med förfrågan. Det kan skicka förfrågan vidare till operativsystemet för att dölja sin existens, det kan skicka en ändrat förfrågan, det kan skicka rätt förfrågan men ge tillbaka ett förfalskat svar, eller så kan det helt och hållet ignorera frågan, för att täcka några möjligheter.
Antivirusprogram är applikationsprogram. Det betyder att den information de använder för att hitta och oskadliggöra virus kommer från operativsystemet. Om datorn är infekterad kan denna information istället komma direkt från viruset - och det finns inget sätt för antivirusprogrammet att veta att det är så.
Detta betyder att när antivirusprogrammet frågar operativsystemet upp om C:\EvilVirus.exe existerar, kan viruset helt enkelt ta emot frågan, analysera den och inse att den kommer från ett antivirusprogram och därefter ge svaret att "nej, det finns ingen sån fil. Systemet är rent."
För att sammanfatta, så har ett virus full kontroll över ditt operativsystem. Antivirusprogram kan bara agera utifrån den information de får från operativsystemet, alltså kan ett smart virus med lätthet gömma sig från alla försök till borttagning. Därför krävs det en total ominstallation för att vara säker på att en virusinfektion är borta.
Jag förväntar mig att denna tråd kommer att klistras och att alla som hädanefter försöker lura i folk att antivirusprogram kan fixa virusinfektioner omedelbart bannas, eller åtminstone varnas, då de medvetet (eftersom denna information nu finns tillgänglig) sprider skadlig misinformation.
Om någon har frågor om detta får ni gärna ställa dem här. Jag är säker på att en moderator kan vara vänlig och uppdatera F&S-delen efterhand.
Frågor och svarF: Betyder det att antivirusprogram är värdelösa?S: Nej, absolut inte. Antivirusprogram kan söka igenom filer du laddar ned efter
kända virus
innan de öppnats. Dock är spelet förlorat om du en gång lyckats öppna en fil innehållande ett virus, och nya, okända virus dyker upp hela tiden.
F: Varför har då AV-program en avinfekteringsfunktion?S: Två anledningar: dels klarar de ibland av att avinfektera filer du ännu inte öppnat, och dels ger det en känsla av trygghet. Bra marknadsföring, helt enkelt.
F: Du pratar skit, jag använde AV på min virusinfektion, och den försvann!S: Kul för dig. I verkligheten är det så att många virus inte är tillräckligt smarta för att hålla sig undan, så det är mycket möjligt att det faktiskt fungerade. Poängen är att du aldrig kan vara säker på det. Ett virus kan lätt fejka sin egen död. Är det värt att riskera dina kreditkortrsnummer och fotona på när du och din flickvän leker gynekolog på ett 'kanske?'
F: Men om jag startar från CD-skiva och använder antivirus därifrån då?S: Bättre, men inte tillräckligt. Vad händer om det är ett helt nytt virus du har att göra med, eller om en attackerare har använt viruset för att öppna andra säkerhetshål (t ex skapat ett nytt, dolt adminkonto och stängt av din brandvägg?) Att helt enkelt installera om hela rasket går betydligt fortare än att gå igenom och fixa alla möjliga säkerhetshål efter en infektion.
ÄNDRAT 2008-08-29 16:27ÄNDRAT 2008-08-29 16:27F: Är det sant att vi som använder Unix-baserade OS i stort sett aldrig får virus?S: Inte helt. UNIX-system kan fortfarande få virus, men de är låsta till den användare som råkar ut för dem och kan därför inte gömma sig, skada andra användare eller göra någonting alls som den infekterade användaren själv inte kunnat göra. Om en användare med rättigheter att använda administratörskontot blir infekterad kan dock viruset snappa upp administratörslösenordet då det skrivs in, och därmed orsaka lika mycket skada som på Windows. Denna risk kan minimeras genom att köra ett antivirusprogram med administratörsrättigheter i bakgrunden, då det är omöjligt för ett känt virus att gömma sig utan administratörsprivilegier. Vidare gör den modulariserade UNIX-arkitekturen det generellt sett mycket svårare för malware att ta sig in på egen hand, även om ett program skulle ha ett säkerhetshål.