improving the securedrop system architecture
play

Improving the SecureDrop System Architecture heartsucker SecureDrop - PowerPoint PPT Presentation

Improving the SecureDrop System Architecture heartsucker SecureDrop Maintainer FOSDEM 2018 SecureDrop Release Signing Key Fingerprint: 2224 5C81 E3BA EB41 38B3 6061 310F 5612 00F4 AD77 SecureDrop is an open-source whistleblower submission


  1. Improving the SecureDrop System Architecture heartsucker SecureDrop Maintainer FOSDEM 2018 SecureDrop Release Signing Key Fingerprint: 2224 5C81 E3BA EB41 38B3 6061 310F 5612 00F4 AD77

  2. SecureDrop is an open-source whistleblower submission system that media organizations can use to securely accept documents from and communicate with anonymous sources.

  3. picture of all the presidents men In the past, journalists could protect their sources by simply not revealing their identities when asked. Still from “All the Presidents Men”, a film adaptation of Carl Bernstein and Bob Woodward’s reporting on the Watergate break-in

  4. Threat Model GCHQ surveillance base in Bude, UK. Image credit: Trevor Paglen

  5. What are we trying to protect? Source Anonymity Document Confidentiality

  6. Who do we want to protect it from? EVERYONE Nation States Large Corporations Local Law Enforcement & Government

  7. What are their capabilities? EVERYTHING Intercept Network Traffic Hack Into the Servers Send Agents to Seize Submit Malware to Hardware Journalists via SecureDrop

  8. Image: Guram Mikaberidze

  9. Current State of SecureDrop

  10. Secure Viewing Station Journalist Source App Server Firewall Monitor Server

  11. Develop, Deliver, Deploy 1. Write a feature 2. Write tests NOTHING a. Unit tests b. Functional tests w/ Selenium c. Multi-stage tests with Molecule SPECIAL 3. Write docs 4. Mandatory code review for all developers 5. Automated testing with CircleCI HERE a. Linting b. Unit & functional tests c. Debian packaging, test deployment scripts 6. Manual testing of release candidates 7. Publish packages to apt repo

  12. Failures and Fixes

  13. What went wrong ● Root cause: Nautilus allowing .desktop files to execute arbitrary code ● SVS is not a true airgap ○ dirty USBs to Journalist Workstation ○ USBs to publishing/editing workstation ● Failure to adhere to principle of least privilege / imperfect isolation ○ GPG keys accessible by untrusted files

  14. Journalist Workstation Internet-connected VM Disposable VM not connected to the internet

  15. :(

  16. Localization ● Code changes ● Dependency changes ● Build update to support translations ● Weblate for external translators ● String freezes in preparation for a release

  17. Flask-SQLAlchemy Alembic Postgres Source App Refactor pytest Journalist App Refactor

  18. App Server

  19. App Server Source App Gateway Database Journalist App Workstation

  20. Open Questions & Research

  21. TODO SD is super boring to write and it’s bs grunt work but the end resutl is super important

  22. can prevent press freedom violations.

  23. Current SecureDrop Team prototyping next generation + contributors SecureDrop workstation Ford-Mozilla Open Web Fellow

  24. Come join us! • Please come and talk to one of us after if you are interested in helping out! • Translation: https://weblate.securedrop.club • Code and documentation: • https://github.com/freedomofpress/securedrop • https://github.com/freedomofpress/securedropworkstation • Chat with us: • https://forum.securedrop.club (forum) • https://gitter.im/freedomofpress/securedrop (team chat) • securedrop@freedom.press • Donate: https://securedrop.org/donate • Follow: @SecureDrop and @FreedomOfPress

  25. Contact heartsucker@freedom.press 0CEC 9368 88A6 0171 4611 74C5 C0A2 586F 09D7 7C82

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend