Android Memory Corruption
-
Android App에서 Memory Corruption Exploit이 불가능한 이유Mobile/Android 2019. 9. 21. 21:06
[ 안드로이드 시스템 아키텍처 ] 위 그림은 Android System을 나타낸다.일반적으로 사용하는 App들은 DalvikVM 내부에서 SmaliCode가 해석되어 실행된다. [1] DalvikVM은 Register-based System이라는 특징을 가지고 있다.약 64,000개의 레지스터가 있으며, 이 중 16개 또는 256개만 사용하는게 일반적이다.따라서, DalvikVM에는 Stack이라는 개념이 없고 이 때문에 Stack-based Buffer Overflow가 발생하지 않는다.다르게 해석하면, DalvikVM이 아닌 Native Code(JNI)에서는 Stack-based Buffer Overflow가 발생할 수 있다. [2] Java에는 Array Layout Check기능이 기본으로 적용..