Discuss the types of attacks made on software vulnerabilities.
To write or select good software and to protect it from compromise, you must understand how software is developed, the controls that are available during its production, and the types of attacks that are directed at software. This section enumerates on the latter.
Many attacks on software are based on flaws, whereas others are directed at the inherent weaknesses in the components, protocols, and processes from which software is built. Still others work by subverting the process and placing malicious code within an otherwise innocuous application. The following sections discuss the typical attack types that are often utilized.