top | item 11845689

Being privacy-aware in 2016

292 points| maglavaitss | 9 years ago |vox.space | reply

213 comments

order
[+] nikcub|9 years ago|reply
Distilling tips down for regular users who don't use SSH or are intimidated by compiling KeePassX for Linux themselves, my tips would be:

1. Use a user-friendly password manager like Dashlane or 1password with a long unique password and a second factor (that isn't SMS based). Password re-use is the #1 way accounts are being compromised at the moment and there are now good password managers that are easy to use with a low barrier to entry

2. Use an extensive ad blocker like uBlock Origin and use multiple profiles in your browser to separate your serious accounts like webmail and banking from general web browsing. The other common way of being exploited is drive-by malware and web-based exploits. A combination of blocking third-party content and separating your browsing profiles will prevent a lot of it. Don't feel guilty about blocking ads - most publishers are extremely negligent with what they allow on their sites via ad networks. Bonus: switch to Chromium[0] (firefox isn't sandboxed and exploits are too common) (but alert yourself to Chromium updates with an IFTTT of the release blog to <pick your notification method>) or alternatively remove Google, Flash, Java etc.

3. Get a VPN subscription and set it up on your laptop & mobile devices. Seriously, don't use open WiFi networks or shared networks without wrapping your connections in encryption. sslstrip is extremely effective and many apps either don't verify/authenticate SSL connections or don't pin certificates. IVPN, PIA, the Sophos VPN product - take a pick.

4. Most home routers are super shit and full of holes. Upgrade to a router that supports open firmware and pick one of openwrt, dd-wrt, monowall, pfsense etc. bonus: run an UTM like Untangled (commercial) or Sophos (free up to 50 CALs iirc)

5. Encrypt your stuff - VeraCrypt is a decent TrueCrypt fork but most operating systems now have support for volume encryption - your local disk, USB sticks[1], or a file-based volume. Backups should be to encrypted media

6. Be anonymous - create a disposable email with a fake name to signup to services with. even better sinkhole a random domain name you register. No service outside of banking, insurance, health, etc. really need to know your actual identity details.

[0] https://download-chromium.appspot.com/

[1] http://www.theinstructional.com/guides/encrypt-an-external-d...

[+] georgehotelling|9 years ago|reply
> Use unique SSH keys for each service (sharing a SSH key on your GitHub/Gitlab account, network router and AWS/Azure instance is a very stupid idea); use ssh-keygen -t rsa -b 4096 to generate a 4096 bit RSA SSH key.

I tried this. Turns out to be a bad idea. SSH will walk through each private key and attempt to authenticate with it in order. That means a lot of bad login attempts which in turn leads to getting locked out. SSH public keys are public for a reason.

What attack is this even preventing - that someone will be able to reverse ssh public keys and get the private? A better approach is to generate a unique key per client so that if you lose access to a device you can remove only its public key.

> Also, you should download the source code, compile it (using a Linux machine) and always look over the source code for rogue functions

So I becoming an Underhanded C Contest judge is the price of admission to using the internet? Can anyone really be expected to do that? Can we blame anyone who gets owned because they didn't?

[+] radialbrain|9 years ago|reply
The solution to that is to use the IdentityFile directive in your ~/.ssh/config with username / hostname expansion. I use:

    Host *
        # Disable SSHv1
        RSAAuthentication no

        # Only use a key explicitely provided by an IdentityFile directive
        IdentitiesOnly yes

        # %h expands to the hostname, and %u to the username
        IdentityFile ~/.ssh/%h/%u.key
This ensures that at most one key is used, and prevents me from having to modify my config every time I generate a key for a new host.
[+] Tepix|9 years ago|reply
I think you're supposed to configure SSH to use the right key without trying them all in your ~/.ssh/config
[+] bjt2n3904|9 years ago|reply
> What attack is this even preventing

I think the thought is the security practice of compartmentalization. If you lose the private key you use for GitHub, Amazon, DigitalOcean, your home servers, etc... you've effectively given root away.

Now if my laptop is compromised, it doesn't matter if I have one key or ten, I've lost them all. But if there's something heartbleed-esque that allows individual private keys to be stolen when pushing commits to GitHub, I've at least isolated damage to my GitHub account.

[+] antod|9 years ago|reply
> What attack is this even preventing - that someone will be able to reverse ssh public keys and get the private? A better approach is to generate a unique key per client so that if you lose access to a device you can remove only its public key.

I don't think this is about security. Just about privacy.

Some people don't like that they can be identified by their public key. eg (I think) github allows public viewing of a specific users public key, and that allows other services you use with your public key to know your github account etc.

It's not a mainstream privacy concern, but there are some privacy oriented people that worry about it.

[+] jgrahamc|9 years ago|reply
I highly recommend using KeepassX as a password manager, secured using a key file and not a password.

I like KeePassX as well, but prefer to unlock using a password. I have a Yubikey programmed to output a 32 random password that I generated and I append to that a 16 character password that's in my head. I keep the Yubikey and the SD card on which I have the password vault separate. The SD card itself is encrypted* and the version of KeePassX I run is on the card and is one I compiled myself.

Not sure I'd be getting additional protection with a key file. But perhaps I am wrong.

*I did that so that someone couldn't just copy the KeePassX database off it when I wasn't looking and run some offline attack against it. The SD card also has a kind of social engineering defence mechanism on it to dissuade the curious from playing with it... I wrote the word INFECTED on it.

[+] thia|9 years ago|reply
I have found my YubiKey quite nice for password sercurity, but I use it in a slightly different way. I use password-store, which is a git repository of GPG encrypted passwords. While I'm on my main laptop, which has Qubes, I can access passwords using a key stored in my keys vault using Qubes split GPG. Encrypted passwords are synced through SSH to my serwer. On my other computers, I can decrypt passwords with my YubiKey as a gpg smart card. This is probably way overcomplicated, but it works.
[+] Loic|9 years ago|reply
I am security conscious but not as conscious as jgc, I am doing the same with the database on the drive and the drive is encrypted. I have a "smaller" password in the head plus a Yubikey password which is appended to my smaller password. For each website I am using a randomly generated password.

What is important is that in my daily life, this is working perfectly well and I do not feel at all the annoyance of the added security against using the same dadada password on all the websites.

I really recommend a head stored + hardware generated password too, this is working wonderfully.

[+] mr_sturd|9 years ago|reply
Just had a look at KeePassX, as it looks as though it has a sleeker UX, when compared with KeePass2.

It may be considered a faux pas, but I have come to like the http plugin, for KeePass2, which allows Firefox to reach into my database when I come to sign into an online account.

[+] bestnameever|9 years ago|reply
do you have a backup yubikey? I'd be worried about losing mine and then losing all my data.
[+] zeroxfe|9 years ago|reply
> Also, you should download the source code, compile it (using a Linux machine) and always look over the source code for rogue functions, you CANNOT afford a vulnerability inside the password manager.

I'm not sure that this actually possible in any reasonable sense. Its not that hard to throw in an obfuscated back door into source code, especially in a complex system (ignoring the build chain and the whole trusting trust thing.)

Even if there are a small number of people who have the time and expertise to audit such systems, it just doesn't scale.

[+] jeffreyrogers|9 years ago|reply
This is overboard and paranoid for the average user. You are almost certainly not a target for your government and probably not a criminal and so don't need to worry about full disk encryption, your google search history, a judge compelling you to unlock your phone, etc.

Most people should just use an adblocker and strong passwords.

[+] amq|9 years ago|reply
It is scary to realize that there is no realistic real-life way to be at least close to keeping information secure. We are just closing holes in a sieve.
[+] pavel_lishin|9 years ago|reply
It's impossible to keep your house burglarproof, too, but I still lock my door.
[+] vladharbuz|9 years ago|reply
If you're seriously concerned that someone will break into your house and remove the screws on your laptop to mess with it, you have problems way beyond what strong passwords and ad blockers can solve.
[+] wongarsu|9 years ago|reply
A lot of people regualary take their laptop through American airport security, where there are multiple reported cases of laptops being messed with.

Regarding hibernation/locking: many people leave laptops unatteded in more risky situations than at home and at the office. As a trivial example, imagine somebody going around a university library, infecting any unatteded laptop with a virus.

[+] lozf|9 years ago|reply
Yet there are probably a fair few here for whom the risk of crossing borders with a laptop and suffering a similar attack is not unheard of.
[+] mavhc|9 years ago|reply
I'd rather a fingerprint to lock my phone and always lock on screen blank, than a pin so complex I'll hardly ever lock my phone.

If you're living as some kind of enemy of the state maybe it's just time to stop developing software. And do you really need to holiday in North Korea?

[+] Tepix|9 years ago|reply
The part about the browser is a bit too short.

If you are privacy conscious you should configure your browser to

a) block 3rd party cookies (all browsers except Safari have them enabled by default, even Firefox)

b) delete all cookies when the browser is closed.

Make it a habit to close the browser every now and then.

[+] peteretep|9 years ago|reply
Self Destructing cookies plugin will delete them even more quickly
[+] barking|9 years ago|reply
Some people are advising that duckduckgo can say that they are not tracking you but being based in the USA could be made to do so by the NSA.
[+] Tepix|9 years ago|reply
use startpage.com then. They're based in the Netherlands.
[+] spartango|9 years ago|reply
I'm not convinced this localization argument holds so much water. Consider the following:

Case 1: If you're using a search engine not based in the US, and you're not a US person, then the NSA probably can't use any legal tools against you (depending on country). However, the NSA is allowed to use the full range of its capabilities to collect against you (PPD28 notwithstanding). They can infiltrate that service by technical or human means and carry out espionage activity without legal restriction (Title 50/EO12333). Further, they can retain the data unredacted for a long time.*

Case 2: On the other end of the spectrum, if you're a US person and you're using a US-based search engine, surveillance activities against you are far more complex. Warrants, NSLs, and/or other legal paperwork is involved, and there are strict rules on data retention, sharing, and minimization. That's not to say that there isn't surveillance, just that it comes with substantially more overhead. Meanwhile, most of the NSA's technical exploitation approaches are off-limits, and any collection/exploitation activity must be carefully managed.

Case 3: The intermediate case, where you're a non-US person using a US service, is a bit more hairy but still is better than the first case. While the NSA/FBI can utilize a range of legal tools (again, warrants, NSLs, etc) against you, because your data is likely entangled with US-persons data, it must also deal with all the overhead of minimizing and redacting that data (same as case 2). Similarly, the use of technical means against US providers is heavily restricted, so you won't be fighting against the same capabilities as you would be in case 1.

At the end of the day, which do you think is easier for the engineers at NSA: exploiting, entering, and just taking everything (case 1) or filling out a huge amount of paperwork and carefully handling the redacted scraps of data that comes back from the provider eventually (cases 2 and 3)?

I think you can make an argument for either side, but I tend to believe that technical exploitation is easier than legal, for now.

*Caveat here is that this intelligence data is hard[er] to use in US law enforcement activity against you. It's worth noting, however, that NSLs and FISA data are also non-trivial.

[+] lnalx|9 years ago|reply
All is about trust. You can't completely verify a company does not store IP and other personal information even if the core is open-source...

https://duckduckgo.com/privacy

[+] jsingleton|9 years ago|reply
As they run on AWS they may not even know if this happens, but that isn't the threat model addressed by this article.
[+] whamlastxmas|9 years ago|reply
The lack of warrant canary on DDG is strange considering their entire premise.
[+] redwards510|9 years ago|reply
privatelee.com is a nice alternative to DDG.
[+] chinathrow|9 years ago|reply
Very nice read. I would add a subscription to "have i been pwned?" to learn of data breaches.

https://haveibeenpwned.com/

[+] AdmiralAsshat|9 years ago|reply
I'd recommend this as well. When I did my big migration to LastPass about a year ago (i.e. logged in to every site I ever remember having used and changing the password to a randomly generated one), I thought I was all set. But the site has reminded me at least three times that I registered to alot of BBS-style message boards and maybe only made one or two posts before abandoning them forever and forgetting I ever registered.

Those are concerning, because I'm positive that something I registered for in 2006 and never used again probably used a weak, re-used password.

[+] weavie|9 years ago|reply
Why has this been downvoted? Is it because of a known issue with the mentioned site?
[+] czechdeveloper|9 years ago|reply
It was interesting when I found my name there the first time on service I did not even remember using. But I did and I just forgot about it. Luckily at time when I was already using different passwords everywhere.
[+] libeclipse|9 years ago|reply
I don't get the point about marking screws with nail polish. What does that accomplish?
[+] bazzargh|9 years ago|reply
Originally it was glitter nail polish http://motherboard.vice.com/blog/itll-take-more-than-glitter... ... the idea wasn't just to mark the screws to show if there'd been physical access, but to make a mark that's easily verified but very hard to reproduce, so you also know if your whole laptop has been replaced by the 'evil maid'. You need to photograph it to check!

The actual bit in the 30c3 talk where this was discussed is here: https://www.youtube.com/watch?v=KV4XnvE2p34#t=54m24s

[+] crummy|9 years ago|reply
I assume it shows if someone has opened your laptop (because the nail polish will be scuffed perhaps).
[+] tillinghast|9 years ago|reply
Presumably it allows you to detect when they've been removed and your hardware has been compromised?
[+] ybroze|9 years ago|reply
Use unique SSH keys for each service (sharing a SSH key on your GitHub/Gitlab account, network router and AWS/Azure instance is a very stupid idea)

I don't see how this makes sense. Assuming your private keys all live on the same machine (presumably with 0600 in /.ssh), then if your machine is stolen and your user password compromised, access to one private key is the same as access to all of them.

[+] Tepix|9 years ago|reply
It only protects you against SSH fingerprinting done by hostile servers.
[+] acqq|9 years ago|reply
> I don't see how this makes sense.

Just imagine that somebody can request from you the ssh key to just one of the services you access. Then he gets the access to all of them.

[+] ComodoHacker|9 years ago|reply
The sad thing about this and other otherwise good privacy guides is that it can be properly applied only by a small fraction of all people who really need this privacy in their everyday work and life. Especially I like the "look over the source code for rogue functions" part.
[+] veeragoni|9 years ago|reply
What about mobile privacy? which OS? which Phone? which app? the author forgot there is even more privacy info we could lose via mobile with its built in sensors and features.
[+] raldu|9 years ago|reply
I am not trying to be sarcastic but the first thing that came up to my mind is that, "Mobile privacy" rather sounds like an oxymoron.
[+] floatboth|9 years ago|reply
CyanogenMod without Google apps (gapps) is good enough (for normal life, not a Snowden-style situation, obviously). microG is a great open source replacement for gapps.

If you do want Google apps, at least turn off all the creepy features like Google Now, location history, etc.

[+] Mendenhall|9 years ago|reply
I assume everything is hacked/unsecure and any information put on the net will be able to be accessed by all sorts of bad actors.

I laugh when websites etc ask for a phone number to help secure. My first thought is great idea so now when you get hacked you can give up my phone number too!

Internet has been and always will be Mos Eisley spaceport to me.