Poor memory management leads to memory leaks, which cause significant performance degradation and failure of software. If ignored, such leaks can potentially cause security breaches and holes in applications. The present study shows that memory leaks can be exploited to cause Denial of Service (DoS) of applications. The ultimate goal of this study is to introduce a security profiling technique that can be used to identify security holes in software. We instrument memory leaks in a Java applet using an open source memory profiler based on Java Virtual Machine Profiler Interface (JVMPI). The results show that it is crucial to perform memory profiling prior to application deployment in order to avoid DoS and vulnerability exploits. Keywords Denial of Service, JVM, JVMPI, memory profiling, memory leak, garbage collection.
Saeed Abu-Nimeh, Suku Nair, Marco F. Marchetti