Mobile App Security: Bottlenecks and Best Practices