Antivirus programs are developed to detect and protect the system from deliberately written viruses. The most common technique used for virus detection is signature based detection whose key aspect is to create and store static fingerprint of known malware. But this is effective only to detect the malicious viruses for which the signature has already been developed. Heuristic-based detection can be used to identify unknown viruses. This technique detects the viruses by examining some suspicious characteristics without having the exact virus signature. Cloud based antivirus is another technique developed by University of Michigan. They introduced the concept of cloud antivirus and named it as CluodAV consisting of 12 different detectors. Apart from using antivirus, there are some techniques like network firewalls to prevent the system from being accessed by blocking the malicious softwares. Although there are many antivirus tools available but still they are not very effective as the creators of viruses always stay one step ahead.