Pro-Democracy movement facing Nation state adversary (need advice)


#1

We are a pro-democracy movement in need of some advice/critique planning internet presence and communication security.

Movement/project objective:
Pressure concrete legislative change toward democratization and accountability of government. Popular support very strong, some organizing needed.

Adversary overview :

  • Nation state/government integrated deeply with local and international organized crime. Strongly influenced (partial controlled and supported) by other major Nation states which have strategic & economic interests in the region.

  • The legislative change would cost the current power structure to lose hundreds of billion USD, significantly curtail their power and put them at risk of legal prosecution.

  • Adversary has zero qualms on using institutional repression and deadly force towards specific small targets (individuals and small groups). Has repeatedly killed people through public gang-style executions and arranged accidents/suicides with clear message.

  • Security forces (and intelligence services) are used for political purpose routinely and semi-openly (as intimidation tactic).

  • Adversary is very reluctant toward using violence against major protests and large groups. Afraid of sparking the gunpowder keg of already present high tension.

  • Adversary loves secret/clandestine oppositions, since they infiltrate them expertly and pressure/take out key figures without much noise (!)... effectively avoiding the risk of civil unrest and international pressure.

  • When opposition is open (majority of population is observing the situation and informed) and has international media coverage, the use of violence takes a back seat. Instead the tools used are infiltration, compromising key figures to discredit them and the movement. Forming parallel "opposition" organizations to disperse the attention and carefully shift public narrative. KGB/FSB style tactics strongly favored.

  • Most mass media (print, radio/TV major web news sites) are under control of the political/criminal power structure. Achieved through systematic buyouts of media and pressuring.

Participants understand the risks:
Radical transparency of the movement will be used for protection of sorts. The adversary will uncover the movement anyway (experts against very large number of untrained common people with zero OPSEC)... at least with publicity and transparency will make public use of violence more difficult. The risks of getting harmed and/or killed are understood, but no more secure way is available (with realistic chance of success).

Advice needed and welcomed:
Public information sharing through the internet and offline means (obviously without major media support). The information system should be easy to access but difficult to disrupt and take down (DDOS, hacking etc):

Here is the current planned setup. Suggestions, advice and critique please:

  • Main website (should be DDOS resistant and editable through secure channel... also relatively cheap). Hosted on Wordpress.com premium plan with Cloudflare Business in front for DDOS protection.

  • Full page caching enabled (html included), so the Wordpress hosting gets only a few cache refresh hits per hour. Full SSL will allow easy editing (perhaps through Tor/VPN to fight MITM... more on that later). Backup with VaultPress.

  • Previous plan was static website generator with Cloudflare Business full page caching. But secure and timely editing of the website is more difficult (need to secure more complex endpoints and added security/availability procedures).

  • YouTube/Flickr for video/image sharing. YouTube account with 2-factor.

  • Facebook and Twitter (Facebook is very popular/big). With 2-factor on both.

  • Printable files for fliers, brochures, posters for individual (self printing) printing and distribution. Very decentralized offline distribution.

Communication channels:
Preferably confidential content. Metadata is more important. Should be more difficult for the adversary to do large scale/complete network analysis.

  • Gmail to Gmail (with 2-factor). Good security (adversary will have hard time pressuring Google for data, but possible through US on case by case). Vey unlikely to get complete data for all accounts. Good encryption (to Google) with Chrome certificate pinning. NSA doing Gmail network analysis on behalf of adversary is very unlikely.

  • Skype (with 2-Factor) for group Video Chat. Open group video meetings with recordings uploaded to YouTube. Maximum transparency is the only real defense. Hidden actors here can disappear/have and accident with ease... public ones less so.

  • Since most/all of the video meetings/chats will be made public, there is little need for confidentiality. Skype has better video quality than Hangouts and is more popular/easier to use. It's unlikely the adversary will get access to the Skype logs and contact lists en mass from Microsoft.

  • Could use mobile devices (iOS/Android) for both... better end point security.

Endpoint security questions/ advice needed:

  • Adversary could likely issue valid (from compromised CAs) certificates for Gmail/Facebook etc... for highly targeted (harder to detect) attacks on more important endpoints.

  • If using iOS, which browser supports certificate pinning for the major sites? Does the Gmail or Mail apps have it? What about the iOS updating mechanisms?

  • If certificate pinning is not sufficiently available, what iOS VPN will you recommend (once we get the traffic outside the country the risk for MITM is much lower). We need secure connection to block local ISP attacks on endpoints. Mullvad is great but iOS support is very poor. Privacy and anonymity are not issues, security is.

  • Please recommend a good password management app for iOS. KeePassX is great... but unavailable. LastPass, 1Password, something else ?

Apologies for the long and rambling post. For now had to strip down a lot of details.


Storing the "best information" on security practices by topic
#2

I will just answer two specific technical questions:

-Chrome supports certificate pinning for all Google services, so if you're using Chrome + Gmail, an adversary who can create root certs should not be able to succeed with that particular technique. You can download Chrome on iOS.

-Riseup offers VPNs for free. If you need account invitations, I can provide them. Your traffic would exit in Montreal, Quebec. More information is here: https://help.riseup.net/en/vpn-howto

Edit: I made a small mistake. Riseup's VPN service only works on Linux and Android, and you specifically asked about iOS. Since you sound like you know what you're doing, and since paid VPN services can be unfeasibly expensive for organizing work, you might want to consider setting up your own OpenVPN server on DigitalOcean.

You would be able to use an OpenVpn client from the App Store to authenticate to the VPN:

If you have any familiarity with Ansible, the configuration management tool, here is an Ansible Playbook that will setup an OpenVpn server on Digital Ocean (below). It's written by a developer who works for the Freedom of The Press Foundation.

https://github.com/conorsch/ansible-digitalocean-vpn

If you're not comfortable with Ansible, but know your way around a Terminal, here are two guides to setting up an OpenVpn server on Digital Ocean. One is for Ubuntu 14.04 and the other is for Debian 8.

https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-14-04

www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-debian-8

Lastly, I've used 1Password on iOS and found that it's a useable piece of software. Although it's closed source, the company that makes it, Agile Bits, has an excellent reputation and it should be fine for your purposes. The only downside is that it is expensive.

Second edit: I found some old information (circa 2014) indicating that Google Apps on iOS are not certificate pinned (although Chrome Browser does pin certs for all Google services on all platforms, including iOS). I'm not sure if this information is still current, and I couldn't find anything conclusive. You may want to tweet at Adam Langley, to get an answer, since he manages all of Google's TLS/SSL infrastructure.

You mentioned that you would prefer a static site to reduce attack surface, but decided to go with Wordpress in order to make rapid content updates less of a pain in the neck. You may not have to make this trade-off, though; Jekyll, a static site generator, might address both issues. The basic idea is that you build or borrow a template, write your posts in markdown, and then Jekyll will automatically generate a static site for you, which you can hand to a web server. This makes it a lot easier to post content rapidly, without worrying about the vulnerabilities that come with Wordpress's many moving parts.

The easiest way to setup a Jekyll site is with Github Pages, which is also free. If you host your site on Github with Github Pages, the downside is that they don't support TLS for custom domains, so you have to choose between:

https:// website.github.io

...which is tacky, or:

http:// website.com

...which is not ideal because you don't get TLS.

There is a solution, but it involves self hosting on a VPS. Here's a guide to using Jekyll, and here's a guide to setting it up on a VPS with DigitalOcean.

If you do self-host on a VPS, the easiest way to deploy TLS is to use Let's Encrypt, which automates the process.


#3

Just chiming in about the DDoS mitigation plan:

The Deflect.ca project provides a free DDoS mitigation service for "independent media, human rights organisations and activists". It sounds like your organization would meet those criteria. The Deflect project will always be free for their customers and they provide a more personal touch than CloudFlare.


#4

Google runs a free program called Project Shield which is specifically designed to protect news & human rights sites from DDoS, by relying on their extensive network infrastructure. I'd encourage you to reach out.

https://projectshield.withgoogle.com/public/


#5

Hi Nemo,

Skype, while easy to use and widely used, it is not the most secure method for group calls. I would recommend Signal (which works both on mobile and is on beta on desktop) developed by Open Whisper Systems https://whispersystems.org/ I use it instead of my native SMS client on my android phone - it also has encrypted internet calls (previously called RedPhone).

Hope it helps

Nik


#6

Thank you all for the advice.

1Password is indeed looking like the way to go.
LastPass vs 1Password was pretty much solved as well by reading Grugq's tweets on the matter. Thank you Grugq, your information has been very helpful and educational.

About the DDOS defense:
Google's Project Shield and Cloudflare's Project Galileo are something we have looked at. Whan the site is running we'll likely contact them for help.
Thank you DonnchaC, for the Deflect suggestion. When the website is up we'll contact them as well.

Wordpress:
There are two reasons why we prefer wordpress:

1. Operational
If we go with static content a computer will have to be set up to store and generate the site. Backups have to be planned separately. Offsite backup should be stored as well... in the not-unlikely event the website admins get "robbed" or raided.

During such eventuality the website can not be updated with the news of what is happening... which is VERY important.

With bare bones wordpress install hosted by automatics (and behing cloudflare), the security shouldn't be an issue. All the admins need to work on it... is the login info and a secure device with a browser. People could be given lesser privileged accounts for emergency edits in the raid/theft scenario.

If the equipment get's stolen/confiscated... all that's needed is a new iOs/Android device (and the login info).

2. Design
We have decent technical computer experience, but making a really nice website design is not very easy.
A good wordpress theme, even if it costs a few dollars solves the problem well. Training people to publish in the Wordpress GUI is easy as well.

About VPN
The OpenVPN plugin seems poorly maintained on iOS. We scoured the web for the certificate pining question and the 2014 info was not updated since. Will probably contact Adam Langley as you advice.

Regarding Signal:
Signal is great (except the lackluster protection of metadata), but it's harassment blocking options are rather poor (and on iOS non-existent last time i checked). Say you get 150 numbers to send someone spam messages/calls, you could easily "DDOS" someone in a way. If i'm missing something please correct me, will LOVE to be wrong on this one.


#7

Hi

Unfortunately I do not know much about the DDoS & harassment blocking options for signal but it is available both for iPhone https://itunes.apple.com/us/app/signal-private-messenger/id874139669 and Apple Desktop (in beta) https://whispersystems.org/blog/signal-desktop/ as a Chrome App.

Hope that helps

N


#8

Hey there,

There's some good advice on the digital security aspects of things already given here, so just to offer something different that may help you. At secfirst.org we work with quite a lot of groups which have nation state adversaries. Especially looking at issues related to insider threats, physical surveillance, harassment, disruption etc. I'm mega sorry as I'm swamped at the moment so probably won't be able to write down a huge amount in detail but if you are comfortable having a chat (securely) that there is probably a ton of stuff I can share with you. Just reach out whatever way you feel is most secure for you.

-Rory

Jitsi/XMPP: rorybyrne@jit.si
OTR: (668F0CAA D235E46C 0CB30816 1CE6E5A2 19099F18)
https://pgp.mit.edu/pks/lookup?op=get&search=0xFFB9B5BE2C1D3B4D