Sponsored Listings

Orthogate arrow Guide to the Internet


Chapter 2 - Mailing Programs


Chapter 2 Topics

 

Definition

A virus is a computer program that copies itself when an infected program is run. This means that along with executable files, the code that controls your hard disk can be infected. The term computer virus is analogous to a biological virus. A computer virus is a program that will copy its code into one or more larger host programs when it is activated; when the infected programs are run, the viral code is executed and the virus replicates.

The vast majority of computer viruses also carry a payload . This is the damage that they will do to your system after some period of time, and can range from a message on your screen to wiping your hard disk.

TOP

Effects

The damage caused by a virus depends on what kind of virus it is. Viruses can damage other programs immediately, or they may be triggered into action.

There are three distinct stages of a virus' life: activation, replication & manipulation.

Activation - this is when the computer catches the virus, usually from an infected floppy disk, and sometimes from infected software from other sources.

Replication - the virus tries to infect as many sources as it can during this stage. If it infects your hard disk, it may well remain undetected for many months, infecting every floppy disk that you use.

Manipulation - this is when the payload of the virus starts to take effect. The payload is often triggered by a certain date (for example Friday 13th or April 1st) or a seemingly random event (for example the 400th reboot, or 99% of Hard Disk full). The payload can alter individual figures in files, or delete files.

TOP

Types of Virus

The thousands of computer viruses that can infect your workstations fall into several major categories: Executable viruses; Boot-sector viruses; Partition-table viruses; Memory-resident viruses; Macro viruses; Executable viruses.

Executable viruses

An executable virus infects your files by attaching itself to your EXE and COM files when you launch them. The virus finds information in the executable file's header, which indicates the length of the file and other vital information. (The file header is located at the end of an EXE file and at the beginning of a COM file.) Once attached, executable viruses corrupt the header, either preventing the file from working or redirecting it to run another command.

Because these viruses destroy the executable code of the infected program, you can easily identify them, delete the infected code, and reinstall the necessary program files. Some executable viruses seek out only EXE files, while others seek out only COM files.

For example:: Vacsina ; Troi; Yankee DoodleWhite ; Black Monday Leprosy

Boot-sector viruses

Boot-sector viruses corrupt the boot sector by overwriting the sector with bad information, thus preventing your workstation from booting. These viruses usually activate when you read or write to an infected disk. Some boot-sector viruses copy the boot-sector information to another part of your hard disk and then overwrite the boot sector with their own bad code. When you reboot your workstation, the system BIOS executes the virus code from the boot sector, which in turn executes the boot-sector information it copied elsewhere on your drive. This means that you may not even notice you have a boot-sector virus until it's too late.

For example: ;Liberty; AirCop ; New Zealand; Spanish Trojan

Partition-table viruses

A partition-table virus takes aim at your hard disk's partition table. These viruses can either move or destroy(or delete altogether) your hard disk's partition-table information. They copy the partition-table information to another location on your hard disk and then copy their bad code into the area normally containing the partition table. After the workstation's BIOS loads and executes the virus during the boot sequence, the virus executes the partition information it saved elsewhere. A virus that infects only the partition table probably won't spread from one computer to another. It spreads by infecting your boot sector and/or the executable files on your hard disk.

For example: Hong Kong; LastDirSect; NOINT; Michelangelo; Asuza; Stoned III

Memory-resident viruses

Memory-resident viruses avoid detection by loading into different areas of your workstation's memory. The virus waits there until you launch an application; then, it infects your workstation. A few viruses place their memory-resident code in memory normally allocated for the command processor, either in its stack space or in the command data region of your workstation's memory. Because these viruses tamper with the command processor, they frequently cause your workstation to crash.

Many such viruses simply allocate memory through a DOS call and assume you won't notice the loss of a few kilobytes of RAM. This keeps the viruses from being overwritten while in memory. A few viruses place their code into unallocated memory. This approach doesn't decrease the amount of available memory on your workstation, thereby making detection less likely. However, these viruses are more vulnerable since another application can overwrite their code.

Some viruses intercept any memory allocation calls to the 21h interrupt, thus preventing the operating system from allocating the memory block in which the viruses stores their information. Other viruses do nothing about this problem, and your workstation crashes whenever it attempts to overwrite these areas.

A large number of viruses place themselves in the top portion of resident memory, just below the 640KB boundary. Then, they redirect BIOS interrupt 21h, which reports the total amount of conventional memory available in your workstation. This approach reduces the apparent amount of total memory, preventing function calls from overwriting the virus.

Viruses may also incorporate their code into the video-card buffers between 640KB and 768KB (A0000h and C0000h). The amount of total memory won't change, but your workstation may crash.

Macro viruses

While most viruses infect program files, a new breed of viruses, called macro viruses, can infect data files. Macro viruses infect Microsoft Word documents in particular, but newer versions of macro viruses can also infect Microsoft Excel spreadsheets. Because Microsoft controls most of the application market, their programs have become favorite targets of virus makers.

For example: Name Application; Alliance Microsoft Word; Boom Microsoft Word; Concept Microsoft Word; Goldfish Microsoft Word; KillDLL Microsoft Word; Laroux Microsoft Excel; Sofa Microsoft Excel

Macro viruses take advantage of an application's built-in programming language. Application vendors now include powerful programming languages in their programs so users can perform complex tasks, and the people who create macro viruses turn this feature against software owners. Virus makers can hide a complex macro virus in any document or spreadsheet. When you load the infected file, your application will then spread it to any other file you open.

Initially, macro viruses wouldn't destroy data on your hard disk. However, newer strains are more deadly.

TOP

Can I Get A Virus From Surfing the Internet?

So you think the Internet is cool...but you're worried about getting a computer virus while online! Well don't worry too much, it's more rare than you think. You probably won't get a virus by just surfing the Internet.

If you're reading this column you're probably using a World Wide Web (Internet) browser like Netscape, Explorer, or Mosaic. The browsing mode of all World Wide Web browsers all work the same: you click on interactive text links, called a hypertext link, to go from computer to computer as your surf for information that interests you.

What you may not have known is that all the pictures and text you see on your screen have been downloaded, copied, to your computer before you see them! They are usually stored in a folder called cache, with numbers or names that World Wide Web browsers use to display requested information. Since you are only downloading pictures, movies, sound, or text, it is highly unlikely that you would actually download a virus program while surfing the Internet.

A virus program is a set of unwanted instructions that may cause harm or just install itself into your computer without warning. Most viruses, over 90%, are actually transferred by floppy disk, not by a network like the Internet. In order for the script (instructions) of a virus to be activated you'd have to run the program on your computer. Since you're just downloading items to be displayed in a World Wide Web browser you're not actually running a program, just opening a file. It is possible that opening a file can result in a viral infection, as it is with macro viruses, but there aren't any viruses that work that way for World Wide Web browsers, to date anyway.

However, web browsers do the ability to open other programs. For example, I use Netscape to view rough drafts of my web pages to make sure they are formatted correctly. Microsoft Internet Explorer 3.0 was recently found to have a serious security flaw. "The flaw could let malicious Internet publishers delete files, copy passwords and software and send orders to transfer money by manipulating files stored on another person's personal computer," said Paul Greene, Brian Morin and Geoffrey Elliott, students at the Worcester Polytechnic Institute in Massachusetts who discovered the bug.

That means that files can be executed with the program. Even a plain text file, normally inactive, can be run as a program. If the text of the file include active viral instructions a viral action will result. However, this is unlikely and much more difficult than other types of virus program authoring.

TOP

Can I Get A Virus From Email?

Electronic mail, commonly called e-mail or email, is a way of sending text (letters) from one computer to another. However, advancements in email has led to the sending and receiving of email attachments. An attachment is nothing more than text either, but when decoded can be a virus infected file or program. Let's take a look at some case examples to explain how you can get a virus from email.

Case #1 - My email buddy

John sent me some email telling me about his holiday weekend with his family. I sent email back to him. All of our email letters are just text, our thoughts written while online.

Is there a chance that one of the letters has a virus? NO!

Even if John sends the user the script for a virus the virus won't be run as a program unless the file is saved to the hard drive and opened inside of a program, run in a shell program, or run under the flawed Microsoft Internet Explorer 3.0 program. Bottom line, just sending text back and forth will not give you a virus 99.99999999999% of the time (extremely unlikely if even practically possible).

Case #2 - Dating Teenagers

You've probably all seen the ad on TV where the teenage couple ends their date while Dad waits up at home. Then they go home and send email back and forth to one another. The girl takes a picture of herself and sends it as an email attachment to the boyfriend. The boyfriend finds a picture of an Angel, modifies the picture sent to him to make her head appear on the body of an Angel, and sends it back to her.

Is it likely that a virus was transferred with the picture? NO!

A picture sent across the Internet is usually in .gif or .jpg format. These are special compressed picture formats that make colored images smaller for faster Internet transfers. Since the Internet browser is displaying a picture inside of the browsing window the picture file is being opened. However, the instructions are only for displaying dots on a screen within a browsing window...nothing viral of the sort. More importantly, a picture doesn't have any command associated with it as does a macro or wizard based PC file.

Case #3 - Spreadsheet Mania

A business executive is running late for an important meeting. He decides to send email to his associate to have him cover for him at the meeting until he can arrive. He attaches a spreadsheet to his email to be used in the presentation. Is it possible that the spreadsheet file contains a virus? YES!

In this case the associate is actually downloading and opening a file sent to him, the spreadsheet. A spreadsheet is designed to do things that pictures and sounds don't, like auto-calculate values, make use of macro commands, etc. In this case the spreadsheet file should be checked with a antivirus scanning software program prior to being opened. To lower the risk of infection both partners should regularly scan their computers for viruses and should avoid sharing floppies from other computers. *Macro viruses are a huge portion of the growing viral community.

Case #4 - Software Downloads

Elizabeth really likes her new shareware game so she decides to zip the file and send it to her friend Stacy. Stacy reads her email message and clicks on the attachment link to decompress and save the new game to her hard drive. She then opens the game and has fun playing it.

Is it possible that Stacy will get a virus by playing the downloaded game? YES! In this case it's more likely than you think. If Elizabeth really likes shareware games and shares software all the time it's likely that she has been swapping disks with others too. Over 90% of all viruses are passed by a floppy disk. If Elizabeth has an infected game file and sends it to Stacy, Stacy may infect her hard drive when she runs the program. Stacy can avoid this problem by scanning her new software and disks with antivirus software prior to running any program or opening any new file.

You may run across email in a newsgroup, or even personal mail sent to you, warning you of the dangerous Deeyenda, Pen Pal, Good Times, or other "viruses." They are actually hoaxes. Most hoaxes are official sounding, usually reference official sources, and are spread like wildfire through the email community.

Since this was written originally creators of email viruses have become a lot more sophisticated and some can be transmitted by email especially if you use the preview pane in older versions of Outlook Express. The best solution is to update your version of Outlook Express. Or you can close the preview pane. Then you can delete mail without opening it and you will only get a virus from email if you fully open the message and/or its attachment. To close the preview pane follow the instructions in the box below.

preview.gif (20017 bytes)

1. The layout of Outlook Express usually looks like this with the "pre-view pane" enabled. This means that you can see what the message contains but it also means that the message is partly opened so any hostile virus code may have been read

view.gif (4884 bytes)

2. To close the preview pane open the view menu

layout.gif (5261 bytes)

3. Select layout

layout_preview2.gif (5565 bytes)

4. Look at the view/layout dialog box. The check box to enable/disable the preview pane will be checked

layout_preview1.gif (5704 bytes)

5. To close the preview pane uncheck the box. Note the other layout options are no longer available

no_preview.gif (22753 bytes)

6. Click OK. The preview pane is no longer available and messages will not be opened unless you doubleclick on the subject line.

If you need antivirus software to scan your email attachments and downloads check out my download recommendations page.

TOP

Can I Get A Virus By Downloading Software?

You're surfing the Internet without fear of viruses until you click on a link and a little box comes up telling you that you're downloading software. Can you get a virus from the software you're downloading? What do you need to do to make sure you don't get a virus? These are questions you've probably asked yourself if you've ever downloaded software.

The fact is that if you download and run software on your machine you do run the risk of getting a virus. Any program that you run on your computer has the potential to contain viral instructions. So, should you download software and take the risk? Yes, but follow a few guidelines first.

When you're online only download software from well established sites like http://oak.oakland.edu/. Sites like these, universities, don't want viruses anymore than you do. They scan all of their software for viruses before making it available to you. Thus, any large, well established site will have antivirus scanning in place for your protection.

After downloading software scan it with a virus before actually running the program or opening the file. As long as you don't run the program or open the file the viral instructions can't be executed. Most antivirus software packages can detect viruses in a newly downloaded program, even if it is zipped!

It's also a good idea to have antivirus scanners running all the time. DOS 6.X has some great antivirus tools built in for your protection. F-Prot also has a bundled scanner called VSHIELD that can help protect against viruses as you work on your computer.

Also make sure you make regular backups of any important work.

Remember that you are in control. As long as you don't download from obscure sites and you have some antivirus protection in place you don't have much to worry about. Besides, most viruses aren't destructive and are easily detected by an updated antivirus program.

TOP

Can I Get A Virus From a JAVA Applet?

Modern web sites may include JAVA applets. JAVA is a programming language used by web page developers to create cool animations and little programs that run on your machine, called Applets. For example, a stock broker might program a JAVA based applet to help you manage a stock portfolio.

On March 29, 1996, an Online Business Consultant published an article titled "Deadly Black Widow on the Web: Her Name is JAVA." This report identified a potential security issue in the new JAVA language but somehow resulted in a rumor about a JAVA applet virus called "Black Widow." There is NO SUCH VIRUS.

Sun Systems, creator of the JAVA language, responded to this rumor by creating a page illustrating hostile applets that are rude or malicious in design. The hostile attacks are refered to as "denial of service attacks." They are designed to take up your computer processing or memory resources, tricking you into thinking that a dangerous viral attack has been launched on your computer. In other words, they prey upon your fear!

According to John Zukowski, a JAVA expert who maintains the Mining Co. JAVA site, "... assuming a perfect (bug-free) virtual machine, its rather difficult (fairly impossible) to do anything destructive. A few bugs have been found but were corrected rather quickly."

As you can see it's not always clear what to believe. There's so much hype out there to prey off your fears that things can get out of hand on the Internet from time to time. Symantec, a leader in antivirus protection, even published a news release in 1996 indicating that "...AntiVirus Research Center (SARC) has developed the first native-Java virus scanner for Java applets sent over the Internet." I'd like to know how this is done since there hasn't even been a true JAVA virus ever invented or proven possible!

A recent virus hoax warning about the Deeyenda virus (no such virus) exacerbates the situation by stating that is "most likely to attack those users viewing Java enhanced Web Pages (Netscape 2.0+ and Microsoft Internet Explorer 3.0+ which are running under Windows 95)." Unfortunately new users of the Internet take the email hoax as true and forward it on to thousands of other Internet users.

Bottom line - there are no JAVA viruses. Is it possible that a JAVA based virus will be created in the future? Yes, anything is possible. However, it is unlikely based on how the JAVA language is created and how it works on networked computers. If an antivirus program does claim to protect you against JAVA viruses don't believe them. The only thing they might be able to look for are the "denial of service attacks," just a harmless annoying joke on the user anyway.

TOP

Can I Get A Virus From a Cookie?

Cookies are a new feature of the Internet that many users may have been using without even knowing it! A cookie is a way of setting preferences on a client machine (yours) for use with a host machine at a later time. Another name for cookies is "magic cookies."

For example, you may use cookies to keep track of a stock portfolio with a page online. When you access the stock broker page it accesses the cookie from your computer and displays the appropriate information on your screen for the settings contained inside of the cookie.

To see if you're getting cookies you can change your preferences--the settings--of your World Wide Web browser to alert you if a cookie is requested. In Netscape 3.0 Gold select "Network Preferences..." from the Options menu, click on the "Protocols" tab and click on the checkbox for alerting you when you accept a cookie. Then surf the Internet - You'll be amazed at how many sites are using cookies!

The cookie is a text file saved in your browser's directory or folder and stored in RAM while your browser is running. Most of the information in a cookie is pretty mundane stuff, but some Web sites use cookies to store personal preferences. (MSN, and Netscape all have Personalization processes that use cookies to store information). If you want to see what information is stored in your cookie file, use a text editor or a word processor to open a file called cookies.txt or magiccookie in your browser's folder or directory.

Cookies and Viruses

A normal text based cookie cannot be of any danger to your computer or spread any viruses. Whether or not cookies can be dangerous or spread viruses has to do with whether or not a file is "executable," meaning if it's a program rather than data. UNIX files, for instance, have some combination of the properties "readable," "writable" and "executable." The executable property is necessary to enable a program in a file to do something. If a cookie is not stored in an executable format for that platform, it cannot do something hostile.

Most cookies are not executable. In general Cookies are stored as text files and cannot be dangerous or pass on viruses. Even if a cookie is executable it cannot automatically spread on a virus unless you execute it. But of course with the bugs in Internet Explorer 3.0, it will let a site run a application.

In theory, if a executable cookie was set with malicious contents, then IE3.0 could execute it, then it could effect you're computer with a virus, but the maximum contents of a cookie is only 4Kb so the virus could not do a great deal. Please note this is only a theory and I have never seen a cookie that was able to spread a virus. This would take a great deal of work, and this theory is trivial compared to other loopholes in the net.

The general controversy is not what cookies can do to your computer, but what information they can store, and what they can pass on to servers.

In other words, cookies are just simple ASCII text files that store personal information about you, your computer, or your preferences for a given web page. There are NO known cookie viruses in the wild.

TOP

Where do viruses come from?

Global Access Networks and EMail

Today one of the primary sources of viral infection is the Internet. The most part of cases of infection takes place while exchanging messages in the Word/Office97 formats. The unsuspecting user of an infected by macro virus editor software sends infected letters to addressees, who in their turn send new infected letters and so on.

Email Conferences, File Servers, FTP and BBS

General access file servers and email conferences are also one of the main sources of virus spreading. Virtually every week there appear messages that some user infected his computer with a virus which had been downloaded from a BBS system, FTP server, or emailed to some Usenet group.

Often enough authors of viruses upload infected files to several BBS/FTP sites, or are sent to several groups simultaneously, often these files are camouflage as new versions of some software (sometimes as new versions of anti-virus software).

In case of mass virus outflows to BBS/FTP file servers thousands of computers main visually simultaneously become infected, but in most cases DOS or Windows viruses are uploaded, which in most cases have much lower speed of spreading then macro viruses have. For this reason incidents like this virtually never lead to mass epidemics, which is not so for macro viruses.

Local Access Networks

The third way of "fast infection" is via local access networks. If no necessary safety measures are taken, an infected workstation after logging on to a network infects one or several system utility files on a network server (LOGIN.COM in case of Novell NetWare):

The next day when users log on to the network, they run infected files from server, and therefore the virus is granted access to users' workstations:

Instead of LOGIN.COM utility there may be other software, residing on the server, such as standard document templates or Excel spreadsheets used by company employees, etc.

Pirated Software

Illegal copies of software, as it has always been, are one of the main "danger zones". Often piracy software on diskettes and even on CDs contains files, infected with all kinds of viruses.

General Access Personal Computers

Computer systems installations in educational institutions also present danger. If one of the students infected such an installation with virus, brought by him on a diskette, then all the other students using this computer will also get the parasite on their diskettes.

The same goes for home computers too, is more than one person uses them. There offer arise situations when a son or a daughter, being students and working on a multi-user computer in college or school, acquire viruses from there and take them to home computer, from which it gets into a computer network of Dad's or Mom's company.

Repair Services

Cases like that are seldom but still possible, when a computer is infected while being repaired. Repair personnel are also humans and are prone to negligence to basic rules of computer security. Having once forgotten to write protect one of his floppies, such person will pretty soon spread the viruses to computers of his clients and most likely will lose them (clients).

TOP

How to protect your computer against viruses

  • To adequately protect your computer against viruses it's essential that you follow the five guidelines below..
  • Use updated antivirus software on your computer at all times.
  • Back up all important work often! Be sure to back up work to a floppy or external disk (i.e. ZIP or MO) - any disk on the computer may be corrupted by a virus if it strikes on your computer.
  • Stay informed about computer antivirus.
  • Make up an emergency startup (boot) disk. For many Windows users it's as easy as going to Add/Remove control panel and clicking on the "Startup Disk" tab to make a startup disk. Lock the disk when you're done and see if you can boot your computer up from your new startup disk. Put the disk in a safe place in case of emergency.
  • Use a second package for a second opinion. Sometimes one package detects a virus that another does not. A second opinion from time to time is just good common sense - especially since it's free if you use a demonstration trialware packages.

TOP

Detecting & Removing Viruses

So, how do you KNOW if you really have a virus? A lot of times your computer may bomb because of a low memory environment (time to get more RAM), conflicts with other software programs, or just because. It's sometimes difficult to figure out what causes malfunction, but experts can help you configure your computer to run more stable. As far as viruses go, the best bet is to use professional software to detect viruses. If you use two or more programs and they don't detect a virus it's probably not a virus.

What happens if it's a new virus, will it still be detected? Well actually, most packages include heuristic methods to detect changes in the size of a file, common 'virus like' signatures, and other cool stuff. So, new and previously unknown viruses can be detected in many cases.

Because an average of 5-8 new PC viruses come out every day it's important that you use updated software. most software packages update their software every 6 months or so, and update signature file/databases every week or so. If you're connected to the Internet you can often download updated signature files and databases, used to store information about known viruses, for free or almost free. Symantec, makers of Norton's Antivirus, provides free signature file upgrades.

Also, make sure you use software than can detect both system and macro viruses. Most leaders in the field have combined both in their software, but other packages may only scan for regular system viruses OR just macro viruses. You need protection from both types of viruses, so check your documentation.

TOP

Antivirus Software

Which software package to use is a common question. The answer is - use at least one, preferably two! There are some differences between them, like file size, ability to scan zipped files and email, the update process, cost, etc. But for the most part, they all do a great job if installed correctly and updated often.

Testing Software To Make Sure It Works

Whatever you do, don't find a site with actual viruses and download them to see if your software detects them! A group out of Europe has developed an EICAR Test File. After installing this test file on your drive run your software to see if it detects it. If it doesn't it's time to reinstall the software or get updates/new software.

Preventative Measures

There are some important preventative measures that you should take to protect yourself from any sort of data failure, infection, or problem. This first is called "choke-hold," and the second is Boot Camp. If you ever get a virus, you'll be glad you participated in virus choke-hold and Boot Camp. *Note, Windows 95/98 users can make a startup disk using the Add/Remove control panel.

Updating virus definitions/signatures

According to IBM researchers, computer hackers create new viruses at the rate of about three per day--over a thousand new viruses per year. So, a virus scanner that's two or three years old won't detect and eradicate the newer computer viruses cropping up every day. That's why it's extremely important that you regularly update your antivirus package's virus definition file or virus signature file.

Remember:

  • A virus can not appear on your computer all by iself. You have to get it by sharing infected files or diskettes, or by downloading infected files from the Internet.
  • A write-protected diskette can not become infected with a virus.
  • You can not get a virus by reading the body of a email message, although one could be carried in an attachment (e.g., a Word or Excel file). These attachments should be scanned before you read them.

TOP

How Do I Get Anti-Virus Software?

You should install anti-virus software on your desktop computer to protect it from viruses. McAfee's VirusScan (4.03)   and Norton Antivirus are recommended for the Windows environment and the latest version of Virex (5.9.1) for the Macintosh. You can buy them from the distributors in your area.

You also can download anti-virus software directly from the Web.

Anti-virus programs are the most effective means of fighting viruses. But I would like to point out at once that there are no anti-viruses guaranteeing 100 percent protection from viruses. Any declarations about their existence may be considered to be either an advertising trick or a sign of incompetence.

It is also necessary to pay attention to some terms used in anti-virus programs discussion:

False Positive - when an uninfected object (file, sector or system memory) triggers the anti-virus program. The opposite term - False Negative - means that an infected object came undetected.

On-demand Scanning - virus scan starts on user request. In this mode the anti-virus program remains inactive until user invokes it from command line, batch file or system scheduler.

On-the-fly Scanning - all the objects which are processed in any way (opened, closed, created, read from or written to etc.) are being constantly checked for viruses. In this mode the anti-virus program is always active, it is memory resident and checks objects without user request.

TOP

Which Anti-Virus Program is Better?

Which anti-virus program is the best? The answer is - any program, if no viruses live in your computer and you use only reliable virus free software source and no other. However if you like using new software or games, are an active email user, using Word or exchanging Excel spreadsheets for that, then you still should use some kind of anti-virus. Which one exactly - you should decide that for yourself, but there are several points of comparison of different anti-viruses with each other.

The quality of anti-virus programs is determined, to my mind, by the following points, from more to less important:

Reliability and convenience of work - absence of anti-virus "hangs" and other technical problems, requiring special technical knowledge from user.

Quality of detection of all major kinds of viruses, scanning inside document files, spreadsheets (Microsoft Word, Excel, Office97), packed and archived files. Absence of false positives. Ability to cure infected objects. For scanners (see below), this means the availability of timely updates, that is the speed of tuning scanner to new viruses.

Availability of versions of anti-virus for all the popular platforms (DOS, Windows 3.xx, Windows95, WindowsNT, Novell NetWare, OS/2, Alpha, Linux etc.), not only on demand scanning but also scanning on-the-fly capabilities, availability of server versions with possibility of network administration.

Speed of work and other useful features, functions, bells and whistles.

Reliability of anti-virus programs is the most important criterion, because even the "absolute anti-virus" may become useless, if it will not be able to finish the scanning process and hangs, leaving a part of disks and files unchecked, thereby leaving the virus in the system undetected. The anti-virus may also be useless if it demands some special knowledge from user - most users are likely to simply ignore the anti-virus messages and press [OK] or [Cancel] at random, depending on which button is closer to the mouse cursor and this time. And if the anti-virus will ask ordinary user complicated questions too often, the user will most likely stop running such an anti-virus and even delete it from disk.

Virus detection quality is the next item for quite an obvious reason. anti-virus programs are called anti-virus because their main purpose is to detect and remove viruses. Any highly sophisticated anti-virus is useless if it is unable to catch viruses, or does it with low quality. For example, if an anti-virus can not detect a certain polymorphic virus with 100% success, then after the system has been infected with this particular virus, such an anti-virus detects only part (say 99%) of all the infected files in system. As little as 1% of infected files will remain undetected, but when this virus has infiltrated the system again, the anti-virus misses this 1% for the second time, but this time this will be 1% of the 99% left from the last time, i.e. 1.99%. And so on until all the files will become infected with anti-virus being perfectly happy about it.

Therefore detection quality is the second most important criterion of anti-virus quality; even more important than its multi-platform availability, various convenient features and so on. However if an anti-virus with high quality of detection causes lots of false positives, then its level of usefulness drops significantly, because user has to either delete uninfected files or analyze suspicious files all by himself, or gets used to these frequent false alarms and in the end misses the real virus warning.

Multi-platform availability is the next item on the list, because for each OS only a native for that OS program can make extensive use of this OS features. Non-native anti-viruses are often not as useful or sometimes even destructive. For example the "OneHalf" virus has infected a Windows95 or WindowsNT system. If you use a DOS anti-virus for disk decryption (this virus encrypts disk sectors), the results may be disappointing: the information on disk will be damaged beyond repair, because Windows95/NT would not allow the anti-virus to use direct sector reads/writes while decrypting sectors. Whereas a native Windows95 or NT anti-virus fulfills this task flawlessly.

On-the-fly checking capability is also a rather important feature of an anti-virus. Immediate forced virus check of all incoming files and diskettes gives virtually 100% guarantee of virus free system, if, of course, the anti-virus is able to detect the supposed viruses. Anti-viruses capable of continuous care of the file server health (for Novell Netware, Windows NT, and recently after massive invasion of macro viruses, also for email servers, that is scanning all the incoming mail) are very useful. If a file server version of an anti-virus contains network administration features, its value increases even more.

The next important criterion is working speed. If full system check requires several hours to complete, it is unlikely that most users are going to run it frequently. Also the slowness of anti-virus does not imply that it catches more viruses or does it better than its faster counterpart. Different anti-viruses utilize different virus scanning algorithms, some being faster and of higher quality while another may be slower and not so of such quality. Everything here depends on the abilities and competence of developers of a particular anti-virus.

Various additional options are last in the anti-virus quality criteria list because very often these options have no effect on overall usefulness. However these additional options make user's life much easier and maybe push him to run anti-virus more often.

TOP

Types of anti-viruses

The most popular and effective anti-virus programs are anti-virus scanners. They are followed by CRC scanners (a.k.a. checksummer, integrity checker) for their effectiveness and popularity. Often both of these methods are being united into one versatile anti-virus program, making it much more powerful. Various behavior blockers and immunizers are also used in some cases.

Scanners

The principle of operation of anti-virus scanners is based on checks of files, sectors and system memory, and search for known and new (unknown to scanner) viruses. To search for known viruses so-called "masks" are used. A virus mask is a virus specific constant sequence of code. If a virus contains no constant mask or the size of the mask is insufficient, other methods are used. An example of such a method is an algorithmic language describing all possible code sequences which one may meet in files infected with that virus. Some anti-viruses use this approach to detect polymorphic viruses.

"Heuristic scanning" - that is, analysis of sequence of instructions in the code being checked, accumulation of some statistics, and decision making ("possibly infected" or "not infected") for each object being checked - is also used in many scanners. Because heuristic scanning is in many aspects a probability method of virus search, it abides by many laws of the theory of probabilities. For example, the higher is the percentage of detected viruses, the larger is the number of false positives.

Scanners may be also divided into two categories - "general" and "special". General scanners are designed to find and disarm all kinds of viruses irrespective of the type of OS for which this scanner was designed. Specialized scanners are designed to disarm a limited number of viruses or only one class of viruses, for example, macro viruses. Specialized scanners designed only for macro viruses are often the most convenient and reliable solution for protection of document flow in MS Word and MS Excel based office systems.

Scanners are also divided into resident, working on-the-fly; and non-resident, doing system check only on request. As a rule, resident scanners provide better system protection, because of their immediate reaction to the appearance of virus, whereas nonresident scanners can only detect viruses when executed.

Scanners of all types have common advantages like versatility, and common disadvantages like obligatory huge virus databases and relative slowness of virus search.

CRC scanners

CRC scanners operate by calculating CRC sums (checksums) for actual disk files/system sectors. These CRC sums then are saved to anti-virus's database with some other data like file sizes, dates of last modification etc. On subsequent runs CRC scanners compare database information with currently calculated values. If database entry for a file differs from the file's current characteristics, the CRC scanners report file modification or possible virus infection.

CRC scanners using anti-Stealth algorithms are a rather powerful weapon against viruses: virtually 100% of viruses are detected almost immediately after their infiltration into computer. But this kind of anti-viruses has one innate drawback significantly lowering their effectiveness. CRC scanners cannot catch a virus immediately after its infiltration but do this only after some time, when the virus has already spread over the computer. CRC scanners cannot detect viruses in newly arrived files (in email, on diskettes, restored backup files or uncompressed archives), because their database does not have entries for these files. Moreover, there periodically emerge viruses, which take advantage of such a "weakness" of CRC scanners, infecting only the newly created files and therefore invisible for CRC scanners.

Behavior Blockers

Anti-virus behavior blockers are memory resident programs intercepting potential virus danger and warning user about it. Such virus danger may be detected during write calls to executable files, boot sector writes or MBR writes, attempts of programs to go TSR etc., that is during operations characteristic for viruses in their attempts to spread.

Blockers have the advantage of being able to spot and block the virus at the earliest stage of infection, which is often useful in situations when a well known virus repeatedly emerges out of nowhere. Known ways of overriding blocker's protection and lots of false alarms are the disadvantages of blockers, which apparently lead to their complete failure among users.

There is also such a notable line of anti-virus means hardware anti-virus blockers. Most common of them is protection against MBR writes built into BIOS. However as in the case of software blockers such a protection is easily overridden by direct writes to controller ports, whereas a single run of a DOS utility FDISK immediately causes false positive reaction of the protection.

There are some more types of blockers with greater versatility, but in addition to the above mentioned disadvantages they have also problems of compatibility with standard hardware configuration of computers, and are difficult to set up and configure. All this makes hardware blockers extremely unpopular compared to other means of anti-virus protection.

Immunizers

Immunizers are divided into two types: the ones warning about the infection, and the ones blocking certain viruses' attempts to infiltrate system. Immunizers of the first kind usually append themselves to the end of files (like file viruses do) and at each launch of the file check it for changes. They have only one, but lethal, drawback: their complete incapability to spot a Stealth virus infection. For this reason such immunizers, like blockers, are now virtually not used.

The second type of immunization protects system from being infected with virus of a certain kind. Disk files are modified in such a way that the virus considers them already infected (for example the notorious "MsDos" string to protect from the ancient "Jerusalem" virus). For resident virus protection a small TSR program is placed in computer memory; the virus stumbles onto it and considers the system already infected.

Immunization of such kind cannot be versatile because it is impossible to immunize files for all known viruses: some viruses consider files infected, if file modification time contains "62" in the "seconds" field, others - "60". But despite of that such immunizers may quite reliably protect computer from new unknown virus up to the moment when it will become detectable by anti-virus scanners.

TOP

Tips on Usage of Anti-Virus Programs

Always see that you have the latest antiviral software version available. If software updates are available, check them for "freshness". Usually new versions of anti-viruses are announced, so it is sufficient to visit the corresponding WWW/ftp/BBS sites.

Anti-virus "nationality" in most cases does not matter because at present time the processes of virus emigration to other countries and antiviral software immigration is limited only by the speed of the Internet, so both viruses and anti-viruses know no borders.

If there was found a virus on your computer, it is imperative not to panic (for those who "meet" viruses daily a remark like this may seem funny). Panicing never does any good; thoughtless actions may result in bitter consequences.

If the virus is found in some newly arrived file(s) and has not infiltrated the system yet, there is no reason to worry: just kill the file (or remove the virus with your favorite antiviral program) and may well keep on working. If you have found virus in several files at once or in the boot sector, the problem becomes more serious, but still it can be resolved - anti-virus developers are no drones.

Once more you should pay attention to the term "false positive". If in some SINGLE file "living" in your computer system for a long time some single anti-virus has detected a virus, this is most likely a false positive. If this file has ran several times, but the virus still did not crawl to other files, then this is extremely strange. Try to check this file with some other anti-viruses. If they all keep silence, send this file to the research lab of the company that developed the anti-virus which was triggered by it.

However if a virus has really been found in your computer, you should do the following:

In case of detection of a file virus, if the computer is connected to a network, you should disconnect it from the network and inform the system administrator. If the virus has not yet infiltrated the network, this will protect server and other workstations from virus attack. If the virus has already infected the server, you disconnection from the network will not stop it from infiltrating into your computer again after its treatment. Reconnection to the network must be done only after all the servers and workstations have been cured.

If a boot virus has been found, you should not disconnect your computer from the network: viruses of this kind do not spread over it (except file-boot viruses, of course).

If the computer is infected with macro virus, then instead of disconnecting from network it is enough to make sure that the corresponding editor (Word/Excel) is inactive on any computer.

If a file or boot virus has been detected, you should make sure that either the virus is non- resident, or the resident part of it has been disarmed: when started, some (but not all) anti-viruses automatically disable resident viruses in memory. Removal of virus from memory is necessary to stop its spreading. When scanning files anti-viruses open them; many resident viruses intercept this event and infect the files being opened. As a result most part of the is be infected because the virus has not been removed from memory. The same thing may happen in case of boot viruses - all the diskettes being checked may become infected.

If the anti-virus you use does not remove viruses from memory, you should reboot the computer from a known uninfected and well write-protected system diskette. You should do a "cold" boot (by pressing Reset or power off/on) because several viruses "survive" after "warm" boot. Some viruses imply technique allowing the to survive even the "cold" boot (see the "Ugly" virus for example), so you should also check the item "boot sequence A:, C:" in the machine's BIOS to ensure DOS boots from the system diskette and not from infected hard drive.

Besides resident/non-resident capabilities it is useful to make yourself acquainted with other features of the virus: types of files it infects, its effects etc. The only known source of such information, containing data of this kind on virtually all known viruses is "The AVP Virus Encyclopedia".

With the help of the anti-viral program you should restore the infected files and them check them for functionality. Before treating or at the same time you should backup the infected files and print/save the anti-virus log somewhere. This is necessary for restoring files in case if the treatment proves itself to be unsuccessful due to an error in treating module of the anti-virus or because of inability of this anti-virus to cure this kind of virus. In this case you will have to resort to the services of some other anti-virus.

It is much more reliable, of course, to simply restore the backed up files (if available), but still you will need to resort to anti-virus - what if not all the copies of the virus have been destroyed, or some backed up files are infected, too.

It is worth mentioning, that the quality of restoration of files by many antiviral programs leaves much to be desired. Many popular anti- viruses often irreversibly damage files instead of curing them. Therefore if loss of files is undesirable, you should execute all the previous recommendations completely.

In case of a boot virus it is necessary to check all the diskettes whether they are bootable (i.e. contain DOS files) or not. Even a completely blank diskette may become a source of viral infection - it is enough to forget it in the drive and reboot (of course, if diskette boot is enabled in BIOS).

Besides the above mentioned items you should pay special attention to the cleanness of modules, compressed with utilities like LZEXE, PKLITE or DIET, files inside archives (ZIP, ARC, ICE, ARJ, etc.) and self-extracting files data (created by the likes of ZIP2EXE). If you accidentally pack a virus infected file, it will be virtually impossible to detect and remove virus from it without unpacking. In this case a situation in which all the antiviral programs, unable to scan inside archives, report that all disks are virus free, but after some time the virus re-emerges, will become typical.

Colonies of virus may infiltrate backup copies of software, too. Moreover, archives and back up copies are the main source of long known viruses. A virus may "sit" in a distribution copy of some software for ages and then suddenly appear after software installation on a new computer.

Nobody can guarantee removal of all copies of computer virus, because a file virus may attack not only executables but also overlay modules not having COM or EXE extensions. A boot virus may remain on some diskette and appear suddenly after an attempt to boot from it. Therefore it is sensible to use some resident anti-virus scanner continuously for some time after virus removal (not to mention that it's better to use scanner at all times).

TOP

What If My Computer Gets a Virus?

Not all damage to your programs and files is caused by viruses: worn out floppies, failing hard drives, user error, and poorly written programs can all cause you to lose data. If your computer is behaving strangely, or if you think your computer has a virus, use an anti-virus program to find out.

If your computer is infected with a virus, DON'T PANIC! Use an anti-virus program to remove the virus yourself, or turn your computer off and find someone who knows how to remove the virus.

If a virus is active in memory, it may prevent anti-virus programs from working correctly. To be sure no virus is active, turn off your computer and reboot from a known-clean system diskette before you begin the disinfection process.

Eliminate all copies of the virus as quickly as possible. Check all your diskettes, and warn anyone else who may have infected files or disks.

Remember, most viruses can be removed without permanent damage to your system, and most virus infections can be prevented. With proper care, your computer can remain virus-free.

TOP

Detection of an Unknown Virus

In this chapter we discuss the situations which user faces when he suspects, that his computer is infected, but none of the anti-viruses known to him tested positive.. How and where to look for virus? What tools are needed for that, what methods to use and what rules to follow?

The very first rule is - don't panic. This will never do any good. You are neither the first nor the last person on Earth whose computer became infected. Besides, not every computer malfunction is attributed to virus. You should remind yourself of the 3 c's more often - "cool, calm and collected". And viral infection is not the worst thing that could happen to a computer.

If you are not sure of yourself, ask a system programmer for help; he will locate the virus and help to remove it (if it is really a virus), or he might help to find the reason for such a "strange" behavior of computer.

You should not call anti-virus companies and ask, "I think I have a virus in my computer. What should I do?". They will not be able to help you, because to remove a virus they need somewhat more information. For an anti-virus company to be of real help, you should send them a sample of virus - an infected file in case of a file virus, or an infected diskette (or its image) in case of a boot virus. How to detect infected files/disks will be told further.

Don't forget to boot up computer from a backup copy of DOS on a virus free and write-protected diskette before running any kind of antiviral software, and use subsequent programs only from diskettes. This is necessary to protect the system from a resident virus because it may block program execution or use their run to infect the checked files/disks. Moreover, there are a lot of viruses destroying data on disks, if they "suspect" that their code has been uncovered. This condition, of course, does not apply to macro viruses and disks partitioned in one of the new formats (NTFS, HPFS) - after DOS boots up, such a disk becomes inaccessible for DOS programs.

Detection of a Boot Virus

As a rule, boot sectors of disks carry small programs, whose purpose is to determine borders and sizes of logical disks (for MBR of hard drives) or operating system boot up (for boot sector).

In the beginning you should read the contents of the sector, suspected for virus presence. DISKEDIT from Norton Utilities or AVPUTIL from AVP Pro are best suited for that.

Some boot viruses virtually immediately may be detected by the presence of various text strings (for example, the "Stoned" virus contains the strings: "Your PC is now Stoned!", "LEGALISE MARIJUANA!"). Some boot viruses infecting hard disks may be found in the opposite way, by absence of strings which must be in the boot sector. Such strings are: system file names (for example, "IO SYSMSDOS SYS") and error message strings. Absence of or change in header string of the boot sector (the string containing DOS version number or software vendor name, e.g. "MSDOS5.0" or "MSWIN4.0") may also be a signal of viral infection, but only if the computer has no Windows95/NT installed - these systems for reasons unknown to me record random text string into diskette's boot sector header.

Standard MS-DOS loader located in MBR occupies less than half a sector, and many viruses infecting the MBR of a hard drive are easily spotted by the increase in the size of code in MBR sector.

But there also are viruses which infiltrate the loader without changing its text strings and with minimum changes in loader code. To detect such a virus in most cases it is sufficient to format a diskette on a 100% uninfected computer, save its boot sector as a file, use this diskette for some time on the infected computer (read/write several files) and afterwards compare its current boot sector with the original one on an uninfected computer. If boot code underwent some changes - the virus is caught.

Also there are viruses using more complicated infecting technique, for example, changing as little as 3 bytes of the Disk Partition Table, corresponding to the address of the active boot sector. To identify such a virus it is necessary to explore boot sector codes in greater detail, up to the complete analysis of algorithm of its code.

These arguments are based on the fact that standard loaders (programs saved by the operating system in boot sectors) employ standard algorithms of loading of operating system and are implemented in accordance with this system's standards. However if disks have been formatted with other utilities than standard DOS ones (for example, Disk Manager), then to detect a virus in them one should analyze operating algorithm and implementation of loaders created by such an utility.

Detection of a File Virus

As already mentioned, viruses are divided into resident and non-resident. Resident viruses found so far stood out for their much greater craftiness and sophistication in comparison with non-resident. Therefore we shall discuss the simplest case for starters - attack of an unknown non-resident virus. Such a virus activates itself on start of any infected programs, does all it has to, passes control to the host program and afterwards (unlike resident viruses) does not interfere with its work. To detect such a virus it is necessary to compare file size on disks and in backup copies (the reminder about the importance of keeping such copies has already become commonplace). If this doesn't help you should do a byte compare of distribution copies with working copies you use. At present there are many such programs, the simplest of them (COMP utility) can be found in DOS.

One may also examine a hex dump of executables. In some cases it is possible to immediately detect viral presence by some text strings residing in its code. For example, many viruses contain strings ".COM", "*.COM", ".EXE", "*.EXE", "*.*", "MZ", "COMMAND" etc. These strings may often be found at the top or end of infected files.

There is yet one more method of visual detection of virus in a DOS file. It is based on the fact that executables, the source code of which was in high level programming language, have a quite definite inside structure. In the case of Borland or Microsoft C/C++ program code segment is in the very beginning of file, immediately followed by data segment, containing copyright notice with the name of compiler vendor company in the beginning. If the data segment in the dump is followed by one more code segment, then it might very well be that the file is infected with virus.

The same is true for most part of the viruses, whose target is Windows and OS/2 files. In these OS executables have the following standard order of segments: code segment(s) followed by data segments. If a data segment is followed by one more code segment, it may be a signal of presence of virus.

If a user is familiar with the assembly language, he may try to figure out the code of suspicious programs. For a quick look most suitable are the following utilities: HIEW (Hacker's View) or AVPUTIL. For more detailed analysis one will require a disassembly software - Sourcer or IDA.

It is recommended to run one of the resident antiviral behavior blocker and follow its messages about "suspicious" actions of programs (writes to COM or EXE files, writes to absolute disk addresses etc.). There are blockers not only intercepting such actions, but also displaying messages about the originating addresses of such calls (AVPTSR is one of such blockers). Having discovered such a message one should find out what program caused it and analyze its code with the help of a resident disassembler (for example, AVPUTIL.COM). Tracing the interrupts INT 13h and 21h is often a great help in analysis of TSR programs.

One must note that the resident DOS blockers often are powerless when working in a DOS window under Windows95/NT, because Windows95/NT allow viruses to work bypassing the blocker (and all the rest TSR programs with it). DOS blockers are also unable to stop the spreading of Windows viruses.

The above methods of detection of file and boot viruses are suitable for most resident and non-resident viruses. But these methods fail if a virus is Stealth by design, which renders useless the majority of modern resident blockers, file comparison and sector read utilities.

Detection of a Macro Virus

Characteristic displays of macro viruses are:

  • Word: inability to convert infected Word document to other format.
  • Word: infected files have the Template format, because when infecting, Word viruses convert files from Word Document format to Template format.
  • Word 6 only: inability to save document to another directory or disk with the Save As command.
  • Excel/Word: "alien" files are present in the STARTUP directory
  • Excel versions 5 and 7: Cookbooks contain redundant and hidden Sheets.

To check the system for viral presence you may use the Tools/Macro menu item. If "alien" macros have been found, they may belong to a virus. But this method fails in case of Stealth viruses, which disable this menu item, which in itself is sufficient to consider the system infected.

Many viruses contain errors or work incorrectly in various versions of Word/Excel, resulting in Word/Excel error messages, for example:

WordBasic Err = Error number

If such a message appears while editing a new document or table, and you definitely do not use run any user macros, then this may also serve as a sign of system infection.

Changes in Word, Excel and Windows system configuration files are also a signal about possible infection. Many viruses change menu items under Tools/Options in that way or another - enable or disable the following functions: "Prompt To Save Normal Template", "Allow Fast Save", "Virus Protection". Some viruses set file passwords after infecting them. A lot of viruses creates new sections and/or options in the Windows configuration file (WIN.INI).

Of course, such obvious facts like appearing messages or dialogues with strange contents or on a different language than the default for this installation are also signs of virus.

Detection of a TSR Virus

If traces of virus activity have been found in computer but no visible changes in files or system sectors of discs can be found, then it is quite possible that the computer is infected by one of the Stealth viruses. In this case it is necessary to boot DOS from a verified virus free diskette with backup copy of DOS, and do the same as in case non- resident viral infection. But sometimes this is undesirable, and in a few cases - impossible (for example there are known cases of purchase of new computers which have already been virus infected). Then you will have to detect and neutralize the resident part of the virus, implemented with the use of Stealth technology. One might ask, where in memory and how to look for the virus or for its resident part? There are several ways of infecting memory:

DOS viruses

A virus may infiltrate the interrupt vector table

The best way to detect such a virus is to look through the map of memory distribution, which reflects a list of resident programs (example of such map see in table 3.1). A detailed memory map contains information about all the blocks, into which memory is divided: Memory Control Block (MCB) address, name of the block's owner program, address of the owner's Program Segment Prefix (PSP) and a list of intercepted by this block interrupt vectors.

In case a virus is present in the interrupt vector table, we get some "noise" from memory map displaying utilities (for example, AVPTSR.COM, AVPUTIL.COM).

Another, more reliable, but requiring a more qualified user, method is to scan the interrupt vector table with the help of a disassembler. If codes of some program will be found there, consider the virus code (or code fragment) discovered.

Viruses may build themselves into DOS in several ways: infiltrate a random system driver, system buffer, other working areas of DOS (for example, system stack area or free space in DOS or BIOS tables).

The most "popular" method of infection of a random system driver by virus is attachment of virus body to the driver file and modification of this driver's header. If besides that the virus forms a separate driver for itself, it may be discovered while looking at the memory map containing a list of system drivers. If there is a driver in this list which is absent in CONFIG.SYS, then this particular driver may be a virus. But if a virus "sticks itself" to a driver before it, not forming a separate diver from its own code, then it may be detected using methods described below.

A virus that builds itself into a system buffer must be able to lower the overall number of buffers; otherwise it will be destroyed by subsequent disk reads. It is not hard to write a program calculating the actual number of buffers in the system and comparing it to the value in BUFFERS command in CONFIG.SYS file (if CONFIG.SYS contains no BUFFERS command, the comparison is made with the default DOS value for BUFFERS).

There are many enough ways of viral incorporation into system tables or DOS stack area. However the implementation of such ways requires author's extensive knowledge of various DOS versions. Besides that there is not much free space in DOS, so creating a Stealth virus of full value of such kind is unlikely. If nevertheless such a virus still appears, its code may be discovered by disassembly of virus "suspicious" DOS code fragments.

A virus may infiltrate program area as a:

  • separate resident program or separate Memory Control Block (MCB);
  • internal part of some resident program or by "sticking itself" to one.

If a virus incorporates into application memory area as a new block, creating its own MCB for itself, or as a separate resident program, it may be discovered while looking at a detailed memory distribution map, showing the addresses of all MCB blocks. Usually such a virus looks like a separate memory block (table 3.3), having no name and intercepting one or several interrupt vectors (for example, INT 8h, 13h, 1Ch, 21h). Note that the virus can reserve for itself a block of both conventional and upper memory (UMB).

A virus may reach outside of memory reserved for DOS

Virtually all the boot viruses and some of the file viruses reside outside the memory area reserved for DOS, reducing the value of WORD at (0040:0013).

It is very easy to detect such viruses - finding out RAM size and comparing it with actual size will do. If instead of 640 KB (on some old PCs - 512 KB) the system reports lower value, you should examine the "cut off" memory with the help of disassembler. If some program codes will be found in this memory, then most probably the virus has been found.

Warning: RAM size may also shrink by 1k or so as a result of extended memory usage or because of some types of controllers' operation. A typical picture in this case is the following: the "cut off" memory area is mostly filled by zeros.

A virus may build itself into separate known TSR programs or "stick itself" to already existing memory blocks.

A virus may infect resident DOS files (for example, IO.SYS, MSDOS.SYS, COMMAND.COM), installable drivers (ANSI.SYS, COUNTRY.SYS, RAMDRIVE.SYS) etc. Such virus is more difficult to detect because of its low speed of spreading, however, the probability of attack by such a virus is also much lower. Lately there has been an influx of "wicked" viruses which correct MCB headers or "cheat" DOS in such a way that virus code block becomes as one with the preceding memory block.

In this case it is much more difficult to detect the virus - it is necessary to know the real size of programs placed in memory, and the list of interrupt vectors they intercept. But this method is not very convenient and not always works properly. Therefore it is recommended to use another method , which may make easier virus detection in a situation like this. It is based on the following property - a vast majority of viruses intercept the interrupts 13h or 21h, incorporating with the interrupt handler, to look for uninfected files or disk sectors. In this case to detect virus it is enough to look through the text (assembly language codes) of these interrupt handler routines (for example, with the help of AVPUTIL.COM). However to tell a virus from conventional programs one should have enough experience of work with viruses and some idea of the structure of an uninfected interrupt handler. Besides one should be careful: there are several viruses which "hang" the system when an attempt to trace their code is made.

There are known viruses not using interrupts to infect files or disks but working with DOS resources directly instead. When looking for such a virus it is necessary to thoroughly examine changes in the internal structure of infected DOS: drivers list, file allocation tables, DOS stacks etc. This is a very painstaking job, and keeping in mind a great number of existing DOS versions, it requires the highest qualification from user.

There are, of course, other, more exotic ways of viral memory infection, such as infiltration into video memory, High Memory Area (HMA) or extended/expanded memory (XMS, EMS), but viruses using these ways are seldom enough and so far have always had at least one of the features listed above. There also are monsters using i386 and higher protected mode. Luckily such viruses either do not coexist with the modern OS and therefore are too visible, or do not use Stealth technology. But it is quite possible that the DOS Stealth virus of full value, working in protected mode, will appear some time. Such a virus will be invisible for DOS applications, and it will be possible detected only by moving the infected files to an uninfected computer, or after DOS reboot from a clean diskette.

Windows Viruses

Detection of a resident Windows virus is an extremely difficult task. Virus being in the Windows environment as an application or as a VxD driver, is virtually invisible because of several more dozens of active applications and VxDs, not different from the virus in their external display. To detect the virus program in active applications list or VxD list, it is imperative to have extensive knowledge of the "internals" of Windows, and have complete information about applications and drivers installed in this particular computer.

Therefore the only suitable way of catching a resident Windows virus is to boot up DOS and check the Windows executable files with the help of the methods described above.

TOP

Recovery of Affected Objects

In most cases of viral infection the procedure of recovery of infected files and disks means running a suitable anti-virus capable to disinfect the system. However, if the virus is not known to any anti-virus, it is enough to send the infected file to anti-virus developer companies, and in some time (usually several days or weeks) receive the cure updates for this virus. But if time presses, you will have to disinfect the virus yourself.

Recovery of Word document and Excel spreadsheets

To disinfect Word and Excel it is enough to save all the necessary information in non-document and nonspreadsheet format - RTF text format is most suitable for this purpose, it contains virtually all the information from original documents but does not contain macros. Then you should exit Word/Excel, delete all the infected Word documents, Excel spreadsheets, Word's NORMAL.DOT file and all the documents/spreadsheets in start-up directories of Word/Excel. After that you should run Word/Excel and recover documents/spreadsheets from RTF files.

As a result of this procedure, the virus will be deleted from system, and all the information will remain virtually unchanged. But this method has several disadvantages. The main one is that the process of converting documents and spreadsheets to RTF format and back might be very time-consuming for large number of files. Besides that in case of Excel it is necessary to convert each sheet in each Excel file separately. Another drawback is the loss of all non-virus macros used in work. Therefore before beginning the described procedure one should save their source text, and after disarming the virus restore the necessary macros in their original form.

Boot Sector Recovery

Boot sector recovery in most cases is rather simple and can be done with the help of DOS SYS command (for boot sectors of diskettes and logical disks of hard drives) or with the help of the FDISK /MBR command (Master Boot Record of hard drives). Of course one might use the FORMAT command, but virtually in all cases SYS will do.

One should keep in mind, that sector recovery must be done only under the condition of absence of virus in RAM. If RAM copy of virus has not been disarmed, then it is quite possible, that the virus will repeatedly infect diskette or hard drive after the removal of viral code (even if you use the FORMAT utility).

Also you should be very careful while using FDISK /MBR. This command rewrites completely the code of the system loader routine and does not change the Disk Partition Table. FDISK /MBR is a 100 percent successful cure for most boot viruses, however, if the virus encrypts the Disk Partition Table or uses nonstandard methods of infection, FDISK /MBR may result in complete loss of information on disk. Therefore before running FDISK /MBR make sure that the Disk Partition Table is intact. To do so boot to DOS from an uninfected diskette and check the validity of this Table (the most suitable program for this purpose is Norton Disk Editor).

But if sector recovery with the help of SYS/FDISK is impossible, usually figure out the operating algorithm of the virus, find the original boot/MBR sector on disk and move it to the proper place (Norton Disk Editor or AVPUTIL suit for this best). Doing that you should constantly keep in mind that when rewriting system loaders you must be extra careful, because incorrect adjustment of the MBR or boot sector may result in total loss of all the information on disk(s).

File Recovery

In the vast majority of cases recovery of infected files is complicated enough. This procedure is impossible to be carried out by hand without the necessary knowledge - executable file formats, assembly language, etc. Besides that usually several dozens or hundreds of files become infected at once, and disarm them it is necessary to create and anti-virus program of your own (or you may also use the features of anti-virus database editor from the AVP package versions 2.x).

When curing files you should consider the following rules:

  • it is necessary to test and cure all the executable files (COM, EXE, SYS, overlays) in all the directories of all disks irrespective of file attributes (that is read-only, system and hidden);
  • it is desirable to keep file attributes and the date of last modification unchanged;
  • the possibility of multiple infections of one file must be regarded (virus "sandwich").

The treatment of the file itself in most cases is carried out by one of several standard methods, depending on the algorithm of multiplication of virus. In most cases file header recovery and size adjustment do the job.

RAM deactivation

The RAM deactivation procedure, like treatment of infected files, requires some knowledge of OS and assembly language expertise.

While treating RAM it is necessary to detect where the virus goes and change them in such a way that the virus could not prevent the anti-virus program from working further - "disable" the infection and Stealth routines. To do this it is required to have a complete analysis of the virus code done, because the infection and Stealth routines may be situated in different areas of the virus, duplicate each other and take control under different circumstances.

In most cases to deactivate memory it is enough to "cut off" those interrupts that are intercepted by virus: INT 21h in case of file viruses and INT 13h in case of boot viruses (of course there are viruses intercepting other interrupts or several interrupts at once).

TOP

The Main Rules for protecting your system(s)

Rule No. 1

Be very careful with programs and documents in Word/Excel formates received through global access networks. Before executing files or opening a document/spreadsheet/databases be sure to check them for viruses.

Use customized anti-virus programs to check all files coming-in via Email and Internet on-th- fly.

Rule No. 2 - local access network protection

To lower the risk of infecting files on the server, network administrators have to make extensive use of standard network security features: user access restrictions; setting "read-only" or even "execute only" attributes for all that executables (unfortunately this may not always be possible) etc.

Use customized anti-virus programs, checking the files in use on-the-fly. If for some reason this is impossible, run conventional anti-virus programs on server disks regularly.

The risk of a computer network infection becomes considerably lower in case of use of diskless workstations.

It is a good idea to test new software thoroughly on a stand-alone trial computer (preferably not connected to the network) before deployement in the networked infrastructure.

Rule No. 3

It is better to buy software distribution packages from official vendors than copying them for free or almost for free from other sources or buy piracy copies (not to mention that software piracy is illegal). This way the risk of infection is considerably lower, although there are known cases of shrink-wrapped commercial software packages which were virus-infected.

As a consequence from this rule follows the necessity of keeping distribution copies of software (including copies of operating system), preferably on write-protected media.

Also use only well established sources (official sites from manufacturers) for obtaining software over public access networks such as the Internet. Although this is not always helpful (for example for a long time on the Microsoft WWW server there has been a document infected with "Wazzu" macro virus).

Rule No. 4

Try not to run unchecked files including those received via computer network. Use only those programs received from reliable sources. Before running the programs be sure to check them by one or several anti-virus programs.

Even if none of the anti-virus programs were triggered by a suspicious file downloaded from a BBS or newsgroup, don't rush to run it. Wait for a week; it is possible that this file is infected with some new unknown virus, in that case somebody else might "step into it" before you and inform about it.

It is also desirable to have some kind of a resident anti-virus monitor when working with some new software. If the executed program is infected by a virus, such a monitor will be able to detect the virus and prevent it from spreading.

All this leads to a necessity limiting the number of persons using a particular computer. Multi-user personal computers are generally more prone to infection.

Rule No. 5

Use validation and data integrity checking utilities. Such utilities the special databases of disks system areas (or keep the entire system areas in databases) and file information(check sums, sizes, attributes, last modification dates etc.). You should periodically compare such database information with actual hard drive contents, because any inconsistency might be a signal of presence of a Trojan horse or virus.

Rule No. 6

Backup your working files periodically. The expenses of backups of all your source code files, database files, document files etc. are much lower than the expenses of restoring these files in case of a virus attack or a computer malfunction.

If you have a streamer or other mass storage device, then it makes sense to backup all the hard drive's contents.

Other rules

  • If there is no need to boot the system from a floppy drive everyday, set the boot order in BIOS Setup as "C:,A:". This will protect your computer from catching boot viruses by forgetting infected diskettes in the floppy drive.
  • Do not rely on the built-in BIOS virus protection, many viruses pass it by with the help of different techniques.
  • The same goes for anti-virus protection which is built into Word and Office97. This protection can also be disabled by viruses or by the user (because it may be a nuisance).

The Problem of Macro Virus Protection

Due to the fact that the macro virus problem nowadays exceeds all the other virus related problems, it is worth a more detailed explanation.

There are several techniques and a number of built-in Word and Office97 functions aimed at prevention of executing a virus. The most efficient of them is Word and Excel (starting from versions 7.0 a) built in virus protection. When opening the file containing any macro, this protection informs about its presence, and suggests to disable this macro. As a result the macro is not only disabled but also can not be seen by means of Word/Excel.

Such a protection is rather reliable, but absolutely useless, if user works with macros of any kind: it does not make difference between virus macros and non-virus macros and displays the warning message before opening virtually any file. For this reason the protection becomes disabled in most cases, which gives viruses opportunity to infiltrate the system. Besides that activating virus protection in an already infected system not always helps -some viruses, once taken control, with each execution disable virus protection feature and therefore completely block it.

There are other virus counter measures, for example the DisableAutoMacros function, however it does not prohibit execution of other macros and blocks only those viruses which use one of the auto macros for their propagation.

Executing Word with /M option (or with pressed Shift key) these tables only the AutoExec macro and therefore can not be a reliable virus protection feature.

TOP

Tips From the Real World

  • To avoid viruses completely, use a typewriter.
  • The critical step: Keep virus signatures up to date.
  • Be aware of hoaxes.
  • Don't underestimate "old-fashioned" viruses that have been around for years. They are common and destructive.
  • Don't download live viruses from the Internet to experiment with them.
  • Be conscious of new viruses, and understand their methods of spreading.
  • Don't accept disks from friends. Even well-meaning people can pass along contaminated files.
  • Don't download Internet files, especially from newsgroups. If you must do so, take your chances with large commercial sites, which are more likely to check files for viruses before posting them.
  • Don't open executable files attached to e-mail. Just delete the messages.
  • Be wary of e-mail attachments. If you're unfamiliar with the sender, don't execute them at all.
  • If you download executable files from the Internet, Usenet newsgroups, or FTP sites, scan them in a safe area before executing.
  • Keep your corporate policies up-to-date. Educate employees about virus dangers.
  • Update your antivirus utility's signatures frequently--at least once a month.
  • Use common sense. You don't have to be careless because other people are.
  • If you don't know the sender of an e-mail attachment, don't open it. Delete it right away.
  • Immediately after you perform a full-system virus scan, make a full backup.
  • Always scan a floppy disk as soon as you put it in the drive. If you find a virus, tell the person who gave you the disk.
  • Be especially cautious about downloading files from newsgroups.

TOP