[00:00.000 --> 00:01.620] With countless investigations. [00:04.280 --> 00:07.800] It's one of the best projects so far with transparency. [00:08.360 --> 00:11.400] One of the good works of the Freedom of the Press Foundation. [00:11.920 --> 00:17.020] And I'd like to introduce CTO of the Freedom of the Press Foundation, Gareth Robinson. [00:21.610 --> 00:22.330] Hey guys. [00:23.050 --> 00:23.870] Sorry about that. [00:24.590 --> 00:26.090] Hey, so yeah, my name is Gareth. [00:26.230 --> 00:28.830] I am the CTO of the Freedom of the Press Foundation. [00:28.830 --> 00:31.090] I'm also the lead... what? [00:31.390 --> 00:33.910] You can go back a little bit from that mic. [00:34.110 --> 00:34.890] You don't have to go do that. [00:34.930 --> 00:35.370] Are you sure? [00:36.410 --> 00:39.190] Okay, I'm also the lead developer of SecureDrop. [00:39.510 --> 00:44.990] And as my great introductor just said, we debuted SecureDrop. [00:45.610 --> 00:48.550] We did our first talk on it two years ago at HOPE X. [00:48.910 --> 00:51.670] I can't actually see anybody anymore because these lights are blinding. [00:51.930 --> 00:54.790] But just yell if you were at HOPE X. [00:54.850 --> 00:55.290] Who is here? [00:56.630 --> 00:57.150] Awesome! [00:57.610 --> 01:00.990] And out of curiosity, who's here for the first time? [01:02.550 --> 01:03.630] All right, all right. [01:03.830 --> 01:04.250] Solid. [01:04.450 --> 01:05.330] Welcome, newbies. [01:05.950 --> 01:06.650] That's great. [01:07.210 --> 01:14.810] So I gave a talk about SecureDrop with my friends, Bill Budington and Yan Zhu, who were at the time working at the EFF. [01:15.070 --> 01:16.170] I was working at Mozilla. [01:16.410 --> 01:21.030] And we were all contributors to SecureDrop in our spare time as an open-source project. [01:21.030 --> 01:30.330] I'd like to thank YouTube's algorithms for choosing the best possible slide for the thumbnail of the video from HOPE X. [01:31.010 --> 01:32.410] It's just this cat. [01:33.270 --> 01:34.190] It's great. [01:35.290 --> 01:41.070] Anyway, so before I talk about SecureDrop, I want to quickly talk about my organization. [01:41.070 --> 01:42.950] So back then, I worked for Mozilla. [01:43.230 --> 01:49.050] But actually, shortly after I gave this talk, I quit Mozilla and I came to work for FPF full-time. [01:50.510 --> 01:56.890] And so the Freedom of the Press Foundation, or FPF, is a very young and a very small organization. [01:56.890 --> 02:01.830] We were founded in late 2012 by Trevor Tim and Micah Lee. [02:02.110 --> 02:16.070] And the initial goal of the organization was to crowdfund for WikiLeaks, which at the time was undergoing a financial blockade by a number of large organizations like PayPal, Visa, and MasterCard, who were influenced by U.S. politicians to stop processing donations for the organization after they released the Afghan war logs and the Iraqi war logs, which were leaked by Chelsea Manning, as we now know. [02:25.430 --> 02:32.950] So initially, we were basically laundering money for WikiLeaks, but have since expanded our purview. [02:33.290 --> 02:39.050] So more recently, since the last hope, we've been doing more crowdfunding. [02:39.270 --> 02:50.670] So we raised about $186,000, probably actually more than that, doesn't count checks and other things, for various open source encryption tools that journalists use. [02:50.670 --> 02:55.330] So things like Open Whisper Systems Signal, Tails, and Tor. [02:56.910 --> 03:02.830] We also did a crowdfunding campaign starting this last summer to fund Chelsea Manning's legal defense. [03:03.330 --> 03:12.330] Chelsea Manning, as you guys are probably aware, I'll just recap if you're not, was a whistleblower who released a lot of military documents to WikiLeaks. [03:12.330 --> 03:18.870] Those documents continue to enrich the public's understanding of geopolitics and U.S. military policy today. [03:20.330 --> 03:24.890] They're regularly cited in front-page news stories as background. [03:25.730 --> 03:32.590] Meanwhile, Chelsea herself has just served six years of a 35-year sentence in military prison. [03:33.670 --> 03:40.370] So she was charged under the Espionage Act, and that act dates back to World War I. [03:40.670 --> 03:46.170] And one of its interesting provisions is that there is no recourse for a public interest defense. [03:46.390 --> 03:50.490] If you're a whistleblower, you're no different from a traitor or a spy under this act. [03:50.790 --> 04:06.050] So Chelsea was motivated, I think, by an interest in uncovering war crimes and crimes against humanity, but is being sentenced to somebody who was simply self-interested or wanted to harm Americans or a thing like that. [04:06.530 --> 04:08.610] If you're interested, you can actually still donate. [04:08.730 --> 04:11.570] We raised over $200,000 for illegal defense. [04:11.970 --> 04:16.070] And this is still a running campaign, so if you go to this URL, you can donate today. [04:16.530 --> 04:19.530] We also have a booth down in the mezzanine. [04:19.950 --> 04:22.670] And we got some postcards from New York. [04:22.670 --> 04:26.690] We got some pre-filled addresses and some stamps. [04:26.690 --> 04:32.130] So if you guys want to write a letter to Chelsea at Leavenworth in prison, I think she would really appreciate it. [04:32.230 --> 04:34.130] And we have the postcard, so just come fill it out. [04:36.950 --> 04:39.750] We also have been doing more legal advocacy work. [04:39.750 --> 04:41.830] So we recently sued the U.S. government, specifically the Department of Justice, over some FOIA requests that they weren't responding to. [04:50.450 --> 04:53.250] And we have a lot of other similar things kind of in the pipeline. [04:55.190 --> 05:00.070] But our main focus for the past two years has pretty much been our technology projects. [05:00.250 --> 05:02.190] And that's primarily SecureDrop. [05:03.630 --> 05:05.270] So what has happened? [05:05.530 --> 05:09.630] You know, when we first talked at HOPE X, it was a very new project. [05:10.410 --> 05:15.950] We were working on it really rapidly and iterating quickly, prototyping, installing all over the place. [05:15.950 --> 05:22.490] And in the two years since then, we have continued to grow, but we've also kind of learned some lessons. [05:22.530 --> 05:32.810] And a lot of the things that we said in that first talk, which I finally rewatched last week for the first time in my life, a lot of things we said we would do happened, but a lot didn't. [05:32.810 --> 05:40.590] And so it's interesting to kind of look at what happened and how our understanding of these problems changed over time. [05:41.250 --> 05:45.490] But first, let's just talk about what's happened numbers-wise since then. [05:46.750 --> 05:52.710] So two years ago, we had about 12 installations of SecureDrop at different organizations. [05:52.870 --> 05:57.390] And the way this works is that we do not operate SecureDrop as a service. [05:57.390 --> 05:58.670] I kind of wish we did. [05:58.830 --> 06:00.010] It would be a lot easier to maintain it. [06:00.630 --> 06:04.670] But we think that would be very dangerous to do both technically and legally. [06:05.050 --> 06:09.070] So every organization that has one operates their own independent instance. [06:09.990 --> 06:12.670] These are some of the organizations that were operating it. [06:12.710 --> 06:16.230] This is from November of last year, or of the year of 2014. [06:16.510 --> 06:17.510] So a little after HOPE. [06:18.550 --> 06:28.110] But you can see there's a mixture of kind of like big papers and small papers, not just media groups, but also nonprofits, activist organizations. [06:28.450 --> 06:35.470] So you have everybody from the New Yorker to Greenpeace to Expose Facts, ProPublica, etc. [06:36.230 --> 06:44.290] And so the cool thing is that it's been two years and all but one of these have still used SecureDrop and still operate it. [06:44.510 --> 06:49.210] So a lot of organizations do find that it's consistently pretty interesting, pretty useful. [06:50.050 --> 06:52.250] Since then, we've also added a bunch of new organizations. [06:52.250 --> 06:54.350] So we had 12 in 2014. [06:54.350 --> 06:56.630] We now have 26 that we know about. [06:57.310 --> 06:59.070] There are actually probably more than 26. [06:59.370 --> 07:06.330] So I think we've been working on is improving our documentation and the ability to automatically deploy SecureDrop. [07:06.590 --> 07:12.830] And so recently, we think we've been seeing that pay off because people have been emailing us and saying, Hey, I set up SecureDrop. [07:12.910 --> 07:15.510] Can I get added to like your directory page? [07:15.630 --> 07:19.210] Which, by the way, you can see all the ones that we know about listed on this website here. [07:19.910 --> 07:23.690] And we used to think that it was like difficult setup and they kind of needed us and then we were lonely. [07:23.830 --> 07:25.750] And we were like, Oh, I guess no one needs us anymore. [07:25.830 --> 07:27.250] Just install SecureDrop on your own. [07:27.370 --> 07:28.010] Okay, fine. [07:28.790 --> 07:31.850] But so we got a bunch of new installations of some pretty cool organizations. [07:31.850 --> 07:38.750] The ACLU, CPJ, Vice, Gawker, Berlin Leaks, a bunch of really cool groups. [07:39.710 --> 07:42.190] And we have a really long waiting list. [07:42.390 --> 07:53.210] I think it's about 60 or 70 organizations right now that are asking for us to help assist them in installing SecureDrop and training their journalists and IT people to use it. [07:53.210 --> 07:59.530] So there's a lot of demand, but as you can see, it hasn't really scaled linearly. [08:00.010 --> 08:04.210] You know, we've doubled the orgs in two years, but it's kind of a slow rate of growth. [08:04.390 --> 08:05.790] So we'll get to that more later. [08:07.610 --> 08:15.410] Anyway, so another thing about SecureDrop, which is always vexing, is that we have a hard time advertising it. [08:15.410 --> 08:22.130] Phrases like this, the materials, leaked via SecureDrop, don't come up very often. [08:22.350 --> 08:23.230] And it's actually intentional. [08:23.430 --> 08:31.850] So we have a policy at FPF where we don't ask journalists or editors or anybody else to tell us what they get through SecureDrop. [08:31.910 --> 08:32.990] We don't want to know. [08:33.150 --> 08:36.470] We don't want to know what stories came from information, gleaned through it. [08:36.610 --> 08:39.570] We don't want to know who the sources are, anything. [08:39.790 --> 08:42.190] And I think it's pretty clear why we would do that. [08:42.190 --> 08:48.250] But we also encourage everybody who uses it to follow the same policy when they publish. [08:48.870 --> 08:57.650] So it's very rare for people to actually acknowledge SecureDrop in articles that were created with its help. [08:58.010 --> 09:04.670] Even though there are, I think, there's a pretty steady stream of these type of stories at a lot of the orgs that use it. [09:05.470 --> 09:11.290] But in the past two years, there have been a couple of things that have helped us sort of evaluate how effective it is. [09:11.290 --> 09:13.130] And also share that publicly. [09:13.590 --> 09:22.190] So one thing is The Intercept published a story about Securious, which is a company that manages phone calls for prisoners. [09:22.810 --> 09:30.930] They were famous a couple of years ago, or I should say infamous, because they charge exorbitant rates for people to talk to their loved ones in prison. [09:30.930 --> 09:34.710] Like seven dollars a minute or something crazy like that. [09:35.890 --> 09:40.750] But they also record a lot of phone calls between prisoners and people who visit them in prison. [09:41.810 --> 09:52.450] This is done, you know, extensively for intelligence by prison officials to be warned about shipments into prison or upcoming riots, you know. [09:52.450 --> 10:04.210] But when prisoners talk to their attorneys, those calls are supposed to be flagged and not recorded, because obviously doing so is potentially a huge violation of attorney-client privilege. [10:04.210 --> 10:23.470] So somebody who used SecureDrop, they claimed to be a hacker who hacked Securious's systems and leaked their database and a lot of recordings of phone calls to The Intercept through SecureDrop, demonstrating that Securious was flagrantly violating this basic tenet and recording thousands of attorney-client phone calls. [10:24.210 --> 10:33.710] This had a lot of ripple effects throughout different civil rights cases in the country where there were defendants who were concerned their calls were being recorded and used against them by prosecutors. [10:34.370 --> 10:36.330] And it's kind of still an ongoing thing. [10:37.550 --> 10:53.050] The Intercept also released this story, which is not a classified document, but is sort of a foreofficialized only document, simply showing that there's no known record of mass surveillance thwarting any large terror attacks. [10:53.050 --> 10:55.290] In the U.S., even post-Snowden. [10:56.830 --> 10:58.330] So, that's nice. [10:59.970 --> 11:10.210] Another really cool development is that Charles Barrett, at the Taos Center for Digital Journalism from Columbia Journalism School, wrote a really extensive report about SecureDrop. [11:10.390 --> 11:26.970] So, he actually interviewed the journalists and the editors and the IT people who use and operate different SecureDrops at several organizations, and used the interviews to try to understand the benefits, the shortcomings, and the overall effectiveness of SecureDrop. [11:27.170 --> 11:31.290] So, a couple of those quotes, while vague, are, I think, really useful. [11:31.630 --> 11:42.050] So, this one from Betsy Reed, the Editor-in-Chief of the Intercept, says that, especially recently, as awareness grows of its existence, we've seen more and more good stories coming out of that pipeline. [11:42.990 --> 11:47.170] Julie Tate from the Washington Post said, it's definitely been successful. [11:47.410 --> 11:51.710] I can't tell you what stories it's been used for, but we've had success with it, definitely. [11:52.270 --> 11:54.810] Which is about as good as it gets with this project. [11:56.810 --> 12:01.650] More than that, we've also seen some sort of unfriendly support for the project. [12:01.770 --> 12:07.070] So, this is a slide from a webinar that was given by the Office of the Director of National Intelligence. [12:07.070 --> 12:14.090] The previous slide is about WikiLeaks, and this slide says it's not the only ball game in town, and then extensively screenshots our website. [12:14.770 --> 12:22.510] So, this is a whole presentation about insider threats, and I guess it's a dubious honor to have gotten their attention. [12:24.010 --> 12:25.950] But, yeah, so that's kind of cool, I guess. [12:27.250 --> 12:36.070] And then, also, you know, Laura Poitras made a fantastic documentary about Edward Snowden leaking information to herself and Glenn Greenwald. [12:36.070 --> 12:41.210] And we were really happy when the film came out to see that we got a little shout-out in the closing credits. [12:43.190 --> 12:50.730] Along with a lot of other great projects who do really, really good work for everybody who wants to communicate privately and securely online. [12:55.870 --> 13:13.030] So, a couple other things from these reports and from various, you know, conversations we've had with people who are using SecureDrop is that it being a system that is on the Internet that accepts arbitrary information from anonymous individuals, it does tend to get its fair share of trolling. [13:13.650 --> 13:18.790] Which is made the more amusing by the audience, typically journalists or editors of major publications. [13:20.010 --> 13:21.390] A couple of good examples. [13:22.490 --> 13:30.490] One from the guide to SecureDrop was that the New Yorker, when they first launched the system, most of what they got was either fiction or poetry. [13:31.910 --> 13:33.230] They didn't publish any of it. [13:33.410 --> 13:34.770] I think there were some cartoons as well. [13:36.190 --> 13:37.750] But, it's not for that. [13:37.990 --> 13:40.910] So, if you want to do that, find another way. [13:41.090 --> 13:41.230] Sorry. [13:42.330 --> 13:46.030] So, in some ways, it can be like a direct line to an editor or a journalist. [13:46.830 --> 13:47.630] Sometimes that's good. [13:47.950 --> 13:48.450] Not always. [13:48.990 --> 13:53.990] I also really enjoyed a recent tweet from an editor at Vice Motherboard, where they now have SecureDrop. [13:54.610 --> 13:56.630] She had to issue a stern warning on Twitter. [13:58.950 --> 14:02.210] SecureDrop is not for any kind of meme, especially rare Pepes. [14:02.850 --> 14:04.690] This does not go into SecureDrop. [14:04.850 --> 14:07.010] It's for sensitive information only. [14:10.270 --> 14:19.290] Other things that are kind of lighthearted and funny, there's this book by this guy named Barry Eisler, former CIA, now fiction thriller writer, called The God's Eye View. [14:19.330 --> 14:20.070] It just came out. [14:20.310 --> 14:26.870] And it's about the NSA overreaching with surveillance powers, something that is totally fictional. [14:28.290 --> 14:33.210] And it's really cool because it has SecureDrop as a pretty central plot point. [14:33.330 --> 14:40.790] It also has one of our founders and good friend, Michael Lee, as an action hero who's slaying USB sticks and doing all this cool stuff. [14:41.290 --> 14:42.410] So, definitely check it out. [14:42.490 --> 14:43.310] It's a really awesome book. [14:43.310 --> 14:45.250] It's better than Mr. Robot. [14:48.270 --> 14:52.790] Anyway, so that's kind of like just an overview of some things that have happened in the past two years. [14:53.370 --> 15:00.050] What I want to talk about now is a quick overview of how this whole thing works, just so you guys aren't totally glazed over and confused. [15:00.630 --> 15:03.530] And then I want to talk about what we're kind of working on in the future. [15:04.930 --> 15:08.670] So, first, five minutes, hopefully, overview of how this whole thing works. [15:11.690 --> 15:13.290] Let's start at the top. [15:13.550 --> 15:14.570] That's actually way too complicated. [15:15.490 --> 15:16.130] Let's go here. [15:16.290 --> 15:16.730] Yeah, great. [15:16.990 --> 15:17.850] So, this is SecureDrop. [15:17.950 --> 15:19.870] This is a test instance that we have in our office. [15:20.050 --> 15:21.330] It has three main components. [15:21.550 --> 15:25.870] A network firewall, a monitor server, and an application server. [15:25.870 --> 15:30.690] This is actually the same diagram, but with a lot more detail, which is unnecessary. [15:31.910 --> 15:40.750] So, every organization that has SecureDrop has these three components wired together and configured in a certain way, and then connected to their outbound network somehow. [15:42.970 --> 15:45.950] This is an overview of how, like, data flows through the system. [15:45.950 --> 15:49.230] So, we'll take it piece by piece, because all at once, it's kind of a lot. [15:49.810 --> 15:57.930] In the top left corner, the main thing, the first entry point in the system is when a source wants to send submissions to SecureDrop. [15:58.270 --> 15:59.470] So, let's start there. [15:59.870 --> 16:02.190] We have a source in the source area. [16:02.310 --> 16:06.230] They have a document, and they have their own computer, and they want to submit it to SecureDrop. [16:06.350 --> 16:12.310] So, what they do is, first, they pick an organization they want to submit it to, and that's kind of up to them. [16:13.070 --> 16:15.090] There's different ways they can find out about this. [16:15.230 --> 16:16.530] You know, we have our own site. [16:16.530 --> 16:20.570] It's the directory, and you can see that it lists organizations. [16:20.570 --> 16:26.130] It goes on for a ways after this, and it has their landing pages, and their hidden service addresses. [16:26.450 --> 16:31.190] So, every organization has a landing page, which describes SecureDrop. [16:31.290 --> 16:45.270] It often has some legalese, privacy policy, and it has basic instructions for how to use the system, which boil down to get to a browser, go to this hidden service, and then follow the on-screen instructions. [16:45.270 --> 16:47.810] So, we try to make it as easy as possible to do this. [16:49.170 --> 16:52.650] Some organizations actually have a little advertisement on their website. [16:52.810 --> 16:54.390] This is the Toronto Globe and Mail. [16:54.550 --> 16:58.530] And if you look in the bottom right corner, you'll see a little, hey, SecureDrop, check it out. [16:59.230 --> 17:00.710] You'll see this on different sites sometimes. [17:01.010 --> 17:06.770] But so, you know, you could be a source who has already heard of SecureDrop and wants to find an org to leak to. [17:06.990 --> 17:10.290] Or you may just see it while you're on the website and think, oh, I could do that. [17:10.290 --> 17:12.730] But I have something that I think should be shared with a journalist. [17:14.070 --> 17:15.670] So here's an example of a landing page. [17:15.810 --> 17:17.130] This is the Intercepts landing page. [17:17.850 --> 17:19.290] It is just a website. [17:19.490 --> 17:23.230] Over TLS, we have some kind of stringent best practices for how you set these things up. [17:24.130 --> 17:27.130] And then it just gives you basic instructions. [17:27.610 --> 17:34.610] So like I said, get to our browser, go to an onion, a hidden service, and then follow those instructions. [17:35.130 --> 17:36.210] So we can do that. [17:36.470 --> 17:37.350] Get to our browser. [17:38.410 --> 17:38.850] Cool. [17:40.350 --> 17:41.150] Go to an onion. [17:41.730 --> 17:42.170] Super cool. [17:42.930 --> 17:45.250] And then it's like a basic web application. [17:45.570 --> 17:47.350] So it's supposed to be pretty easy to use. [17:47.970 --> 17:49.490] There are a few interesting components. [17:49.610 --> 17:53.870] You can see in the top there's a little red bar where it says, we recommend disabling JavaScript. [17:55.090 --> 17:56.710] This is actually really... [17:56.710 --> 17:57.390] It's based on... [17:57.390 --> 18:04.050] So a lot of our design choices are based on the limited knowledge that we have from various attacks on Tor by powerful adversaries. [18:04.610 --> 18:13.510] Very often it's actually attacks on drug dealers and child pornographers who use the dark web to do what they do. [18:14.710 --> 18:26.730] And so a lot of the influence here comes from the original Freedom Hosting case in 2013, where the FBI took over a hidden service hosting service. [18:26.870 --> 18:31.130] That was sort of like a VPS or a cloud service for hosting your own hidden services. [18:31.130 --> 18:38.930] And then used that as a platform to serve malware to the users who came to hidden services hosted on that hidden service hosting service. [18:39.650 --> 18:42.730] At the time, I was actually a security engineer on Firefox. [18:43.030 --> 18:45.670] And it was hilarious because I was at DEFCON, my first DEFCON. [18:45.930 --> 18:47.050] And I'd heard all these stories. [18:47.250 --> 18:47.770] Like, oh, man. [18:47.910 --> 18:51.890] Like, somebody always, like, drops a zero day on Firefox at DEFCON. [18:51.890 --> 18:52.810] It's crazy. [18:53.170 --> 18:55.350] And you're gonna have to, like, page in and do all this work. [18:55.450 --> 18:56.850] And it's gonna be, you know, nerve-wracking. [18:57.170 --> 18:59.070] And then it was the last day and that hadn't happened. [18:59.210 --> 19:00.830] And I was like, people are exaggerating. [19:00.950 --> 19:01.890] It's totally hyperbole. [19:02.610 --> 19:06.590] And then we got the bug report for what turned out to be actual FBI malware. [19:07.250 --> 19:08.550] And we were like, wow, cool. [19:08.730 --> 19:11.650] Okay, that didn't happen the way we expected, but it did happen. [19:13.130 --> 19:21.690] So, a thing we learned from that was that in this day and age, browser exploits often, often need JavaScript for various reasons that I won't go into. [19:22.210 --> 19:34.670] And so, if you can make a thing that doesn't need JavaScript and encourage people to disable it, it reduces the risk of them being exposed through what we know is a common tactic by the FBI and law enforcement in general. [19:35.810 --> 19:39.470] So, with applications, so you just, you know, let's say it's your first time. [19:39.470 --> 19:41.450] Submit for the first time, click a link. [19:41.910 --> 19:43.550] You get a little diceware passphrase. [19:43.650 --> 19:50.670] This is kind of like an identifier that is cryptographically strong, much stronger than any password you would probably choose on your own. [19:51.310 --> 20:01.950] And you can use this to come back to the same site and log in under a pseudonym and carry on a conversation in a sort of very, very clunky rendition of email with journalists. [20:02.290 --> 20:05.390] So, we, you know, memorize that or write it down somewhere. [20:05.390 --> 20:09.230] And then we just have a simple form, upload files, write messages. [20:09.730 --> 20:11.170] There's a little section for replies. [20:11.590 --> 20:14.030] It's very, very bare bones, but that's all that it is. [20:14.610 --> 20:20.950] It's hard to make it more complex without using JavaScript, which is kind of everywhere these days. [20:22.010 --> 20:27.130] Anyway, so, now I've submitted a document and a journalist comes over. [20:27.130 --> 20:28.950] This is their section of the diagram. [20:29.370 --> 20:33.970] And they are going to log into the document interface and check it out. [20:34.230 --> 20:36.090] So, that's a very similar process. [20:36.270 --> 20:37.190] It's also a tour hidden service. [20:38.050 --> 20:41.810] This is local host because it's my development machine, but normally it's a hidden service. [20:42.390 --> 20:46.010] They log into, you know, a typical sort of a web portal. [20:46.150 --> 20:48.590] There's a couple layers of authentication here for defense in depth. [20:49.630 --> 20:51.670] They get a list of these sources. [20:51.670 --> 20:54.930] They have pseudonyms that are unrelated to that previous code name. [20:56.150 --> 20:58.190] You can change them if you want, but they're just random. [20:58.670 --> 21:03.350] Meant to be memorable and easy to say, but unrelated to the source in any way. [21:03.710 --> 21:05.650] So, you can't, like, type, like, Edward Snowden here. [21:05.750 --> 21:06.290] That would be bad. [21:07.770 --> 21:09.350] And then you just get, like, a list of documents. [21:09.430 --> 21:11.130] They're encrypted to an offline key. [21:11.370 --> 21:16.250] And so, in this section, you can kind of see there's this thing called the Secure Viewing Station. [21:16.250 --> 21:20.230] That's an air-gapped computer that has a GPG private key. [21:20.410 --> 21:27.070] So, when submissions go to the server, it automatically encrypts them to this offline key and then stores them to the hard drive. [21:27.330 --> 21:34.730] So, even if the server is compromised, there's no way to get the plain text of submissions, at least before the point of compromise, because they're simply not available. [21:36.070 --> 21:41.650] So, we currently do expect journalists to actually manually download encrypted files, transfer them. [21:41.650 --> 21:47.670] You can use a USB device, or you can use, like, a CDR or a DVDR if you're trying to be a little bit more careful about that kind of thing. [21:47.770 --> 21:50.990] Like, if you're worried about firmware attacks on USB drives, that kind of a thing. [21:52.170 --> 21:57.090] You, you know, boot this air-gapped tail system, decrypt stuff, take a look at it. [21:59.050 --> 22:00.630] And that's basically SecureDrop. [22:00.770 --> 22:11.190] You know, when you're done with it, you can publish things, redact PDFs, sanitize them, and then transfer them out of the air-gapped zone and onto your website, where hopefully it makes a difference in the world. [22:13.270 --> 22:14.530] Cool, so that's the whole thing. [22:16.750 --> 22:26.070] Now, the... it's been two years, and so I think at the last talk, we had a lot of ideas about, you know, a big topic was, like, end-to-end encryption. [22:26.330 --> 22:29.670] We were worried about relying too heavily on Tor for our crypto. [22:29.970 --> 22:43.490] It was all this kind of wonky technical stuff that I thought was really interesting and fun at the time, but in retrospect, it was not as important as some other things that are more mundane, but also more important to making a successful project and product. [22:45.550 --> 22:49.650] So, our three major goals today are as follows. [22:49.970 --> 22:53.310] The first one is obviously keep SecureDrop safe. [22:53.310 --> 23:07.450] We want to stay abreast of changes in the... what we know about attacks on things like Tor, attacks on other components of the system, and we want to modify it so that we can try and mitigate or at least reduce those risks. [23:08.510 --> 23:11.250] We also want to make it easier to use for journalists. [23:11.550 --> 23:16.630] So, again, the source has to get to our browser, go to a website, and then upload a file. [23:16.630 --> 23:23.510] It's not as easy to use as it could be, but we do think it strikes a pretty good balance between usability and security. [23:24.650 --> 23:30.890] Meanwhile, the journalist has to, like, use three different Tails computers and transfer stuff to an air gap, and it's a mess. [23:31.110 --> 23:36.510] And we've been hearing more and more from people who are willing to do this but don't appreciate it. [23:37.050 --> 23:44.270] You know, as with any online anonymous Dropbox, there's a lot of spam and other kind of trollish nonsense that goes into SecureDrops. [23:44.270 --> 23:54.470] And when you have to, like, you know, spend half an hour a day checking it because of this cumbersome process that involves slow downloads over Tor and an air gap and all this stuff, it's a waste of time. [23:54.650 --> 24:03.150] I mean, we think we can make it more efficient, easier to use, more pleasant to use for journalists while keeping it reasonably secure. [24:03.450 --> 24:07.010] And the last thing is we want to make it easier to deploy and maintain. [24:07.230 --> 24:11.730] Again, every single time we deploy it, it's a totally brand-new, independent installation. [24:11.730 --> 24:18.550] And so all of the ideas about scaling you might have in a typical tech company don't really apply. [24:19.210 --> 24:35.870] And so we're trying to figure out ways where we can deploy SecureDrop, where we can deploy it in a responsible way, where it can be maintained, where it can stay secure over time while also satisfying our kind of advanced threat model. [24:35.870 --> 24:37.950] So a little more detail on these things. [24:38.150 --> 24:41.470] The first one is keeping SecureDrop safe. [24:42.510 --> 24:47.690] So I'm going to focus on Tor, and there was a great talk earlier, the State of the Onion by some Tor people. [24:47.910 --> 24:52.210] And there's going to be a talk tomorrow about the next generation hidden services project. [24:52.350 --> 24:55.710] So I expect a lot of what I'm going to say now is going to be covered then, too. [24:55.950 --> 24:58.870] If you like this stuff, go to the Tor one for even more details. [24:58.870 --> 25:00.330] But I'll try and keep this pretty light. [25:04.230 --> 25:06.230] So SecureDrop uses Tor hidden services. [25:06.670 --> 25:14.530] And they're a really neat component of Tor that allows you to have a system which is publishing a service to the Internet. [25:14.530 --> 25:17.810] It could be a website, it could be a chat server, whatever. [25:18.590 --> 25:20.550] But it can do so in a way where it's anonymous. [25:20.730 --> 25:22.030] The service itself is anonymous. [25:22.810 --> 25:32.030] And because it's only available through Tor, clients are very inclined to also be Tor users and therefore have a degree of anonymity themselves. [25:33.270 --> 25:37.810] So the reason why we like to use them are it encourages sources to use Tor. [25:38.050 --> 25:43.430] It's not impossible, but it is difficult to get to a hidden service without using Tor yourself. [25:44.350 --> 25:48.970] A big one is they provide end-to-end encryption without having to use TLS. [25:49.610 --> 25:52.830] And the crypto is actually pretty decent. [25:53.410 --> 25:55.370] The hidden service crypto has some problems. [25:55.590 --> 26:02.430] But overall, Tor has made its crypto a lot better in the past few years since the Snowden revelations came out and they were kind of pushed to do that. [26:03.250 --> 26:10.030] And so it has perfect forward secrecy, which is a really great property to have in the context of a mass surveillance capable adversary. [26:10.750 --> 26:21.030] And it does all this without the CAPKI, which is like, you know, Symantec and VeriSign and Thoughts, all these companies that are the classic bugaboo of web security. [26:21.030 --> 26:23.570] Where it's like, ah, this corporation could be totally owned. [26:24.610 --> 26:28.070] Hidden services use really cool tech, so that's not really a problem that we have at all. [26:29.070 --> 26:30.310] The services are anonymous. [26:30.510 --> 26:32.150] That can be kind of useful in certain contexts. [26:32.290 --> 26:38.170] Maybe you want to run SecureDrop, but you don't want to actually face imprisonment yourself, depending on where you are and what you're doing. [26:39.130 --> 26:41.210] They have some other kind of like technical benefits, too. [26:41.350 --> 26:44.490] Like NAT traversal helps you minimize your attack surface. [26:44.490 --> 26:45.610] So we just, we like them. [26:46.190 --> 26:57.750] But I think that a big lesson that's, you know, a big thing that's changed since the last hope was that in 2014, this kind of summed up like everyone's perception of Tor. [26:58.050 --> 27:01.270] This is a Snowden document called Tor Syncs. [27:01.910 --> 27:07.870] And it talks about how even the NSA has a really, really hard time identifying Tor users. [27:07.870 --> 27:12.670] They say we can only get a small fraction of them sometimes, and we can't even do it on demand. [27:12.870 --> 27:17.570] Like, if we have a person that we think is a target, we can't de-anonymize that person. [27:17.770 --> 27:18.690] We can't do that. [27:19.310 --> 27:21.830] And so when this came out, we were like, woo! [27:22.110 --> 27:23.030] Or like, phew! [27:23.190 --> 27:25.110] In our case, they were like, awesome, this is great. [27:25.250 --> 27:25.990] Tor kind of works. [27:26.510 --> 27:30.810] We can rely on it for like a decent level of anonymity against even a powerful adversary. [27:31.510 --> 27:33.330] But this came out in 2013. [27:33.430 --> 27:35.630] The documents are actually from 2012. [27:36.150 --> 27:37.250] It's 2016 now. [27:37.250 --> 27:40.910] So, A, there hasn't been another Snowden since then. [27:40.910 --> 27:45.570] So, we don't really know if these documents and these results are still valid. [27:45.830 --> 27:46.470] It's an open question. [27:47.190 --> 27:56.570] All we can really try and do is examine the current record and see and extrapolate from what's going on in sort of publicly observable situations. [27:57.690 --> 27:59.870] So, this was also the state of the art. [27:59.930 --> 28:01.990] Like I mentioned before, this was the freedom hosting attack. [28:02.690 --> 28:09.590] The FBI was able to take over the servers of this hidden service, hosting service. [28:09.950 --> 28:11.810] And then sort of malware to the users. [28:12.030 --> 28:17.050] So, that was actually not an attack on Tor, but an attack on users' endpoints, their clients, their browsers. [28:17.250 --> 28:18.690] Browsers are rich with vulnerabilities. [28:19.110 --> 28:21.330] And this is a classic way to try and denonymize somebody. [28:21.450 --> 28:26.230] Rather than attack Tor, which is a robust protocol for anonymity, you just go for the endpoint. [28:28.050 --> 28:34.310] And so, this influenced our design of SecureDrop with, as I mentioned before, the whole JavaScript warning and other components as well. [28:35.710 --> 28:46.390] Then, in 2014, late July, so actually right after HOPE, there was this sort of, the beginning of this thing that we now know is the really early attack. [28:46.830 --> 28:56.230] So, Tor recognized a group of nodes on the Tor network that were performing an attack, concerted attack against hidden services and their users. [28:56.770 --> 29:06.770] At the time, they didn't know who was doing it or why, but they observed the nodes performing very unusual behavior that they realized was part of an attack. [29:07.010 --> 29:12.350] And the attack was able to identify users of hidden services and also the locations of hidden services. [29:14.470 --> 29:19.290] And then, a little while later, this whole thing called Operation Anonymous happened. [29:19.290 --> 29:25.990] And this was a huge takedown of lots and lots of different, kind of like the criminal underworld of the dark web. [29:26.230 --> 29:36.370] A ton of these sites, like Silk Road 2, other drug markets, all these, like, it was this, like, huge operation, concerted effort of, like, international law enforcement. [29:36.930 --> 29:48.810] We're talking about, like, Interpol, U.S. ICE, the FBI, Department of Justice, all these people got together and, like, simultaneously, globally, took down a bunch of dark net-related sites. [29:49.290 --> 29:55.590] So, SecureTrop has a benefit in that it doesn't really lend itself to being used for, like, committing crimes. [29:56.310 --> 29:58.950] Well, at least according to me, not the DOJ. [29:59.810 --> 30:02.910] But it's not really useful for, like, selling drugs or things like that. [30:02.930 --> 30:05.410] So, we weren't really involved with this at all. [30:05.450 --> 30:07.930] But it was concerning because there was an open question. [30:08.050 --> 30:10.150] You know, how did they find these people? [30:10.150 --> 30:14.250] How did they locate these drug dealers who were operating dark net websites, like Silk Road 2? [30:15.690 --> 30:20.690] And initially, there was a theory that it was all kind of, like, old-school gumshoe detective work. [30:20.750 --> 30:23.870] They found, like, one person, you know, popped them as an informant. [30:23.970 --> 30:26.290] They gave up their friends, and then it was that whole kind of a story. [30:27.570 --> 30:31.070] But a lot of people also wondered, you know, was this, like, a technical attack? [30:31.210 --> 30:33.730] Was it an attack on tour or something similar? [30:33.890 --> 30:41.610] And we now know that it was actually research done at Carnegie Mellon University on an attacking tour. [30:41.950 --> 30:51.510] So, the Relay Early attack that was observed in the summer of 2014, we now know through a whole series of fascinating events, was carried out by CMD researchers. [30:52.090 --> 30:56.730] They were either subpoenaed by the feds or paid by the feds. [30:56.790 --> 30:59.390] It's sort of unclear the order of events and motivations there. [31:00.070 --> 31:08.510] But so, that initial attack actually was very likely used to shut down tons and tons of hidden service operating darknet sites. [31:09.830 --> 31:13.410] To this day, we don't know if SecureDrop was involved with that. [31:13.530 --> 31:19.870] There was about a period of four months in 2014 where these malicious relays were collecting data on the network. [31:20.090 --> 31:25.370] So, it's totally possible that people who used SecureDrop at that time could be compromised. [31:25.370 --> 31:26.690] As far as we know, it's not happened. [31:27.450 --> 31:30.830] And hopefully, that data wasn't being collected, but we have no way of knowing. [31:31.670 --> 31:33.730] So, that's, you know, kind of anxiety inducing. [31:34.370 --> 31:39.350] But the thing about Relay Early was that it was what we call a tagging attack. [31:39.570 --> 31:47.850] And at a high level, what that means is that one server injects a signal into these circuits, these streams of data going through the network. [31:47.850 --> 31:58.990] And then another server, also run by the adversary, can identify that stream and use it to, like, sort of, like, paint a mark on one computer or one data stream in the network. [31:59.250 --> 32:08.790] And what that means is that once you can identify what that is, that it's an attack going on, you can identify who's doing it and you can lock them out of the network. [32:08.790 --> 32:18.850] So, once Tor realized, oh, this is an attack identifying users of hidden services, they were quickly able to identify all of the malicious relays and shut them and just totally blacklist them from the network. [32:19.570 --> 32:23.710] So, like, even though it was a nasty attack, it had that benefit of being visible. [32:26.650 --> 32:35.730] But more recent stuff in the past year has also called into question the overall wisdom of using hidden services for anything resembling a high security use case. [32:35.730 --> 32:42.230] So, this talk from February of last year is called non-hidden services considered harmful. [32:42.630 --> 32:55.130] And it basically has to do with the directories that serve hidden services and how the algorithm that they use to determine which Tor relay stores data for which hidden service is deterministic. [32:55.330 --> 33:03.010] And so, an attacker can theoretically use that to always be guaranteed to be the directory node for a given hidden service. [33:03.010 --> 33:10.770] And what that means is that when anybody ever goes to that hidden service, they first go to the directory node and say, hey, I need info to talk to this hidden service. [33:10.930 --> 33:16.750] And so, you can be guaranteed to always have information, like a hit, from every client who goes there. [33:16.850 --> 33:18.450] And that can be used for a correlation attack. [33:20.710 --> 33:26.950] And then, last August, there was this great talk, this great paper at USENIX called circuit fingerprinting attacks. [33:26.950 --> 33:31.470] And this is an evolution of a class of attacks called website fingerprinting attacks. [33:31.690 --> 33:35.770] These have always been a concern in encrypted protocols on the web. [33:35.930 --> 33:39.490] So, everything from Tor to TLS, et cetera, and so forth. [33:39.730 --> 33:51.370] The idea is that even though good encryption, strong encryption, makes your data confidential, so that nobody but you and your intended recipient can read your data, it's being built on top of these lower-level protocols. [33:51.370 --> 33:56.470] So, for example, that could be HTTP, TCP, et cetera, and so forth. [33:57.010 --> 34:00.990] And those protocols have certain patterns that are inherent in how they function. [34:01.710 --> 34:04.150] You know, HTTP has GET and POST requests. [34:04.330 --> 34:10.490] There's sort of ratios of packet sizes going back and forth when you open a web page and it loads its sub-resources, et cetera, and so forth. [34:11.110 --> 34:18.290] And so, you can perform traffic analysis, and you can use that to learn things about pages that somebody connects to, even if the connection is encrypted. [34:18.290 --> 34:20.990] You can't actually read what they're sending back and forth. [34:22.490 --> 34:30.450] For a long time, the general opinion in the Tor community was that these attacks were interesting, but they were mostly only applicable in a research setting. [34:31.210 --> 34:37.290] And so, this paper's big contribution was that it showed that actually, that is true for normal Tor traffic. [34:37.530 --> 34:41.870] But, in the case of hidden services, they're actually exceptionally easy to fingerprint. [34:42.090 --> 34:48.310] And this is a big problem for SecureDrop because it means that you only have to run a single, malicious Tor node. [34:48.550 --> 34:49.790] It's called the guard node. [34:49.950 --> 34:52.250] So, it's the first node you connect to in a Tor circuit. [34:52.450 --> 35:01.550] If you run a guard node and you run this attack, it's very likely that you can identify who is talking to SecureDrop or to a SecureDrop with very high probability. [35:02.330 --> 35:07.790] And the crazy thing is that the attack is, it's all based on like machine learning, analyzing packet traces. [35:08.010 --> 35:10.310] So, it's totally passive and it's totally silent. [35:10.910 --> 35:13.670] There's no way we could ever know a node is doing this. [35:14.210 --> 35:15.590] Which, for me, is the scariest thing. [35:15.710 --> 35:18.650] Because at least it was really early, you could identify nodes who are malicious and take them out of the network. [35:18.870 --> 35:20.270] With this, you have no idea. [35:20.530 --> 35:21.590] It could even be retroactive. [35:21.790 --> 35:28.010] It could happen, you could record packet traces for years and years and years, and then somebody leaks a document and it gets published. [35:28.210 --> 35:34.810] And now you can say, okay, I'm going to go back in time and identify which users of this network were using SecureDrop and investigate them. [35:34.990 --> 35:41.370] I don't know anybody who collects years and years and years of Tor packet traces, except for like maybe the NSA. [35:42.090 --> 35:44.890] But it's a really concerning situation to be in. [35:46.930 --> 35:53.550] So, we're currently trying to figure out what this means for SecureDrop, what it means for our architecture, what it means for the users of it. [35:53.990 --> 35:55.030] There is hope. [35:55.330 --> 36:00.770] So, one thing we've done is we've just gotten a new employee, who I can't name, unfortunately, yet. [36:01.610 --> 36:06.530] But who we're really excited to have working on this with some other employees at FPF. [36:06.530 --> 36:14.710] So, we're devoting resources to investigating these problems and seeing how they impact SecureDrop and also how we can sort of contribute back to Tor. [36:15.450 --> 36:19.250] Tor is very aware of these problems and working really hard on them, a number of developers. [36:19.510 --> 36:26.470] And so, they have these new proposals for next-gen hidden services and also for padding negotiation. [36:26.670 --> 36:28.490] This is a website fingerprinting defense. [36:29.170 --> 36:31.870] It's still in a very early draft stage, but it's being proposed. [36:31.870 --> 36:40.010] And so, it's really cool to see Tor developers taking these problems seriously and trying to find, you know, technically sophisticated solutions to them. [36:40.150 --> 36:45.070] And Tor, in terms of like, you know, where you want to fix these problems, Tor is like a good place to do that. [36:45.270 --> 36:48.710] So, ideally, you know, if you're interested in this kind of stuff, check these out. [36:48.910 --> 36:51.490] And go to the talk tomorrow about next-gen hidden services. [36:51.670 --> 36:52.350] You'll probably learn a lot more. [36:54.450 --> 36:54.770] Cool. [36:54.870 --> 36:55.690] That's the safety stuff. [36:57.030 --> 37:00.350] We also want to make this thing easier for journalists to use. [37:00.590 --> 37:01.950] It's really hard to use right now. [37:02.130 --> 37:02.730] We've got air gaps. [37:02.930 --> 37:04.970] We've got, you know, USB sticks going back and forth. [37:05.170 --> 37:06.370] It's a pain in the butt. [37:07.150 --> 37:10.130] So, we're doing some research projects this summer. [37:10.130 --> 37:11.590] These are totally exploratory. [37:11.930 --> 37:13.790] No end goal really in mind. [37:14.110 --> 37:17.930] But we're exploring using some, like, software isolation-based techniques. [37:18.170 --> 37:20.290] So, stuff like cubes or subgraph. [37:20.290 --> 37:36.270] So, instead of having multiple disparate physical machines that people have to, like, manually move things back and forth between, we can use, like, say, cubes where you have multiple virtual machines in different isolated domains to allow people to receive submissions, [37:36.550 --> 37:44.330] open them, take notes on them, write back to sources, hopefully in a reasonably secure manner, and hopefully in a much more usable manner. [37:44.910 --> 37:48.750] So, there's always a trade-off between usability and security. [37:49.410 --> 37:53.690] And I think that in this case, you know, cubes is a really promising idea. [37:54.670 --> 38:04.170] It suffers from, like, the shortcoming that when there are nasty vulnerabilities in Zen, they can totally destroy a security model. [38:04.230 --> 38:06.930] That happened last year with XSA 148. [38:07.130 --> 38:08.530] It could happen again at any time. [38:09.190 --> 38:17.750] But we do think that it's worthwhile to investigate balancing our security and usability calculations a little bit more evenly. [38:18.210 --> 38:22.090] Mostly because you can always argue, oh, well, it's more secure to use in AirGap. [38:22.150 --> 38:25.730] It's more secure to, you know, do this and that, use a data diode, whatever. [38:26.690 --> 38:34.790] But if it's not usably secure, people will either not use it, or in the case of SecureDrop, they'll try and work around the security. [38:34.950 --> 38:37.050] They'll, you know, say, I don't have to open that on the AirGap. [38:37.130 --> 38:38.310] I'll just open it on my own computer. [38:38.770 --> 38:44.270] And as soon as you begin doing that kind of thing, you begin opening up some very, very frightening concerns and risks. [38:44.590 --> 38:59.470] So we think, our thinking has evolved from, you know, all security all the time to let's balance it out a little bit more so we can avoid having people work around security and then get to these sort of, like, unknown, unconsidered, frightening end states. [39:00.970 --> 39:04.050] Anyway, the other thing is a similar vein. [39:05.050 --> 39:07.470] We also want to make SecureDrop easier to deploy and maintain. [39:07.470 --> 39:15.110] We have a lot of demand for it, but we are having trouble meeting that demand, deploying it, and supporting people who already have it. [39:15.490 --> 39:17.770] A big reason why is that we're very hands-off. [39:17.950 --> 39:19.670] We don't collect any logs. [39:19.730 --> 39:22.370] We don't have any access to any system once it's been deployed. [39:22.570 --> 39:30.370] And so if people have problems, we have this kind of cumbersome system where they, like, send us log files over an encrypted, you know, support system. [39:30.650 --> 39:33.690] And it works okay, but it's very time-consuming. [39:33.690 --> 39:35.510] It wastes a lot of time for everybody. [39:37.250 --> 39:38.950] So one idea would be... [39:38.950 --> 39:41.610] And this is a good example, actually, of why this is a problem. [39:41.990 --> 39:44.070] So we did a lot of work on documentation. [39:44.450 --> 39:48.170] Somebody printed it out recently just to show it to us, and it's 138 pages long. [39:48.550 --> 39:50.010] Mostly that's the installation documentation. [39:50.350 --> 39:55.650] So it's gotten better, and it's cool that we have docs about it, but God, that is a lot of documentation. [39:56.570 --> 39:58.410] It should indicate how much work it is to set it up. [39:58.510 --> 39:59.270] It's still a lot of work. [40:00.190 --> 40:02.230] So, again, this is an open-ended research project. [40:02.230 --> 40:04.730] We're toying with the idea of sort of making it... [40:04.730 --> 40:07.550] Taking all these things and combining them into one machine. [40:07.710 --> 40:08.870] Like, sort of more like an appliance. [40:09.370 --> 40:10.210] More like this. [40:11.310 --> 40:13.350] I also really want this toaster, by the way. [40:13.890 --> 40:14.950] It's so sweet. [40:16.410 --> 40:17.990] You know, one idea that... [40:17.990 --> 40:22.190] We moved into a new office recently, and they had one of these in the boardroom. [40:22.290 --> 40:24.570] It's a video conferencing box. [40:24.650 --> 40:28.970] And you might recognize the underlying hardware is the same as SecureDrop. [40:28.970 --> 40:30.710] These are these Intel NUCs. [40:30.710 --> 40:35.690] These are these low-cost, low-power, you know, sort of home PCs. [40:35.690 --> 40:39.290] They're meant for, like, an entertainment system, but they're great because they don't come with wireless cards. [40:39.290 --> 40:40.330] They're easier to secure. [40:41.290 --> 40:44.590] And I asked the IT guy, you know, how much did this thing cost? [40:44.670 --> 40:48.550] Because when you buy these kits, it's about $400 for all the components. [40:48.590 --> 40:49.790] You put it together in 20 minutes. [40:50.010 --> 40:50.870] You have a computer. [40:51.310 --> 40:51.830] $2,000. [40:52.590 --> 40:54.090] So we were like, whoa, sweet. [40:54.190 --> 40:55.430] We could be, like, charging for SecureDrop. [40:55.550 --> 40:55.930] It's crazy. [40:57.270 --> 40:58.550] Anyway, this is just an experiment. [40:58.810 --> 41:01.090] We're not really sure how we're going to move forward. [41:01.090 --> 41:06.750] But if you guys have ideas or feedback or want to talk about some more of this stuff, I'd recommend checking out our GitHub. [41:07.230 --> 41:13.410] We also have, right now, a very inactive, but what I want to kind of resume activity on, mailing list, which is over here. [41:13.410 --> 41:16.470] So feel free to check those resources out. [41:16.750 --> 41:20.650] If you have ideas, complaints, think I'm stupid, just let me know. [41:20.870 --> 41:21.870] This is the way to do that. [41:26.140 --> 41:26.800] One sec. [41:36.690 --> 41:37.230] Uh-oh. [41:37.630 --> 41:38.070] Cool. [41:38.590 --> 41:43.190] And the last thing I want to talk about really quickly is obsolescence. [41:44.730 --> 41:54.150] So one of my favorite things that I used to say around the time of the last HOPE talk in 2014 was that I wanted to live in a world where SecureDrop was obsolete. [41:55.270 --> 41:58.790] And it sounds weird to say that about your own project, but I really mean it. [41:58.910 --> 42:10.950] And what I mean by that is that we should live in a world where our communication upholds... the tools that we use to communicate upholds the basic fundamental rights in our society. [42:11.130 --> 42:15.470] So freedom of expression, freedom of association, privacy, so on and so forth. [42:15.470 --> 42:23.730] Ideally, you wouldn't need a complicated niche system like SecureDrop if you wanted to talk to a journalist about some wrongdoing that you had seen. [42:24.590 --> 42:28.210] Unfortunately, in the age of mass surveillance, you do need that. [42:29.570 --> 42:39.410] But I have hope that over time as people develop more and better solutions, we can sort of narrow down the role of SecureDrop or eventually even do away with it entirely. [42:39.990 --> 42:45.350] And I wanted to say that in the context of what's happened since HOPE, there's been some really cool progress in that arena. [42:46.050 --> 42:49.790] I think that a lot of people were really inspired by the Snowden revelations. [42:49.930 --> 42:53.450] A lot of engineers were either inspired or infuriated. [42:54.070 --> 42:57.890] And they wanted to do their part to make the web a safer place for everybody. [42:58.310 --> 42:59.910] There's tons of examples I can draw from. [42:59.990 --> 43:03.870] The one that I've been really digging recently is this one. [43:03.870 --> 43:07.530] So, you know, yeah, yeah, do it. [43:12.230 --> 43:19.010] So, OpenWhisper Systems developed this application called Signal, which is like TechSecure for secure mobile messaging. [43:19.310 --> 43:26.690] They developed a totally state-of-the-art protocol for forward secure messaging called the Signal Protocol, aptly enough. [43:27.090 --> 43:40.270] And they've been working on deploying it in all kinds of places, including the WhatsApp Messenger, which when they did that means that they overnight deployed by default end-to-end crypto for a billion people. [43:40.630 --> 43:43.230] It's the biggest deployment in the history of mankind. [43:43.230 --> 43:44.090] It's amazing. [43:45.050 --> 43:46.770] Now, WhatsApp is not a perfect tool. [43:46.910 --> 43:52.210] I don't think that I can just go outside and tell a journalist, ah, just use WhatsApp, you know, forget secure drop. [43:52.470 --> 43:53.630] There was all kinds of problems. [43:53.770 --> 43:55.030] It's hard to use it safely. [43:55.390 --> 43:56.770] It has to be configured very carefully. [43:56.770 --> 44:01.650] The metadata that's being collected by WhatsApp and their parent company, Facebook, is a huge concern. [44:02.290 --> 44:04.210] But it's a really promising step forward. [44:04.390 --> 44:06.330] And so I want to keep working on secure drop. [44:06.450 --> 44:18.970] I also want to see other projects like this, like Facebook Messenger, getting ETE encryption, Google Allo, and there's so many more, also proceeding concurrently at the same time. [44:18.970 --> 44:23.790] So we can all kind of move toward this together, both for whistleblowers and journalists, but also for everybody. [44:26.530 --> 44:28.550] And a cool place, a cool community. [44:28.690 --> 44:35.690] I was created by this guy, Martin Shelton, in the Coral Project to discuss this kind of idea, this kind of issue, is tinfoil.press. [44:35.690 --> 44:45.950] So it's an online message board where you can talk about issues to do with journalists, security, whistleblower security, OPSEC, tools, et cetera, and so forth. [44:46.390 --> 44:47.290] It was a great idea. [44:47.290 --> 44:48.250] I wish that I had thought of it. [44:48.490 --> 44:49.670] But it's a really cool place. [44:49.770 --> 44:58.630] So I'd go there, check it out, read the backlog, and if you have your own ideas for SecureDrop and beyond, you know, sign up and start writing. [45:00.430 --> 45:01.030] That's it for me. [45:12.930 --> 45:13.790] Are there any questions? [45:13.990 --> 45:15.130] I think we might have time. [45:15.530 --> 45:16.030] Do we? [45:16.330 --> 45:17.670] Oh, like eight minutes. [45:31.330 --> 45:32.010] Hey, Garrett. [45:32.470 --> 45:32.810] Hey. [45:32.970 --> 45:34.130] I have a total gotcha for you. [45:34.550 --> 45:36.650] What are you guys doing to work on your usability? [45:39.610 --> 45:43.590] Well, since we're engineers, we're also really good at designing software for usability. [45:43.850 --> 45:47.770] So we just make stuff that's awesome and people use it. [45:48.530 --> 45:49.410] Have you heard this story before? [45:49.550 --> 45:49.910] Anybody here? [45:50.050 --> 45:51.270] Like, I've heard this story before. [45:51.470 --> 45:52.010] It's a good question. [45:52.150 --> 45:54.650] So we've been working with a few... we've been doing a few different things. [45:54.770 --> 45:57.830] So we've kind of been exploring this. [45:57.830 --> 46:03.030] So like this week, we met with one organization that uses SecureDrop quite heavily. [46:03.350 --> 46:05.690] And we sat down with a couple of their journalists and their editors. [46:05.890 --> 46:14.890] And we basically did a user study with them discussing like their, you know, their wants, their problems, like where it was helpful, what they wanted to see. [46:15.030 --> 46:17.710] And we just filed a ton of GitHub issues based on their feature requests. [46:18.370 --> 46:20.850] So we're going to do that and more of that as we continue. [46:21.410 --> 46:28.770] We've also done a little bit of work with Simply Secure, which is a cool organization that's doing like security usability stuff. [46:29.030 --> 46:31.210] And I hope we'll be able to do more with them in the future. [46:31.510 --> 46:32.350] So, yeah. [46:36.940 --> 46:38.060] Anybody else have questions? [46:38.340 --> 46:39.260] Feel free to ask. [46:43.230 --> 46:43.670] Hi. [46:43.830 --> 46:48.730] You mentioned reporters opening SecureDrop on their own computers instead of using the USB. [46:48.910 --> 46:51.310] Is that something that reporters have told you that they've been doing? [46:52.690 --> 46:53.370] Occasionally, yes. [46:54.090 --> 46:54.330] Yeah. [46:57.280 --> 46:59.020] Which is exactly why it's so terrifying. [47:02.440 --> 47:03.820] What's the problem with that? [47:04.320 --> 47:05.240] Good question. [47:05.740 --> 47:08.080] So, there's a couple of problems, right? [47:10.200 --> 47:18.500] The big problem is that if you don't carefully isolate the system where you open submissions to SecureDrop, it becomes a honeypot. [47:18.760 --> 47:29.740] If you have a way where you can guarantee that Glenn Greenwald will open whatever malware you send him on his own laptop, which has his email, his GPG keys, his VPN to first looks, you know, network. [47:29.960 --> 47:31.420] It's a nightmare, security-wise. [47:31.980 --> 47:38.340] So, it's really important that people compartmentalize their personal and work laptops from their SecureDrop system. [47:38.440 --> 47:39.760] It has to be totally separate. [47:41.480 --> 47:44.340] Realistically, like most of what you get is not malware. [47:44.900 --> 47:46.600] You know, not even dumb malware. [47:46.780 --> 47:50.980] It's just, you know, silly stuff or very legitimate, very genuine submissions. [47:51.020 --> 47:57.580] But you have to have a strict policy so that when it is something threatening, it doesn't actually cause a huge problem. [47:58.120 --> 48:11.060] That's a big one, you know, and also just the fact that if there were such malware, it might be able to learn things about other sources' submissions and potentially de-anonymize them, which would be a huge problem too. [48:17.780 --> 48:18.520] Any more questions? [48:19.700 --> 48:21.220] How do you reach more whistleblowers? [48:22.800 --> 48:25.500] The question was, how do you reach more whistleblowers? [48:30.180 --> 48:30.920] That's a good question. [48:31.100 --> 48:31.480] I don't know. [48:31.620 --> 48:33.440] I mean, we used to have ideas about that. [48:33.600 --> 48:37.180] Like we used to, some orgs had like billboards they would set up. [48:37.320 --> 48:40.360] So like people on the highway driving to work would see SecureDrop. [48:40.500 --> 48:41.400] There was one of those in D.C. [48:41.520 --> 48:42.480] I think one in LA too. [48:44.360 --> 48:47.740] Some people will post it like on the front page of the paper. [48:47.920 --> 48:54.420] Like the Globe and Mail has the onion address to their SecureDrop in their letters to the editor section, I believe. [48:54.620 --> 48:56.060] But printed in the print newspaper. [48:57.980 --> 48:58.900] But I don't know. [48:59.080 --> 48:59.840] It's a good question. [48:59.980 --> 49:01.240] I think it's like an evolving question. [49:02.580 --> 49:15.520] I think that, yeah, more examples of whistleblowers and I think a better legal climate for them to be recognized for what they're doing, not being a crime, but being a public service would also really help. [49:16.520 --> 49:19.660] But that's outside of my technical skill set. [49:29.590 --> 49:30.270] Should be. [49:31.830 --> 49:32.870] Oh, I have a question. [49:33.690 --> 49:34.170] Microphone? [49:34.330 --> 49:34.870] I don't... [49:35.510 --> 49:36.090] Alright, cool. [49:36.170 --> 49:36.810] Thank you. [49:37.830 --> 49:42.290] I'm gonna apologize in advance if this turns out to be an inane question. [49:42.290 --> 49:57.530] But I was curious if any thought had been given at the Freedom of the Press Foundation about a sort of physical meatspace security thing surrounding these systems and where the air-gapped computer is kept. [49:57.810 --> 50:04.630] And I mean, I know that there's protocols for like intelligence community people and like SCIFs and that kind of stuff. [50:04.810 --> 50:09.010] But has there been any thought about having those conversations with news organizations? [50:09.010 --> 50:09.810] Yeah. [50:10.030 --> 50:10.410] Great question. [50:10.810 --> 50:11.250] Yeah. [50:11.470 --> 50:12.210] We do... [50:12.210 --> 50:12.930] We do that. [50:13.090 --> 50:15.390] We could do a more thorough job. [50:15.730 --> 50:20.170] It kind of depends on how motivated the org is. [50:20.530 --> 50:25.590] I would say that pretty much everybody keeps the servers and the air-gaps at least locked away somewhere. [50:26.130 --> 50:30.690] Some orgs actually build special rooms just for secure drops. [50:30.690 --> 50:38.470] So, you have to have multiple layers of authentication physically just to get into the room with the machine or with the air-gap, which has the private key on it. [50:38.890 --> 50:40.130] Which we definitely encourage. [50:40.290 --> 50:42.610] It's great to have those extra layers of security. [50:43.350 --> 50:45.070] There are a couple of funny stories from that. [50:45.330 --> 50:50.690] Like, recently we saw one of these rooms where they had like a huge, like a huge lock on the door. [50:50.790 --> 50:51.650] It was like super complicated. [50:51.750 --> 50:52.730] There was a pin pad as well. [50:52.830 --> 50:54.450] So it was like a physical key and then a pin pad. [50:54.670 --> 50:56.690] And then the wall was made of glass. [50:58.450 --> 50:59.190] Totally glass. [50:59.570 --> 51:02.330] But they pointed out that this was an auditability feature. [51:02.470 --> 51:04.470] Because if somebody broke in, you would know it would be glass everywhere. [51:06.070 --> 51:15.930] The other one that was cool was a different org a while back where they explained the editor had realized this would be a thing they would want. [51:16.090 --> 51:21.830] And so they had talked to the building manager and said, we need a room where only me and this one journalist have access. [51:22.010 --> 51:22.610] Only us. [51:24.010 --> 51:25.610] And the guy was like, cool, cool. [51:26.570 --> 51:27.290] Yeah, we can do that. [51:27.370 --> 51:27.730] No problem. [51:27.910 --> 51:28.370] And they were like, no, no. [51:28.710 --> 51:29.190] Only us. [51:29.570 --> 51:30.050] Just us. [51:31.130 --> 51:31.610] Not you. [51:31.910 --> 51:32.650] Not the janitor. [51:32.810 --> 51:33.610] And he was like, oh, wait, what? [51:33.710 --> 51:34.510] That's going to be really hard. [51:34.610 --> 51:35.610] I have to get a whole new lock. [51:37.030 --> 51:40.750] Just assume that only us, of course, meant a whole bunch of other random people. [51:42.950 --> 51:43.190] Yeah. [51:43.270 --> 51:43.510] Anyway. [51:43.950 --> 51:44.110] What's up? [51:44.170 --> 51:45.710] Oh, actually, you had a question, didn't you, in the front? [51:45.890 --> 51:46.430] I did. [51:47.190 --> 51:48.030] I forget what it was. [51:48.410 --> 51:48.570] Sorry. [51:48.750 --> 51:48.990] Nice. [51:49.370 --> 51:49.730] What's up? [51:50.590 --> 52:01.690] So how does the security of SecureDrop beyond like Tor and Onion services differ from something like the distributed nature of like BT Sync? [52:02.510 --> 52:03.690] Of what? [52:03.870 --> 52:05.250] Of like BitTorrent Sync. [52:05.390 --> 52:06.230] Oh, BitTorrent Sync. [52:06.870 --> 52:07.830] Good question. [52:08.750 --> 52:11.950] So I don't know much about BitTorrent Sync's crypto. [52:14.190 --> 52:19.390] I also don't know if BitTorrent Sync works over Tor or if it is BitTorrent. [52:19.530 --> 52:21.650] I don't really know anything about BitTorrent Sync, I guess. [52:23.190 --> 52:23.670] Sorry. [52:26.870 --> 52:27.850] I have no idea. [52:28.050 --> 52:28.270] I don't know. [52:28.330 --> 52:33.670] I'd have to read like a white paper on that to give you a really useful comparison of the crypto design. [52:33.670 --> 52:34.750] Sorry. [52:36.310 --> 52:37.110] Hey, Garrett. [52:37.670 --> 52:37.950] Hey. [52:38.870 --> 52:39.990] I'm wondering... [52:39.990 --> 52:46.790] It seems like it would be pretty easy to lobby a pretty devastating denial of service attack against... [52:47.470 --> 52:48.030] Totally. [52:49.190 --> 52:51.250] Against an instance of SecureDrop. [52:51.350 --> 52:53.110] I'm wondering if you've thought about that. [52:53.230 --> 52:55.370] What's on your roadmap for solving it? [52:58.020 --> 52:59.080] It's a good question. [53:00.900 --> 53:01.420] Yeah. [53:01.760 --> 53:11.300] I mean, I think that we have some benefits in that everything is over Tor, so you really can't do certain types of DOS over Tor. [53:11.460 --> 53:12.340] It's just too slow. [53:15.500 --> 53:16.260] It's true. [53:16.980 --> 53:24.980] The ones that I would be more worried about are attacks where people just keep submitting, like a disk resource exhaustion attack is totally doable right now. [53:26.460 --> 53:31.700] We have some proposals to fix that, but none have been fully implemented, so please don't go home and do this. [53:31.780 --> 53:32.260] That would suck. [53:33.780 --> 53:53.960] But I think that, yeah, most of the ideas that we have revolve around trying to record a baseline of, like, typical behavior and then note if, you know, stats about, like, disk usage or other things change and then put up barriers to upload, so things like maybe CAPTCHAs or rate limiting, [53:54.200 --> 54:01.720] et cetera, and so forth, but we have a bunch of PRs from, like, a long time ago that sort of started working on this and then we just never finish any of them. [54:02.220 --> 54:02.820] Yeah. [54:04.120 --> 54:05.020] Bad answer. [54:05.160 --> 54:05.340] Sorry. [54:06.020 --> 54:06.660] Thank you. [54:07.180 --> 54:07.940] Thank you. [54:08.240 --> 54:08.920] Anybody else? [54:11.240 --> 54:13.340] I think we're good. [54:13.820 --> 54:14.060] All right. [54:14.200 --> 54:14.500] Thanks, guys.