Information About

Security Vulnerability




In Computer Security , the word vulnerability refers to a weakness in a system allowing an attacker to violate the integrity, confidentiality, access control, availability, consistency or audit mechanism of the system or the data and applications it hosts. Vulnerabilities may result from Bug s or design flaws in the system. A vulnerability can exist either only in theory, or could have a known Exploit . Vulnerabilities are of significant interest when the program containing the vulnerability operates with Special Privileges , performs Authentication or provides easy access to user data or facilities (such as a network Server or RDBMS ).


CAUSES


Vulnerabilities often result from the carelessness of a programmer, though they may have other causes. A vulnerability usually allows an attacker to trick the application into (for example) bypassing access control checks or executing commands on the system hosting the application.

Some vulnerabilities arise from un-sanitized user input, often allowing the direct execution of commands or SQL statements (known as SQL Injection ). Others arise from the programmer's failure to check the size of data buffers, which can then be Overflowed , causing corruption of the stack or heap areas of memory (including causing the computer to execute code provided by the attacker).


VULNERABILITY DISCLOSURE


The method of disclosing vulnerabilities is a topic of debate in the computer security community. Some advocate immediate Full Disclosure of information about vulnerabilities once they are discovered. Others argue for limiting disclosure to the users placed at greatest risk, and only releasing full details after a delay, if ever. Such delays may allow those notified to fix the problem by developing and applying Patch es, but may also increase the risk to those not privy to full details. This debate has a long history in security; see Full Disclosure and Security Through Obscurity . More recently a new form of commercial vulnerability disclosure has taken shape, see for example TippingPoint's Zero Day Initiative .


IDENTIFYING AND REMOVING VULNERABILITIES


Many software tools exist that can aid in the discovery (and sometimes removal) of vulnerabilities in a computer system. Though these tools can provide an auditor with a good overview of possible vulnerabilities present, they can not replace human judgment. Relying solely on scanners will yield false positives and a limited-scope view of the problems present in the system.

Vulnerabilities have been found in every major OS including Windows, MacOS, various forms of UNIX and Linux, OpenVMS, and others. The only way to reduce the chance of a vulnerability being used against a system is through constant vigilance, including careful system maintenance (e.g. applying software patches), best practices in deployment (e.g. the use of Firewalls and Access Control s) and auditing (both during development and throughout the deployment lifecycle).


EXAMPLES OF VULNERABILITIES


Well known vulnerabilities include (but are not limited to)


SEE ALSO




EXTERNAL LINKS