Not all data encryption is created equal
Protect your vulnerable side
Most interesting was a debate about whether or not an organisation like the National Security Agency could take over my home network if it so chose. I suspect any decent hacker with access to the right information could cut through my home network like a hot knife through butter.
I have been doing this systems administration thing my entire working life and I could not tell you 100 per cent for sure that any of my systems are clean. I may be reasonably certain about most of them, but they are connected to the internet and I am not physically monitoring them 24/7.
Even a brief look at my home network finds a series of potential vulnerabilities that make me nervous.
Danger on the home front
Let's start with the obvious item. My network has a Wi-Fi access point. It is a Netgear device running a custom version of the OpenWRT firmware.
The OpenWRT project doesn't exactly seem to be screaming along, which means that any number of vulnerabilities in that device could be exploited if someone knew where to look.
The OpenWRT firmware running the router is essentially a Linux distribution. The radio has its own firmware as well. I don't even know how to update that.
It could have a vulnerability in it that allows a privilege escalation within the router and all of a sudden a knowledgeable attacker owns my Linux-based Wi-Fi router. There are maybe only a handful of people in the world able to do that but such attacks are not unheard of.
Similarly, there are normally five laptops, three smartphones and two tablets in my house. Each of these has a Wi-Fi and Bluetooth card; the phones and tablets have a 3G or LTE radio as well.
How many of these devices have drivers that are deep enough into the system to let an attacker get access to the kernel (assuming the right kind of bug exists)?
For that matter, how powerful are the electronics in the radios? If you could trigger a vulnerability in the firmware you might be able to load malware into the radio. I know that similar exploits have been accomplished with wired network cards.
I have a SIP phone with a wireless handset. While older wireless phones probably didn't have a small computer inside with its own firmware, operating system and so on, a SIP phone does.
So that SIP phone is yet another radio with its own firmware, drivers, operating system and so forth that could potentially house some vulnerability.
I also have a ZigBee heating and ventilation control unit; there are probably layers of ways those devices are vulnerable. The manufacturer will probably never issue a firmware update, and if it did, would I remember to check?
How powerful is that, anyway? At first glance, it is probably powerful enough to host a smallish piece of malware that could serve as a good beachhead for a broader attack against the rest of my network.
The only real defence is to turn off any devices with a radio unless you really need them
There is a pair of powerline Ethernet switches on my network for testing. It should be possible to build a device that could communicate with those things fairly easily. If someone can discover vulnerability in their firmware, then they are inside the gates and my local system network would be instantly hosed.
To be clear: the chances of a vulnerability existing, someone knowing about it and having both the skill and equipment to compromise such a device are vanishingly small. The only real defence is to turn off any devices with a radio unless you really need them. Hardware switches on laptops are a better defence than software ones.
Barring that, segment your network so that anything with a radio is isolated from everything else. Put firewalls and intrusion detection systems in place to monitor the traffic from wireless-enabled systems and allow only traffic types and destinations you know are valid.
It is not something your average consumer can do, but your average consumer wouldn't even think about the vulnerability of an IPv6 light bulb in the first place.
Hands off the network
If an attacker gets physical access to your network you are done. The simple reality is that most networks are like eggs – protected by a relatively strong shell but the inside is soft and gooey. If you manage to compromise any one thing on my network the rest will fall like dominoes.
I am pretty sure that D-Link hasn't released an updated firmware for one of my network-attached storage (NAS) units since it shipped. My Synology is probably out of date and I haven't even turned the Sentinel on in the past week. I know there are Windows updates waiting for it.
I tried to count the number of USB ports on my network and gave up. All the laptops and servers have several. The tablets and smartphones each have one or two. The NASes each have at least two and even the Wi-Fi access point has a pair. The phone, the switches and the ZigBee control unit sport USB ports and I am pretty sure nearly all of them can boot off of those ports.
If you can get a USB stick into any port on my network you can probably get malware onto whichever device you touch. That means you can turn that device into something you control. If it has a radio you can control it directly. If it doesn't, you can have it use a “dial home” command application and control it remotely over the internet.
Another interesting possibility that few know about is that your ISP can push configuration changes and even firmware down to your cable or ADSL modems: remote updates and configuration changes can happen without our consent or knowledge.
Considering all packets flow through the modem, setting up an SSL man-in-the-middle attack would be a trivial matter. In other words, you can't even trust your own modem to be on your side.
Care for your hard drives
At this point, encrypting everything everywhere seems to be the only hope for any semblance of privacy or security. As an end-user, I don't want to have to worry about which encryption algorithms things use. I just want my data to be safe.
When it comes to my NAS, I choose those that can encrypt data at rest.
I use Bitlocker drive encryption on my Windows clients and sometimes Truecrypt. Of course, these can be worked around if you place the system in hibernate or suspend, so care and feeding of encrypted hard drives is recommended.
I do encrypt my Android clients, but there are questions as to how effective that actually is. Until the systems are a little more robust I won't trust any sensitive data to Android's native encryption.
In short, I am not certain I could completely secure my home network and that network has only a couple of dozen devices. Device diversity and number is increasing exponentially. Older devices are not falling off the stack, leaving vulnerable devices still in use, sometimes for more than a decade.
Beware the internet
IPv6 is coming and bringing a whole new security model for our networks. Our devices will have externally routable addresses. One mistake while configuring your home router – or one flaw in that router's firmware – and the internet will be able to crawl into your house without any fancy shenanigans required.
I use HTTPS and other encryption in motion protocols but I am always paranoid about that modem I don't control and those darn man-in-the-middle attacks.
So what to do if I want to store any remotely sensitive data on the internet?
Not all encryption is made equal. There are older algorithms that are cryptographically weak and easy to crack, so avoid them. Instead, AES-256 is a good start – probably the minimum that should be used for encrypting data – and bcrypt is handy for storing passwords, but how can one be sure that their implementation is sound?
I am certainly not going to take the internet provider's word as gospel that “we use good encryption”. Big deal. Before you trust a hosting firm or a cloud provider with your data, look for an independent vetting certification from a standards body to ensure that the implementation of the encryption has been done securely.
Among the better programmes available is the National Institute of Standards Technology FIPS 140-2 standard.
A FIPS 140-2 certificate confirms that the encryption has been implemented in a way that cannot be circumvented. This verifies that the modules used to encrypt information work as intended and are good enough for the provider to host “sensitive but unclassified” government information.
Frankly, that is good enough for me. I can't imagine anything I'd need to store requiring a higher designation than that. It is generally considered to be the gold standard for civilian mobile security.
FIPS 140-2 is the reason that BlackBerry handsets are good enough for government work. Few other phones have met these requirements, the Galaxy S4 and iPhone 4 (OS6) being among the exceptions.
No network that has an exposure to the outside world can ever be completely secure, but while I am busy trying to secure my own network against various potential bogeymen, it is nice to know that at least there are some targets to shoot for when storing my information elsewhere.
If you care about your data, encryption needs to be more than a neat feature. It has to become a way of life. ®