Software security is of great concern as computers have entered almost all walks of life and people at large have become dependent on technology for not only entertainment and communication but for performing tasks involving money and a lot of stake. Software security not only involves securing the software but also user data and communication media. This paper states the several types of security threats that exist since the time networking has evolved, namely, malware, Trojans, viruses, denial of service attacks, and many more. This paper reviews several measures to address these threats. It includes logging, anti-malware, network security methods, and encryption methods. It has been identified that a lot of work has been done to deal with security threats, and it is not only limited to the protection of software but also extends to the protection of data and networks. The existing methods make extensive use of artificial intelligence, and it is identified that there is a need to develop a model that is able to identify known as well as unknown threats. There is a huge scope for research in this area.