Android Security: Attacks and Defenses