For Paranoid People. by _NSAKEY



Similar documents
Mobile Application Security

Cryptography for Software and Web Developers

LEAP Encryption Access Project. Αλέξανδρος Αφεντούλης

Bit Chat: A Peer-to-Peer Instant Messenger

Project X Mass interception of encrypted connections

SSL BEST PRACTICES OVERVIEW

A Guide to Mobile Security For Citizen Journalists

Is Your SSL Website and Mobile App Really Secure?

This presentation has been modified from its original version. It has been modified to fit your screen.

Everyday Cryptography

Security Guide. BlackBerry Enterprise Service 12. for ios, Android, and Windows Phone. Version 12.0

Instant Messaging Service Reference

The Savage Curtain: Mobile SSL Failures

SSL and Browsers: The Pillars of Broken Security

Internet Banking System Web Application Penetration Test Report

OpenADR 2.0 Security. Jim Zuber, CTO QualityLogic, Inc.

Topics in Network Security

Facebook Smart Card FB _1800

Secure Sockets Layer (SSL ) / Transport Layer Security (TLS) Network Security Products S31213

A Study of What Really Breaks SSL HITB Amsterdam 2011

IEncrypt a work-in-progress

Instructions Android Smartphone & Tablet Page 1

BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: Security Note

Security within a development lifecycle. Enhancing product security through development process improvement

Internet Privacy Options

Public Key Infrastructure (PKI)

Advanced Administration

SSL Interception Proxies. Jeff Jarmoc Sr. Security Researcher Dell SecureWorks. and Transitive Trust

Remaining Anonymous. Osman Surkatty surkatty.org

Security Guide. BlackBerry Enterprise Service 12. for BlackBerry. Version 12.0

McAfee Firewall Enterprise 8.2.1

Acano solution. Security Considerations. August E

What is network security?

SecureCom Mobile s mission is to help people keep their private communication private.

Introduction to the DANE Protocol

Lecture 9: Application of Cryptography

Pervasive Monitoring and the Internet

Penetration Testing Walkthrough

Author: Kai Engert, kaie at redhat dot com or kaie at kuix dot de For updates to this document, please check

Crypho Security Whitepaper

ALTERNATIVES TO CERTIFICATION AUTHORITIES FOR A SECURE WEB

Bitmessage: A Peer to Peer Message Authentication and Delivery System

Criminal charges are not pursued: Hacking PKI

SSL EXPLAINED SSL EXPLAINED

SSL Report: ebfl.srpskabanka.rs ( )

Mac OS X Server ichat Server Administration Version 10.6 Snow Leopard

Resilient Botnet Command and Control with Tor

Domino and Internet. Security. IBM Collaboration Solutions. Ask the Experts 12/16/2014

Security Protocols/Standards

Secure Sockets Layer (SSL) / Transport Layer Security (TLS)

Biometrics, Tokens, & Public Key Certificates

Principle: Some Characteristics of Pervasive Monitoring

Analyzing the Security Schemes of Various Cloud Storage Services

Content Teaching Academy at James Madison University

Security. Learning Objectives. This module will help you...

Threema security assessment

Usable Crypto: Introducing minilock. Nadim Kobeissi HOPE X, NYC, 2014

High Security Online Backup. A Cyphertite White Paper February, Cloud-Based Backup Storage Threat Models

Introduction. Purpose. Background. Details

PRODUCT VERSION: LYNC SERVER 2010, LYNC SERVER 2013, WINDOWS SERVER 2008

CSE/EE 461 Lecture 23

Two-Factor Authentication Basics for Linux. Pat Barron Western PA Linux Users Group

Debian s role in establishing an alternative to Skype

Forward Secrecy: How to Secure SSL from Attacks by Government Agencies

Connected from everywhere. Cryptelo completely protects your data. Data transmitted to the server. Data sharing (both files and directory structure)

ArcGIS Server Security Threats & Best Practices David Cordes Michael Young

How to configure your Desktop Computer and Mobile Devices post migrating to Microsoft Office 365

TNC is an open architecture for network access control. If you re not sure what NAC is, we ll cover that in a second. For now, the main point here is

2014 IBM Corporation

Connecting your Aiki phone to a network

Apache Security with SSL Using Ubuntu

Client Server Registration Protocol

Scan Report Executive Summary. Part 2. Component Compliance Summary IP Address :

Lab Exercise SSL/TLS. Objective. Step 1: Open a Trace. Step 2: Inspect the Trace

IceWarp Server. IM Server Reference. Version 10

Apache Security with SSL Using Linux

Application Security: Threats and Architecture

THE BCS PROFESSIONAL EXAMINATIONS BCS Level 6 Professional Graduate Diploma in IT. April 2009 EXAMINERS' REPORT. Network Information Systems

TLS and SRTP for Skype Connect. Technical Datasheet

Web Payment Security. A discussion of methods providing secure communication on the Internet. Zhao Huang Shahid Kahn

How to make a VPN connection to our servers from Windows 8

ENABLING RPC OVER HTTPS CONNECTIONS TO M-FILES SERVER

Access to This Tutorial. What is XMPP. Ozgur Ozturk's Introduction to XMPP 1

1 hours, 30 minutes, 38 seconds Heavy scan. All scanned network resources. Copyright 2001, FTP access obtained

, ) I Transport Layer Security

Security Guide. BlackBerry 10 Device

Transcription:

XMPP For Paranoid People by _NSAKEY

Obligatory self-promotion hashcat beta tester Tor relay and bridge operator ANSI art enthusiast "not affiliated with the USA'S NSA" - HardenedBSD.org Donor's page "I think you're a Kremlin Troll." - John "20committee" Schindler

30,000 Foot Aerial View XMPP Prosody For Paranoid Sysadmins Evaluation & Summary

What is XMPP? Extensible Messaging and Presence Protocol (Formerly known as Jabber) It's an open protocol jabberd was originally released on January 4, 1999 IETF XMPP Working Group formed in 2002 [1] Messages are XML

Next: XMPP What is it? Pros Cons More cons Clients Servers

Who uses XMPP? League of Legends Google Talk Facebook Messenger WhatsApp Kik Cryptocat Smart meters

Good Stuff About XMPP Open standard Unlike OSCAR and other 90s protocols There are tons of implementations Also no need for chat wars [2]

Tell Me More Decentralized, allows federation bob@example.com can chat with alice@example.net Very easy to roll your own internal server for a company Just use the company domain and disable s2s Most server implementations have a logging module

Bad Things The protocol wasn't designed with mobile users in mind [3] Mobile users = SOL Battery life = LOL This is why some chat apps just fork ejabberd and the protocol

Bad Things (cont.) No one server has implemented the entire protocol This is because it's so big. ejabberd has the closest to complete implementation Probably not a big deal since nobody cares about most of the protocol

One Last Bad Thing Some servers store plaintext passwords This is to mitigate brain damage in older clients...and partly because ejabberd devs are idiots [4]

Let's Talk About Clients Pidgin (Multi-platform; suffers from multiple strains of avian flu) Adium (OS X) mcabber Bitlbee ChatSecure (Android) Psi/Psi+ (Multi-platform)

Let's Talk About Servers The rest of the slides will focus on making your own XMPP server If that's not your cup of tea, the following servers all provide Tor Hidden Services: jabber.ccc.de (Avoid; SPREAD OUT) riseup.net (Invite only; mod_otr = optional) otr.im (mod_otr = required) jabber.calyxinstitute.org (mod_otr = required) rows.io

Encryption Manifesto As of May 19, 2014 some public servers forced TLS [5] Forward secrecy was mentioned, but not required Using a Certificate Authority is of course required

Prosody For Paranoid Sysadmins So You Want A Server Disclaimer Requirements SSL/TLS Forward Secrecy Off The Record

So You Want A Server Let's assume registration is open Let's also assume activists use it And it's a surveillance target Let's make The Man's job harder But how?

Infosec Hulk Hogan Asks... Whatcha gonna do when the Five Eyed Boogie Man runs wild on you?

DISCLAIMER This threat model is entirely academic If a.gov wants to own you, you're toast, as they have more & better resources Illegal programs become legal after discovery See Room 641a & FISA Amendments Act of 2008 The game is rigged, but we can mitigate Somewhat

Requirements Force encryption Only use newer TLS versions Weak ciphers get disabled Forward secrecy ciphers only Elliptical Curve Crypto Force OTR (Off-The Record) Tor onion service Disable logging New/up-to-date clients Old versions of clients will cry and break

SSL/TLS SSL 2/3 have ebola, so use TLS 1.x Older TLS versions might be ok For now, so force TLS 1.2 anyway unless you support phones [6] Disable weak ciphers Disregard client cipher ordering See the IM Observatory: https://xmpp.net

Forward Secrecy Normally, a key compromise = game over for all past chats Not so with forward secrecy If the key gets stolen, past chats can't be readily decrypted, but future chats can Session keys needed for decrypt tl;dr: EECDH/DHE or GTFO

Elliptical Curve Crypto This crypto covers session keys secp384r1 is the default This would be sane if not for the fact that NIST has a tarnished reputation (BLAME THE NSA) I chose secp256k1 because... No NIST cooking involved Bitcoin uses it, so if it fails then LOL

Off The Record End to end crypto Server can't read cleartext chats Unless there's some active MITMing Why should your users trust you? Also uses forward secrecy mod_otr for Prosody handles this Anyone notice the "FTP" theme yet?

Oh god how did this get in here I am not good with computers Don't be like this guy.

This Is Why We OTR Now isn't that much cooler?

Evaluation & Summary Metadata Non-Preservation What Do Attackers Get? What Do Attackers NOT Get? Contact Info References/Further Reading Questions & Snarky Answers

Metadata Non-Preservation.gov PR types like to pretend metadata doesn't matter It's good enough to kill people Tor Hidden Services are your friend This is as close to 7 proxies as it gets Any logs will show 127.0.0.1 But we're disabling logging, too Why? Because subpoenas, that's why

What Do Attackers Get? Private key + session keys Your future chats are ownable Currently connected users + their IPs This is why we Tor Chat frequency (OTRed messages, timestamps, etc) Buddy lists + contact names Password hashes You're not storing in cleartext, are you?

What Do Attackers NOT Get? Past session keys Makes past chat decryption much harder Message content mod_otr throws a kink in the works here Server logs Since those aren't kept in the first place Other timing metadata e.g. Connect and disconnect times

Tell Me How To Do This Make a clean Ubuntu or Debian box Grab my paranoid-prosody [7] project off GitHub [8] Tweak the config and set DNS records Get your cert signed by a CA Bask in the glow of your perfect IM Observatory score

Contact Me E-mail/XMPP: root@abigisp.com Twitter: @_NSAKEY GitHub: NSAKEY Ask for one of my PGP cards, because...

Infosec Hulk Hogan Says... To all my little Hulkamaniacs: Say your prayers, take your vitamins, and verify all key fingerprints out of band!

References 1) https://xmpp.org/xmpp-protocols/rfcs/ 3) http://op-co.de/blog/posts/mobile_xmpp_in_2014/ 4) https://www.ejabberd.im/plaintext-passwords-db 5)https://github.com/stpeter/manifesto 2) https://nplusonemag.com/issue-19/essays/chatwars/ 6)https://blog.thijsalkema.de/blog/2013/09/02/thestate-of-tls-on-xmpp-3/ 7)https://abigisp.com/guides/paranoid-prosody.html 8)https://github.com/NSAKEY/paranoid-prosody

Further Reading https://en.wikipedia.org/wiki/comparison_of_xmpp_s erver_software https://prosody.im/doc https://otr.cypherpunks.ca/ https://blog.thijsalkema.de/me/blog//blog/2013/06/ 11/xmpp-federation-over-tor-hidden-services/ http://op-co.de/blog/posts/android_ssl_downgrade/ https://otr.im/chat.html http://www.slideshare.net/_nsakey/xmpp-47178073

The End Questions?