|Detected||Sep 04 2000 09:45 GMT|
|Released||Sep 07 2000 20:00 GMT|
|Published||Sep 04 2000 09:45 GMT|
This is the first known Windows virus using the "stream companion" infection method. This method is based on an NTFS feature that allows for the creation of multiple data streams associated with a file.
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, the streams follow the new name.
In a Windows package, there are no standard tools to view/edit file streams. To "manually" view file streams, you need to use special utilities, for instance FAR utility with file-streams support plug-in (Ctrl-PgDn displays file streams for selected file).
The virus itself is a Windows application (PE EXE file) compressed by Petite PE EXE files compressor and is about 4K in size. 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 a file, the virus creates a new stream associated with the victim file, and that stream has the "STR" name; i.e., the complete stream name is "FileName:STR". The virus then moves the victim file body to the STR stream (default stream, see above) and then overwrites the victim's file body (default stream) with its own (virus) code.
As a result, when an 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 - that is the virus length.
To release control to the host program, the virus just creates a new process by accessing the original file program with the "FileName:STR" name.
This infection method should work on any NTFS system, but the virus checks the system version and runs only under Win2000.
Viruses replicate on the resources of the local machine.
Unlike worms, viruses do not use network services to propagate or penetrate other computers. A copy of a virus will reach remote computers only if the infected object is, for some reason unrelated to the virus function, activated on another computer. For example: