Forumet - Varför antivirusprogram inte hjälper vid en infektion

Varför antivirusprogram inte hjälper vid en infektion

7592 0 143
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:
Image

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:
Image

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 svar

F: 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:27
F: Ä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.
Det första man gör när man vet att man blivit smittad är:

DRA UT NÄTVERKSKABELN!!!

Sen använder man en annan dator för att söka reda på botmedel eller blåser den helt efter att man tagit backup på sina viktiga dokument. Har dokumenten möjlighet till scripting osv (som t.ex. officedokument) så sparar man dem som RTF så att inte script förljer med.

Varje sekund en smittad dator är uppkopplad så kan den ladda ner ännu fler bakdörrar, ännu effektivare prylar osv. Så ur med kabelfan direkt!

Spana också in:

McLuver:

det sant att vi som använder Unix-baserade OS i stort sett aldrig får virus?


Nej. Vi kan få precis lika många virus som våra windowsanvändande vänner. Skillnaden är att de är verkningslösa på våra datorer, då de absolut flesta virus är skrivna för att köras i Windows.
UnclePadda:

En logisk fråga är givetvis denna: vad är det som Microsoft gör med XP och Vista som gör att de kan utsättas för en sån enorm mängd virus - eller kanske snarare - vad är det unix-baserade operativsystem gör för att undvika detta?


En anledning är att varje användare per default är administratör. På så sätt kan virus göra precis vad fan de vill om en användare skulle råka få ett virus. När man använder Unix-baserade system brukar man däremot bara logga in som administratör/root tillfälligt när man exempelvis behöver installera ett program.
Sen så är ju Windors det mest använda operativsystemet för hemanvändning, vilket gör att virusskaparna tycker det är skojigare att skriva virus till det.
UnclePadda:

En logisk fråga är givetvis denna: vad är det som Microsoft gör med XP och Vista som gör att de kan utsättas för en sån enorm mängd virus - eller kanske snarare - vad är det unix-baserade operativsystem gör för att undvika detta?


iddqd:s svar på den frågan är mycket bra. Ett annat skäl är att UNIX-baserade system av tradition är väldigt modulariserade, med strikt privilegieuppdelning. Ett fel i en modul kan i de allra flesta fall bara påverka just den modulens funktionalitet. Ett tredje skäl är att Microsoft gillar att överanvända RPC, en mekanism just för att köra kod på en annan maskin, och deras implementation av detta har varit... Låt oss säga 'inte helt perfekt.' Sasser, Blaster och i princip varje större mask (dvs. jävelskap som sprider sig självt, helt utan hjälp av användaren) har utnyttjat diverse säkerhetshål i olika RPC-baserade tjänster.
UnclePadda:

En logisk fråga är givetvis denna: vad är det som Microsoft gör med XP och Vista som gör att de kan utsättas för en sån enorm mängd virus - eller kanske snarare - vad är det unix-baserade operativsystem gör för att undvika detta?


en annan anledning kan vara att Microsoft och alla andra komersiella(nästan iaf) tillverkare av programvara största mål är att skap programvara som dom kan tjäna pengar på(dvs fungerar som medelsvensson vill att det ska göra, det inebär att dom ofta kan vara viliga att offra säkerhet för prestanda, "användarvänliget" eller en snabb relese).

yterliggare en faktor kan vara sättet användare för dom olika operativsystemen hittar och instalerar programvara, på dom flesta linuxdistar så installeras programvara med hjälp av pakethanteraren, det innebär att användare får tag i säker programvara(ja ingenting är 100% men den är granskad av personer med betydligt mer kunnande än medelsvensson). desutom har dom flesta seriösa distrubutioner olika versioner där den som rekomenderas för vanliga användare bara har programvara som har funnit's till ett bra tag och på det viset hunnit bli granskad.

många OSX användare får tag i sina gratisprogramvaror på länkar från apple's hemsida även här så är chansen gansk stor att användaren får tag i en korrekt version av sitt program.

den typiske windowsanvändraren får tag i sin programvara genom att göra en googlesökning och leta efter en exefil här finns det absolut ingen garanti att du inte får tag i en elak installations fil(altså en fil som bara instalerar skit, eller en som installerar programvaran + diverse trojaner osv)
grön_apa:

programvara största mål är att skap programvara som dom kan tjäna pengar på


Samtidigt är säkerhet och stabilitet vettiga funktioner idag. Till och med win98 skryter om att det är mycket säkrare än föregångaren.

grön_apa:

det innebär att användare får tag i säker programvara


Samtidigt kan det innebära en risk när alla har samma programvara. Hittar man ett hål i en programvara som är identisk flera system igenom så är det inte svårt att mecka ihop en mask som drar igenom det hålet. Dock så löses detta finematastiskt genom exempelvis separeringen av stable och testing som debian kör med.
21st Century Adonis:

Jag infekterade min egen dator med viruset bliss... Jag visste iofs att man kunde ta bort det genom att köra
#bliss --bliss-uninfect-please
(kommer inte riktigt ihåg commandlineoptsen, det var några år sedan)...


Jag sökte, men hittade inget i Debians repo. =(
Jag må vara lite off-topic men jag har ett ganska allvarligt problem som jag är ganska säker på har med virus att göra. Min gamla dator lade av för kanske ett halvår sen och varje gång jag försöker starta kommer det upp svart skärm och något om att en fil i system32 är skadad och att jag ska sätta i CDn och trycka på "R" för att reparera. Funkar förstås inte och jag undrar vad fan jag kan göra, har två hårddiskar i den och det är den nya hårddisken jag vill rädda, har all min musik och alla filmer där. [sad]