Witty is a network worm that spreads through direct network connections, targeting machines that are running BlackIce security software.
If you're not running BlackIce software, this worm won't infect your system.
F-Secure's firewall applications block this worm with default settings.
More information at Incidents.org:
Witty is a pure network worm, it does not spread through email.
Based on the settings of your F-Secure security product, it will either move the file to the quarantine where it cannot spread or cause harm, or remove it.
A False Positive is when a file is incorrectly detected as harmful, usually because its code or behavior resembles known harmful programs. A False Positive will usually be fixed in a subsequent database update without any action needed on your part. If you wish, you may also:
Check for the latest database updates
First check if your F-Secure security program is using the latest detection database updates, then try scanning the file again.
Submit a sample
After checking, if you still believe the file is incorrectly detected, you can submit a sample of it for re-analysis.
NOTE If the file was moved to quarantine, you need to collect the file from quarantine before you can submit it.
Exclude a file from further scanning
If you are certain that the file is safe and want to continue using it, you can exclude it from further scanning by the F-Secure security product.
Note You need administrative rights to change the settings.
Witty uses a vulnerability in ICQ instant messaging protocol parsing routines of the ISS Protocol Analysis Module (PAM). More information on the vulnerability and the affected products is available from
The size of the worm suggests that it has been hand-written in assembly programming language. Witty is highly dependent on the version of the vulnerable DLL. It uses direct offsets to the DLL which change between versions.
The center of the code is a tight loop that generates UDP packets with the worm as payload. Characteristics of the packets:
Source port: 4000
Destination port: random
Size: random, between 768 and 1280 Bytes
Witty sends the UDP packets to 20000 random IP addresses. After completing the loop it opens one of the eight first physical drives and writes 64KiB of the vulnerable DLL to the disk. The intention of the author seems to be to write the data to a random place on the disk. Due to the DLL version dependency in some cases one of the API calls goes to an incorrect address and the worm overwrites the first 64KiB instead.
When the write operation is completed the worm restarts the UDP packet sending loop and iterates indefinitely. It will stop when the computer is restarted or the worm crashes.
The worm contains the following text:
(^.^)insert witty message here(^.^)