Auditing the Cloud for Security: Challenges and Solutions