Internet DRAFT - draft-kucherawy-httpbis-dict-sec
draft-kucherawy-httpbis-dict-sec
Individual submission M. Kucherawy
Internet-Draft Facebook, Inc.
Intended status: Informational November 5, 2018
Expires: May 9, 2019
Security Considerations Regarding Compression Dictionaries
draft-kucherawy-httpbis-dict-sec-00
Abstract
Data compression algorithms benefit from blocks of tuning data called
"dictionaries". These can greatly improve data compression speed
and/or ratios, but their use and application has numerous potential
security issues of concern to the communities using them. This
document enumerates security issues known about compression
dictionaries at the time of publication so that future proposals for
use of dictionaries can benefit from this collected material.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on May 9, 2019.
Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
Kucherawy Expires May 9, 2019 [Page 1]
Internet-Draft Compression Dictionary Security November 2018
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Dictionary Security Concerns . . . . . . . . . . . . . . . . . 3
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 4
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 4
6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 5
6.1. Normative References . . . . . . . . . . . . . . . . . . . 5
6.2. Informative References . . . . . . . . . . . . . . . . . . 5
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . . 5
Appendix B. Prior Art . . . . . . . . . . . . . . . . . . . . . . 5
Kucherawy Expires May 9, 2019 [Page 2]
Internet-Draft Compression Dictionary Security November 2018
1. Introduction
Brotli [RFC7932] and Zstandard [RFC8478] are examples of two modern
data compression algorithms. While useful in their basic forms, they
can be made far more effective with specific types of payloads when
used with an object called a "dictionary". A dictionary is a map
that can be applied during compression or uncompression that provides
an advantage when operating against specific types of content. One
might, for example, develop a dictionary that makes the compression
algorithm more effective when applied to specific types of audio
data.
As dictionaries are being developed, some issues have come to light
that indicate ways that use of dictionaries might introduce
destructive side effects to the environment in which their use is
applied. This document is a collection of those topics, which can be
consulted as work on dictionaries progresses; later, as RFCs are
published advancing dictionaries, the content of this document could
be used as a checklist to ensure that either the algorithms or their
specification documents have been appropriately evaluated against
these concerns.
2. Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
3. Dictionary Security Concerns
These subsections each describe an issue that has been raised with
respect to use of dictionaries as input to compression and
uncompression. Where possible and known, acceptable mitigations are
described.
[TODO: This is a bullet list for now, but each bullet item will
gradually be converted into a subsection containing relevant
discussion.]
o Attacks that use dictionary-based compression to recover content
in the response.
o Attacks that use dictionary-based compression to recover content
in the dictionary.
Kucherawy Expires May 9, 2019 [Page 3]
Internet-Draft Compression Dictionary Security November 2018
o Attacks that leverage dictionary-based compression to violate
CORS/SOP/CSP. [need references and expansions for these]
o Attacks that manipulate a response's content by manipulating the
contents of a dictionary.
o Attacks that obfuscate a malicious response's content through the
use of dictionary-based compression.
o Attacks that identify users by fingerprinting their advertisement
or use of dictionaries.
o Attacks that reveal past user behavior or associations through the
negotiation and use of dictionaries.
o Attacks that use dictionaries to achieve denial-of-service /
resource exhaustion:
* against network resources
* against storage resources
* against computation resources
* against the client
* against the server
* against an intermediary
* against a third-party
o Inadvertent leakage of private information in the creation of
dictionaries.
o General security risks that follow from complexity of
implementation.
4. IANA Considerations
This document includes no actions for IANA.
[RFC Editor: Please remove this section before publication.]
5. Security Considerations
This document enumerates known security considerations about a space
that is under development. The list of issues discussed above may
Kucherawy Expires May 9, 2019 [Page 4]
Internet-Draft Compression Dictionary Security November 2018
not be exhaustive, but it is hopefully complete enough to ensure
quality work is produced as a result.
6. References
6.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
6.2. Informative References
[RFC7932] Alakuijala, J. and Z. Szabadka, "Brotli Compressed Data
Format", RFC 7932, DOI 10.17487/RFC7932, July 2016,
<https://www.rfc-editor.org/info/rfc7932>.
[RFC8478] Collet, Y. and M. Kucherawy, Ed., "Zstandard Compression
and the application/zstd Media Type", RFC 8478,
DOI 10.17487/RFC8478, October 2018,
<https://www.rfc-editor.org/info/rfc8478>.
Appendix A. Acknowledgements
The author wishes to acknowledge the following for their review and
constructive criticism of this update: TBD
Appendix B. Prior Art
Some prior art worth considering:
o draft-lee-sdch-spec, which was implemented in Chrome but then
withdrawn
o draft-vkrasnov-h2-compression-dictionaries
o draft-vandevenne-shared-brotli-format
o HTTPBIS discussion during IETF 97
o Brotli "fetch spec" proposal: https://fetch.spec.whatwg.org/
Kucherawy Expires May 9, 2019 [Page 5]
Internet-Draft Compression Dictionary Security November 2018
o various HTTPBIS mailing list threads about dictionaries
Author's Address
Murray S. Kucherawy
Facebook, Inc.
1 Hacker Way
Menlo Park, CA 94025
US
EMail: msk@fb.com
Kucherawy Expires May 9, 2019 [Page 6]