[saag] Responsible Vulnerability Disclosure Process
Steven M. Christey
coley@linus.mitre.org
Thu, 13 Dec 2001 04:06:33 -0500 (EST)
Enclosed please find our submission for an Internet-Draft, titled
"Responsible Vulnerability Disclosure Process."
As stated in an earlier message to Jeff Schiller, we appreciate being
notified by the Security Area Advisory Group when it was clear that we
were going astray of the openness that is the lifeblood of the IETF
standards process. We never intended to keep this document private
for a long time. We were just soliciting the valuable comments of
some reviewers who truly have a stake in this process: well known
reporters, vendors, and coordinators. They clearly augment the
knowledge of ourselves. We apologize for any embarrassment or
inconvenience that we have caused SAAG or other members of the IETF by
letting it be publicly known that we were contacting others for their
comments before submitting the document as an Internet Draft.
We humbly suggest that the "Considerations for Internet Drafts" page
at http://www.ietf.org/ID-nits.html could be modified to discourage
such behind-the-scenes creation of a draft without notifying the IETF
first. For example, one comment says "Individual submissions (whether
general or to a working group) may be made without prior notice." We
fully intended to find and notify the appropriate IETF authorities
before submitting an Internet-Draft.
We appreciate the opportunity to submit this draft directly to the
Security Area Advisory Group, especially given the imminent meeting of
your group. We hope that this document, as late as it is for you (yet
weeks ahead of our intended schedule), will convince you of the
sincerity of our plans to operate within the IETF framework.
Best Regards,
Chris Wysopal (@stake, Inc.)
Steve Christey (The MITRE Corporation)
Individual Contribution Steve Christey
INTERNET-DRAFT The MITRE Corporation
Category: Best Current Practice Chris Wysopal
@stake, Inc.
December 2001
Responsible Vulnerability Disclosure Process
draft-christey-wysopal-vuln-reporting-00.txt
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. Internet Drafts are working
documents of the Internet Engineering Task Force (IETF), its Areas,
and its Working Groups. Note that other groups may also distribute
working documents as Internet Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Copyright Notice
Copyright (C) The Internet Society (2001). All Rights Reserved.
Abstract
A vulnerability is an issue in a software or hardware product that
enables a malicious individual to subvert the security model of said
product and potentially cause harm. Responsible handling of
vulnerability information allows product maintainers and users to
remedy the security issue at hand while minimizing the impact that
the information could cause in the hands of malicious individuals.
The purpose of this document is to outline a process for the
responsible handling of this information with the requisite
interactions between vulnerability reporter, product vendor or
maintainer, and ultimately the product customer or user.
Christey & Wysopal Expires June 2002 [Page 1]
Internet-Draft Responsible Vulnerability Disclosure December 2001
Table of Contents
1 Introduction and Purpose
1.1 Background
1.2 Major Roles in Disclosure
1.3 Motivations
1.4 Goals of Responsible Disclosure
2 Phases of Responsible Disclosure
3 Responsibilities in the Phases of Vulnerability Disclosure
3.1 Latent Flaw
3.2 Discovery
3.3 Notification Phase: Initial Notification
3.3.1 Vendor Responsibilities
3.3.2 Reporter Responsibilities
3.4 Notification Phase: Vendor Receipt
3.4.1 Vendor Responsibilities
3.5 Validation Phase
3.5.1 Vendor Responsibilities
3.5.2 Reporter Responsibilities
3.5.3 Coordinator Responsibilities
3.6 Resolution Phase
3.6.1 Vendor Responsibilities
3.6.2 Reporter Responsibilities
3.7 Release Phase
3.7.1 Vendor Responsibilities
3.7.2 Reporter Responsibilities
3.7.3 Coordinator Responsibilities
3.7.4 Customer Responsibilities
3.7.5 Security Community Responsibilities
3.8 Follow-Up Phase
4 Policy Publication
4.1 Vendor Policy
4.2 Reporter Policy
4.3 Coordinator Policy
5 References
5.1 Disclosure Policies
5.2 Commentary on Disclosure Details
5.3 Commentary on Disclosure Process
5.4 Commentary on Advisories
5.5 Commentary on Vendor Accessibility
5.6 Discovery of Issues in the Wild
5.7 Researcher Credibility and Vulnerability Reproduction
5.8 Miscellaneous
6 Acknowledgements
7 Security Considerations
8 Authors' Addresses
Christey & Wysopal Expires June 2002 [Page 2]
Internet-Draft Responsible Vulnerability Disclosure December 2001
9 Full Copyright Statement
Document Conventions
The key words "REQUIRED", "MUST", "MUST NOT", "SHOULD", "SHOULD
NOT", and "MAY" in this document are to be interpreted as described
in "Key words for use in RFCs to Indicate Requirement Levels"
[RFC2119].
1 Introduction and Purpose
This document provides guidance and recommendations for the community
of developers, vendors, end users, researchers and
security professionals who wish to perform responsible vulnerability
disclosure within the information technology arena. For purposes of
this document, the term "responsible" refers to the recognition of a
formal, repeatable process for the reporting, evaluation, resolution
and publication of vulnerability information. "Vulnerability" refers
to any bug, flaw, behavior, output, outcome or event within an
application, system, device, or service that could lead to increased
risk or security exploit. For purposes of this document, we have
standardized on the term "application" to encompass the full suite of
products that are addressed by this document.
1.1 Background
Vulnerabilities are an inherent and unfortunate part of the design
and development process. Vulnerability detection may occur during
any phase of the product lifecycle, to include design, development,
testing, implementation or operation. Ideally, vulnerabilities are
largely prevented through a design process that considers security.
However, due to a variety of reasons, many vulnerabilities are
detected after an application is implemented in an operational
environment and supporting customer objectives. A variety of
legislative and social issues directly influences the process for
vulnerability research, detection and response. Developers,
customers and the security community all have divergent perspectives
on the impact of vulnerabilities. Currently, vulnerability release
is inconsistent and largely driven from the perspective of the party
who has the greatest ability to control the process. In an effort to
create a common framework by which objectives are met to the benefit
of all parties, this document communicates a formal, repeatable
process for addressing vulnerability disclosure in a responsible
manner. This document provides a means to address the common goal of
providing more secure applications while reducing the risk to
customers.
Christey & Wysopal Expires June 2002 [Page 3]
Internet-Draft Responsible Vulnerability Disclosure December 2001
1.2 Major Roles in Disclosure
Several types of individuals or organizations may play a role in the
process of vulnerability disclosure. These roles may overlap.
A Vendor is an individual or organization who provides, develops, or
maintains software, hardware, or services, possibly for free.
A Customer is the end user of the software, hardware, or service that
may be affected by the vulnerability.
A Reporter is the individual or organization that informs (or
attempts to inform) the Vendor of the vulnerability. Note that the
Reporter may not have been the initial discoverer of the problem.
A Coordinator is an individual or organization who works with the
Reporter and the Vendor to analyze and address the vulnerability.
Coordinators are often well-known third parties. Coordinators may
have resources, credibility, or working relationships that exceed
those of the reporter or vendors. Coordinators may serve as proxies
for reporters, help to verify the reporter's claims, resolve
conflicts, and work with all parties to resolve the vulnerability in
a satisfactory manner. Note: while Coordinators can facilitate the
responsible disclosure process for a vulnerability, they are not a
requirement.
The Security Community includes individuals or organizations whose
primary goals include improving overall information technology
security. The community may include security administrators and
analysts, system administrators who are responsible for the security
of their systems, commercial or non-profit organizations who provide
security-related products or services, researchers and academics,
informal groups, and individuals.
1.3 Motivations
Individuals and organizations have a wide variety of motivations
(some in direct conflict with each other) that make the disclosure
process more complex.
Vendors may have one or more of the following motivations. Some
vendors believe that public notification may help their customers
address vulnerabilities, at the possible cost of negative publicity.
Some vendors may be unresponsive, or secretly fix vulnerabilities,
for fear of negative publicity. Some vendors may not have the
technical skills to understand the nature of the vulnerability and
Christey & Wysopal Expires June 2002 [Page 4]
Internet-Draft Responsible Vulnerability Disclosure December 2001
the risk that it poses.
Customers often wish to have secure products, but security features
can make it more difficult to use those products. Many customers do
not care about the nature of the vulnerability. However, there is a
small percentage of customers for whom vulnerability information
plays a critical role in their usage of products. Some vendors may
be customers of other vendors.
Reporters have a variety of motivations. Because reporters are often
the means through which vulnerability information is communicated,
they have a major impact on how the disclosure process is followed.
Reporters may be motivated by altruism ("to make computers more
secure"), recognition or fame, marketing to highlight technical
skills (for individuals as well as companies), forcing unresponsive
vendors to address a vulnerability, curiosity or the challenge of
vulnerability analysis, or malicious intent to damage the reputations
of specific vendors, wreak havoc, or cause financial damage to
customers. The vague goals of altruism are often open to different
interpretations by different reporters. Reporters may be
inexperienced, malicious, or have insufficient resources to follow
the full process of disclosure. Reporters are seldom compensated for
their important role in enhancing Internet security.
The motivations for members of the security community may vary
depending on the specific tasks that are being undertaken by the
members. Community members may have motivations that include those
of vendors, customers, and/or reporters. In addition, members of the
security community may wish to track trends in vulnerabilities,
identify new types of vulnerabilities, or design new products and
processes to reduce the impact of vulnerabilities.
Coordinators are often members of the security community, and as such
may share the same motivations. Coordinators may also be required by
their mission or contract to perform this role.
1.4 Goals of Responsible Disclosure
The goals of responsible disclosure include:
1) Ensure that vulnerabilities can be identified and eliminated
effectively and efficiently for all parties.
2) Minimize the risk to customers from vulnerabilities that could
cause damage to their systems.
Christey & Wysopal Expires June 2002 [Page 5]
Internet-Draft Responsible Vulnerability Disclosure December 2001
3) Provide customers with sufficient information for them to evaluate
the level of security in vendors' products.
4) Provide the security community with the information necessary to
develop tools and methods for identifying, managing, and reducing the
risks of vulnerabilities in information technology.
5) Minimize the amount of time and resources required to manage
vulnerability information.
6) Facilitate long-term research and development of techniques,
products, and processes for avoiding or mitigating vulnerabilities.
7) Minimize the amount of antagonism that often exists between
parties as a result of different assumptions and expectations, due to
the lack of consistent and explicit disclosure practices.
2 Phases of Responsible Disclosure
Following are the basic phases of the responsible vulnerability
disclosure process. Some of these phases may be bypassed in specific
situations with agreement across all parties. In other cases, one or
more parties may not be responsible, skipping some phases.
1) Latent Flaw. A flaw is introduced into a product during its
design, specification, development, installation, or default
configuration.
2) Discovery. One or more individuals or organizations discover the
flaw through casual evaluation, by accident, or as a result of
focused analysis and testing. In some cases, knowledge of the flaw
may be kept within a particular group. A vulnerability report or an
exploit program may be discovered "in the wild," i.e. in use by
malicious attackers or made available for use and distribution.
3) Notification. A reporter or coordinator notifies the vendor of
the vulnerability ("Initial Notification"). In turn, the vendor
provides the reporter or coordinator with assurances that the
notification was received ("Vendor Receipt").
4) Validation. The vendor or other parties verify and validate the
reporter's claims ("Reproduction").
5) Resolution. The vendor and other parties also try to identify
where the flaw resides ("Diagnosis"). The vendor develops a patch or
workaround that eliminates or reduces the risk of the vulnerability
Christey & Wysopal Expires June 2002 [Page 6]
Internet-Draft Responsible Vulnerability Disclosure December 2001
("Fix Development"). The patch is then tested by other parties (such
as reporter or coordinator) to ensure that the flaw has been
corrected ("Patch Testing").
6) Release. The vendor, coordinator, and/or reporter release the
information about the vulnerability, along with its resolution. The
vendor may initially release this information to its customers and
other organizations with which it may have special relationships
("Limited release"). The vendor or other parties may then release
the information - possibly with additional details - to the security
community.
7) Follow-up. The vendor, customer, coordinator, reporter, or
security community may conduct additional analysis of the
vulnerability or the quality of its resolution.
3 Responsibilities in the Phases of Vulnerability Disclosure
3.1 Latent Flaw
The following recommendations identify how most latent flaws can be
avoided.
1) The Vendor SHOULD ensure that programmers, designers, and testers
are knowledgeable about common flaws in the design and implementation
of products.
Rationale: Some classes of vulnerabilities are well-known and can be
easily exploited using repeatable techniques. Educated programmers,
designers, and testers can identify and eliminate vulnerabilities
before the product is provided to customers, or prevent their
introduction into the product in the first place.
2) Customers SHOULD configure their applications and systems in ways
that eliminate latent flaws or reduce the impact of latent flaws,
including (1) removing default services that are not necessary for
the operation of the affected systems, (2) limiting necessary
services only to networks or systems that require access, (3)
providing the applications with the minimal amount of access and
privileges necessary for proper functioning, and (4) using security
features of the application or operating system that reduce the
chance that a flaw can be successfully exploited.
Rationale: A large percentage of computer intrusions involve
vulnerabilities for which a patch was available. Many of these
intrusions involve unnecessary access to system services. In some
Christey & Wysopal Expires June 2002 [Page 7]
Internet-Draft Responsible Vulnerability Disclosure December 2001
cases, system configuration can reduce the overall risk of
vulnerabilities (known and unknown). For example, the Code Red and
Nimda worms of 2001 were largely successful because of these factors.
3) The Security Community SHOULD track all known vulnerabilities to
identify new classes of vulnerabilities, educate the public about
these types of vulnerabilities, and find ways to detect or prevent
them in the development, testing, and deployment of products.
3.2 Discovery
1) The Reporter SHOULD make a reasonable effort to ensure that:
- the vulnerability is real
- the process of getting the application into a known
exploitable state is repeatable.
- the vulnerability has not already been reported by the vendor or
well-established vulnerability information sources.
Rationale: Some vulnerabilities are re-discovered after they have
already been fixed, or the reporter has introduced the problem due to
misconfiguration, or the reporter identifies the symptoms of the
vulnerability without determining the cause. If the reporter ensures
that the problem is new and real, then the reporter will will avoid
unnecessarily consuming the time and resources spent by vendors and
other parties in investigating the problem.
Note: in some cases, a reporter may not be able to make a reasonable
effort due to limitations of time, resources, access to the product,
or expertise. In some cases, the problem may only appear
intermittently, or the product is only temporarily accessible to the
reporter (e.g., when the reporter is a consultant who discovers the
problem in products that a customer uses). In other cases, the
reporter may discover information about the vulnerability without
having any access to the product.
Note: in some cases, the reporter may be able to coerce the product
into a state that is known to be exploitable, without creating a
fully working exploit program (e.g., a buffer overflow with a long
string of 'A' characters may produce a result that shows that the
instruction pointer has been overwritten). This is considered a
reasonable effort.
3.3 Notification Phase: Initial Notification
To facilitate the disclosure process, Vendors need to be accessible
to Reporters, and Reporters need to find and use the appropriate
Christey & Wysopal Expires June 2002 [Page 8]
Internet-Draft Responsible Vulnerability Disclosure December 2001
communication channels for notifying Vendors.
3.3.1 Vendor Responsibilities
1) The Vendor MUST make it as easy as possible for Reporters,
Coordinators, Customers, and the Security Community to notify the
Vendor of vulnerabilities.
Rationale: It is often difficult for reporters or other parties to
notify vendors of vulnerabilities, especially if the reporters are
not customers. This may cause the parties to bypass other phases of
the disclosure process, or adopt a policy that avoids vendor
notification because of previous bad experiences with vendors.
2) The Vendor SHOULD establish a Security Response Capability (SRC)
that consists of one or more individuals or groups that are
responsible for responding to vulnerability reports, verifying
vulnerabilities, releasing bulletins, etc.
3) The Vendor SHOULD ensure that its staff knows how to recognize a
reported security issue and direct it to the Security Response
Capability. This recommendation applies to staff who provide support
online, over the telephone, in person, or through some other means by
which reporters may interact with the Vendor.
4) If the Vendor can control the e-mail addresses that it uses (e.g.,
it has its own domain name), then the Vendor SHOULD define and
publish the "secalert" alias for use in vulnerability notification.
Rationale: Currently, Vendors use a variety of aliases for
notification, including "security-alert," "security," and "support."
Some Vendors may use the "security" alias for physical security
facilities. The "security" alias is also defined in RFC2142 for use
in incident handling. The "security-alert" alias is longer than 8
characters and contains a dash, which could make it more difficult to
use or locate in search engines. The "secalert" alias is not
commonly used at this time, and as such it does not have the types of
issues that some commonly-used aliases have.
Note: smaller vendors may not be able to control which e-mail
addresses they use.
5) If the Vendor operates a web site or other means of distributing
information regarding its product, then the Vendor SHOULD create and
publish a "security" page or folder that identifies how vulnerability
reports should be made. The Vendor SHOULD make this page easy to
Christey & Wysopal Expires June 2002 [Page 9]
Internet-Draft Responsible Vulnerability Disclosure December 2001
find from other locations, such as a separate contact page or index.
6) The Vendor MUST provide a facility for individuals or
organizations who are not Customers to report vulnerabilities. The
Vendor SHOULD NOT require (1) an active technical support number, (2)
telephone access that is not toll-free, or (3) user registration for
a web site or other facility that would be used for reporting.
Rationale: As described earlier, some reporters or coordinators are
not necessarily customers of the Vendor. If the Vendor is not
accessible to them, then they will be more likely to bypass other
aspects of this process.
7) The Vendor SHOULD recognize that inexperienced or malicious
reporters may not use proper notification, and define its own
procedures for handling such cases.
3.3.2 Reporter Responsibilities
1) The Reporter SHOULD make reasonable efforts to use the appropriate
channels for notifying the Vendor of the vulnerability:
(a) The Reporter SHOULD attempt to notify the vendor through the
channels described in this section.
(b) If the Vendor is not accessible through those channels, then the
Reporter MAY attempt to contact the vendor through technical support.
Note: in some cases, a reporter may not be able to make a reasonable
effort due to time limitations, lack of proper access to the vendor,
inexperience, expense, prohibitions by the reporter's own
organization, or the reporter does not meet some criteria for
notification (e.g., a support contract number).
2) If the Reporter is unable to notify the Vendor, then the Reporter
SHOULD ask a Coordinator to notify the Vendor. The Reporter SHOULD
provide the Coordinator with a list of contacts or mechanisms that
were used to attempt to notify the Vendor.
Rationale: a Coordinator may appear more credible than the Reporter,
or have a previously established relationship with the Vendor. The
Reporter may be prohibited from disclosing the vulnerability directly
to the Vendor.
Note: the Coordinator will not necessarily have a different way of
reaching the Vendor than the Reporter does.
Christey & Wysopal Expires June 2002 [Page 10]
Internet-Draft Responsible Vulnerability Disclosure December 2001
3) The Reporter and/or Coordinator SHOULD record the date of
notification.
Rationale: This helps Customers, Reporters, Coordinators, and the
Security Community track how long it takes for a Vendor to resolve a
vulnerability after the initial notification.
4) The Reporter SHOULD provide the Vendor, and the Coordinator (if
any), with all known details of the issue, including any programs,
scripts, or pseudo-code that would allow the Vendor to reproduce
and/or confirm the vulnerability.
Rationale: such details make it easier for the Vendor and Coordinator
to reproduce and diagnose the vulnerability, which then allows the
Vendor to identify or develop a resolution more quickly.
Note: some vulnerabilities may be theoretical or not well-understood
in this phase of the disclosure process, and the Reporter may not
have developed programs that exploit the problem. In other cases,
the Reporter may be using proprietary programs to demonstrate the
vulnerability.
3.4 Notification Phase: Vendor Receipt
3.4.1 Vendor Responsibilities
1) The Vendor MUST notify the Reporter and involved Coordinators that
the Vendor has received the notification. This Receipt does not
necessarily imply that the Vendor has researched or reproduced the
vulnerability, only that the Vendor is aware of the notification.
Rationale: if the Vendor does not respond, then the Reporter or
Coordinator may not be sure if the Vendor is truly aware of the
reported vulnerability, and/or if the Vendor intends to resolve the
vulnerability. This often causes Reporters or Coordinators to bypass
later phases of the disclosure process in order to warn customers of
the risks to their systems.
2) The Vendor MUST provide the Reporter and involved Coordinators
with a Receipt within 7 days.
Rationale: Other time frames (such as 5 business days) were
considered but deemed unworkable due to international issues (e.g.,
"work weeks" may fall on different days in different countries, there
are different national or religious holidays). Defining a time frame
relative to the Vendor or Reporter could not work without some form
Christey & Wysopal Expires June 2002 [Page 11]
Internet-Draft Responsible Vulnerability Disclosure December 2001
of communication between both parties.
Note: small but responsible Vendors or individuals may not be able to
provide this degree of responsiveness, especially during vacation
periods. Reporters and Coordinators SHOULD take this into account
during the notification phase. Small, responsible Vendors SHOULD
post some clear notification when it is known that such delays will
occur.
3) If the Vendor's receipt message is automatically generated, then
it SHOULD include a time period or date by which an individual (or
the Security Response Capability) will provide follow-up on the
reported vulnerability. The time period SHOULD NOT exceed 10 days.
4) Within 10 days of initial notification, the Vendor's Security
Response Capability SHOULD provide a clear response to the Reporter
and any involved Coordinators.
3.5 Validation Phase
3.5.1 Vendor Responsibilities
1) If the vulnerability is found in a supported product, the Vendor
MUST either (1) reproduce the vulnerability, (2) determine if there
is enough evidence for the existence of the vulnerability when it
cannot be reproduced, (3) determine if the vulnerability is already
known (and possibly resolved), or (4) work with the Reporter to
determine if the vulnerability is related to the specific environment
in which it was discovered (including configuration errors or
interactions with other products).
2) If the vulnerability is found in an unsupported or discontinued
product, the Vendor MAY refuse to validate the vulnerability.
However, the Vendor MUST ensure that the reported vulnerability does
not exist in supported product versions or other supported products
based on the vulnerable product.
3) The Vendor SHOULD NOT assume that the risk or impact of the
vulnerability is limited to what has been identified by the Reporter
or involved Coordinator.
Rationale: The Reporter or involved Coordinator may not have
sufficient experience or time to identify the full scope of the
problem. Sometimes, a theoretical vulnerability is later found to be
more easily exploitable as a result of follow-on analysis or the
creation of a tool. For example, it may be easy for a Reporter to
Christey & Wysopal Expires June 2002 [Page 12]
Internet-Draft Responsible Vulnerability Disclosure December 2001
find evidence of a buffer overflow vulnerability by providing a large
argument that causes an application to crash. It is an indicator
that a carefully crafted program could be used to execute arbitrary
code. The Reporter and Vendor may not have the skills or resources
to create such a program, but such a program could be created in the
future.
4) The Vendor SHOULD examine its product to ensure that it is free of
other problems that are similar to the reported vulnerability.
Rationale: some Vendors reproduce and resolve the specific issue that
is identified by the Reporter without extending their analysis to see
if similar mistakes were made elsewhere in the product. The
Reporter, others in the Security Community, or hackers may conduct
follow-on research to find these other vulnerabilities. This can
result in a cycle in which vulnerabilities are discovered and patched
so often that it becomes difficult for customers to manage the volume
of resolutions that they need to apply.
5) The Vendor MUST consult with the Reporter and involved
Coordinators when more information or analysis is needed.
6) The Vendor SHOULD provide status updates to the Reporter and any
involved Coordinators every 7 days. The Vendor MAY negotiate with
the parties for less frequent updates.
7) The Vendor MUST notify the Reporter and any involved Coordinators
when the Vendor is able to reproduce the vulnerability.
8) The Vendor SHOULD attempt to resolve the vulnerability within 30
days of initial notification.
9) If the Vendor cannot resolve the vulnerability within 30 days,
then the Vendor MUST provide the Reporter and involved Coordinators
with specific reasons why the vulnerability cannot be resolved.
10) If the Vendor is aware of other vendors that share the same
codebase as the affected product, then the Vendor MUST either (1)
notify those vendors, or (2) notify a Coordinator that other Vendors
may be affected by the reported vulnerability.
3.5.2 Reporter Responsibilities
1) The Reporter SHOULD work with the Vendor in a timely fashion to
explain the vulnerability and conduct further analysis.
Christey & Wysopal Expires June 2002 [Page 13]
Internet-Draft Responsible Vulnerability Disclosure December 2001
Rationale: if a problem is sufficiently complex or only appears in a
portion of deployed systems, then the Vendor may not be able to
reproduce the issue. In other cases, the Vendor may not understand
the problem. If the Reporter is slow to respond, then this can
extend the time window during which Customers are at risk.
2) If the Vendor does not understand the nature, risk, or resolution
of the vulnerability, then the Reporter or involved Coordinators
SHOULD provide the Vendor with resources that help to explain the
vulnerability.
Note: Some Vendors may require - or insist - upon extensive
consultation to identify the vulnerability. Reporters and
Coordinators may not have the time or resources to provide such
assistance.
3) If the Reporter does not have the time or resources to conduct
such analysis, then the Reporter SHOULD notify the Vendor and suggest
alternate contacts (such as Coordinators) who may be able to assist
the Vendor. The Reporter SHOULD NOT attempt to bypass later phases.
4) If the Reporter finds that the Reporter is in error, then the
Reporter SHOULD notify the Vendor and involved Coordinators.
Rationale: if a Reporter does not perform this notification, then the
Vendors or Coordinators may continue to spend unnecessary resources
on further analysis of the issue.
5) The Reporter SHOULD grant time extensions to the Vendor if there
is evidence that the Vendor is acting in good faith to resolve the
vulnerability.
6) If the Vendor is unresponsive or disagrees with the Reporter's
findings, then the Reporter SHOULD involve a Coordinator.
3.5.3 Coordinator Responsibilities
1) The Coordinator MUST attempt to resolve any conflicts or technical
disagreements that arise between the Reporter and the Vendor.
2) If a Vendor is unresponsive or does not appear to be acting in
good faith to resolve the vulnerability, then the Coordinator SHOULD
attempt to convince the Vendor to follow the proper process.
3) If a Reporter is unresponsive or does not appear to be acting in
good faith to resolve the vulnerability, then the Coordinator SHOULD
Christey & Wysopal Expires June 2002 [Page 14]
Internet-Draft Responsible Vulnerability Disclosure December 2001
attempt to convince the Reporter to follow the proper process.
4) The Coordinator SHOULD work with the Vendor and Reporter to
determine if other Vendors are affected by the same problem.
5) The Coordinator SHOULD work with the Vendor and Reporter to
identify time extensions (if any) that are acceptable to all parties.
3.6 Resolution Phase
The "Resolution" of a vulnerability involves action regarding one or
more of the following:
- patch creation
- recommendation of configuration change
- design change
- workaround
- no action
If the Vendor does not participate or is unresponsive, then the
Reporter and Coordinator might not be able to create a patch or
change the design of the product.
3.6.1 Vendor Responsibilities
1) The Vendor MUST identify the fundamental nature of the flaw within
the source code or in the design of the product ("Diagnosis").
2) The Vendor MUST either (1) provide a patch, configuration change,
or workaround that appropriately reduces or eliminates the risk of
the vulnerability ("Fix Development"), or (2) provide the Reporter
and involved Coordinators with specific reasons for its inaction.
3) The Vendor SHOULD request time extensions from the Reporter and
involved Coordinators when necessary.
4) The Vendor SHOULD test the patches, configuration changes, and
workarounds sufficiently to ensure that either (1) they do not
adversely affect the operation of the product, or (2) it is clear
which conditions may adversely affect the operation of the product.
Rationale: Vendors may be pressured to quickly resolve
vulnerabilities without sufficient testing, especially when Reporters
have bypassed the Notification or Validation phases. As a result,
the resolution may adversely affect more systems than necessary.
5) The Vendor MUST provide the Reporter and involved Coordinators
Christey & Wysopal Expires June 2002 [Page 15]
Internet-Draft Responsible Vulnerability Disclosure December 2001
with all known configuration changes or workarounds that address the
vulnerability ("Fix Development").
6) The Vendor SHOULD provide the Reporter and involved Coordinators
with any patches ("Patch Testing").
Rationale: this helps the Reporter and Coordinator to confirm that
the vulnerability has been reduced or eliminated.
Note: the Vendor's business model may require that only supported
Customers can have access to a patch, which could exclude Reporters
or Coordinators. Such Vendors should recognize that this practice
may result in an incomplete patch that does not address the
vulnerability in question.
7) If the Reporter is unresponsive or uncooperative, or a dispute
arises, then the Vendor SHOULD work with a Coordinator to identify
the best available resolution for the vulnerability.
3.6.2 Reporter Responsibilities
1) The Reporter SHOULD recognize that it may be difficult for a
Vendor to resolve a vulnerability with 30 days if (1) the problem is
related to insecure design, (2) the Vendor has a diverse set of
hardware, operating systems, and/or application versions to support,
or (3) the Vendor is not skilled in security.
2) The Reporter SHOULD grant time extensions to the Vendor if the
Vendor is acting in good faith to resolve the vulnerability.
3) If the Vendor is unresponsive or uncooperative, or a dispute
arises, then the Reporter SHOULD work with a Coordinator to identify
the best available resolution for the vulnerability.
3.7 Release Phase
3.7.1 Vendor Responsibilities
1) The Vendor SHOULD work with the Reporter and involved Coordinators
to arrange a date after which the vulnerability information may be
released.
2) The Vendor MAY ask the Reporter and Coordinator to allow a "Grace
Period" up to 30 days, during which the Reporter and Coordinator do
not release details of the vulnerability that could make it easier
for hackers to create exploit programs.
Christey & Wysopal Expires June 2002 [Page 16]
Internet-Draft Responsible Vulnerability Disclosure December 2001
Rationale: a grace period provides Customers with a time period in
which they can fix their systems. During this time, the lack of
details may make it more difficult or resource-intensive for
attackers to determine the nature of the vulnerability and craft an
exploit. However, some security-aware Customers desire such details
so that they can better decide whether the resolution of the
vulnerability is appropriate for their environment. In addition,
some members of the Security Community desire such details in order
to (1) enhance tools or techniques to detect vulnerable systems on
Customer networks (such as vulnerability scanners), (2) enhance tools
or techniques to detect attempts to exploit vulnerabilities on
Customer networks (such as intrusion detection systems), (3) provide
databases or other information that Customers use to identify and
prioritize vulnerabilities that may affect the Customer's enterprise,
and (4) perform research and trend analysis.
3) If the Reporter has not properly followed the process and publicly
announces the vulnerability, then the Vendor SHOULD post its
awareness of the vulnerability, and the Vendor's progress in its
resolution, to appropriate forums.
Rationale: this allows Customers and the Security Community to know
that the Vendor is aware of the problem and working to resolve it.
Note: some Vendors may not wish to acknowledge such vulnerabilities
until a patch is available.
4) If a Reporter has properly followed the process, then the Vendor
MUST provide credit to that reporter.
5) If a Coordinator has properly followed the process, then the
Vendor SHOULD provide credit to the Coordinator.
6) If a Reporter has not properly followed the process and publicly
announces the vulnerability, then the Vendor MAY provide credit to
the reporter.
Rationale: Some people believe that even if a reporter has not
followed the procedures properly, the reporter has still provided
valuable information that is useful to the Vendor, Customers,
Coordinators, and the Security Community, and academic integrity
would dictate that reporters should be credited. However, since
credit is a motivation for some reporters, others believe that
irresponsible reporters should not be encouraged to bypass the
process and still get credit.
Christey & Wysopal Expires June 2002 [Page 17]
Internet-Draft Responsible Vulnerability Disclosure December 2001
7) The Vendor MUST NOT assume that the lack of vulnerability details
will prevent the creation of an exploit.
Rationale: If the Vendor provides source code for the product, then
any entity who has access to the product could easily determine the
specific locations of the vulnerability and identify possible attack
vectors that reach the vulnerable code. If the Vendor does not
provide source code, then any entity who has access to a patch could
use reverse engineering techniques to determine how the code was
changed, then infer the nature of the vulnerability.
8) The Vendor SHOULD cryptographically sign all patches using a
method that is commonly accessible on the platforms for the Vendor's
product. The Vendor should clearly advertise its cryptographic key
and provide cryptographic checksums for its patches.
Rationale: This increases the assurance that the patches from the
Vendor are authentic.
9) The Vendor SHOULD provide an easily accessible mechanism for
Customers and the Security Community to obtain all security
advisories, such as a web page. The most recent advisory SHOULD be
listed first.
10) The Vendor SHOULD provide a mechanism for notifying Customers and
the Security Community when new advisories are published.
11) The Vendor SHOULD provide a means for the Security Community to
identify which reported vulnerabilities are genuine, but are not
regarded by the Vendor as important enough to merit a security
advisory.
Rationale: Vendors are often unwilling to release security advisories
unless the security issue is critical for its Customers. This can
reduce operating expenses for the Vendor and most Customers.
However, some members of the Security Community, and some Customers,
also prefer to protect themselves against less serious
vulnerabilities. If a Vendor does not at least indicate to its
security-aware Customers that a security-related resolution is
available, then those Customers may remain at risk for
vulnerabilities that they would otherwise wish to resolve.
12) The Vendor SHOULD provide an easily accessible indicator that
allows a Customer to determine if the resolution has been applied to
a system, e.g. by modifying the product's version number or providing
the Customer with a tool that identifies the resolutions that have
Christey & Wysopal Expires June 2002 [Page 18]
Internet-Draft Responsible Vulnerability Disclosure December 2001
been applied to a product.
3.7.2 Reporter Responsibilities
1) The Reporter SHOULD work with the Vendor and involved Coordinators
to arrange a date after which the vulnerability information may be
released.
2) If the Vendor has not resolved the vulnerability within a time
frame that is allowed by this process, then the Reporter SHOULD work
with a Coordinator to announce the vulnerability to Customers and the
Security Community.
3) If another reporter has not properly followed the process and
publicly announced the vulnerability, then the Reporter MAY announce
that the Reporter was responsibly following the disclosure process
with the Vendor and involved Coordinators.
4) If a Vendor requests a Grace Period, then the Reporter SHOULD
follow the Grace Period before releasing details of the
vulnerability.
5) After the Grace Period, the Reporter MAY release additional
details. The Reporter SHOULD carefully consider how much detail is
needed by Customers and the Security Community.
Note: in some cases, the nature of the vulnerability could make it
difficult or impossible to release vulnerability details that do not
allow someone to exploit the vulnerability.
6) The Reporter SHOULD provide credit to any Vendor and/or
Coordinator who has followed the process.
3.7.3 Coordinator Responsibilities
1) The Coordinator SHOULD work with the Vendor and Reporter to
arrange a date after which the vulnerability information may be
released.
2) If the Vendor requests a Grace Period, the Coordinator SHOULD
follow the Grace Period and encourage the Reporter to follow the
Grace Period.
3) The Coordinator SHOULD provide credit to any Vendor and/or
Reporter who properly follows the process.
Christey & Wysopal Expires June 2002 [Page 19]
Internet-Draft Responsible Vulnerability Disclosure December 2001
4) The Coordinator MAY provide credit to a reporter who has not
properly followed the process.
3.7.4 Customer Responsibilities
1) The Customer MUST NOT assume that the lack of details will prevent
the creation of an exploit.
2) If the Vendor has released information regarding the
vulnerability, then the Customer SHOULD assume that the information
is credible. The Customer SHOULD NOT require that the vulnerability
be demonstrated before applying the resolution.
3) If the Vendor has not released such information, but a well-
established Reporter or Coordinator has, then the Customer SHOULD
assume that the information is credible. The Customer SHOULD NOT
require that the vulnerability be demonstrated before applying the
resolution.
4) If vulnerability information has been released and a Grace Period
exists, then the Customer SHOULD apply the resolution to its systems
during the Grace Period.
5) Where possible, the Customer SHOULD test any patches,
configuration changes, or workarounds on test systems before making
the changes in an operational environment.
6) The Customer SHOULD inform the Vendor and the Security Community
if a patch, configuration change, or workaround does not appear to
work properly.
7) The Customer SHOULD give preference to products whose Vendors
follow responsible disclosure practices.
3.7.5 Security Community Responsibilities
1) The Security Community SHOULD publicly recognize all Vendors,
Reporters, and Coordinators who follow responsible vulnerability
disclosure.
2) The Security Community SHOULD adopt a set of terms that allows all
parties to describe the inherent risk or impact of a vulnerability
that can be interpreted in various environments, threat levels, and
policies.
Rationale: Customers have varying operational needs at different
Christey & Wysopal Expires June 2002 [Page 20]
Internet-Draft Responsible Vulnerability Disclosure December 2001
levels of security, which can make it difficult to define a "one size
fits all" risk level for any vulnerability. Current terminology
often uses a "High, Medium, Low" breakdown, but there are no formal
definitions. As such, this terminology is used inconsistently,
partially because it is based on the perspective of the entity who is
using it. It is also insufficient to capture the complexity and
tradeoffs of vulnerabilities in today's environment.
3.8 Follow-Up Phase
1) The Vendor SHOULD clearly notify Customers and the Security
Community when a resolution is (a) faulty, or (b) revised.
2) The Vendor SHOULD NOT re-release the same advisory for newly
discovered, closely related vulnerabilities.
Rationale: The re-release of an advisory may not be noticed as well
by Customers, which could cause the Customers to believe that their
systems are secure because they applied the resolution that was
identified in the original advisory.
4 Policy Publication
4.1 Vendor Policy
A Vendor SHOULD publish a policy and procedures statement that
includes the following information:
1) Where it complies (and does not comply) with the process outlined
in this document.
2) The typical amount of time after notification that the Vendor
requires to produce a resolution.
3) The Grace Period, if any, that the Vendor wishes to observe.
4) How the Vendor determines whether a reported problem is serious
enough to merit a security advisory.
4.2 Reporter Policy
If a Reporter is a member of the Security Community and the Reporter
frequently finds new vulnerabilities, then the Reporter SHOULD
publish a policy and procedures statement that includes the following
information:
Christey & Wysopal Expires June 2002 [Page 21]
Internet-Draft Responsible Vulnerability Disclosure December 2001
1) Where it complies (and does not comply) with the process outlined
in this document.
2) The maximum Grace Period that the Reporter is willing to follow.
4.3 Coordinator Policy
A Coordinator SHOULD publish a policy and procedures statement that
includes the following information:
1) Where the Coordinator complies (and does not comply) with the
process outlined in this document.
2) The maximum Grace Period that the Coordinator is willing to
follow.
5 References
Note: many of these references identify posted messages to security-
related mailing lists. These messages often resulted in long threads
that explore the related issues in more depth.
5.1 Disclosure Policies
RFPolicy 2.0
http://www.wiretrip.net/rfp/policy.html.
Bugtraq Frequently Asked Questions
http://www.securityfocus.com/popups/forums/bugtraq/faq.shtml
NTBugtraq Disclosure Policy
http://ntbugtraq.ntadvice.com/default.asp?sid=1&pid=47&aid=48
CERT/CC Vulnerability Disclosure Policy
http://www.kb.cert.org/vuls/html/disclosure/
ACROS ASPR Notification and Publishing Policy
http://www.acros.si/aspr_policy.html
NMRC policy
http://www.nmrc.org/advise/policy.txt
@stake Security Advisory Disclosure Policy
http://www.atstake.com/research/policy/index.html
5.2 Commentary on Disclosure Details
Christey & Wysopal Expires June 2002 [Page 22]
Internet-Draft Responsible Vulnerability Disclosure December 2001
"Full Disclosure is a necessary evil"
Elias Levy
SecurityFocus web site
August 16, 2001
http://www.securityfocus.com/news/238
"It's Time to End Information Anarchy"
Scott Culp
Microsoft web site
October 2001
http://www.microsoft.com/technet/columns/security/noarch.asp
"Security in an Open Electronic Society"
Elias Levy
SecurityFocus web site
October 21, 2001.
http://www.securityfocus.com/news/270
"Is Disclosing Vulnerabilities A Security Risk In Itself?"
Bruce Schneier:
Internet Week
November 20, 2001
http://www.internetweek.com/graymatter/secure111901.htm
"Script Kiddies Suck"
Marcus Ranum
Black Hat Briefings presentation
July 2000
http://web.ranum.com/usenix/blackhat-2000-keynote.mp3
"The Network Police Blotter: The Slaughter of the Innocents"
Marcus Ranum
;Login:
October 2000
http://web.ranum.com/usenix/ranum_5_temp.pdf
5.3 Commentary on Disclosure Process
"Bugs in the Disclosure Process"
Ivan Arce
TISC Insight, Volume 3, Issue 3
February 9, 2001
http://tisc.corecom.com/newsletters/33.html
"SUMMARY: Bug announcement rule of thumb."
Bill Stout
Christey & Wysopal Expires June 2002 [Page 23]
Internet-Draft Responsible Vulnerability Disclosure December 2001
NTBUGTRAQ
August 13, 1998.
http://marc.theaimsgroup.com/?l=ntbugtraq&m=90310164223252&w=2
"Microsoft admits IE security alert lapse"
Wendy McAuliffe
ZDNet
November 19, 2001
http://www.zdnet.com/filters/printerfriendly/0,6061,2825716-2,00.html
"RFP2K03: Contemplations on dvwssr.dll and its affects on life"
Rain Forest Puppy
Bugtraq
April 20, 2000
http://marc.theaimsgroup.com/?l=bugtraq&m=95633636721100&w=2
"Xato Advisory: Win2k/XP Terminal Services IP Spoofing"
Xato
Bugtraq
November 14, 2001
http://marc.theaimsgroup.com/?l=bugtraq&m=100578220002083&w=2
"Vulnerability Escrow (was: Extreme Hacking)"
Crispin Cowan
NFR Wizards mailing list
July 7, 1999
http://archives.neohapsis.com/archives/nfr-wizards/1999_2/0416.html
"Can we afford full disclosure of security holes?"
Richard M. Smith
Bugtraq
August 10, 2001
http://marc.theaimsgroup.com/?l=bugtraq&m=99747112928288&w=2
"Anti-Web 'Vulnerability' is a false alarm"
Doug Hoyte
Vuln-dev mailing list
December 1, 2001
"Windows of Vulnerability: A Case Study Analysis"
William A. Arbaugh, William L. Fithen, John McHugh
IEEE Computer
December 2000
"Sun denies Unix flaw"
John Geralds
Christey & Wysopal Expires June 2002 [Page 24]
Internet-Draft Responsible Vulnerability Disclosure December 2001
vnunet.com
November 20, 2001
http://www.vnunet.com/News/1126973
"Open Response To Microsoft Security - RE: It's Time to End
Information Anarchy"
Steve Manzuik
Vuln-Dev
October 17, 2001
http://archives.neohapsis.com/archives/vuln-dev/2001-q4/0195.html
"A Step Towards Information Anarchy: A Call To Arms"
hellNbak
Nomad Mobile Research Center
November 2, 2001
http://www.nmrc.org/InfoAnarchy/InfoAnarchy.htm
"To Disclose or Not to Disclose, That Is the Question"
Mark Joseph Edwards
Windows 2000 Magazine
June 27, 2001
http://www.windowsitsecurity.com/Articles/Index.cfm?ArticleID=21618
"Towards a responsible vulnerability process"
David LeBlanc
NTBUGTRAQ
November 3, 2001
http://archives.neohapsis.com/archives/ntbugtraq/2001-q4/0097.html
5.4 Commentary on Advisories
"Writing security advisories"
Kurt Seifried
September 10, 2001
http://www.seifried.org/security/articles/20010910-writing-security-
advisories.html
"Xato commentary on MS security bulletins"
Xato
Bugtraq
December 7, 2000
http://marc.theaimsgroup.com/?l=bugtraq&m=97626305317046&w=2
5.5 Commentary on Vendor Accessibility
"Getting to the Third Wave of Security Responsiveness"
Christey & Wysopal Expires June 2002 [Page 25]
Internet-Draft Responsible Vulnerability Disclosure December 2001
Scott Culp
January 2001
http://www.microsoft.com/technet/columns/security/thrdwave.asp
"An informal analysis of vendor acknowledgement of vulnerabilities"
Steve Christey, Barbara Pease
Bugtraq
March 11, 2001
http://marc.theaimsgroup.com/?l=bugtraq&m=98438570915835&w=2
"Shockwave Flash buffer overflow"
Neal Krawetz
Bugtraq
December 29, 2000
http://marc.theaimsgroup.com/?l=bugtraq&m=97845942432045&w=2
"Re: Shockwave Flash buffer overflow"
Peter Santangeli
Bugtraq
January 5, 2001
http://marc.theaimsgroup.com/?l=bugtraq&m=97897439808223&w=2
"Re: SafeWord Agent for SSH (secure shell) vulnerability"
Leif Nixon
Bugtraq
November 29, 2001
http://marc.theaimsgroup.com/?l=bugtraq&m=100706579514862&w=2
5.6 Discovery of Issues in the Wild
"sadmind"
Nancy Lin
SF-INCIDENTS mailing list
December 9, 1999
http://marc.theaimsgroup.com/?l=incidents&m=94476722417209&w=2
"sadmind exploits (remote sparc/x86)"
Marcy Abene
Bugtraq
December 10, 1999
http://marc.theaimsgroup.com/?l=bugtraq&m=94486731225359&w=2
"IIS %c1%1c remote command execution"
Rain Forest Puppy
Bugtraq
October 17, 2000
Christey & Wysopal Expires June 2002 [Page 26]
Internet-Draft Responsible Vulnerability Disclosure December 2001
http://marc.theaimsgroup.com/?l=bugtraq&m=97180137413891&w=2
5.7 Researcher Credibility and Vulnerability Reproduction
"vCard DoS on Outlook 2000"
Joel Moses
Bugtraq
August 31, 2000
http://marc.theaimsgroup.com/?l=bugtraq&m=96774764029236&w=2
"Microsoft Outlook 2000 vCard Buffer Overrun"
@stake
February 26, 2001
http://www.atstake.com/research/advisories/2001/a022301-1.txt
"Re: Microsoft Security Bulletin MS01-012"
Joel Moses
Bugtraq
February 23, 2001
http://marc.theaimsgroup.com/?l=bugtraq&m=98322714210100&w=2
5.8 Miscellaneous
"Vulnerability disclosure publications and discussion tracking"
University of Oulu
November 20, 2001
http://www.ee.oulu.fi/research/ouspg/sage/disclosure-tracking/
"Devil in the details - why package signing matters"
Kurt Seifried
October 24, 2001
http://www.seifried.org/security/articles/20011023-devil-in-details.html
6 Acknowledgements
We gratefully acknowledge the constructive comments received from
several contributors. Any errors or inconsistencies in this document
are solely the responsibility of the authors, and not of the
reviewers. This document does not necessarily entirely reflect the
opinion of the reviewers or their parent organizations.
We would like to thank Andy Balinsky, Mary Ann Davidson, Elias Levy,
Russ Cooper, Scott Blake, Seth Arnold, Rain Forest Puppy, Marcus
Ranum, Lori Woeler, Adam Shostack, Mark Loveless, Scott Culp, and
Shawn Hernan for their valuable input.
Christey & Wysopal Expires June 2002 [Page 27]
Internet-Draft Responsible Vulnerability Disclosure December 2001
7 Security Considerations
This entire document discusses security issues.
8 Authors' Addresses
Steve Christey
The MITRE Corporation
202 Burlington Road
Bedford, MA 01730
USA
E-Mail: coley@mitre.org
Chris Wysopal
@stake, Inc.
196 Broadway
Cambridge, MA 02139-1902
USA
E-Mail: cwysopal@atstake.com
9 Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organisations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
Christey & Wysopal Expires June 2002 [Page 28]
Internet-Draft Responsible Vulnerability Disclosure December 2001
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."
This document expires June 12, 2002.
Christey & Wysopal Expires June 2002 [Page 29]