Denial of service vulnerability analysis of J2ME MIDP/CLDC and virtual machine monitoring in the Symbian Operating System - Talamayan, Kenneth Sy (2006)
One of the most widely used platform on mobile devices, J2ME (Java 2 Micro Edition), specifically its CLDC (Connected Limited Device Configuration) and MIDP (Mobile Information Device Profile) components have been the target of analysis in terms of their security architectures. This has consequently led to the discovery of a number of vulnerabilities and their corresponding exploitation. These include Adam Gowdiak's exploitation of the KVM (Virtual Machine) in which a malicious program can send SMS messages, overwrite phone memory, and connect to the Internet without the user's awareness. Another is the Phenoelit hackers group's exploitation of the Siemens S55 phone that allows malicious code to send SMS messages without the user's authorization. In another exploit that involves buffer overflow vulnerability, an application is allowed to overwrite memory addresses of a function call stack. More recent reports (2006) are two new trojan code named Redbrowser A and Trojan Wesber that both send SMS messages without the user's authorization. In this research, we initially studied the security features of CLDC and MIDP as well as the existing exploitations targeting these platforms such as the ones cited. We then provided detailed implementation of a denial of service attack using a Nokia 7610 handset. Later, we explored several possible countermeasure against this attack. One experiment included the adaptation of the applet guard proposed by Hassler and Then into a MIDlet guard that will enable a MIDlet to monitor a virtual machine. Finally, the Symbian Operating System's kernel process and memory management modules were studied so as to monitor the virtual machine and thwart the attack. Our results show that the last option was the only successful countermeasure for the denial-of-service exploit.