JSB alias J.S. Bach -virus was found in southern Finland at the
end of 1993.
The virus infects only program files with the extension COM,
increasing the size of the programs by 498 bytes. Virus infects
only files in the current directory - this means that if an
infected program is executed from another directory with a full
pathname, the virus will be able to travel from a directory to
another.
For example, if mouse driver is executed from AUTOEXEC.BAT with
line like C:\MOUSE\AMOUSE.COM, the virus will infect files in the
root directory, because AUTOEXEC is executed from the root
directory.
The virus will also infect files that have internal EXE-file
structure, but have been renamed to COMs. This happens because
the virus does not check the internal structure of the files at
all. Such files are damaged by the virus and they will not
execute normally after the infection.
When the virus is searching for a victim file to infect, it makes
the following checks to the files:
o File must not be already infected. Virus will mark the infected
files by placing characters 'JSB' at the start of the file (in
offset 3 from the start of the file)
o The file must be larger than 15 bytes
o The file must be smaller than 64513 bytes - the virus checks
this in order to keep the infected files size smaller than the
upper size limit of COM files, which is 64 KB
When the virus has found a suitable victim file, it will be
infected by changing the first 16 bytes of the file and appending
the actual virus code. Next time the program is executed, it will
spread the infection further. Virus will not stay resident in
memory, but it will only spread when infected files are executed.
Infected files can be transferred from a computer to another via
any channel that allows the exchange of executable programs.
These include floppy disks, networks and modem connections.
J.S. Bach -virus will also infect files that have been protected
with DOS Hidden or Read- Only attributes. The virus will not
update the date or time fields of the files. Virus includes the
text strings 'J.S. Bach by TXQ', but this text is never
displayed.
The virus does not contain a critical error handler. Due this,
a write-protection error will be displayed, if the virus tries
to infect a file on a write-protected floppy.
Every time the virus is executed, it will check the current date.
If the year is 1993, and the day is above 20th of any month, the
virus will activate. It will install a tiny routine to be
resident in memory, and this routine will control all disk
activities. If the year is not 1993, the virus will always
activate.
This routine is installed to low DOS memory, and it overwrites a
part of the interrupt vector table. The routine cannot be seen in
memory with most memory mapping utilities, and it does not
consume any DOS memory. The BIOS disk interrupt INT 13h will be
redirected to this routine. Every time INT 13h is called, the
virus will increment a counter.
One of every 200 disk access requests is redirected to point to
first physical drive (typically floppy drive A:) instead of the
original disk. This will cause the floppy drive A: to spin
occasionally when the virus is active.
The damage caused by this routine is not easily estimated. A
likely result of this routine is that a large amount of data on
the hard disk gets corrupted. This happens, for example, when a
program or DOS itself is reading the allocation info or the
directory information, and the virus redirects the read request
to the floppy drive instead of the hard drive. Later, information
that is based on this wrong data is written to the hard disk,
causing random corruption. A corruption like this is quite fatal,
since one can not determine, which data is ok and which is
corrupted. In most cases the backups are also corrupted.
The structure of the virus is quite simple, but destructive.
[Analysis: Mikko Hypponen, F-Secure]