2004.10.29
Beveiligingstips over virussen
by Karel Thönissen
Wat is een virus en hoe werkt een virus?
Kort samengevat is een virus een klein programmaatje dat binnendringt in een komputer, er schade aanricht en zichzelf verspreidt naar andere komputers of andere bestanden op dezelfde komputer.
Merk op dat als je een virus krijgt met bericht X je het zelf kunt verspreiden met een bericht Y. Het verspreidt zich dus niet alleen bij het doorsturen van berichten.
Encryptie van gegevens biedt in het algemeen geen bescherming tegen virussen. Encryptie moet gebruikt worden om te voorkomen dat vreemden dat bericht na onderschepping kunnen lezen. Of juist om te garanderen dat een bericht werkelijk van een bepaalde afzender afkomstig is. 
Wat zijn wormen, bommen, trojaanse paarden en DOS-aanvallen?
Een worm dringt ook de komputer binnen en verspreidt zich op dezelfde manier als een virus, maar het richt geen schade aan op die komputer. Maar een worm kan toch schadelijk zijn doordat het zoveel berichten genereert tijdens de voortplanting dat een netwerk instort. Ook kan een worm gebruikt worden om een andere komputer te bestoken met berichten, zodat deze andere machine crasht.
Een (mail-)bom dringt ook een komputer binnen, maar vermenigvuldigt zichzelf niet. Een bom wordt gericht door iemand verstuurd om een komputer aan te vallen. Het is te vergelijken met een normale bombrief.
Een trojaans paard richt in eerste instantie geen schade aan op de komputer waar het binnen dringt. Echter, de aanvaller/cracker kan op een door hem te kiezen ogenblik op de besmette komputer doen wat hij wil: schade aanrichten, andere machines bestoken met berichten of bommen, of illegale aktiviteiten uitvoeren.
Een DOS-aanval (Denial of Service Attack) is het massaal versturen van berichten aan iemand zodat diens netwerk vastloopt. Code Red is een voorbeeld van een virus waarvan de oorlogskop (payload) zorgt voor een DOS-aanval op het Witte Huis en het Pentagon.
Hoe kunnen virussen verspreid worden?
Virussen kunnen verspreid worden met elk medium waarmee programma's verspreid kunnen worden. Veel virussen hechten zich aan programma's die legitiem verspreid moeten worden. Ze plakken hun eigen virulente programmakode voor de legitieme kode, zodat wanneer we het legitieme programma willen laten uitvoeren we eerst de virulente kode uitvoeren. Het virus krijgt dan de kans om schade aan te richten en zichzelf te verspreiden. Een slim virus zorgt er daarna voor om het legitieme programma alsnog uit te voeren. Zou een virus dat niet doen, dan zou het te snel ontdekt worden en tegenmaatregelen van de gebruiker uitlokken zodat zijn kans op verspreiding sterk afneemt. Dit is net als het verschil tussen het humane ebola-virus en aids-virus. Ebola is vele malen dodelijker, maar de inkubatietijd is zo kort dat de dragers snel geïsoleerd kunnen worden. Aids daarentegen kan zich jarenlang door een populatie verspreiden voordat het zijn verwoestende werking begint.
Virussen kunnen zich verspreiden met alle media voor de verspreiding van programmatuur:
- gekochte programmatuur op CD-rom of DVD. Dit komt weinig voor, omdat goede fabrikanten er alles aan doen om te voorkomen dat zij virussen verspreiden op hun media. Bovendien DVDs en CD-roms kunnen niet door een virus geïnfekteerd worden, omdat ze alleen maar gelezen kunnen worden en niet kunnen worden beschreven. Alleen als de matrijs gebruikt bij het persen virulente kode bevat zou een fabrikant een virus kunnen verspreiden
- bestanden op floppies of CD-recordables od CD-rewritables: schijfjes bevatten tal van bestanden waaronder ook vaak programma's (te herkennen aan de uitgangen als *.exe, *.com, *.bat). De programma's op de floppy kunnen geïnfekteerd worden, of het virus kan een programma ongevraagd op de floppy plaatsen
- boot-sektoren van floppies: alle schijven hebben vooraan een soort inhoudsopgave die aangeeft hoe de floppy werkt. Dit is programmakode en die kan besmet worden
- downloads, bijvoorbeeld via het Internet: downloaden is het ophalen van een programma van een server-komputer naar je eigen personal komputer. Bij de programma's kunnen virussen zitten. Downloads zijn veel algemener dan veel mensen denken: ook plug-ins en extensions zijn programma's. Zelfs updates van virusdetektoren zijn eigenlijk programma's en kunnen besmet zijn (zou zeker niet de eerste keer zijn)
- bijvoegsels (attachments): op zich is een bijvoegsel een dokument dat je in zijn geheel aan een e-mail hangt. Je hoeft de inhoud dan niet over te typen of over te zetten en als de ontvanger ook over het programma beschikt waarmee het bestand gemaakt was, dan kan zij het dokument in al zijn glorie bekijken. Je omzeilt dus de beperkingen van de platte tekst van e-mail. Als bijvoegsels puur en alleen gegevens en/of tekst bevatten is er niets aan de hand. Er zijn echter programma's die het mogelijk maken om stukjes programmakode in dokumenten te stoppen. Die kode kan besmet worden door een virus op je komputer en zich dus via het bijvoegsel verplaatsen naar anderen. Dit probleem speelt met name bij Microsoft-pakketten (Word, Excel, Powerpoint).
Hoe werkt een virusdetektor/scanner?
Virusdetektoren passen een aantal technieken toe om virussen op te sporen. Virussen die bekend zijn bij de virusjagers kunnen herkend worden aan hun handtekening: karakteristieke instruktiekodes in het programma. Alle programma's die deze instruktievolgorde bevatten worden bestempeld als virulent en worden verder niet toegelaten in de komputer, Deze techniek werkt alleen voor virussen die al eens eerder gevonden waren.
Een andere techniek maakt gebruik van het feit dat veel virussen hun kode plakken aan legitieme programma's op een komputer. De detektor vergelijkt dan regelmatig de lengte van alle programmabestanden om te zien of er programma's tussen zitten die langer zijn geworden en dus mogelijk besmet zijn. Ook kan de detektor kontrole-tellingen houden om te zien of er met bestanden is gerommeld. Deze techniek is konceptueel erg fraai maar heeft twee beperkingen: ze werkt alleen op bestaande programmabestanden waarvan de lengte bekend is en niet voor nieuwe bestanden en ze is onmogelijk veilig te programmeren op gangbare operating systemen, omdat die zo slecht zijn geschreven dat de detektor zelf gewoon aangevallen kan worden door het virus (zoals het HIV-virus zich richt tegen het menselijke immuunsysteem).
Welke veiligheid biedt een virusdetektor?
Een virusdetektor kan:
-
bekende programmabestanden op de komputer beschermen tegen willekeurige virussen, en
-
willekeurige programmabestanden op de komputer beschermen tegen bekende virussen
Een detektor kan dus geen nieuwe virussen herkennen in nieuwe bestanden. Ook al downloaden we regelmatig de nieuwste detektor bij de leverancier (b.v. Symantec, McAffee, Norton) we lopen altijd achter de feiten aan. De detektor biedt wel bescherming maar geen inherente veiligheid. Dit probleem wordt mondiaal steeds groter: steeds meer mensen gebruiken steeds vaker het Internet, waardoor virussen steeds sneller verspreid kunnen worden. Tegenwoordig is het nog maar een kwestie van enkele tientallen uren voordat het grootste deel van de komputergebruikende mensheid besmet is met een virus. De verspreidingssnelheid neemt almaar toe, maar de snelheid waarmee detektorleveranciers anti-virussen kunnen maken neemt niet of nauwelijks toe.
Tegenwoordig laten alle virus scanners een zeer aanzienlijk aantal virussen door. Dat kan oplopen tot 30% van de bestaande virussen. Bijkomend probleem is dat er inmiddels virussen zijn die de virus scanner aanvallen en uitschakelen.

Kunnen virussen verspreid worden in bijvoegsels?
Ja, maar dat hangt af van het soort bijvoegsels. Veel bestandstypen zijn veilig omdat ze alleen maar gegevens bevatten. Maar sommige bestanden bevatten ook instrukties die uitgevoerd moeten worden door de mikro-processor. Niets kan dan nog voorkomen dat het bestand instrukties bevat om je harde schijf te wissen, een dure 06-lijn te bellen of je wachtwoorden te mailen naar een cracker aan de andere kant van de wereld.
De teksten gemaakt met de meeste tekstbewerkers en andere toepassingspakketten zijn veilig omdat de bestanden geen instrukties bevatten die door de processor nog uitgevoerd moeten worden. Uitzondering vormen de onderdelen van Microsoft-Office (Word, Powerpoint, Excel). Waar andere leveranciers een keurige scheiding hebben aangebracht tussen het toepassingsprogramma en het besturingssysteem, heeft Microsoft dit verregaand geïntegreerd. Daardoor kunnen dokumenten aktieve, geprogrammeerde content hebben of kunnen makro's allerlei handelingen automatisch doen. Vanuit een dokument kunnen we beschikken over het volledige arsenaal van instrukties die Windows ons biedt, inklusief de pendant van het kernwapen: de instrukties om harde schijven te wissen, wachtwoorden te lekken of Windows te overmeesteren. Deze instrukties worden opgenomen in het dokument en kunnen dan als bijvoegsel verstuurd worden. Als je een zo'n dokument ontvangt weet je dus niet welke gevaarlijke instrukties de afzender geprogrammeerd heeft voor uitvoering op jouw komputer. En ook al staat de naam van een vertrouwde bekende boven een e- mail, de werkelijke afzender kan een virus zijn op de komputer van de afzender.
Dat het ook anders kan bewijzen andere leveranciers die ook aktieve content toelaten in hun dokumenten zonder de gevaren van de oplossing van Microsoft. Er zijn overigens prima alternatieven voor Office: veilig, gratis en kompatibel.
Kunnen virussen verspreid worden in platte tekst?
Ja, maar dat hangt af van de gebruikte programmatuur om de e-mail te lezen.
Normaal gesproken geldt dat platte tekst gegevens zijn en nooit uitgevoerd worden als waren het instrukties voor de mikro-processor. Enige uitzondering: Microsoft-Outlook Express.
Outlook Express is zo slordig geprogrammeerd dat als sommige velden van een e-mail (bijvoorbeeld de titel of de naam van de afzender) te lang zijn, deze gegevens over bestaande instrukties in het geheugen van de komputer worden heen geschreven. Laten we aannemen dat een te lange titel wordt geschreven over de bestaande instrukties om de spelling te kontroleren. Op moment dat we dan de spelling willen laten kontroleren gaat de processor niet de oorspronkelijk instrukties uitvoeren, maar gaat het de letters uit de titel uitvoeren als waren het instrukties! Een kundige programmeur kan nu een zodanige titel schrijven dat die op moment dat de spelling gekontroleerd wordt hij willekeurige instrukties kan uitvoeren. Zie hier het simpele bouwplan voor een virusaanval.
Netscape heeft ook een aantal problemen, maar in Outlook zijn de problemen het grootst en het talrijkst. Bovendien, er zijn meer Outlook-gebruikers dan Netscape gebruikers, zodat ieder intelligente cracker zich zal richten op Outlook-virussen. Het kan lonen om af te wijken van de norm, net zo als biodiversiteit bijdraagt aan de robuustheid van een ecosysteem. Iedereen die dezelfde programmatuur heeft de gevaren van een monokultuur, waar een kleine fout/ziekte enorme gevolgen kan hebben.
Er zij ntal van veilige, gratis alternatieven voor Outlook en Outlook Express.
Wat kan ik doen tegen virussen?
Een aantal maatregelen zijn mogelijk, maar geen van de maatregelen kombineert absolute veiligheid met gebruiksgemak. Ik hoop dat deze faq de voors en tegens duidelijk maakt om zelf een geschikte keuze te kunnen maken:
- gebruik een goede virusdetektor en download regelmatig de laatste versie
-
open helemaal nooit bijvoegsels
van de gevaarlijke typen, ook niet indien ontvangen van bekenden
-
open nooit bijvoegsels van onbekenden
- mail in het Engels is bij voorbaat verdacht, die het ongezien in de prullenbak
- mail in erg algemene termen is verdacht. Een kopje 'naar aanleiding van ons gesprek' is zo algemeen dat het ook een bericht kan zijn dat door een virus is verstuurd. Kies daarom een beter kopje: 'naar aanleiding van ons gesprek in De Stip gisteren'
-
open nooit bijvoegsels van bekenden zonder een begeleidend bericht dat duidelijk maakt dat het bijvoegsel intentioneel is verstuurd door de afzender. Net als humane virussen krijg je computervirussen van bekenden!
-
gebruik een goede e-mail reader en niet een rammelend ding vol met lekken
-
gebruik een aparte komputer die niet is geplaatst in het lokale netwerk voor kommunikatie op het Internet
-
gebruik een firewall, liefst een hardware firewall van een gerenomeerde fabrikant
-
wissel nooit floppies of CDRs uit, of tenminste nooit van een verdachte machine naar een schone machine
-
gebruik een goed operating system. Het populaire systeem voldoet niet aan deze definitie!
-
Outlook en Outlook Express gebruikers moeten zo min mogelijk namen van anderen in hun adressenboek zetten. Zij lopen een groot risiko besmet te raken en dan vervolgens iedereen in het adresboek te infekteren
Nog maals ter onderstreping: virussen krijg je van bekenden, net als aids. Juist omdat je bij bekenden in het adresboek staat, is het voor een virus bij die ander eenvoudig om aan jouw mail-adres te komen en zichzelf naar je toe te sturen.
Wat moet ik doen met waarschuwingen tegen virussen?
We moeten een onderscheid maken tussen specifieke en algemene waarschuwingen.
Een specifieke waarschuwing in beperkte kring is zinvol. We kennen de opstellers voldoende goed om er op te vertrouwen dat het geen misselijke grap of kettingbrief is. Een dergelijke waarschuwing is zinvol als hij snel plaats heeft, zodat anderen bewaard kunnen worden voor de problemen. De eerste de beste die het virus konstateert moet de waarschuwing uitdoen. Alleen de eerste hoeft te reageren. Kies een titel die zeer duidelijk waarschuwt voor het virus in één van de andere berichten, zodat andere abonnees de waarschuwing hopelijk lezen voordat ze het besmette bericht lezen. Maak aan de andere kant voldoende duidelijk dat de waarschuwing specifiek is voor de beperkte groep en dus niet afkomstig is van een kettingbrief of van een virus zelf. Een goede waarschuwing zou kunnen zijn:
VIRUS in bericht 23!!!! (en de groeten aan je zoon Willem)
De ontvanger kan nu weten dat het bericht niet gestuurd is door het virus, want het virus kan de naam van de zoon niet kennen. Houdt er rekening mee dat de verzender van de waarschuwing zelf inmiddels mogelijk besmet is en open dus nooit bijvoegsels van viruswaarschuwingen!
Algemene viruswaarschuwingen moeten met heel veel voorzichtigheid gebruikt worden om een aantal redenen.
In de eerste plaats werken veel waarschuwingen als een kettingbrief. Dat leidt onvermijdelijk tot overbelasting van netwerken of zelfs tot systeemcrashes. Als in een organisatie van 50 mensen iedereen elkaar de waarschuwing gaat doorgeven door het bericht te forwarden aan alle namen in zijn adresboek dan hebben we zondermeer al 50 x 49 = 2450 berichten binnen de organisatie in zeer korte tijd. Daar komen de berichten die naar personen buiten de organisatie moeten nog bij. Vaak zijn de berichten ook nog zeer lang omdat men reageert op een reaktie op een reaktie, etc., waarbij alle eerdere geadresseerden nog steeds in de tekst vermeld staan. Dit leidt gegarandeerd tot netwerkstoringen.
In de tweede plaats bevatten de kettingbrieven vaak ellenlange lijsten met adressen van ontvangers, want men heeft het bericht gestuurd aan het hele adresboek. Jouw e-mail adres gaat nu ook het hele land door. Kettingbrieven zijn een fantastische manier om e-mail adressen te oogsten voor marketingburootjes die goedkoop uit willen zijn.
Tenslotte worden vaak virussen verspreid met viruswaarschuwingen. Waarschuwingen hebben onmiddellijk ieders aandacht, ook indien afkomstig van vreemden. Wat is dan een betere manier om een ander te besmetten dan met een leuke waarschuwing. Open daarom nooit, echt helemaal nooit, bijvoegsels aan viruswaarschuwingen. Zelfs als de waarschuwing oprecht is, is de kans reëel dat de afzender net zelf proefondervindelijk heeft vastgesteld dat hij besmet is.
|