<<< Date Index >>>     <<< Thread Index >>>

Virus exploits workaround in Windows Mobile/Pocket PC architecture (Includes Source Code)




Airscanner Mobile Security Advisory

*Title*

Virus exploits workaround in Windows Mobile/Pocket PC architecture (Includes 
Source Code)

*Introduction*

Airscanner Corp. has obtained and published the complete, annotated source code 
to CE.Dust, the first virus to infect the Windows Mobile/Pocket PC platform.

*Background*

Virus authors have been trying to infect Windows CE for several years. However, 
CE.Dust had to overcome unique 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. However, because Airscanner Corp. 
specializes exclusively in  software reverse engineering for ARM-based 
processors, we were fortunate enough to be the first antivirus company to 
analyze the virus and post a fix on July 16, 2004:
http://www.airscanner.com/pr/dust0715.html

*Source Code*

Following our initial publication, we wrote to the virus author and asked him 
to explain how he managed to be the first to infect this virgin OS. He was kind 
enough to explain his results in great detail. We have published his source 
code, along with annotation and our background material, at the following link:

http://www.informit.com/articles/article.asp?p=337071

*Vulnerability*

The virus exploits a unique workaround in the Windows CE.NET security 
architecture. 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.

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. 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 above.

*Contact*

Airscanner Corp.
http://airscanner.com/
contact@xxxxxxxxxxxxxx

Contributors:

Cyrus Peikari
Seth Fogie
Ratter/29A
Jonathan Read