Closed muellerberndt closed 7 years ago
Issue 1: There is an open TODO at the end, regarding potential vulnerabilities when using IPC.
Issue 2: As a reader, I don't like the big section where Dalvik & ART are discussed. The text is confusing and does not leave the impression the author have clear understanding of the details of the runtime environments as well as the security consequences of one over the other. Unfortunately, detailed research on ART is still on my TODO list and I'm not able to improve this text much. My proposal is to shorten existing text just with a notion that apps execute in a virtual machine and then open a new section under "Android Architecture and Security Mechanisms" named "Android Runtime" where this would be elaborated better.
As a reader I would be interested in the following:
What is Dalvik VM and how does it work ? -- One should also mention the optimization step, resulting in an ODEX files, as this is actually what gets executed, extending the attack surface. This is also one of the key points where old and new runtimes differ.
What is ART and how does it work ? -- One should mentioned the optimization step, resulting in ELF file. Are apps really translated into ELF executable (as described in the Wikipedia article), or only portions of the code is translated to ELF libraries, but still the main execution goes over an ODEX file loaded in a VM ?
It looks like there is a slight difference between the old runtime and Dalvik VM, in a sense that the VM is only part of the whole runtime environment. Perhaps Dalvik VM is also part of the ART runtime as well ?
Short description with links to further details in other articles would be best solution, not to extend this section out of it's overview
purpose.
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05a-Platform-Overview.md