Dit hoofdstuk behandelt de twee meest gebruikte toepassingen van het Internet, namelijk het World Wide Web (WWW) en e-mail. Twee toepassingen die de laatste jaren sterk in opkomst zijn als communicatiemiddel. Ze zijn snel, goedkoop, handig en vrij gemakkelijk in het gebruik. Helaas zijn er naast deze voordelen ook nadelen aan verbonden, met name op het gebied van de veiligheid. Naast het beschrijven van deze gevaren, zal er ook de nodige aandacht besteed worden aan de beveiliging.
Het World Wide Web (WWW) is een van de populairste stukken
van het Internet. Wanneer iemand een pagina op het WWW wil bekijken, surft hij
vanaf zijn eigen computer naar die pagina toe. Dit surfen betekent dat hij een
zogenaamd webrequest (verzoek om een bepaalde Internetpagina) verstuurt naar de
computer waar de pagina op staat. Dit webrequest bevat een verwijzing naar de
pagina. De computer waaraan dit request is gericht geeft de gevraagde pagina
aan de computer van de ge�nteresseerde. Dat gebeurt via allerlei commando's van
het HyperText Transfer Protocol (HTTP): het protocol dat computers gebruiken om
met elkaar te praten over het WWW. De browser (een programma dat je nodig hebt
om over het WWW te surfen, bijvoorbeeld Netscape of Internet Explorer) kan in
HTTP allemaal headers meegeven met gegevens over computer, operatingsystem en
dergelijke. Headers zijn gegevens die voorafgaan aan het eigenlijke bericht
(bijvoorbeeld "ik ben Netscape versie 4.05, draai onder Windows 95 en mijn
monitor heeft een resolutie van 800x600"). Dan geeft de machine waar de
pagina op staat eerst het een en ander aan informatie terug zoals de grootte
van het bestand, en of het tekst of plaatjes bevat. De pagina en de
programmatuur van de gebruiker worden zo beter op elkaar afgestemd.
Om het WWW sneller te maken worden er door Internet-ServiceProviders (ISP's,
dit zijn de organisaties die toegang geven tot het Internet) zogenaamde proxies
neergezet. Proxy-machines zijn computers die opgevraagde pagina's op hun eigen harde
schijf zetten en deze enige tijd bewaren. Wanneer een andere gebruiker dezelfde
pagina daarna opvraagt, haalt de provider deze vervolgens van de proxy om
sneller te kunnen functioneren. De proxy-machine kijkt op de originele lokatie
van de pagina aan de hand van de datering of een pagina nog veranderd is en
beslist vervolgens of hij hem opnieuw moet ophalen of niet. Moderne proxies
gaan er echter van uit dat er een aantal minuten niets verandert, tenzij er met
de pagina een code is meegegeven dat de pagina na een bepaalde tijd niet meer
bruikbaar is.
Een browser heeft zelf ook een ingebouwde cache. Dat is ruimte op de harde
schijf waar door de browser opgevraagde pagina's worden opgeslagen. Wanneer
deze pagina korte tijd later nogmaals bekeken wordt hoeft de browser hem niet
meer op te halen maar pikt hij hem van de harde schijf. Wanneer je zeker wilt
weten dat je de laatste versie van een pagina krijgt, kan je �f je cache en
proxies uitzetten �f op je browser de combinatie shift-reload gebruiken. Dan haalt
het programma de pagina direct op van de oorspronkelijke lokatie.
De modernste proxy is de inline-proxy. Deze machine onderschept elk webrequest
om het toch via de proxy te laten lopen. Ook al zijn de proxies uitgezet in de
browser.
Een voorbeeld van de nadelen van proxies geeft het Electronic Disturbance Theatre.
Deze elektronische actiegroep had een programma geschreven dat in hoog tempo
steeds de pagina's van de Mexicaanse regering ophaalde, in een poging de server
van de regering stil te leggen. Ze waren echter vergeten dat deze pagina's het
grootste deel van de tijd uit hun eigen cache of de proxy van hun provider
werden opgehaald, waardoor de Mexicaanse overheid weinig tot niets van hun actie
heeft gemerkt. Alleen de proxy-server van hun eigen provider raakte overbelast.
Een ander nadeel van proxies is dat de bezoekersaantallen van een pagina niet
meer goed kunnen worden geteld.
Java en Javascript zijn extra computertalen die in moderne
browsers zitten ingebakken. Java is een extra reeks commando's die strikt
binnen de browser functioneert, Javascript maakt het mogelijk dat echte
onafhankelijke programmaatjes buiten de browser worden opgestart. Deze
programmaatjes gaan lopen op de computer zelf, maar blijven in een afgeschermde
ruimte om te voorkomen dat er dingen op de computer gebeuren die niet de
bedoeling zijn.
Dat is de theorie. In de praktijk komt het echter nog al eens voor dat er
fouten in de mogelijkheden van Javascript worden ontdekt, waardoor er
programmaatjes geschreven kunnen worden, die zich wel buiten deze
"zandbak" weten te wurmen.
De bekende browsers reageren hier altijd heel snel op met het uitbrengen van
een nieuwe versie van hun programmatuur, waarin dit lek is gedicht. Het is dus
aan te raden altijd de meest recente versie van een programma te installeren.
De standaardmogelijkheden van Java laten echter genoeg privacy-schending toe.
Iedereen kan bijvoorbeeld de recente browse-geschiedenis van een bezoeker van
een homepage opvragen.
Daarnaast zijn Java en Javascript zo veilig als bekend is. Wanneer iemand een
lek ontdekt en dat niet bekend maakt, kan die persoon er misbruik van maken.
Wanneer je dus een zo hoog mogelijke veiligheid nastreeft, is het slim Java en
Javascript uit te zetten. Maar dat heeft alleen zin wanneer je echt gevaarlijk
bezig bent, want het maakt het surfen er niet gemakkelijker op.
Een functie van het WWW die vaak wordt gezien als een veiligheidsrisico zijn cookies. Cookies zijn gegevens die via je browser van buitenaf in het bestand cookies.txt op de harde schijf van een computer kunnen worden gezet bij het bezoeken van een homepage. Het gaat meestal om een code of een lang getal. Deze cookies worden op verzoek teruggegeven aan de site waar ze vanaf komen. Cookies kunnen worden aan- en uitgezet in een browser. Een typisch, onschuldig gebruik van cookies is dat een homepage zo kan "onthouden" welke achtergrondkleur een bezoeker graag wil hebben, door een cookie te schrijven met dit gegeven erin. Ook kan een winkelsite zo een winkelwagentje of klantnummer aan een bezoeker toekennen. Dan wordt door een cookie onthouden welk wagentje de bezoeker heeft. Dat er echte privacy-schendingsaspecten aan cookies zitten, is nog niet aangetoond. Cookies zijn een noodzakelijk kwaad, want ondanks dat ze van buitenaf onduidelijke codes op je harde schijf kunnen zetten, maken ze het browsen wel gemakkelijker. Het is mogelijk om bijvoorbeeld in een cookie aan te geven dat iemand een formulier al een keer heeft ingevuld, waarmee toegang wordt verkregen tot een bepaalde site. Hiermee wordt voorkomen dat je eindeloos hetzelfde formulier in moet vullen. Een ander bekend gebruik is dat van Doubleclick.com. Dit bedrijf plaatst cookies via allerlei populaire sites (onder andere door alle grote zoekmachines) om een een zo volledig mogelijk beeld van het surf-gedrag en de interesses van Internet-gebruikers te krijgen. Deze informatie gebruikt Doubleclick.com weer om zo effectief mogelijk advertenties te plaatsen.
Mocht je niet willen dat er van buitenaf codes op je harde schijf worden gezet dan kan je de cookies-optie uitzetten of de binnenkomende cookies op laten eten door een cookie-eter. Het voordeel van dit laatste is dat een pagina die bezocht wordt dan denkt dat zijn cookies worden geaccepteerd en dat is voor sommige pagina's verplicht. De programma's Junkbuster, Cookiemonster en Anonymous Cookie eten cookies op. Junkbuster verwijdert bovendien alle advertenties van de pagina's die worden bekeken en geeft valse informatie over de computer bij het verzenden van een webrequest.
Niet alleen de gebruikers maar ook de aanbieders hebben
problemen met het WWW. Een voorbeeld hiervan zijn illegal characters.
Het komt regelmatig voor dat een bezoeker van een homepage gegevens (naam,
adres, e-mailadres) kan intypen op een webpagina. Deze gegevens worden door de
webpagina zelf omgezet in UNIX-computertaal zodat de computer waar de webpagina
op staat, weet wat er moet gebeuren. In UNIX worden twee commando's gescheiden
door een puntkomma. Wanneer de bezoeker nu een puntkomma in de ingevoerde data
verwerkt kan het zijn dat de gegevens na de puntkomma als nieuw commando worden
gezien. Als de bezoeker na deze puntkomma dus een commando invoegt waarmee
gegevens worden veranderd op de WWW-server, is het op eenvoudige wijze mogelijk
om de server te hacken.
Een ander probleem zijn CGI-scripts. Dit zijn programma's die door een
webpagina kunnen worden aangeroepen en op de computers van de Internet-provider
draaien. Een voorbeeld hiervan zijn de tellers die op veel pagina's het aantal
bezoekers registreren of zoekmachines die een website kunnen doorzoeken. De
meeste providers geven toestemming om een aantal geselecteerde CGI-scripts te
draaien die zij zelf hebben goedgekeurd. De nadelen van CGI-scripts zijn
namelijk dat het een enorm beslag legt op de beperkte geheugen-capaciteit van
de provider en dat er oncontroleerbare hack- en virusmogelijkheden zijn.
Er zijn in principe twee soorten e-mailprogramma's:
mail-clients, zoals Eudora, Outlook, Pegasus enz. en Mail Transfer Agents
(MTA).
Mail-clients halen en versturen de mail van de gebruiker. MTA zorgt voor het
versturen van mail van de ene computer naar de andere.
Een mail-client haalt de mail van en gebruiker op bij de POP-server (Post
Office Protocol). Op een POP-server staat de inkomende mail van iedereen die
een account heeft bij desbetreffende provider. De mail-client vertelt de
POP-server dan meestal dat de mail die opgehaald is, meteen kan worden
weggegooid. Op de POP-server blijft de mail nog enkele uren staan waarna het
ook daar weggegooid wordt. Als je een belangrijk mailtje kwijt bent, kan je dus
heel snel je provider zien te bereiken (vaak gaat dat via e-mail sneller dan
via de telefonische helpdesk), anders is het voorgoed weg.
Mail die je ontvangt staat in leesbare taal op disk. Deze mail heeft z'n weg
gevonden naar jou omdat iemand anders het via een mail-client heeft afgeleverd
bij een MTA, dat altijd werkt met het protocol SMTP (Simple Mail Transfer
Protocol). Een SMTP-server is, in verhouding tot een POP-server, iets minder
groot, aangezien hij een bericht direct doorstuurt en een POP-server berichten
moet opslaan totdat een gebruiker ze heeft opgehaald.
Een voorbeeld :
Jopie stuurt een mailtje naar Maria. De mail-client van Jopie (bijvoorbeeld Outlook) stuurt het mailtje naar de SMTP-server die de uitgaande post van Jopie behandelt, die stuurt het meteen door naar de SMTP-server die de ingaande post van Maria behandelt, en die stuurt het meteen door naar de POP-server, waar het blijft staan tot Maria het bericht ophaalt.
Er is een duidelijk onderscheid tussen het gericht zoeken en
het 'in het wilde weg' zoeken op het net. Bij het gericht zoeken wordt
bijvoorbeeld alleen mail onderschept van een persoon of groepering of wordt er
een bepaalde computer afgeluisterd. Bij het "in de wilde weg" zoeken
wordt er gewoon gekeken of men iets interessants tegenkomt.
Dit laatste is voor een kleine onderzoeker of ge�nteresseerde particulier
natuurlijk een onmogelijke klus, maar voor een organisatie als de Amerikaanse
NSA, met een jaarbudget dat in de miljarden loopt is het natuurlijk al een stuk
eenvoudiger (zie hoofdstuk vier).
Een relatief eenvoudige manier voor politie en inlichtingendiensten om aan
gegevens van een bepaald persoon te komen, is om bij een provider aan te
kloppen met een rechterlijk dwangbevel in de hand : "Wij willen alle
gegevens van persoon X inzien".
De gebruiker merkt hier niks van, de provider maakt wat aanpassingen in de
configuratie-files, en alle mail van die gebruiker verdwijnt ook keurig in het
"bakje" van de desbetreffende dienst.
De Wet
Computercriminaliteit staat toe dat de politie en inlichtingendiensten
alles krijgen wat iemand op een bepaalde plek heeft opgeslagen, dus ook de mail
en alle files. De wet staat alleen het naar de toekomst gericht tappen, dus
tappen van dingen die nog moeten gebeuren, niet toe (overigens ligt er op dit
moment een nieuw wetsvoorstel bij de minister waarin dit wel mogelijk is).
Wat met name voor politie en inlichtingendiensten interessant is, is een
kijkje in de logfiles van een gebruiker. De logfiles zijn een soort computerdagboek.
Providers houden logfiles bij van alle gebruikers. Daarin staat eigenlijk alles
wat jij via hun computer doet, naar wie je mail hebt gestuurd, wanneer je welke
Internetsites hebt bekeken enzovoort.
Door de logfiles te bekijken is het erg gemakkelijk om een
"verkeersanalyse" te maken : wie heeft contact met wie? in wat voor
onderwerpen is deze persoon ge�nteresseerd? enzovoort.
Je moet er altijd rekening mee houden, wie je ook belt, dat er logfiles zijn
waar in staat dat jij degene bent die gebeld heeft. Als die logfiles niet bij
de provider staan, staan ze wel bij de PTT. En dan maakt het niet uit of je je
nummer afschermt of niet. Ga er maar van uit dat de PTT "tot in de
eeuwigheid" alle logfiles heeft met de a-nummers, dit zijn de nummers van
wie er gebeld heeft, de "b-nummers", dit zijn de nummers van wie er
gebeld werd, de gespreksduur en alle verdere technische gegevens van dat
gesprek. Dit soort gegevens is natuurlijk opsporingsgoud. Het eerste wat
politie en inlichtingendienst willen van een telefoonmaatschappij zijn deze
data. De gegevens van een jaar passen binnenkort op een DVD (opvolger van de
CD), dus praktisch gezien is er ook geen al te groot probleem meer.
Een laatste mogelijkheid om achter informatie over bijvoorbeeld een gebruiker
te komen is natuurlijk door middel van het hacken van een provider.
Namaakanonimiteit betekent dat degene aan wie jij een e-mail stuurt niet kan
zien dat jij het verstuurd hebt, maar dat wel te achterhalen is dat de mail van
jou komt. Wat bijvoorbeeld veel gebruikt wordt zijn bepaalde websites waar je
in klare taal contact mee legt, en waar je dan anoniem een tekst in kunt vullen
die een programma dan voor je verstuurt. Als de ontvanger dan bijvoorbeeld een
aanklacht tegen de zogenaamde anonieme verstuurder van dit mailtje indient, is
het voor justitie vervolgens erg gemakkelijk om deze verstuurder te traceren.
Namaakanonimiteit geldt ook voor allerlei mailverzendprogramma's onder Windows,
waar je je eigen "from :"-adres in kunt vullen en je eigen machinenaam.
Voor een provider en dus ook voor justitie is het echter erg eenvoudig om na te
gaan wie de verzender is geweest.
Ook via het lezen van mailheaders kun je relatief makkelijk een verstuurder
terug traceren. Je kunt terugvinden van welke provider de e-mail afkomstig is,
op welk tijdstip het verstuurd is en vanaf welk IP-nummer. Tijdstip, het
IP-nummer en vaak ook nog een telefoonnummer zijn in de log-files van een
provider direct terug te herleiden naar een login-naam.
Als je zelf wilt weten waar je mail ongeveer vandaan komt kan je de headers van
een bericht van onder naar boven lezen. De onderste headers geven de bron van
het bericht aan en de bovenste de bestemming. Daar tussenin staat de afgelegde
route.
Naast bovenstaande problemen die zich bij e-mail voor kunnen doen zijn er
nog twee gevaren die niet onvermeld mogen blijven : mailinglists en virussen.
Mailinglists zijn distributieprogramma's die berichten of elektronische kranten
en tijdschriften verspreiden over een groot aantal ontvangers. Behalve de
standaard e-mailproblemen hebben mailinglists nog een probleem; het is soms
mogelijk te achterhalen wie de abonnees van een mailinglist zijn. In oudere
maillinglist-programma's is het opvragen van een ledenlijst vaak een
standaardoptie die niet uitgezet kan worden. Tegenwoordig kan een
lijstbeheerder deze optie wel uitzetten en gebeurt dit meestal ook. Daar staan
echter weer allerhande trucs tegenover. Zo kan je in de header van een bericht
een code meegeven die door het mailprogramma van de ontvanger bevestigd moet
worden. Dan ontvang je dus automatisch de e-mailadressen van de abonnees die de
e-mail ontvangen hebben. Veel mailinglist-software haalt deze codes er
tegenwoordig dus ook uit.
Virussen kan je alleen krijgen via programma's en Word-documenten. Wanneer je
wilt voorkomen dat je een computervirus binnenhaalt is het belangrijk altijd
een recente virusscanner op je computer te hebben en daarmee bestanden die je
binnenhaalt te scannen. Het is verstandig om bestanden van dubieuze herkomst
sowieso niet te openen. Kwalitatief zijn alle bekende virusscanners
vergelijkbaar, alleen de standaard met Windows meegeleverde scanner schijnt
slecht te zijn.
Er is echter nog een andere mogelijkheid om virussen binnen te halen. Via
buffer-overflows slaat een programma ontvangen data in je computer op in
stukjes geheugen die daarvoor gereserveerd zijn, zogenaamde buffers. Als een
programma slecht geprogrammeerd is, hebben die buffers vastgestelde groottes.
Dat brengt het volgende risico met zich mee: een mailprogramma ontvangt een
attachment (bijlage) en reserveert voor de naam van het attachment 1024
karakters geheugenruimte. Wanneer de echte naam maar 500 karakters in beslag
neemt kan de zender van de e-mail de resterende 524 karakters gebruiken om extra
data mee te sturen. Met deze data kan bijvoorbeeld een stukje bestaande
Windows-programmatuur overschreven worden. Hiermee kan je de computer
opdrachten laten uitvoeren die niet de bedoeling zijn. Je kan bijvoorbeeld
zorgen dat een meegestuurd programma wordt gestart en daarmee een veel
ingewikkelder virus aanzetten of een hacktool installeren. In nieuwe versies
van mailprogramma's is dit niet meer mogelijk, maar in minder recente (ouder
dan een half jaar) zitten wel dergelijke lekken, voor zover ze al bekend zijn.
Naast gewone virussen bestaan er hacktools zoals Back Orrifice en Netbus. Die
programma's zijn geschreven om je computer van buitenaf toegankelijk te maken.
Wanneer je bijvoorbeeld thuis wilt werken en toegang wilt hebben tot je PC op
kantoor kan dat handig zijn. Back Orrifice en Netbus zijn echter bijzonder goed
te misbruiken. Buitenstaanders kunnen ze ook op je computer zetten om daarna
onbeperkte toegang te hebben. Hacktools kunnen bijvoorbeeld verstopt zitten in
programma's die als attachment mee worden gestuurd met e-mail. Recente
virusscanners herkennen deze programma's en kunnen ze verwijderen al zijn het
strikt genomen geen virussen. Beter is het nog om onvertrouwde of onbekende
attachments direct weg te gooien en geen onduidelijke programma's van onbekende
sites te downloaden. Virusscanners: McAfee
Virusscan, F-Secure, E-safe en Norton.
Naast het WWW en e-mail heeft het Internet nog een aantal andere diensten dat veelal dezelfde veiligheidsproblemen heeft als eerder geschetst. Een paar mogelijkheden verdienen echter nog extra aandacht.
IRC of Internet Relay Chat is een elektronische babbelbox.
Op een bepaald kanaal kunnen gebruikers inloggen en met elkaar praten over een
bepaald onderwerp. Er zijn honderd � tweehonderd IRC-servers over de wereld
(waarvan er circa vijf in Nederland staan) die verbonden zijn met elkaar en dit
babbelverkeer regelen.
Om mee te babbelen moet een gebruiker op een server inloggen onder een
nickname. Dan kiest hij voor een bepaald netwerk en voor een kanaal. Er zijn
zes verschillende IRC-netwerken en deze netwerken zijn weer onderverdeeld in
kanalen, meestal met een bepaald thema. Iedereen kan ook zelf een kanaal
beginnen over een bepaald onderwerp of om met een aantal bekenden te praten.
Dit lijkt een redelijk overzichtelijke wereld, waarop niet al te veel
privacy-inbreuk kan plaatsvinden. Schijn bedriegt echter.
Als een aantal gebruikers op een kanaal zit, zijn zij allemaal zichtbaar
aanwezig. Onzichtbare aanwezigen kunnen echter ook meeluisteren. De beheerders
van ��n van de IRC-servers kunnen onzichtbare meeluisteraars installeren.
Bovendien kunnen beheerders precies zien wie er op het IRC-netwerk zitten en
bijvoorbeeld ook naar ��n of meerdere personen op IRC zoeken.
IRC heeft daarnaast dezelfde problemen als bijvoorbeeld e-mail. Er kan dus
mogelijk virusbesmette bestands-overdracht plaatsvinden. Bovendien is het
berichtenverkeer niet versleuteld en dus mee te lezen. Het is erg gemakkelijk
om een gesprek af te luisteren. Het is publiekelijk bekend wie met wie waarover
praat. Als laatste waarschuwing is het natuurlijk goed om te bedenken dat
iemand zich als iemand anders kan uitgeven, een op sex beluste oude man als
jonge knappe student, een BVD-er als RAF-sympathisant of een klein kind als
ge�nteresseerde in marihuana.
Wat een zekere veiligheid geeft, is binnen IRC een DCC (Direct Client to
Client) verbinding aangaan. Dan nemen twee babbelaars elkaar even apart. Dat
loopt niet meer via het IRC-netwerk, maar via een directe verbinding tussen de
twee deelnemers. Hiermee zijn de directe IRC-bedreigingen afgewenteld, maar het
berichtenverkeer blijft natuurlijk onversleuteld.
ICQ (I Seek You) is een IRC-kloon. Het maakt echter geen
gebruik van een server-netwerk, maar van ��n server. Deze server regelt veel
minder dan IRC. Het berichtenverkeer loopt direct van gebruiker naar gebruiker
en de ICQ-server houdt alleen bij waar de diverse gebruikers zich op het
Internet bevinden en laat veel meer over aan de software op de computer van de
gebruiker. Deze software houdt bijvoorbeeld zelf bij met wie hij in gesprek is
tijdens een chat.
Ook ICQ heeft veiligheidsproblemen. Er kan heel makkelijk allerlei informatie
opgevraagd worden over iemand met een ICQ-nummer bij de maker van ICQ,
Mirabillis. Je kan bovendien achterhalen wanneer iemand ICQ draait op zijn
computer, verbinding maken met die computer en het ICQ-nummer vragen.
Vervolgens kan je bij Mirabillis de gegevens opvragen.
Verder zijn er in het verleden een aantal beveiligingsproblemen geweest met de
software die allerlei rottigheid mogelijk maakten. Zo konden bijvoorbeeld heel
gemakkelijk wachtwoorden van gebruikers opgevraagd worden of kon de
ICQ-identiteit van iemand worden overgenomen om vervolgens zijn berichten te
ontvangen.
ICQ heeft dus privacy-, beveiligings- en authentificatie-problemen en is
ongecrypt. Het is dus af te raden om dit programma te gebruiken als je gesteld
bent op enige vorm van privacy.
�