To defend against malware, a two-level strategy can be deployed. The first level aims to prevent malware from getting into smartphones. The second level relies on tools to pro-actively detect the existence of malware. Once it is detected, it is removed and the smartphone systems are cleaned up. Below we first discuss this strategy for general scenarios. Then we will focus on some specific types of attacks.