idnits 2.17.1
draft-irtf-pearg-safe-internet-measurement-01.txt:
Checking boilerplate required by RFC 5378 and the IETF Trust (see
https://trustee.ietf.org/license-info):
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt:
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/checklist :
----------------------------------------------------------------------------
No issues found here.
Miscellaneous warnings:
----------------------------------------------------------------------------
== The copyright year in the IETF Trust and authors Copyright Line does not
match the current year
-- The document date (July 8, 2019) is 1747 days in the past. Is this
intentional?
Checking references for intended status: Informational
----------------------------------------------------------------------------
No issues found here.
Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--).
Run idnits with the --verbose option for more detailed information about
the items above.
--------------------------------------------------------------------------------
2 Network Working Group I. Learmonth
3 Internet-Draft Tor Project
4 Intended status: Informational July 8, 2019
5 Expires: January 9, 2020
7 Guidelines for Performing Safe Measurement on the Internet
8 draft-irtf-pearg-safe-internet-measurement-01
10 Abstract
12 Researchers from industry and academia often use Internet
13 measurements as part of their work. While these measurements can
14 give insight into the functioning and usage of the Internet, they can
15 come at the cost of user privacy. This document describes guidelines
16 for ensuring that such measurements can be carried out safely.
18 Note
20 Comments are solicited and should be addressed to the research
21 group's mailing list at pearg@irtf.org and/or the author(s).
23 The sources for this draft are at:
25 https://github.com/irl/draft-safe-internet-measurement
27 Status of This Memo
29 This Internet-Draft is submitted in full conformance with the
30 provisions of BCP 78 and BCP 79.
32 Internet-Drafts are working documents of the Internet Engineering
33 Task Force (IETF). Note that other groups may also distribute
34 working documents as Internet-Drafts. The list of current Internet-
35 Drafts is at https://datatracker.ietf.org/drafts/current/.
37 Internet-Drafts are draft documents valid for a maximum of six months
38 and may be updated, replaced, or obsoleted by other documents at any
39 time. It is inappropriate to use Internet-Drafts as reference
40 material or to cite them other than as "work in progress."
42 This Internet-Draft will expire on January 9, 2020.
44 Copyright Notice
46 Copyright (c) 2019 IETF Trust and the persons identified as the
47 document authors. All rights reserved.
49 This document is subject to BCP 78 and the IETF Trust's Legal
50 Provisions Relating to IETF Documents
51 (https://trustee.ietf.org/license-info) in effect on the date of
52 publication of this document. Please review these documents
53 carefully, as they describe your rights and restrictions with respect
54 to this document.
56 1. Introduction
58 Performing research using the Internet, as opposed to an isolated
59 testbed or simulation platform, means that experiments co-exist in a
60 space with other users. This document outlines guidelines for
61 academic and industry researchers that might use the Internet as part
62 of scientific experimentation to mitigate risks to the safety of
63 other users.
65 1.1. Scope of this document
67 Following the guidelines contained within this document is not a
68 substitute for any institutional ethics review process, although
69 these guidelines could help to inform that process. Similarly, these
70 guidelines are not legal advice and local laws must also be
71 considered before starting any experiment that could have adverse
72 impacts on user safety.
74 1.2. Active and passive measurements
76 Internet measurement studies can be broadly categorized into two
77 groups: active measurements and passive measurements. Active
78 measurements generate traffic. Performance measurements such as TCP
79 throughput testing [RFC6349] or functional measurements such as the
80 feature-dependent connectivity failure tests performed by
81 [PATHspider] both fall into this category. Performing passive
82 measurements requires existing traffic.
84 Both active and passive measurements carry risk. A poorly considered
85 active measurement could result in an inadvertent denial-of-service
86 attack, while passive measurements could result in serious violations
87 of user privacy.
89 The type of measurement is not truly binary and many studies will
90 include both active and passive components. Each of the
91 considerations in this document must be carefully considered for
92 their applicability regardless of the type of measurement.
94 2. Consent
96 In an ideal world, informed consent would be collected from all users
97 that may be placed at risk, no matter how small a risk, by an
98 experiment. In cases where it is practical to do so, this should be
99 done.
101 2.1. Informed Consent
103 For consent to be informed, all possible risks must be presented to
104 the users. The considerations in this document can be used to
105 provide a starting point although other risks may be present
106 depending on the nature of the measurements to be performed.
108 2.2. Informed Consent: Case Study
110 A researcher would like to use volunteer owned mobile devices to
111 collect information about local Internet censorship. Connections
112 will be made from the volunteer's device towards known or suspected
113 blocked webpages.
115 This experiment can carry substantial risk for the user depending on
116 the circumstances, from disciplinary action from their employer to
117 arrest or imprisonment. Fully informed consent ensures that any risk
118 that is being taken has been carefully considered by the volunteer
119 before proceeding.
121 2.3. Proxy Consent
123 In cases where it is not practical to collect informed consent from
124 all users of a shared network, it may be possible to obtain proxy
125 consent. Proxy consent may be given by a network operator or
126 employer that would be more familiar with the expectations of users
127 of a network than the researcher.
129 In some cases, a network operator or employer may have terms of
130 service that specifically allow for giving consent to 3rd parties to
131 perform certain experiments.
133 2.4. Proxy Consent: Case Study
135 A researcher would like to perform a packet capture to determine the
136 TCP options and their values used by all client devices on an
137 corporate wireless network.
139 The employer may already have terms of service laid out that allow
140 them to provide proxy consent for this experiment on behalf of the
141 employees (the users of the network). The purpose of the experiment
142 may affect whether or not they are able to provide this consent. For
143 example, to perform engineering work on the network then it may be
144 allowed, whereas academic research may not be covered.
146 2.5. Implied Consent
148 In larger scale measurements, even proxy consent collection may not
149 be practical. In this case, implied consent may be presumed from
150 users for some measurements. Consider that users of a network will
151 have certain expectations of privacy and those expectations may not
152 align with the privacy guarantees offered by the technologies they
153 are using. As a thought experiment, consider how users might respond
154 if asked for their informed consent for the measurements you'd like
155 to perform.
157 Implied consent should not be considered sufficient for any
158 experiment that may collect sensitive or personally identifying
159 information. If practical, attempt to obtain informed consent or
160 proxy consent from a sample of users to better understand the
161 expectations of other users.
163 2.6. Implied Consent: Case Study 1
165 A researcher would like to run a measurement campaign to determine
166 the maximum supported TLS version on popular web servers.
168 The operator of a web server that is exposed to the Internet hosting
169 a popular website would have the expectation that it may be included
170 in surveys that look at supported protocols or extensions but would
171 not expect that attempts be made to degrade the service with large
172 numbers of simultaneous connections.
174 2.7. Implied Consent: Case Study 2
176 A researcher would like to perform A/B testing for protocol feature
177 and how it affects web performance. They have created two versions
178 of their software and have instrumented both to report telemetry
179 back. These updates will be pushed to users at random by the
180 software's auto-update framework. The telemetry consists only of
181 performance metrics and does not contain any personally identifying
182 or sensitive information.
184 As users expect to receive automatic updates, the effect of changing
185 the behaviour of the software is already expected by the user. If
186 users have already been informed that data will be reported back to
187 the developers of the software, then again the addition of new
188 metrics would be expected. There are risks in pushing any new
189 software update, and the A/B testing technique can reduce the number
190 of users that may be adversely affected by a bad update.
192 The reduced impact should not be used as an excuse for pushing higher
193 risk updates, only updates that could be considered appropriate to
194 push to all users should be A/B tested. Likewise, not pushing the
195 new behaviour to any user should be considered appropriate if some
196 users are to remain with the old behavior.
198 In the event that something does go wrong with the update, it should
199 be easy for a user to discover that they have been part of an
200 experiment and roll back the change, allowing for explicit refusal of
201 consent to override the presumed implied consent.
203 3. Safety Considerations
205 3.1. Isolate risk with a dedicated testbed
207 Wherever possible, use a testbed. An isolated network means that
208 there are no other users sharing the infrastructure you are using for
209 your experiments.
211 When measuring performance, competing traffic can have negative
212 effects on the performance of your test traffic and so the testbed
213 approach can also produce more accurate and repeatable results than
214 experiments using the public Internet.
216 WAN link conditions can be emulated through artificial delays and/or
217 packet loss using a tool like [netem]. Competing traffic can also be
218 emulated using traffic generators.
220 3.2. Be respectful of other's infrastructure
222 If your experiment is designed to trigger a response from
223 infrastructure that is not your own, consider what the negative
224 consequences of that may be. At the very least your experiment will
225 consume bandwidth that may have to be paid for.
227 In more extreme circumstances, you could cause traffic to be
228 generated that causes legal trouble for the owner of that
229 infrastructure. The Internet is a global network crossing many legal
230 jurisdictions and so what may be legal for you is not necessarily
231 legal for everyone.
233 If you are sending a lot of traffic quickly, or otherwise generally
234 deviate from typical client behaviour, a network may identify this as
235 an attack which means that you will not be collecting results that
236 are representative of what a typical client would see.
238 3.2.1. Maintain a "Do Not Scan" list
240 When performing active measurements on a shared network, maintain a
241 list of hosts that you will never scan regardless of whether they
242 appear in your target lists. When developing tools for performing
243 active measurement, or traffic generation for use in a larger
244 measurement system, ensure that the tool will support the use of a
245 "Do Not Scan" list.
247 If complaints are made that request you do not generate traffic
248 towards a host or network, you must add that host or network to your
249 "Do Not Scan" list, even if no explanation is given or the request is
250 automated.
252 You may ask the requester for their reasoning if it would be useful
253 to your experiment. This can also be an opportunity to explain your
254 research and offer to share any results that may be of interest. If
255 you plan to share the reasoning when publishing your measurement
256 results, e.g. in an academic paper, you must seek consent for this
257 from the requester.
259 Be aware that in publishing your measurement results, it may be
260 possible to infer your "Do Not Scan" list from those results. For
261 example, if you measured a well-known list of popular websites then
262 it would be possible to correlate the results with that list to
263 determine which are missing.
265 3.3. Data Minimization
267 When collecting, using, disclosing, and storing data from a
268 measurement, use only the minimal data necessary to perform a task.
269 Reducing the amount of data reduces the amount of data that can be
270 misused or leaked.
272 When deciding on the data to collect, assume that any data collected
273 might be disclosed. There are many ways that this could happen,
274 through operation security mistakes or compulsion by a judicial
275 system.
277 When directly instrumenting a protocol to provide metrics to a
278 passive observer, see section 6.1 of RFC6973 [RFC6973] for data
279 minimalization considerations specific to this use case.
281 3.3.1. Discarding Data
283 XXX: Discard data that is not required to perform the task.
285 When performing active measurements be sure to only capture traffic
286 that you have generated. Traffic may be identified by IP ranges or
287 by some token that is unlikely to be used by other users.
289 Again, this can help to improve the accuracy and repeatability of
290 your experiment. [RFC2544], for performance benchmarking, requires
291 that any frames received that were not part of the test traffic are
292 discarded and not counted in the results.
294 3.3.2. Masking Data
296 XXX: Mask data that is not required to perform the task.
297 Particularly useful for content of traffic to indicate that either a
298 particular class of content existed or did not exist, or the length
299 of the content, but not recording the content itself. Can also
300 replace content with tokens, or encrypt.
302 3.3.3. Reduce Accuracy
304 XXX: Binning, categorizing, geoip, noise.
306 3.3.4. Data Aggregation
308 When collecting data, consider if the granularity can be limited by
309 using bins or adding noise. XXX: Differential privacy.
311 XXX: Do this at the source, definitely do it before you write to
312 disk.
314 [Tor.2017-04-001] presents a case-study on the in-memory statistics
315 in the software used by the Tor network, as an example.
317 4. Risk Analysis
319 The benefits should outweigh the risks. Consider auxiliary data
320 (e.g. third-party data sets) when assessing the risks.
322 5. Security Considerations
324 Take reasonable security precautions, e.g. about who has access to
325 your data sets or experimental systems.
327 6. IANA Considerations
329 This document has no actions for IANA.
331 7. Acknowledgements
333 Many of these considerations are based on those from the
334 [TorSafetyBoard] adapted and generalised to be applied to Internet
335 research.
337 Other considerations are taken from the Menlo Report [MenloReport]
338 and its companion document [MenloReportCompanion].
340 8. Informative References
342 [MenloReport]
343 Dittrich, D. and E. Kenneally, "The Menlo Report: Ethical
344 Principles Guiding Information and Communication
345 Technology Research", August 2012,
346 .
349 [MenloReportCompanion]
350 Bailey, M., Dittrich, D., and E. Kenneally, "Applying
351 Ethical Principles to Information and Communication
352 Technology Research", October 2013,
353 .
356 [netem] Stephen, H., "Network emulation with NetEm", April 2005.
358 [PATHspider]
359 Learmonth, I., Trammell, B., Kuehlewind, M., and G.
360 Fairhurst, "PATHspider: A tool for active measurement of
361 path transparency", DOI 10.1145/2959424.2959441, July
362 2016,
363 .
365 [RFC2544] Bradner, S. and J. McQuaid, "Benchmarking Methodology for
366 Network Interconnect Devices", RFC 2544,
367 DOI 10.17487/RFC2544, March 1999,
368 .
370 [RFC6349] Constantine, B., Forget, G., Geib, R., and R. Schrage,
371 "Framework for TCP Throughput Testing", RFC 6349,
372 DOI 10.17487/RFC6349, August 2011,
373 .
375 [RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J.,
376 Morris, J., Hansen, M., and R. Smith, "Privacy
377 Considerations for Internet Protocols", RFC 6973, July
378 2013, .
380 [Tor.2017-04-001]
381 Herm, K., "Privacy analysis of Tor's in-memory
382 statistics", Tor Tech Report 2017-04-001, April 2017,
383 .
386 [TorSafetyBoard]
387 Tor Project, "Tor Research Safety Board",
388 .
390 Author's Address
392 Iain R. Learmonth
393 Tor Project
395 Email: irl@torproject.org