How to Prevent Mobile App API Abuse: Attacks and Counter-Measures