home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Black Box 4
/
BlackBox.cdr
/
virusers
/
tbscan23.arj
/
TBSCAN.DUT
< prev
next >
Wrap
Text File
|
1991-05-01
|
48KB
|
1,049 lines
Documentatie voor TbScan v2.3
Reglementen met betrekking tot gebruik en distributie van TbScan
----------------------------------------------------------------
Het programma TbScan alsmede de begeleidende documentatie is
FREE-WARE. Dit betekent kortweg dat het programma onder de
copieerrechten van ESaSS valt, maar gratis gebruikt en verspreid
mag worden zolang onderstaande regels in acht worden genomen:
+ Het programma mag door iedereen worden gebruikt, ook door
commerciele instanties zoals bedrijven.
+ Voor de distributie en verspreiding van het TbScan programma
mogen geen administratie en/of verzendkosten worden berekend
die het bedrag van Fl 7,50 overschrijden.
+ Het programma mag niet worden geleverd tesamen, of als deel van
een commercieel pakket.
+ Verspreiding van het programma mag alleen geschieden indien
zowel het programma als de documentatie ongewijzigd zijn, en
mits het gehele pakket wordt geleverd. Het programma mag dus
niet los van deze documentatie worden verspreid.
+ ESaSS aanvaart geen enkele verantwoordelijkheid voor het niet
of slecht functioneren van het programma.
+ ESaSS kan nimmer aansprakelijk worden gesteld voor schade,
direct of indirect voortvloeiende uit het gebruik van TbScan.
+ Gebruik van TbScan betekent dat u accoord gaat met deze
bepalingen.
Beschrijving TbScan
-------------------
TbScan is een programma dat werd gemaakt om virussen, Trojan Horses
en andere bedreigingen van uw kostbare gegevens op te sporen en te
identificeren. Het is een zogenaamde virusscanner.
Een virusscanner is een programma dat naar een vooraf bepaalde
tekenreeks in programma's kan zoeken. De meeste virussen bestaan
uit een unieke tekenreeks, zodat we aan het al dan niet voorkomen
van de tekenreeks kunnen zien of een programma is besmet.
Door alle programmabestanden op uw machine af te zoeken naar de
tekenreeksen van alle reeds geidentificeerde virussen kan op een
eenvoudige manier worden vastgesteld of uw systeem is besmet en zo
ja, met welk virus.
Er bestaan inmiddels veel virusscanners. TbScan heeft echter een
aantal belangrijke unieke eigenschappen. Deze eigenschappen zijn:
+ TbScan doet zijn werk razendsnel.
De meeste virusscanners zijn helaas geen snelheidsmaniakken.
Het is belangrijk dat een virusscanner zo snel mogelijk klaar
is, omdat u nou eenmaal tot de mensen behoort die geen zin
hebben om een kwartier lang naar een beeldscherm te gaan zitten
staren. Kost het draaien van een programma te veel tijd, dan
wordt dat programma gewoon minder vaak gedraaid. En de beste
virusscanner is nu eenmaal waardeloos als u hem niet gebruikt.
Er is daarom speciale aandacht besteed aan de snelheid van het
programma. Het resultaat is dat TbScan gemiddeld tien maal
sneller zijn werk doet dan andere virusscanners.
Deze fabelachtige snelheid wordt bereikt dankzij vier
maatregelen:
1) Het programma is geheel in assembler geschreven.
2) Het programma gebruikt de verouderde doch snellere FCB
functies van DOS.
3) De signature-zoek routine is zeer geoptimaliseerd en maakt
gebruik van speciale algoritmen.
4) Het programma leest niet het gehele bestand, maar slechts
het deel waarin virussen zouden kunnen voorkomen. Dit kan
veilig gebeuren dankzij een ingebouwde interpreter die
uitzoekt hoe een programma is opgebouwd. Achterin dit
bestand kunt u meer lezen over deze interpreter.
+ TbScan kan buiten reeds in het geheugen actief zijnde virussen
om werken. Dit via een ingebouwde automatische debugger!
Veel virussen zijn geheugenresident, wat wil zeggen dat ze zich
in het geheugen van uw machine nestelen. Daar kunnen ze een
grote macht uitoefenen over alle draaiende programma's. Er
bestaan inmiddels virussen die een programmabestand
onmiddellijk "desinfecteren" zodra er gepoogd wordt het in te
lezen. Een virusscanner die een programmabestand ter controle
inleest constateert dan (op dat moment terecht) dat het bestand
niet is geinfecteerd. Nadat het is ingelezen wordt het
programmabestand echter weer direct besmet. Kortom,
virusscanners melden dat uw machine geen virus heeft opgelopen,
terwijl het er wel degelijk is.
TbScan biedt een unieke oplossing voor dit probleem: Het bezit
een automatische debugger die tijdens het opstarten zich
"single stepping" door de interrupt keten heen werkt tot het de
DOS programmacode bereikt. Het slaat het dan gevonden adres op
en gebruikt daarna voor het inlezen van bestanden dit adres.
Virussen zullen dan ook niets te zien krijgen van de
handelingen die TbScan verricht.
+ TbScan is volledig programmeerbaar door middel van een
databestand.
Virussen verspreiden zich vaak snel. Er is vaak geen tijd om na
de ontdekking van een nieuw virus een virusscanner om te bouwen
zodat het ook dit nieuwste virus herkent. Daarom gebruikt
TbScan een databestand waarin de tekenrijen van de virussen
staan. Dit bestand kan snel worden aangepast, eventueel door u
zelf naar aanleiding van een bericht via de media. TbScan
ondersteunt onder andere het formaat dat wordt gebruikt in het
bestand "virscan.dat". Dit bestand wordt regelmatig aangepast
en is op veel databanken te verkrijgen.
+ TbScan ondersteunt jokers in de zoekreeks.
Veel virussen versleutelen zichzelf, zodat de tekenreeks er
iedere keer anders uitziet. Er is echter een deel van het virus
dat niet kan worden versleuteld: de routine die het
versleutelde deel van het virus moet "uitpakken".
Het is echter een misvatting dat dit deel van het virus er
altijd hetzelfde uit zou moeten zien. Er zijn namelijk virussen
die de uitpak-routine doorspekken met zinloze (en geen effect
sorterende) instructies, die ze iedere keer vervangen door
andere onzinnige instructies. Hoewel de uitpak-routine
functioneel altijd hetzelfde blijft ziet het er door die
veranderende nep-instructies niet altijd hetzelfde uit!
Door in de tekenrij in het databestand op de plaatsen waar de
nep-instructies voorkomen jokers te plaatsen kan een dergelijk
virus toch worden opgespoord en geidentificeerd. Op de plaats
van de joker mag namelijk een willekeurig teken voorkomen.
Ook is het mogelijk een variabel aantal tekens over te laten
slaan in de zoekreeks.
+ TbScan ondersteunt gewone tekst als zoekreeks.
De meeste tekenreeksen worden in ASCII-HEX ingegeven. U kunt
echter indien u dat wenst ook een gewone tekst als zoekreeks
opgeven. U plaatst de tekst dan tussen dubbele quotes: ["].
+ TbScan kan ook het geheugen van uw PC afzoeken naar virussen.
Mochten er in de toekomst nog slimmere virussen losbarsten die
om wat voor reden niet meer in een programmabestand zijn terug
te vinden dan biedt TbScan de mogelijkheid ze in het geheugen
van uw PC zelf op te sporen. U weet dan in ieder geval of uw PC
besmet is met een bepaald virus.
+ TbScan kan ook zogenaamd Upper Memory en de HMA afzoeken naar
virussen. De meeste andere virusscanners kunnen dit nog niet!
+ TbScan zoekt ook in de partitietabel van de vaste schijf. Een
aantal virussen verkiest deze plek als verblijfplaats. Niet
alle virusscanners zoeken in de partitietabel.
+ TbScan maakt het mogelijk een stapel diskettes in een record
tempo te controleren. Het is niet nodig om via het toetsenbord
aan te geven wanneer er van diskette is gewisseld: TbScan
detecteert dit zelf!
Gebruik van het programma
-------------------------
TbScan is eenvoudig in het gebruik. De syntaxis is als volgt:
TBSCAN [@][<pad>][<bestandsnaam>]... [<opties>]...
Het station en pad geven aan vanaf waar moet worden gezocht. Om de
gehele schijf C: en schijf D: af te zoeken geeft u in:
TBSCAN C:\ D:\
Indien GEEN bestandsnaam wordt opgegeven maar slechts een drive
en/of pad dan wordt dat pad als start pad gebruikt. Alle
subdirectories worden ook geinspecteerd.
Wordt echter WEL een bestandsnaam opgegeven dan wordt slechts in de
opgegeven directory gezocht. Subdirectories worden niet behandeld.
In de bestandsnaam mag gebruik worden gemaakt van "wildcards". Zo
is het toegestaan om "*.*" in te geven. Alle uitvoerbare bestanden
(bestanden met de uitgang .EXE, .COM, .SYS, .OV?) worden nu
geinspecteerd. Indien u ook de niet-uitvoerbare bestanden wilt
laten doorzoeken dan dient u in combinatie met de bestandsnaam de
"-analyze" optie te gebruiken. "TBSCAN TEST.DAT" heeft altijd tot
resultaat dat geen enkel bestand wordt behandeld: test.dat is geen
uitvoerbaar bestand. Gebruik in dit geval dus de -analyze optie.
Het is ook mogelijk om TbScan een lijstbestand op te geven. Een
lijstbestand is een bestand dat een opsomming bevat van te scannen
paden/bestanden. Laat de naam van het lijstbestand voorafgaan
door het teken '@' op de TbScan commandoregel:
TBSCAN @TBSCAN.LST
Op de commando regel mogen behalve bestandsnamen en paden ook nog
zogenaamde opties worden opgegeven. TbScan herkent zowel
optie-letters als optie-woorden. De woorden zijn eenvoudiger te
onthouden en worden daarom in deze handleiding gebruikt.
Beschikbare opties:
-help, -h =help -more, -m =wacht bij vol scherm
-quiet, -q =stille modus -verbose, -v =druk programma-ingang af
-direct, -d =directe aanroep -analyze, -a =analyseer/alle bestanden
-noboot, -s =geen bootsector -valid, -u =geen controle databestand
-once, -o =eenmaal per dag -compat, -c =compatibiliteits modus
-nomem, -r =geen memory scan -allmem, +r =scan voor alles in memory
-highmem, +e =scan UMB and HMA -nohmem, -e =scan niet UMB/HMA
-nosub, -n =scan geen subdirs -sub, +n =scan sub directories
-del[ete],-z =wis besmet bestand -batch, -b =geen keyboard invoer
-repeat, -x =scan meerdere diskettes, auto schijf-verwisselingsdetectie
-data <bestand>, -f <bestand> =te gebruiken databestand
-log [<bestand>], +l [<bestand>] =voeg toe aan logbestand
-session [<bestand>], -l [<bestand>] =maak sessie-logbestand
-ren[ame] [<nwe uitgang>], +z [<nwe uitgang>] =hernoem besmet bestand
-help
Wanneer deze optie wordt opgegeven laat TbScan het helpscherm zien.
Het helpscherm laat bovenstaande stukje tekst zien waarop alle
opties staan weergegeven.
-data
Met deze optie kunt u de bestandsnaam van het signaturebestand
opgeven.
TbScan zoekt op de volgende wijze naar het databestand:
1) Het gebruikt het bestand dat is opgegeven m.b.v. de -data optie.
2) Het kijkt of het in de actieve directory een bestand met de
naam "TBSCAN.DAT" kan vinden.
3) Het kijkt of het in de actieve directory een bestand met de
naam "TBSCAN.PRS" kan vinden.
4) Het zoekt naar "TBSCAN.DAT" in de zelfde directory als waar
het programmabestand "TBSCAN.COM" zelf staat (alleen DOS 3+).
5) Het zoekt in de actieve directory naar een bestand met de naam
"VIRSCAN.DAT"
Indien TbScan niet in staat is om het juiste databestand te vinden
kunt u de optie -date gebruiken.
-quiet
Normaal laat TbScan ieder bestand zien dat het controleert, samen
met de gebruikte methode. Wanneer u echter deze optie opgeeft ziet
u slechts een teller lopen wanneer TbScan werkt. Besmette
bestanden worden uiteraard WEL op het scherm getoond. Het scherm
blijft rustiger en er wordt minder tijd verloren met het bijwerken
van het scherm.
-verbose
Indien deze optie wordt opgegeven laat TbScan de positie in het te
scannen bestand zien waar het de stabiele uitvoerbare code heeft
gevonden. Dit is het gebied dat wordt afgezocht op virussen.
-more
Indien u de optie -more opgeeft stopt TbScan nadat het een scherm
vol bestanden heeft afgewerkt. Dit om u de gelegenheid te geven het
resultaat te bekijken. (Het programma houdt uiteraard rekening met
de door u gebruikte schermlengte).
-noboot
Met deze optie laat u het zoeken naar virussen in de bootsector van
uw schijf overslaan.
-analyze
TbScan gebruikt normaal alleen de analyze methode indien het te
controleren programma te ingewikkeld is voor de ingebouwde
interpreter. U kunt echter via de -analyze optie TbScan dwingen
altijd de Analyze methode te gebruiken. Bedenk wel dat het
programma daar een stuk trager van wordt.
Wanneer er geen bestandsnaam is opgegeven worden alleen uitvoerbare
bestanden geanalyseerd. Is echter WEL een bestandsnaam opgegeven
dan worden alle passende bestanden geinspecteerd, ongeacht de
uitgang van het bestand. Bovendien wordt in dat geval gezocht naar
elk virus in de lijst, ongeacht het type bestand.
-direct
TbScan communiceert normaal gesproken met DOS via interrupt 21h.
Om "afluisteren" door virussen te voorkomen kan de -D optie worden
opgegeven. TbScan gebruikt dan zijn ingebouwde debugger om zich
door de interruptketen heen te werken tot het het DOS startpunt
heeft bereikt. Het gevonden startpunt wordt op het scherm getoond,
en vanaf dat moment gebruikt voor de communicatie met DOS.
Hetzelfde geldt voor de disks: TbScan zoekt eerst het BIOS
ingangs-adres, en pleegt rechtstreekse calls daar naar toe.
Residente programma's, waaronder virussen, zijn dan buitengesloten
van deelname aan het virusscan-process.
Dit impliceert echter dat ook de gewone residente programma's in
onwetendheid blijven ten aanzien van de bestandsbenadering door
TbScan. Gebruik daarom deze optie niet wanneer u een multitasker
gebruikt of aangesloten bent op een netwerk.
Bedenk ook dat veel beveiligingspakketten door TbScan worden
omzeild. Wees niet verrast wanneer het programmatuur scant in
directories waar u eigenlijk geen toegang toe heeft...
Wanneer u deze optie wel gebruikt roep dan geen residente
programma's naar de voorgrond zolang TbScan actief is! Residente
programma's kunnen dan immers niet weten dat er bestands-IO gaande
is.
Het gebruik van zogenaamde cachers vormt geen belemmering voor het
gebruik van de -direct optie.
Indien u de Thunderbyte kaart in uw PC heeft geinstalleerd zal
TbScan niet zoeken naar het DOS startpunt, maar naar het
Thunderbyte startpunt. Anders zou deze optie (terecht) de
waarschuwing van Thunderbyte uitlokken dat een programma DOS en het
BIOS rechtstreeks aanroept. Thunderbyte blijft dus als enige
tussen TbScan en DOS/BIOS zitten.
-nomem
Met deze optie voorkomt u dat TbScan ook in het geheugen van uw PC
naar virussen zoekt.
-allmem
Wanneer u deze optie opgeeft zoekt TbScan naar alle virussen in het
geheugen van uw PC. Echt nuttig is deze optie niet, zie voor meer
informatie het bestand NOTES.TXT.
-highmem
Specificeer deze optie indien u wilt dat ook upper-memory (geheugen
boven de 640Kb limiet) en videogehgeugen worden afgezocht. Normaal
gesproken zal TbScan upper memory en HMA automatisch herkennen
indien er een XMS-driver wordt gebruikt en is deze optie niet
nodig. Maar mocht TbScan uw geheugen niet herkennen dan kunt u hem
hiermee aangeven dat er toch moet worden gezocht.
-nohmem
Deze optie is het omgekeerde van de -highmem optie. Indien TbScan
een XMS-driver detecteert en upper memory en de HMA gaat scannen
kunt u dit afzetten door deze optie te specificeren.
-log
Wanneer u deze parameter gebruikt maakt TbScan een LOG-bestand aan.
Dit bestand krijgt standaard de naam "TBSCAN.LOG". Het is echter
mogelijk zelf een bestandsnaam op te geven. In dit LOG-bestand
wordt een opsomming gegeven van alle besmette programmabestanden.
De bestandsnamen worden genoemd met de volledige padnaam. Indien
het opgegeven (of default) bestand reeds bestaat wordt de nieuwe
log-informatie aan het bestand toegevoegd. Indien u deze optie veel
gebruikt verdient het aanbeveling nu en dan het bestand te
verwijderen om ongelimiteerde groei te voorkomen.
-session
Deze optie is hetzelfde als de -log optie, alleen wordt nu een
eventueel reeds bestaand log-bestand overschreven. Een log-bestand
gemaakt met de -session optie bevat dus altijd slechts de
informatie van een enkele scan-sessie.
-nosub
TbScan zoekt normaal ook naar uitvoerbare bestanden in
subdirectories, behalve wanneer een naam van het te scannen bestand
wordt opgegeven. Wanneer u deze optie gebruikt zal TbScan nooit
zoeken in subdirectories.
-sub
Wanneer u deze optie gebruikt zoekt TbScan altijd in
subdirectories, dus ook wanneer u een te scannen bestandsnaam (al
dan niet met wildcards) opgeeft. Alleen subdirectories die voldoen
aan de opgegeven specificatie worden doorzocht.
-valid
TbScan controleert het handtekeningenbestand op "echtheid". Indien
het bestand is gewijzigd geeft TbScan een waarschuwing. Indien u
geen prijs stelt op de waarschuwing gebruik dan de optie -valid
-once
Wanneer deze optie wordt opgegeven "onthoudt" TbScan dat het die
dag reeds eerder is gebruikt en zal het een volgende keer dat deze
optie wordt opgegeven op diezelfde dag niets doen. Deze optie is
bijzonder krachtig wanneer u hem gebruikt in uw autoexec.bat
bestand in combinatie met een lijstbestand zoals:
TbScan @iedere.dag -once -rename
TbScan controleert nu iedere dag bij de eerste keer dat er wordt
opgestart automatisch alle bestanden en/of paden die in het bestand
"iedere.dag" zijn opgesomd. Alle andere keren dat er die dag wordt
opgestart zal TbScan direct terugkeren naar DOS. Deze optie
beinvloed overigens niet het normale gebruik van TbScan: Indien u
later op de dag TbScan aanroept zonder de -once optie zal TbScan
gewoon zijn werk doen, ook al is het eerder die dag al gebruikt.
Andersom geldt ook: Indien u eerder op de dag reeds TbScan zonder
de -once optie heeft gebruikt zal het toch eenmalig zijn werk doen
de eerste keer dat de -once optie die dag wordt gebruikt.
Indien TbScan.Com read-only is of op een write protected diskette
staat werkt de -once optie niet!
-batch
TbScan wacht zodra het een virus heeft gevonden op een reaktie van
de gebruiker met een keuze-menu waarin gekozen kan worden voor
Wissen, Hernoemen of Doorgaan. Indien de -batch optie wordt
opgegeven zal TbScan ook als het een virus ontdekt doorgaan met
scannen. Deze optie is bedoeld om het werken vanuit een batch-
bestand mogelijk te maken, zonder dat er iemand bij aanwezig moet
zijn. Het wordt wel aanbevolen om in ieder geval een log-bestand
aan te laten maken, anders heeft het scannen niet zo veel nut.
-delete of -del
TbScan zal de gebruiker vragen of een bestand hernoemd dan wel
gewist dient te worden zodra TbScan constateert dat het bestand is
besmet. Indien deze optie wordt opgegeven vraagt TbScan de
gebruiker niet meer om een reaktie, maar wist domweg het bestand
waarin de besmetting voorkomt. Gebruik deze optie alleen maar
indien u reeds op de hoogte bent van de besmetting, een degelijke
backup heeft, en in een klap van alle besmette bestanden op uw
schijf af wilt zijn.
-rename of -ren
TbScan zal de gebruiker vragen of een bestand hernoemd dan wel
gewist dient te worden zodra TbScan constateert dat het bestand is
besmet. Indien deze optie wordt opgegeven vraagt TbScan de
gebruiker niet meer om een reaktie, maar hernoemt domweg het
besmette bestand. Standaard wordt het eerste karakter van de
uitgang vervangen door de letter "V". Een .EXE bestand wordt dan
hernoemd tot een .VXE, en een .COM bestand tot .VOM. Dit voorkomt
dat het besmette programma nog kan worden uitgevoerd, terwijl toch
inspectie of herstel op een later tijdstip mogelijk is. Aan deze
optie kan ook nog een parameter worden toegevoegd die de nieuwe
uitgang van het bestand bepaalt. De uitgang bestaat altijd uit drie
letters, vraagtekens zijn ook toegestaan. Standaard wordt een
nieuwe uitgang "V??" gebruikt.
-repeat
Deze optie is nuttig indien u een stapel diskettes wilt controleren
op besmetting. TbScan keert na het uitvoeren niet terug naar DOS,
maar wacht tot er een nieuwe diskette in het station wordt
geplaatst. Het is niet nodig om aan te geven wanneer er een nieuwe
disk in het station zit, TbScan detecteert dit zelf. Zonder het
toetsenbord aan te raken kan op die manier een hele stapel
diskettes worden gecontroleerd. Een gevolg van de automatische
diskette verwisselingsdetectie is wel dat tijdens het wisselen van
de diskettes de motor van het station blijft doorlopen en het
lampje aan blijft. Dit kan totaal geen kwaad voor uw diskette-
station, u kunt gewoon tijdens het lopen van de motor de deur
openen en sluiten. Veel backup-programma's werken op dezelfde
wijze.
-compat
Indien deze optie wordt opgegeven probeert TbScan wat meer
compatible te zijn. Op dit moment is het enige gevolg dat TbScan
niet meer rechtstreeks het scherm probeert bij te werken, maar dit
overlaat aan het wat tragere BIOS.
VOORBEELDEN:
TbScan \ -data c:\tbscan.dat -noboot
Behandel alle uitvoerbare bestanden in de hoofd-directory
en diens sub-directories. Sla de bootsector over. Gebruik
het signaturebestand met de naam c:\tbscan.dat.
TbScan \*.*
Behandel alle uitvoerbare bestanden in de hoofd-directory.
Zoek niet in sub-directories.
TbScan test.dat -log c:\test.log
Er wordt geen bestand doorzocht. TEST.DAT is geen
uitvoerbaar bestand. Er wordt een LOG bestand gemaakt met
de naam c:\test.log
TbScan test.dat test.tmp -analyze
Zoek in TEST.DAT en TEST.TMP naar ALLE virussen.
TbScan c:\ -analyze -rename vi?
Behandel alle uitvoerbare bestanden in de hoofd-directorie
en diens sub-directories. Gebruik de analyze methode.
Hernoem eventueel besmette bestanden automatisch naar een
uitgang waarbij de laatste letter origineel blijft maar den
eerste twee worden vervangen door "VI".
TbScan c:\*.* -analyze
Behandel ALLE bestanden in de hoofd-directory. Zoek naar
ALLE virussen in ALLE bestanden. De analyze methode wordt
gebruikt. Er wordt niet in sub-directories gezocht.
Uit de twee laatste voorbeelden komt het verschil in de gedragingen
van de -analyze optie in combinatie met een bestandsnaam duidelijk
naar voren.
Zolang TbScan geen besmette programma's heeft gevonden ziet u
slechts een lijst met alle bestanden op het scherm voorbijkomen, of
slechts een teller lopen indien de -quiet optie is opgegeven.
Zodra er een besmet programma is gevonden wordt (ongeacht het
gebruik van de -quiet optie) de naam van het besmette programma
afgedrukt, evenals de naam van het virus. Indien u niet een van de
opties -batch, -delete of -rename heeft opgegeven wordt u
vervolgens gevraagd of u het besmette bestand wilt wissen,
hernoemen of gewoon maar zo laten en doorgaan. Indien u kiest voor
hernoemen wordt de eerste letter van de uitgang van het bestand
vervangen door de letter "V". Dit voorkomt dat het programma per
ongeluk wordt uitevoerd.
Achter iedere bestandsnaam ziet u een van de drie termen
"Scanning", "Tracing", "Analyzing" staan. Dit geeft de wijze aan
waarop het bestand wordt gecontroleerd.
Achter deze termen ziet u afhankelijk van de grootte, de bouw, en
het soort bestand een aantal plusjes verschijnen. Deze geven aan
hoe vaak er een compleet stuk van het bestand, bootsector, of
geheugen is afgezocht naar virussen.
Het proces kan worden afgebroken door Escape of Ctrl-C in te
toetsen.
Omgevingsvariabele TbScan
Indien u bepaalde opties altijd gebruikt kan het handig zijn om de
omgevingsvariable "TBSCAN" te gebruiken. Indien u bijvoorbeeld
altijd de optie -noboot gebruikt en bovendien een standaard
log-bestand heeft ingesteld kunt u de volgende regel in uw
autoexec.bat opnemen:
SET TBSCAN=-LOG C:\TBSCAN.LOG -NOBOOT
TbScan gedraagt zich in dit geval altijd alsof de -noboot en de -log
optie op de commandoregel was opgegeven!
Een andere kandidaat voor de omgevingsvariabele is de optie -data
om aan te geven welk databestand altijd dient te worden gebruikt.
Opmaak van het databestand
--------------------------
Het databestand (met de naam "TBSCAN.DAT" of "VIRSCAN.DAT") kan met
iedere ASCII-editor gelezen en/of gewijzigd worden.
Alle regels die beginnen met het teken ";" zijn commentaarregels.
TbScan negeert deze regels volkomen. Wordt het teken ";" gevolgd
door een procentteken dan wordt de rest van de regel op het scherm
afgedrukt. Er kunnen maximaal 15 regels worden afgedrukt op het
scherm. Handig for "HOT NEWS"...
Als eerste regel wordt de naam van een virus verwacht. De tweede
regel bevat dan een of meer van de volgende woorden:
BOOT SYS EXE COM HIGH LOW
Deze woorden mogen worden gescheiden door spaties, tabs, of komma's.
BOOT geeft aan dat het virus een BOOT-sector virus is. SYS, EXE,
en COM geven aan dat het virus in bestanden met de genoemde
uitgangen kan voorkomen. Overlay bestanden (bestanden met de
uitgang .OV?) worden doorzocht op EXE virussen. HIGH geeft aan dat
het virus in het geheugen van de PC kan voorkomen, en wel in het
geheugen BOVEN het TbScan programma zelf. LOW geeft aan dat het
virus in het geheugen van de PC kan voorkomen, en wel in het
geheugen ONDER het TbScan programma zelf en bovendien in zogenaamd
Upper Memory en/of de HMA.
Als derde regel wordt de tekenreeks in ASCII-HEX verwacht. Ieder
virusteken wordt beschreven door middel van twee tekens. In plaats
van twee hex-tekens mogen ook twee vraagtekens voorkomen. Dat
laatste betekent dan dat het teken op die positie door het virus
gewijzigd kan worden en elk teken dus voldoet. Een tekenreeks kan
er dus als volgt uitzien:
A5E623CB??CD21??83FF3E
Ook kunt u het sterretje gevolgd door een byte gebruiken om een
aantal tekens in de zoekreeks over te laten slaan. De byte bestaat
uit een ASCII-HEX teken, en geeft het aantal tekens dat
overgeslagen kan worden. Een tekensreeks kan er dus als volgt
uitzien:
A5E623CB*3CD2155??83FF3E
De volgende tekenreeks wordt dan als virus herkend:
A5E623CB142434CD21554583FF3E
In plaats van een tekenreeks in ASCII-HEX kunt u ook een gewone
tekst opgeven. Deze dient dan wel tussen dubbele aanhalingstekens
geplaatst te worden. Een geldige tekenreeks is:
"Ik heb je te pakken!"
Deze opeenvolging van drie regels dient voor ieder virus te worden
herhaald. Tussen alle regels mogen commentaarregels voorkomen.
Zie verder het databestand.
Limieten:
---------
+ 192Kb aan vrij geheugen is minimaal vereist.
+ DOS versie vanaf 2.0 is vereist.
+ De lengte van het databestand mag maximaal 64Kb bedragen.
+ De naam van een virus mag 30 tekens lang zijn.
+ De ASCII-HEX tekenreeks mag maximaal 80 tekens lang zijn.
+ Er mogen tot 600 verschillende signatures worden opgegeven.
+ Directories mogen tot vijftien nivo's diep gaan.
Foutmeldingen
-------------
De volgende foutmeldingen kunnen voorkomen:
+ Not enough memory
Er is niet genoeg geheugen vrij om te kunnen scannen.
+ Error in data line at line <nummer>
Er zit een fout in het databestand op de vermelde regel.
+ Failed to find DOS entry point.
TbScan heeft het DOS entry point niet kunnen vinden, maar gaat
gewoon door alsof de optie -direct niet was opgegeven.
+ Error reading bootsector
De bootsector was niet leesbaar en wordt niet gecontroleerd.
+ Limit exceeded
Het databestand was te lang, of er staan te veel
virus-signatures in.
+ Data file not found
TbScan kon het databestand niet vinden.
+ Commandline error
Er is een verkeerde parameter aan TbScan opgegeven.
+ No matching files found.
Het opgegeven pad bestaat niet, is leeg, of de opgegeven
bestandsnaam bestaat niet.
+ No matching executable files found.
Het opgegeven pad bestaat niet, is leeg, de opgegeven
bestandsnaam bestaat niet of is geen uitvoerbaar bestand.
TbScan wordt beeindigd met een van de volgende exitcodes:
Errorlevel 2 indien geen bestanden gevonden of command line fout.
Errorlevel 1 indien er besmette bestanden zijn aangetroffen.
Errorlevel 0 indien alles goed is gegaan.
De interpreter
--------------
Dit deel van de documentatie kunt u gerust overslaan. Het biedt
slechts informatie aan programmeurs die willen weten waarom en hoe
de bestandsinterpreter van TbScan werkt.
Virussen kunnen programmabestanden slechts op bepaalde manieren
besmetten. Voor een virus is er slechts een enkel punt in een
programmabestand waarvan het zeker weet dat dat altijd wordt
uitgevoerd, namelijk het startpunt van het programma. Over alle
andere plaatsen kan het niets zeggen, en zal daarom dan ook niet
proberen om op een willekeurige plaats van het te besmetten
programma zijn eerste code te plaatsen. Het virus zal hoe dan ook
MINSTENS een jump op het startpunt van het programma moeten zetten.
TbScan gebruikt deze wetenschap om het aantal bytes dat van een
bestand ingelezen moet worden zoveel mogelijk te beperken. Het
bepaalt op dezelfde wijze als de loader van DOS zelf waar het
startpunt van het programma is. (Vooraan in een .COM bestand, en op
een adres gespecificeerd in de EXE-header van een .EXE bestand.)
Dit is echter niet voldoende: Er kan op het gevonden beginpunt van
het programma ook een jump staan, of een andere branch-instructie.
TbScan volgt deze jump, net zo lang tot het geen jump meer
tegenkomt. We hebben dan het echte startpunt gevonden van het
programma, of indien geinfecteerd, het virus. Het kan echter
voorkomen dat TbScan op een gegeven moment aan het einde van de
ketting van jump's is terechtgekomen, maar ziet dat er op korte
afstand van de gevonden startpositie weer nieuwe significante IP
wijzigende instructies (call's, ret's, iret's, jump's>512 etc.)
staan. Wijst nu die toekomstige jump naar de viruscode, of zijn we
al op de goede plek? TbScan neemt geen risico en gaat in zo'n geval
het gehele bestand inlezen en controleren op virussen. Alleen
indien het er zeker van is dat het het echte startpunt van een
bestand heeft gevonden, en daar minimaal 20 bytes aaneengesloten
code staat (de code is dan "stabiel"), neemt het genoegen met
controle van een venster van 4Kb rond die gevonden code.
(Praktisch alle virussen zijn kleiner dan 4Kb, en van de virussen
die groter zijn dan 4Kb wordt de tekenreeks in de eerste 4Kb van
het virus als herkenningsreeks genomen.)
Een leuk voordeel van deze interpreter is dat het aantal keren dat
vals alarm wordt gegeven kleiner wordt. Hierdoor kunnen de
tekenreeksen korter worden gehouden dan gebruikelijk was, iets wat
wenselijk is omdat de niet versleutelde delen van de virussen
ook steeds korter worden.
De werking van de interpreter is duidelijk te zien: Achter iedere
programmanaam verschijnt de gebruikte methode. Deze zijn:
1) Scanning. Dit betekent dat TbScan met succes het startpunt van
het programma heeft kunnen vaststellen, en dat de daar gevonden
code stabiel was.
2) Tracing. Dit betekent dat TbScan een ketting bestaande uit
minimaal 1 jump heeft gevolgd vanaf het entry-point. De
uiteindelijke code was stabiel. Deze methode zal met name bij
TSR programma's veelvuldig worden gevolgd: Deze beginnen
namelijk meestal met een JUMP.
3) Analyzing. TbScan was er niet volledig zeker van waar het
startpunt van het programma lag, omdat het geen stabiele code
aantrof op de gevonden positie. Veiligheidshalve wordt het
gehele bestand ingelezen en nader onderzocht. Bestanden met de
uitgang ".SYS" worden altijd volgens deze methode afgezocht.
Uiteraard kunt u via de -analyze optie TbScan dwingen om ALTIJD de
analyze methode te volgen indien u dat wenst.
Noot: De meeste virussen zullen gevonden worden in een bestand dat
volgens de analyze methode is afgezocht. Dit betekent echter niet
dat deze methode betrouwbaarder is dan de andere, maar is een
gevolg van het feit dat een virus dat in een programma zit meestal
als eerste zichzelf gaat reloceren (CS/IP verhouding aanpassen).
Dit gaat altijd gepaard met een CS en IP wijzigende instructie,
waardoor TbScan vanzelf (terecht) concludeert dat de code niet
stabiel genoeg is. Een besmet programma zal dan ook vaak met behulp
van de analyze methode worden behandeld, juist dankzij de
aanwezigheid van dat virus!
TbScanX
-------
Er is ook een (shareware) geheugenresidente versie van TbScan
beschikbaar met de naam TbScanX. Deze versie blijft achter in het
geheugen van uw PC en zoekt automatisch ieder bestand af zodra het
wordt uitgevoerd, gekopieerd, uitgepakt, etc.
TbScanX werkt NOG sneller dat TbScan, en kost relatief weinig
geheugen. Het is zelfs mogelijk het gebruik van werkgeheugen tot
nul te beperken! TbScanX kan bijvoorbeeld gebruik maken van
onbenut video-geheugen.
TbScanX is onder andere beschikbaar op het Thunderbyte support BBS.
Zie voor telefoonnummers het einde van dit document.
Thunderbyte
-----------
Virusscanners kennen een aantal zeer grote nadelen:
+ Ze kunnen geen besmetting voorkomen.
Virusscanners kunnen slechts vertellen of uw systeem besmet is
of niet, en als uw systeem inderdaad besmet is is er al schade
ontstaan. Alleen een goede backup kan u dan nog redden.
+ Ze kunnen slechts reeds geidentificeerde virussen herkennen.
Wanneer er een nieuw virus gelanceerd wordt duurt het een
tijdje voor het door iemand wordt ontdekt. Daarna duurt het nog
even voordat er een betrouwbare tekenreeks uit het virus is
gedestilleerd, en vervolgens duurt het nog een tijd voordat u
de laatste virscan.dat in huis heeft. Al met al loopt u een
reele kans dat u systeem wordt besmet op een moment dat
virusscanners "uw" virus nog niet herkennen!
+ U dient een actieve handeling uit te voeren om uw systeem te
beschermen: namelijk het uitvoeren van de virusscanner, iets
dat zelfs met TbScan tijd kost en dus vervelend is. Zeker
wanneer een PC door meerdere personen gebruikt wordt zoals in
bedrijfssituaties loopt een en ander nogal eens spaak.
Virussen worden steeds geavanceerder. Onder andere door de aandacht
die door de media aan het verschijnsel computervirus wordt
geschonken is er een ware sport onder zieke geesten ontstaan om
computervirussen te schrijven. Er zijn nu al virussen ontdekt die
geen vaste tekenreeks meer hebben. Doordat TbScan jokers in het
databestand toestaat kan TbScan dit soort virussen vaak nog wel
opsporen. Het duurt echter niet lang meer voor er virussen
rondwaren die in het geheel geen herkenningspunt meer bieden, en
dan biedt zelfs TbScan geen soelaas meer.
Ook zijn er reeds virussen die op dezelfde manier als TbScan het
DOS entry-point opzoeken, op een effectieve manier
beschermingsprogramma's omzeilend.
Ook het van een checksum voorzien van programma's is geen
oplossing: Virussen kunnen zodra een bestand wordt ingelezen deze
desinfecteren, zodat ieder besmet programma er uitziet als een niet
besmet exemplaar.
Er is echter EEN oplossing voor bovengenoemde problemen:
Thunderbyte!
Thunderbyte werd ontwikkeld om Personal Computers tegen
computervirussen, Trojan Horses, en andere bedreigingen van
kostbare gegevens te beschermen. Het is een hardwarematige
beveiliging, bestaande uit een insteekkaart, een installatie- en
configuratieprogramma, en een duidelijke handleiding. De werking
van Thunderbyte is niet gebaseerd op de kennis van specifieke
virussen, zodat Thunderbyte ook tegen toekomstige virussen
beschermt.
Een hardwarematige beveiliging biedt een bescherming die vele malen
groter is dan die van een softwarematige. Thunderbyte wordt al
actief nog voordat het besturingssysteem (DOS) wordt geladen, zodat
de computer direct na het inschakelen volledig is beschermd.
Door de ruime configuratiemogelijkheden en de intelligente
algoritmen wordt het gebruik van Thunderbyte nooit een last: in een
virusvrije omgeving zal er hoogst zelden iets van de aanwezigheid
van Thunderbyte worden gemerkt.
De voordelen van een hardwarematige beveiliging zijn:
+ De beveiliging gebruikt weinig (1Kb) RAM.
+ De beveiliging is al actief tijdens het opstarten van de PC,
beschermt daarom de PC ook tegen bootsectorvirussen. Dit is met
een softwarematige beveiliging per definitie NIET mogelijk,
simpelweg omdat een softwarematige beveiliging dan nog niet is
opgestart.
+ De beveiling is gegarandeerd actief VOORDAT een virus opgestart
kan worden, een softwarematige beveiliging heeft weinig nut als
het opgestart wordt nadat een virus reeds de controle over de
machine heeft overgenomen.
+ De vaste schijf van de PC kan niet meer rechtstreeks benaderd
worden. Dit omdat de bekabeling van de vaste schijf nu via de
Thunderbyte kaart loopt. Een softwarematige blokade tegen
formatteer- en schrijfacties kan altijd softwarematig omzeild
worden.
+ Het Thunderbyte systeem kan nooit vergeten worden op te
starten, zelfs niet indien de PC met behulp van een diskette
wordt opgestart.
Thunderbyte biedt u vele soorten bescherming:
+ Bescherming tegen gegevensverlies
Thunderbyte wordt aangesloten tussen de kabel van de vaste
schijf. Het bewaakt de vaste schijf tegen ongeoorloofd
formatteren. Thunderbyte detecteert bovendien alle rechstreekse
schijfoperaties die tot doel hebben gegevens te wijzigen c.q.
te verminken en controleert welk programma de opdracht voor die
operaties geeft. Alleen het besturingssysteem (DOS) is
zondermeer gerechtigd tot het uitvoeren van modificaties.
DOS heeft standaard al de mogelijkheid om bestanden tegen
overschrijven en modificeren te beschermen door middel van het
read-only attribuut. Deze bescherming is softwarematig echter
zeer eenvoudig uit te schakelen. Thunderbyte voorkomt evenwel
dat deze beveiliging ongemerkt ongedaan gemaakt kan worden,
zodat u uw bestanden nu toch via een standaard methode
doeltreffend kan beveiligen.
+ Bescherming tegen besmetting
Thunderbyte beschermt programma's (bestanden met de uitgang
"EXE", "COM", of "SYS") tegen besmetting, door ale modificaties
te beoordelen op hun bedoeling. De functionaliteit wordt
hierdoor niet beinvloed. Compileren, linken, e.d. worden
ongemoeid gelaten, en programma's die hun configuratie intern
bewaren worden ook niet beinvloed. Bovendien kan software
beveiligd worden met het read-only attribuut.
Wijzigingen in de bootsector worden ondervangen zodat ook de
zogevreesde bootsectorvirussen geen kans meer krijgen. Let wel:
softwarematig is de bootsector niet of nauwelijks te
beschermen. Thunderbyte wordt daartegen al actief nog voordat
het systeem probeert op te starten!
+ Detectie virussen
Thunderbyte detecteert de aanwezigheid van virussen, behalve op
de reeds genoemde manieren, ook doordat deze vaak een aantal
speciale handelingen uitvoeren; handelingen waar andere
programma's zich nooit zullen wagen. Zulke handelingen, zoals
het aanbrengen van een markering om reeds besmette programma's
te herkennen, worden gedetecteerd. Ook pogingen van een virus
om zich op een verdachte manier in het geheugen achter te laten
worden herkend, evenals abnormale manipulaties met
interruptvectoren.
+ Wachtwoordbescherming
Thunderbyte geeft u de mogelijkheid een wachtwoord te
installeren. U kunt twee soorten wachtwoorden opgeven: een
wachtwoord dat altijd gevraagd wordt, of een wachtwoord dat
slechts gevraagd wordt wanneer er gepoogd wordt van een
diskette in plaats van de vaste schijf op te starten.
+ Hoge veiligheid
Aan de veiligheid van Thunderbyte is ruime aandacht geschonken.
De programmacode van Thunderbyte bevindt zich in ROM en kan op
geen enkele manier worden gewijzigd.
Thunderbyte kan op geen enkele manier softwarematig worden
uitgeschakeld. Alle belangrijke instellingen worden
gerealiseerd met behulp van schakelaartjes op de insteekkaart.
En virussen kunnen, al hun verspilde intelligentie ten spijt,
nu eenmaal geen schakelaartjes omzetten of de uitlezing ervan
beinvloeden.
De virussen die de controller van de vaste schijf rechtstreeks
benaderen komen van een koude kermis thuis: Thunderbyte geeft
schrijfoperaties slechts door indien het schrijfcommando de
normale (gecontroleerde) weg heeft bewandeld.
Van Thunderbyte bestaan vele verschillende (doch functioneel
identieke) versies, die op basis van willekeur worden geleverd.
Hierdoor is kennis van 1 Thunderbyte systeem niet toereikend om
de beveiligende werking ervan aan te tasten of teniet te doen.
Thunderbyte controleert zijn eigen variabelen met een per verie
verschillend soort controlegetal. Ook de geheugenplaatsen waar
de variabelen worden bewaard is per Thunderbyte versie
verschillend.
+ Extra mogelijkheden
Thunderbyte biedt u een aantal interressante extra's, zoals
opstarten van station B:.
Tot slot
--------
Verbaast u uzelf over de relatief grote kracht en inventiviteit van
zo'n kleine (6Kb) virusscanner? Schaf Thunderbyte aan, dan blijft u
uzelf verbazen!
Wanneer u het programma TbScan waardeert, of wanneer het u al eens
duidelijkheid heeft verschaft in een benarde situatie:
Stuur ons geen geld, maar schaf Thunderbyte aan!
(of registreer desnoods het gebruik van TbScanX).
NAMEN EN ADRESSEN
-----------------
Meer informatie over Thunderbyte kunt u aanvragen bij:
ESaSS B.V. Tel.: 080 - 787 771
P.o. box 1380 Fax.: 080 - 777 327
6501 BJ Nijmegen Data: 085 - 212 395 (2:280/200@fidonet)
TbScan is geschreven door Frans Veldman.
TbScan en de signaturebestanden zijn beschikbaar op ESaSS /
Thunderbyte support BBS, Tel: 085-212395 (300/1200/2400 bps).
Wanneer u operator van een electronic mail systeem bent kunt u een
file-request sturen voor TbScan om de laatste versie van TBSCAN.COM
te krijgen, TBSCANX voor de laatste update van de
geheugen-residente automatische versie van TbScan, en VIRUSSIG voor
een kopie van de meest recente update van het signature-bestand.