Week 7 Flashcards
Generic Exploit Mitigation Protections
Memory corruption issues in operating systems, including Android, have been exploited by attackers.
Security measures are introduced to prevent and respond to such exploits, aiming to make exploitation more difficult.
Android’s exploit mitigations are derived from the Linux kernel.
Android applications can include native code, which can be exploited if accessible.
Android’s exploit mitigations have been in place since version 4.0 (Ice Cream Sandwich).
Stack Cookies - EM
Detects stack-based overflows.
safe_iop - EM
Mitigates integer overflows.
dlmallocextensions - EM
Prevents vulnerabilities like double free() in heap management.
callocextensions - EM
Addresses integer overflows during memory allocations.
Format String Protections - EM
Guards against format string vulnerabilities exploitation.
NX - EM
Blocks execution of code on the stack or heap.
Partial ASLR - EM
Randomizes memory segment locations to thwart ROP attacks.
PIE Support - EM
Randomizes all memory components for ASLR, including app_process and linker.
RELRO and BIND_NOW - EM
Makes process data sections read-only to prevent GOT overwrites.
FORTIFY_SOURCE L1 - EM
Substitutes vulnerable C functions to prevent memory corruption.
FORTIFY_SOURCE L2 - EM
Enhances protection with fortified function versions.
SELinux Permissive - EM
Implements access control policies, logging without enforcement.
SELinux Enforcing - EM
Actively enforces specified security policies.
Understanding the Security Model
The security model requires a definition of authorized actions for apps.
Apps must know what they can do and whether other apps are authorized for specific actions.
This requires a clearly defined concept of app identity.