Understanding Mobile App Security – Best Practices and Common Vulnerabilities