Summary
The Win2k.Stream virus was not found in the wild at the moment of
creation of this description.
The Win2k.Stream is the first known Windows virus using a "stream
companion" infection method. This method is based on NTFS feature
that allows a creation of multiple data streams associated with a
file.
Additional Details
On NTFS system, each file contains at least one default data
stream that is accessed just by file name. Each file may also
contain additional stream(s) that can be accessed by their
personal names (filename:streamname).
The default file stream is the file body itself (in pre-NTFS terms).
For instance, when an EXE file is executed, the program is read
from the default file stream; when a document is opened, its contents
are also read from the default stream.
Additional file streams may contain any data. The streams cannot
be accessed or modified without reference to the file. When a file is
deleted, its streams are deleted as well; if a file is renamed,
streams follow its new name.
Windows package does not have any standard tools to view/edit file
streams. You need to use special utilites to "manually" view file
streams, for instance FAR utility with the file steams support
plug-in (Ctrl-PgDn displays file streams for the selected file).
The virus itself is a Windows application (PE EXE file), compressed
by Petite PE EXE files compressor and it is about 4K long. When run,
it infects all EXE files in the current directory and then returns
control to the host file. If any error occurs, the virus displays
the message:
While infecting the file, the virus creates a new stream associated
with the victim file. That stream has "STR" name, i.e. complete
stream name is "FileName:STR". The virus then moves the STR stream
to the victim file body (default stream, see above) and then
overwrites the victim file body (default stream) with its (virus)
code.
As a result, when the infected file is executed Windows reads the
default stream (that is overwritten by the virus code) and executes
it. Also, Windows reports the same file size for all infected files -
which is the virus length.
The virus creates a new process by accessing the original file
program with "FileName:STR" name to release control to host program.
This infection method should work on any NTFS system, but the
virus checks system version and runs only under Win2000.
[Analysis: Eugene Kaspersky, KL; September 2000]