Airscanner Corp. has obtained and published the complete, annotated source code to CE.Dust, the first program capable of infecting the Windows Mobile Pocket PC platform. Being a proof of concept, the CE.Dust asks the user before actually infecting the handheld. But other programs could do this without user knowledge.
Virus authors have been trying to infect Windows CE for several years. However, CE.Dust (or CE.Duts as it's known by some anti-virus companies) had to overcome some technological barriers in order to infect this platform. By publishing the source code, Airscanner Corp. hopes to help security researchers and programmers develop appropriate countermeasures.
Airscanner Corp. received the CE.Dust virus from its author at the exact same time as all other major antivirus companies. The company worked with software reverse engineering for ARM-based processors techniques, and managed to find out more about the mechanisms used by the creator to infect the OS.
Additional contacts with the virus writer allowed them to publishe the source code, along with annotation and Airscanner's background material.
However, the "coredll module" resides deep within the kernel. This is the key module that controls all of the core system processes, as well as all of the necessary ingredients for sucessful virus infection.
The CE.Dust virus exploited a clever workaround of the operating system architecture in order to gain access to the coredll module. Windows CE was designed with a protected kernel. User-mode applications are not permitted to interact directly with the kernel. This was designed to enhance the security and stability of Windows CE. Specifically, in Windows CE.Net, Microsoft has left the function "kdatastruct" acessible to usermode. This provided the key to the entrypoint of the virus. Full details of this vulnerability are provided in the annotated comments of source code listed in the article.