We wanted to exploit a stack based buffer overflow in Android’s Keystore [CVE-2014-3100]. We needed to bypass the stack canary. Long story short, we devised probablistic attacks that enables an attacker to predict random bytes that are extracted from /dev/urandom during device boot, such as Keystore’s canary value.