Ius mentis Homepage | Categorieën | Lijst A-Z | Willekeurig artikel | Herpubliceren? | Over deze site | Blog | Contact
 

Besmet! Computervirussen en Trojaanse paarden

Computervirussen zijn ��n van de grootste problemen bij het gebruik van software. Een virus is een programma dat zich aan een ander programma vasthecht, en zich verspreidt wanneer de gebruiker dat programma uitvoert. Meestal voert het ook nog een of andere opdracht uit, bijvoorbeeld de harddisk formatteren op 1 april of een tekst afdrukken na honderd keer opstarten. Trojaanse paarden lijken op virussen, maar vereisen actieve tussenkomst van de gebruiker om zich te verspreiden.

Een virus is altijd maar in staat om zich op ��n platform te verspreiden. Om niet op te vallen, moet het zo klein mogelijk zijn. Dit betekent dat het speciaal geschreven moet worden voor ��n operating system. Verreweg de meeste virussen zijn gericht op Windows. De populariteit van dit OS, en de grote hoeveelheid software die er voor beschikbaar is, maken Windows een uitstekend verspreidingsterrein. En omdat er geen beveiliging in het systeem zit, kan een virus zich ongelimiteerd voortplanten. Systemen als Linux of de Mac zijn in de praktijk veel minder kwetsbaar voor virussen.

Inhoudsopgave

Voortplanting

Virussen verspreiden zichzelf door een kopie van het virus toe te voegen aan andere programma's of bestanden. Door die vervolgens te openen, wordt het virus geactiveerd.

Virale instructies

Een virus bestaat uit een paar honderd bytes met instructies. Een belangrijk deel van deze instructies heeft als doel er voor zorgen dat het virus verder verspreid wordt. Dit gebeurt door alle instructies van het virus toe te voegen aan een ander bestand. Vaak is dat een programma, maar het kan ook een bestand zoals een Word-document, een afbeelding of een filmpje zijn. Als dat bestand daarna wordt geopend, wordt het virus actief en kan het zich weer verder verspreiden. Na deze "infectie" wordt het eigenlijke programma uitgevoerd, of het bestand geopend, zodat de gebruiker niets merkt.

Boot sector virussen

Sommige virussen infecteren geen programma's, maar diskettes of harde schijven. In dat geval kopieert het virus zichzelf naar de bootsector van die disk. Verdere infectie vindt dan plaats wanneer de gebruiker start vanaf deze diskette of harde schijf. Dit soort virussen zijn veel lastiger te verwijderen, maar omdat diskettes steeds minder vaak gebruikt worden voor bestandsuitwisseling, komen deze boot sector virussen niet zo vaak meer voor.

Virus of worm?

Een virus kan zich alleen verspreiden met hulp. De gebruiker moet bijvoorbeeld een besmet programma starten of een besmet bestand openen. Een worm is een programma dat in staat is om zichzelf te verspreiden, zonder dat daarvoor enige actie van de gastheer nodig is. Meestal doen zij dat via beveiligingslekken. Lees verder in Worm-infectie - Automatisch besmet.

Opdrachten uitvoeren

Na de infectie kan het virus nog een of andere opdracht uitvoeren. Meestal gebeurt dit alleen op een bepaalde datum of wanneer aan een bepaalde voorwaarde is voldaan, omdat het virus anders te veel opvalt, of omdat verspreiding anders niet mogelijk is (bijvoorbeeld bij het formatteren van de harde schijf). Eén van de eerste virussen liet bijvoorbeeld elke paar minuten letters op het scherm naar beneden "vallen. Tamelijk onschuldig, maar zodra dit gebeurt, weet de gebruiker natuurlijk meteen dat hij dit virus heeft en kan hij maatregelen nemen.

Macro-virussen

Tegenwoordig zijn er veel anti-virusprogramma's, die constant het systeem controleren en elke wijziging aan programmabestanden opmerken en alarm slaan. Het is dus voor een normaal virus erg lastig om zichzelf te verspreiden. De nieuwste trend op het gebied van virussen richt zich dan ook niet op programma's, maar op gewone documenten.

Macro's in bestanden

Moderne tekstverwerkers en spreadsheets hebben uitgebreide macro-faciliteiten aan boord. Macro's zijn instructies die tijdens het bewerken van een document uitgevoerd kunnen worden, bijvoorbeeld in een spreadsheet om een berekening uit te voeren, of in een tekstverwerker om het invullen van een formulier te vergemakkelijken.

Een virus als macro

Het is mogelijk om een macro uit te laten voeren wanneer het document geopend wordt. Dit is natuurlijk handig voor een macro-virus. Elke keer als de gebruiker het document opent, wordt het macro-virus uitgevoerd en kan het zich bijvoorbeeld kopieren naar een ander document. Als het zich aan een sjabloon (template) kan hechten, worden vervolgens alle documenten die met dat sjabloon zijn gemaakt, automatisch geinfecteerd.

Macro-virussen zijn lastiger op te merken, omdat gewone bestanden regelmatig gewijzigd worden. Alleen een controle op wijzigingen is dus onvoldoende.

Trojaans paard

Een Trojaans paard is geen virus, maar is er wel nauw aan verwant. Het kopieert zichzelf niet, maar heeft de hulp van de gebruiker nodig om zichzelf te verspreiden. Het komt meestal in de vorm van een handig hulpprogramma, leuke screensaver of als zogenaamde upgrade. Als de gebruiker het uitvoert, kan het paard het systeem infecteren.

Het grote voordeel dat Trojaanse paarden hebben boven virussen is dat ze veel groter kunnen zijn. Een upgrade van een megabyte is voor de meeste mensen normaal, dus een nep-upgrade van een megabyte valt niet op tussen de legitieme upgrades. Een virus van een megabyte daarentegen zal al snel de aandacht trekken.

Zowel virussen als Trojaanse paarden zijn een groot probleem bij de beveiliging van systemen. Virussen zorgen er voornamelijk voor dat een systeem onbruikbaar wordt. Trojaanse paarden laten anderen van het systeem gebruik maken. Bestrijding gaat in beide gevallen op dezelfde manier: download nooit software bij een onbekende bron, controleer altijd de gedownloade code met een virusscanner en installeer niets tenzij vaststaat dat er sprake is van een legitiem programma, en dat dit de juiste versie is, en niet een aangepaste.

Anti-virus

Virussen zijn te detecteren door in de gaten te houden of bestanden worden gewijzigd. Een anti-virusprogramma kan ook zoeken naar de "vingerafdruk" of signatuur van een virus. Elk virus is uniek en is daarmee te herkennen.

Controle op wijziging

Een virus moet zich aan andere programma's vastplakken om zich te kunnen verspreiden. Dit betekent dat deze programma's gewijzigd worden. De manier om virussen te detecteren is dus door programma's te controleren op wijzigingen. Vrijwel alle virusdetectieprogramma's werken dan ook op deze manier.

De meest voorkomende aanpak is het genereren van een lijst met "checksums" van alle bestanden. De checksum is een code die uniek is voor het bestand waar hij bij hoort. Hij wordt berekend door alle bytes in het bestand op een bepaalde manier te combineren. Wijzigingen aan het bestand leveren een andere checksum op. Door vervolgens te controleren of de checksum van het programma nog overeen komt met de waarde in de lijst, kan worden vastgesteld of het bestand besmet is met een virus.

Het nadeel van deze methode is dat je bij het genereren van de lijst er zeker van moet zijn dat het systeem geen virussen heeft. Een checksum kan immers alleen aantonen dat een bestand gewijzigd is, maar als het al geinfecteerd was voor de generatie van de lijst, zal de checksum nooit wijzigen. Ook zijn de meeste checksum-algoritmes niet erg robuust. Het is vaak mogelijk om een bestand te wijzigen terwijl de checksum toch nog dezelfde is.

Signatuur van virussen

Een andere manier om virussen te detecteren, is door te controleren of hun "signatuur" ergens in een bestand voorkomt. De "signatuur" is een stukje code van het virus dat altijd hetzelfde is. Dit kan bijvoorbeeld het stukje code zijn dat het virus naar een ander programma kopieert, of het stukje code dat de harddisk formatteert. Een soort van vingerafdruk of DNA van een virus dus.

Als dit stukje code in een programma wordt aangetroffen, is het vrijwel zeker dat dit programma besmet is met dat virus. Het grootste nadeel van deze methode is dat de signatuur van het virus bekend moet zijn. Dit werkt dus alleen tegen bekende virussen, niet tegen nieuwe. Ook zijn er virussen die hun eigen code aanpassen bij elke kopie, zodat er geen vaste signatuur voor te vinden is.

Controleren van instructies

Een derde methode is het controleren van de instructies die een programma uitvoert. Als bijvoorbeeld achteraan een programma een serie instructies zit die een stukje van het programma zelf kopieert naar een ander bestand, of het programma bevat instructies die de harde schijf formatteren, dan is het waarschijnlijk een virus. Het kan natuurlijk ook een formatteerprogramma zijn.

Dit soort heuristieken zijn niet onfeilbaar. Ook een formatteerprogramma bevat instructies om de harde schijf te formatteren, om eens wat te noemen. Maar er zijn maar weinig legitieme redenen voor een programma om zichzelf te kopiëren naar andere bestanden. Daarmee is deze methode toch goed geschikt om je te beveiligen tegen onbekende virussen.

Combinatie van methoden

Goede anti-virusprogramma's bieden een combinatie van alle drie deze methoden. Met alle drie de methoden is het vrij zeker dat elk virus gedetecteerd wordt als het probeert het systeem te infecteren. Enige zorgvuldigheid is hierbij wel noodzakelijk. Genereer de checksums het liefst direct na het installeren van het OS, en controleer alle gedownloade bestanden voordat ze geinstalleerd worden.

Veilige bron?

De meeste mensen denken dat een programma downloaden van de officiele bron voldoende beveiliging is tegen virussen en andere schadelijke dingen. Helaas is dit niet altijd zo. Er zijn genoeg gevallen bekend van software-distributeurs die hun nieuwe programma verspreidden terwijl er een virus op zat. Ook geïnfecteerde shareware-CDROMs komen helaas nog altijd voor. Wie eenvoudigweg alles controleert voordat hij het installeert, zal vrijwel alle virussen tegenhouden voor ze de kans krijgen zijn systeem te infecteren.

TIPS

  1. Download software alleen van de offici�le bron, en controleer altijd eerst op virussen voordat de software wordt geinstalleerd.
  2. Open nooit zomaar documenten die van een ander afkomstig zijn. Gebruik liefst een "viewer" in plaats van een tekstverwerker, omdat deze geen macro-faciliteiten heeft. Wie Word documenten in e-mail direct opent met Word, loopt een hoge kans besmet te raken met macro-virussen. Het volledig uitschakelen van macro's is natuurlijk ook een optie.
  3. Controleer het hele systeem regelmatig op virussen met een uitgebreide controle. Het is het veiligste om dit te doen nadat van een "schone" diskette of originele rescue CD wordt opgestart, omdat alleen zo ook infecties aan Windows zelf te detecteren zijn. De meeste anti-virusprogramma's hebben hiervoor de mogelijkheid.
  4. Download regelmatig de laatste upgrade van de gebruikte anti-virusprogramma's. Hiermee zijn ook de nieuwste virussen te detecteren en te verwijderen.
  5. Zorg er voor dat alle belangrijke diskettes en tape-backups schrijfbeveiligd zijn. Na een infectie is het noodzakelijk om alles opnieuw te kunnen installeren vanaf een vertrouwde en schone bron. Tape-backups die dateren van na de infectie zijn niet te vertrouwen en moeten niet gebruikt worden.

Gerelateerde artikelen

Gespecialiseerd advies nodig?

Heeft u na het lezen van dit artikel nog vragen, of zit u met een juridisch probleem waar u advies over wilt? Neem dan contact op met ICT-jurist Arnoud Engelfriet, auteur van dit artikel.

© Arnoud Engelfriet. Dit werk mag vrij worden verspreid en gepubliceerd zoals bepaald in de licentievoorwaarden.

Laatste wijziging:
6 november 2018