Vulnerability research
   HOME

TheInfoList



OR:

Vulnerabilities are flaws in a computer system that weaken the overall security of the device/system. Vulnerabilities can be weaknesses in either the hardware itself, or the software that runs on the hardware. Vulnerabilities can be exploited by a threat actor, such as an attacker, to cross privilege boundaries (i.e. perform unauthorized actions) within a computer system. To exploit a vulnerability, an attacker must have at least one applicable tool or technique that can connect to a system weakness. In this frame, vulnerabilities are also known as the attack surface. Vulnerability management is a cyclical practice that varies in theory but contains common processes which include: discover all assets, prioritize assets, assess or perform a complete vulnerability scan, report on results, remediate vulnerabilities, verify remediation - repeat. This practice generally refers to software vulnerabilities in computing systems. Agile vulnerability management refers preventing attacks by identifying all vulnerabilities as quickly as possible. A security risk is often incorrectly classified as a vulnerability. The use of vulnerability with the same meaning of risk can lead to confusion. The risk is the potential of a significant impact resulting from the exploit of a vulnerability. Then there are vulnerabilities without risk: for example when the affected asset has no value. A vulnerability with one or more known instances of working and fully implemented attacks is classified as an exploitable vulnerability—a vulnerability for which an
exploit Exploit means to take advantage of something (a person, situation, etc.) for one's own end, especially unethically or unjustifiably. Exploit can mean: * Exploitation of natural resources *Exploit (computer security) * Video game exploit *Exploita ...
exists. The window of vulnerability is the time from when the security hole was introduced or manifested in deployed software, to when access was removed, a security fix was available/deployed, or the attacker was disabled—see zero-day attack. Security bug ( security defect) is a narrower concept. There are vulnerabilities that are not related to software: hardware, site, personnel vulnerabilities are examples of vulnerabilities that are not software security bugs. Constructs in programming languages that are difficult to use properly can manifest large numbers of vulnerabilities.


Definitions

ISO 27005 defines vulnerability as: :''A weakness of an asset or group of assets that can be exploited by one or more threats,'' where an ''asset is anything that has value to the organization, its business operations, and their continuity, including information resources that support the organization's mission'' IETF RFC 4949 vulnerability as:Internet Engineering Task Force RFC 4949 Internet Security Glossary, Version 2 :'' A flaw or weakness in a system's design, implementation, or operation and management that could be exploited to violate the system's security policy'' The Committee on National Security Systems of United States of America defined vulnerability in CNSS Instruction No. 4009 dated 26 April 2010 National Information Assurance Glossary: :''Vulnerability—Weakness in an information system, system security procedures, internal controls, or implementation that could be exploited by a threat source.'' Many
NIST The National Institute of Standards and Technology (NIST) is an agency of the United States Department of Commerce whose mission is to promote American innovation and industrial competitiveness. NIST's activities are organized into physical sci ...
publications define vulnerability in IT context in different publications: FISMApedia term provide a list. Between them SP 800-30,NIST SP 800-30 Risk Management Guide for Information Technology Systems
/ref> give a broader one: :'' A flaw or weakness in system security procedures, design, implementation, or internal controls that could be exercised (accidentally triggered or intentionally exploited) and result in a security breach or a violation of the system's security policy. ''
ENISA The European Union Agency for Cybersecurity – self-designation ENISA from the abbreviation of its original name – is an agency of the European Union. It is fully operational since September 1, 2005. The Agency is located in Athens, Greece an ...
defines vulnerability in as: :'' The existence of a weakness, design, or implementation error that can lead to an unexpected, undesirable event .11compromising the security of the computer system, network, application, or protocol involved.(ITSEC)'' The Open Group defines vulnerability in as :''The probability that threat capability exceeds the ability to resist the threat''. Factor Analysis of Information Risk (FAIR) defines vulnerability as:"An Introduction to Factor Analysis of Information Risk (FAIR)", Risk Management Insight LLC, November 2006
;
:''The probability that an asset will be unable to resist the actions of a threat agent'' According to FAIR vulnerability is related to Control Strength, i.e. the strength of control as compared to a standard measure of force and the
threat A threat is a communication of intent to inflict harm or loss on another person. Intimidation is a tactic used between conflicting parties to make the other timid or psychologically insecure for coercion or control. The act of intimidation for co ...
Capabilities, i.e. the probable level of force that a threat agent is capable of applying against an asset. ISACA defines vulnerability in Risk It framework as: :''A weakness in design, implementation, operation or internal control'' Data and Computer Security: Dictionary of standards concepts and terms, authors Dennis Longley and Michael Shain, Stockton Press, , defines vulnerability as: :''1) In computer security, a weakness in automated systems security procedures, administrative controls, Internet controls, etc., that could be exploited by a threat to gain unauthorized access to information or to disrupt critical processing. 2) In computer security, a weakness in the physical layout, organization, procedures, personnel, management, administration, hardware or software that may be exploited to cause harm to the ADP system or activity. 3) In computer security, any weakness or flaw existing in a system. The attack or harmful event, or the opportunity available to a threat agent to mount that attack.'' Matt Bishop and Dave Bailey give the following definition of computer vulnerability: :''A computer system is composed of states describing the current configuration of the entities that make up the computer system. The system computes through the application of state transitions that change the state of the system. All states reachable from a given initial state using a set of state transitions fall into the class of authorized or unauthorized, as defined by a security policy. In this paper, the definitions of these classes and transitions is considered axiomatic. A vulnerable state is an authorized state from which an unauthorized state can be reached using authorized state transitions. A compromised state is the state so reached. An attack is a sequence of authorized state transitions which end in a compromised state. By definition, an attack begins in a vulnerable state. A vulnerability is a characterization of a vulnerable state which distinguishes it from all non-vulnerable states. If generic, the vulnerability may characterize many vulnerable states; if specific, it may characterize only one...'' National Information Assurance Training and Education Center defines vulnerability: :''A weakness in automated system security procedures, administrative controls, internal controls, and so forth, that could be exploited by a threat to gain unauthorized access to information or disrupt critical processing. 2. A weakness in system security procedures, hardware design, internal controls, etc. , which could be exploited to gain unauthorized access to classified or sensitive information. 3. A weakness in the physical layout, organization, procedures, personnel, management, administration, hardware, or software that may be exploited to cause harm to the ADP system or activity. The presence of a vulnerability does not in itself cause harm; a vulnerability is merely a condition or set of conditions that may allow the ADP system or activity to be harmed by an attack. 4. An assertion primarily concerning entities of the internal environment (assets); we say that an asset (or class of assets) is vulnerable (in some way, possibly involving an agent or collection of agents); we write: V(i,e) where: e may be an empty set. 5. Susceptibility to various threats. 6. A set of properties of a specific internal entity that, in union with a set of properties of a specific external entity, implies a risk. 7. The characteristics of a system which cause it to suffer a definite degradation (incapability to perform the designated mission) as a result of having been subjected to a certain level of effects in an unnatural (manmade) hostile environment.''


Vulnerability and risk factor models

A resource (either physical or logical) may have one or more vulnerabilities that can be exploited by a threat actor. The result can potentially compromise the confidentiality, integrity or availability of resources (not necessarily the vulnerable one) belonging to an organization and/or other parties involved (customers, suppliers). The so-called CIA triad is a cornerstone of Information Security. An attack can be ''active'' when it attempts to alter system resources or affect their operation, compromising integrity or availability. A "''passive attack''" attempts to learn or make use of information from the system but does not affect system resources, compromising confidentiality. OWASP (see figure) depicts the same phenomenon in slightly different terms: a threat agent through an attack vector exploits a weakness (vulnerability) of the system and the related security controls, causing a technical impact on an IT resource (asset) connected to a business impact. The overall picture represents the risk factors of the risk scenario.


Information security management system

A set of policies concerned with the
information security management system Information security management (ISM) defines and manages controls that an organization needs to implement to ensure that it is sensibly protecting the confidentiality, availability, and integrity of assets from threats and vulnerabilities. The core ...
(ISMS), has been developed to manage, according to Risk management principles, the countermeasures to ensure a security strategy is set up following the rules and regulations applicable to a given organization. These countermeasures are also called Security controls, but when applied to the transmission of information, they are called
security services Security Service or security service may refer to: Government * Security agency, a nation's institution for intelligence gathering * List of security agencies (MI5, NSA, KGB, etc.) * (SD), Nazi German agency which translates as "Security Servi ...
.


Classification

Vulnerabilities are classified according to the asset class they are related to:ISO/IEC, "Information technology -- Security techniques-Information security risk management" ISO/IEC FIDIS 27005:2008 * hardware ** susceptibility to humidity or dust ** susceptibility to unprotected storage ** age-based wear that causes failure ** over-heating * software ** insufficient testing ** insecure coding ** lack of audit trail ** design flaw * network ** unprotected communication lines (e.g. lack of cryptography) ** insecure network architecture * personnel ** inadequate recruiting process ** inadequate security awareness ** insider threat * physical site ** area subject to natural disasters (e.g. flood, earthquake) ** interruption of power source * organizational ** lack of regular audits ** lack of continuity plans ** lack of security


Causes

*Complexity: Large, complex systems increase the probability of flaws and unintended access points. *Familiarity: Using common, well-known code, software, operating systems, and/or hardware increases the probability an attacker has or can find the knowledge and tools to exploit the flaw. *Connectivity: More physical connections, privileges, ports, protocols, and services and time each of those are accessible increase vulnerability. *Password management flaws: The computer user uses weak passwords that could be discovered by brute force. The computer user stores the password on the computer where a program can access it. Users re-use passwords between many programs and websites. *Fundamental operating system design flaws: The operating system designer chooses to enforce suboptimal policies on user/program management. For example, operating systems with policies such as
default permit Security engineering is the process of incorporating security controls into an information system so that the controls become an integral part of the system’s operational capabilities. It is similar to other systems engineering activities in tha ...
grant every program and every user full access to the entire computer. This operating system flaw allows viruses and malware to execute commands on behalf of the administrator. *Internet Website Browsing: Some internet websites may contain harmful Spyware or Adware that can be installed automatically on the computer systems. After visiting those websites, the computer systems become infected and personal information will be collected and passed on to third party individuals. *
Software bug A software bug is an error, flaw or fault in the design, development, or operation of computer software that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. The process of finding and correcting bugs i ...
s: The programmer leaves an exploitable bug in a software program. The software bug may allow an attacker to misuse an application. *
Unchecked user input Improper input validation or unchecked user input is a type of vulnerability in computer software that may be used for security exploits. This vulnerability is caused when " e product does not validate or incorrectly validates input that can affect ...
: The program assumes that all user input is safe. Programs that do not check user input can allow unintended direct execution of commands or SQL statements (known as Buffer overflows, SQL injection or other non-validated inputs). *Not learning from past mistakes: for example most vulnerabilities discovered in
IPv4 Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version de ...
protocol software were discovered in the new IPv6 implementations. The research has shown that the most vulnerable point in most information systems is the human user, operator, designer, or other human: so humans should be considered in their different roles as asset, threat, information resources.
Social engineering Social engineering may refer to: * Social engineering (political science), a means of influencing particular attitudes and social behaviors on a large scale * Social engineering (security), obtaining confidential information by manipulating and/or ...
is an increasing security concern.


Consequences

The impact of a security breach can be very high. Most legislation sees the failure of IT managers to address IT systems and applications vulnerabilities if they are known to them as misconduct; IT managers have a responsibility to manage IT risk.
Privacy law Privacy law is the body of law that deals with the regulating, storing, and using of personally identifiable information, personal healthcare information, and financial information of individuals, which can be Personally identifiable information ...
forces managers to act to reduce the impact or likelihood of that security risk.
Information technology security audit An information security audit is an audit on the level of information security in an organization. It is an independent review and examination of system records, activities and related documents. These audits are intended to improve the level of in ...
is a way to let other independent people certify that the IT environment is managed properly and lessen the responsibilities, at least having demonstrated the good faith. Penetration test is a form of verification of the weakness and countermeasures adopted by an organization: a White hat hacker tries to attack an organization's information technology assets, to find out how easy or difficult it is to compromise the IT security. The proper way to professionally manage the IT risk is to adopt an Information Security Management System, such as
ISO/IEC 27002 ISO/IEC 27002 is an information security standard published by the International Organization for Standardization (ISO) and by the International Electrotechnical Commission (IEC), titled ''Information security, cybersecurity and privacy protecti ...
or Risk IT and follow them, according to the security strategy set forth by the upper management. One of the key concept of information security is the principle of
defence in depth Defence in depth (also known as deep defence or elastic defence) is a military strategy that seeks to delay rather than prevent the advance of an attacker, buying time and causing additional casualties by yielding space. Rather than defeating ...
, i.e. to set up a multilayer defense system that can: * prevent the exploit * detect and intercept the attack * find out the threat agents and prosecute them Intrusion detection system is an example of a class of systems used to detect attacks. Physical security is a set of measures to physically protect an information asset: if somebody can get physical access to the information asset, it is widely accepted that an attacker can access any information on it or make the resource unavailable to its legitimate users. Some sets of criteria to be satisfied by a computer, its operating system and applications in order to meet a good security level have been developed:
ITSEC The Information Technology Security Evaluation Criteria (ITSEC) is a structured set of criteria for evaluating computer security within products and systems. The ITSEC was first published in May 1990 in France, Germany, the Netherlands, and the Unit ...
and
Common criteria The Common Criteria for Information Technology Security Evaluation (referred to as Common Criteria or CC) is an international standard (ISO/IEC 15408) for computer security certification. It is currently in version 3.1 revision 5. Common Criteria ...
are two examples.


Vulnerability disclosure

Coordinated disclosure (some refer to it as ' responsible disclosure' but that is considered a biased term by others) of vulnerabilities is a topic of great debate. As reported by The Tech Herald in August 2010, " Google, Microsoft, TippingPoint, and Rapid7 have issued guidelines and statements addressing how they will deal with disclosure going forward." The other method is typically
full disclosure Full disclosure or Full Disclosure may refer to: Computers * Full disclosure (computer security), in computer security the practice of publishing analysis of software vulnerabilities as early as possible * Full disclosure (mailing list), a mail ...
, when all the details of a vulnerability is publicized, sometimes with the intent to put pressure on the software author to publish a fix more quickly. In January 2014 when Google revealed a Microsoft vulnerability before Microsoft released a patch to fix it, a Microsoft representative called for coordinated practices among software companies in revealing disclosures.


Vulnerability inventory

Mitre Corporation maintains an incomplete list of publicly disclosed vulnerabilities in a system called Common Vulnerabilities and Exposures. This information is immediately shared with the National Institute of Standards and Technology (NIST), where each vulnerability is given a risk score using
Common Vulnerability Scoring System The Common Vulnerability Scoring System (CVSS) is a free and open industry standard for assessing the severity of computer system security vulnerabilities. CVSS attempts to assign severity scores to vulnerabilities, allowing responders to prioritiz ...
(CVSS),
Common Platform Enumeration Common Platform Enumeration (CPE) is a structured naming scheme for information technology systems, software, and packages. Based upon the generic syntax for Uniform Resource Identifiers (URI), CPE includes a formal name format, a method for checki ...
(CPE) scheme, and
Common Weakness Enumeration The Common Weakness Enumeration (CWE) is a category system for hardware and software weaknesses and vulnerabilities. It is sustained by a community project with the goals of understanding flaws in software and hardware and creating automated tools t ...
. Cloud service providers often don't list security issues in their services using the CVE system. There is currently no universal standard for cloud computing vulnerability enumeration, severity assessment, and no unified tracking mechanism. Th
Open CVDB
initiative is a community-driven centralized cloud vulnerability database that catalogs CSP vulnerabilities, and lists the steps users can take to detect or prevent these issues in their own environments. OWASP maintains a list of vulnerability classes with the aim of educating system designers and programmers, therefore reducing the likelihood of vulnerabilities being written unintentionally into the software.


Vulnerability disclosure date

The time of disclosure of a vulnerability is defined differently in the security community and industry. It is most commonly referred to as "a kind of public disclosure of security information by a certain party". Usually, vulnerability information is discussed on a mailing list or published on a security web site and results in a security advisory afterward. The time of disclosure is the first date a security vulnerability is described on a channel where the disclosed information on the vulnerability has to fulfill the following requirement: * The information is freely available to the public * The vulnerability information is published by a trusted and independent channel/source * The vulnerability has undergone analysis by experts such that risk rating information is included upon disclosure ;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 operating system including Windows, macOS, various forms of Unix and Linux,
OpenVMS OpenVMS, often referred to as just VMS, is a multi-user, multiprocessing and virtual memory-based operating system. It is designed to support time-sharing, batch processing, transaction processing and workstation applications. Customers using Ope ...
, 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 In the fields of physical security and information security, access control (AC) is the selective restriction of access to a place or other resource, while access management describes the process. The act of ''accessing'' may mean consuming ...
s) and auditing (both during development and throughout the deployment lifecycle).


Locations in which vulnerabilities manifest

Vulnerabilities are related to and can manifest in: * physical environment of the system * the personnel (i.e. employees, management) * administration procedures and security policy * business operation and service delivery * hardware including peripheral devices * software (i.e. on premises or in cloud) * connectivity (i.e. communication equipment and facilities) It is evident that a pure technical approach cannot always protect physical assets: one should have administrative procedure to let maintenance personnel to enter the facilities and people with adequate knowledge of the procedures, motivated to follow it with proper care. However, technical protections do not necessarily stop Social engineering (security) attacks. Examples of vulnerabilities: * an attacker finds and uses a buffer overflow weakness to install malware to then exfiltrate sensitive data; * an attacker convinces a user to open an email message with attached malware; * a flood damages one's computer systems installed at ground floor.


Software vulnerabilities

Common types of software flaws that lead to vulnerabilities include: *
Memory safety Memory safety is the state of being protected from various software bugs and Vulnerability (computing), security vulnerabilities when dealing with random-access memory, memory access, such as buffer overflows and dangling pointers. For example, J ...
violations, such as: ** Buffer overflows and over-reads ** Dangling pointers * Input validation errors, such as: ** Code injection ** Cross-site scripting in web applications **
Directory traversal A directory traversal (or path traversal) attack exploits insufficient security validation or sanitization of user-supplied file names, such that characters representing "traverse to parent directory" are passed through to the operating system's f ...
** E-mail injection **
Format string attack Uncontrolled format string is a type of software vulnerability discovered around 1989 that can be used in security exploits. Originally thought harmless, format string exploits can be used to crash a program or to execute harmful code. The problem ...
s ** HTTP header injection **
HTTP response splitting HTTP response splitting is a form of web application vulnerability, resulting from the failure of the application or its environment to properly sanitize input values. It can be used to perform cross-site scripting attacks, cross-user defacement, ...
** SQL injection * Privilege-confusion bugs, such as: **
Clickjacking Clickjacking (classified as a user interface redress attack or UI redressing) is a malicious technique of tricking a user into clicking on something different from what the user perceives, thus potentially revealing confidential information or ...
** Cross-site request forgery in web applications **
FTP bounce attack FTP bounce attack is an exploit of the FTP protocol whereby an attacker is able to use the command to request access to ports indirectly through the use of the victim machine, which serves as a proxy for the request, similar to an Open mail relay ...
* Privilege escalation * Race conditions, such as: **
Symlink race A symlink race is a kind of software security vulnerability that results from a program creating files in an insecure manner. A malicious user can create a symbolic link to a file not otherwise accessible to them. When the privileged program crea ...
s ** Time-of-check-to-time-of-use bugs * Side-channel attack ** Timing attack * User interface failures, such as: ** Blaming the Victim prompting a user to make a security decision without giving the user enough information to answer it ** Race Conditions **Warning fatigue or user conditioning. Some set of coding guidelines have been developed and a large number of static code analyzers has been used to verify that the code follows the guidelines.


See also

* Browser security *
Computer emergency response team A computer emergency response team (CERT) is an expert group that handles computer security incidents. Alternative names for such groups include computer emergency readiness team and computer security incident response team (CSIRT). A more modern ...
* Information security * Internet security *
Mobile security Mobile security, or mobile device security, is the protection of smartphones, tablets, and laptops from threats associated with wireless computing. It has become increasingly important in mobile computing. The security of personal and business ...
* Vulnerability scanner *
Coordinated vulnerability disclosure In computer security, coordinated vulnerability disclosure, or "CVD" (formerly known as responsible disclosure) is a vulnerability disclosure model in which a vulnerability or an issue is disclosed to the public only after the responsible parties ...
*
Full disclosure Full disclosure or Full Disclosure may refer to: Computers * Full disclosure (computer security), in computer security the practice of publishing analysis of software vulnerabilities as early as possible * Full disclosure (mailing list), a mail ...


References


External links

* * Security advisories links from the Open Directory http://dmoz-odp.org/Computers/Security/Advisories_and_Patches/ {{DEFAULTSORT:Vulnerability (Computing)
Vulnerability {{Cat main Articles relating to vulnerability, "the quality or state of being exposed to the possibility of being attacked or harmed, either physically or emotionally." A window of vulnerability (WOV) is a time frame within which defensive measures ...
Hacking (computer security) Security compliance Software testing