|
|
Log in / Subscribe / Register

The Internet of scary things

By Jonathan Corbet
February 1, 2017

linux.conf.au 2017
Are you ready for the coming toaster apocalypse? Christopher Biggs started his 2017 linux.conf.au talk on "the Internet of scary things" by noting that a lot of "Internet of things" (IoT) devices are easily broken into and turned toward evil tasks. The result can be seen in the recent attack against DNS provider Dyn that used an array of compromised video cameras. But, he said, there are things that an aware user can do to mitigate the risk that don't require giving up on connected devices in general and that, with luck, the situation is getting better.

The risks associated with insecure IoT devices are serious and come in many forms. Compromised devices can be used for unauthorized information retrieval, for example. The paparazzi of the world will certainly appreciate the opportunity to look through a celebrity's camera, but stalkers, blackmailers, and nosy neighbors are also a threat. There's the threat of mass data collection that is not specifically targeted at anybody. Unauthorized control of devices is an obvious problem; pranksters have fun playing with lighting systems now, but the problem gets more severe when your front door is involved. With control systems and medical devices, the possibility of loss of life is real. It would not be funny if all the traffic lights in a city turned green at once, he said.

When identical devices are manufactured and sold in huge quantities, the possibility for mass takeover of those devices is real. The Mirai botnet is just one example of what can happen. These networks can be used for denial-of-service attacks, spamming, bitcoin mining, extortion, and more. [Christopher
Biggs] There is also the problem of "plain old network intrusion". Networks are set up to deal with threats from the outside; IoT devices bring that threat to the inside. Firewalls are not always effective at preventing devices from tunneling out of the local network. The monsters, he said, are in the room with us.

For extra fun, these devices are finicky to set up, difficult to manage, and generally without any provision for updates. Their security is criminally bad, to the point that he has sometimes wondered if they are deliberately malicious. Hanlon's razor suggests that the state of IoT devices can be easily attributed to stupidity instead. Laziness is also part of the problem: devices ship with debug access enabled, with hard-coded passwords, and more. All of this failure is far from new: the Morris worm in 1988 used a vector quite similar to that employed by the Mirai botnet.

Part of the problem can also be attributed to fragmentation. Each device has its own cloud service, with different apps for each device. There are lots of little walled gardens out there. This problem could be fixed within the industry and, he said, there is actually a glimmer of hope that things are moving in that direction.

Why, he asked, does everything suck? Sturgeon's law is sufficient to explain much of the problem on its own, but there is more to it than that. IoT devices are created in short product cycles using software that is not necessarily up to the task — the industry is simply not sufficiently mature yet. Fragmentation is a big problem, with each vendor wanting to lock in customers. And security is simply hard. It's easy enough to scan for vulnerable devices that nobody can rely on obscurity as a way of staying safe. A test involving putting a Mirai-vulnerable device onto the net saw the first attack arrive within 70 seconds. The threat surface is too large, especially when vendors are lazy and don't strip out unneeded software; this leads him to believe that, for many of these devices, there may be better operating systems out there than Linux. Finally, the fact that users may not even notice a compromise factors into the problem; if the buyer of a device doesn't care, the vendor won't care either.

Staying safe

The nature of IoT devices is thus pretty clear. What is less clear is how to protect oneself from the threats posed by these devices without just tossing them all into the ocean. To that end, Biggs offered a few pieces of advice for worried IoT users.

The first suggestion is to simply accept that some IoT devices will not be fit for purpose. It may be a pain to return such items, but that should be done anyway in the hope of pushing the market toward better security. It is a good idea to regularly look for unexpected devices on one's WiFi network. LG has recently announced that it will be including WiFi in every device it sells; soon one might plug in a new toaster and not realize that it has just jumped onto the local net — or established a new, open WiFi network of its own. Running port scans on devices to see what services are running also makes sense.

Do not keep devices that ask you to do unacceptable things like running untrusted software. Users will also typically have better luck if they stick to devices running on one of the "big 3" frameworks managed by Apple, Google, and Amazon. These devices should have a common management interface, minimizing the number of holes being poked in the firewall. Support for open protocols should be demanded, he said; in general, interoperability demonstrates a certain level of competence.

Even better, of course, is a device that allows the firmware to be flashed with something of the owner's choosing. He cited the Sonoff series of power-control devices as being good in this regard. Isolating devices from the network and building your own control system can prevent a lot of mischief; projects like Homebridge and Node-RED can be helpful in this regard. Checking reviews can be helpful. In general, he said, positive reviews are meaningless, but negative reviews are often valid.

Once a device has been purchased, it should be deployed safely. IoT devices should, in general, be put on their own WiFi network whenever possible. OpenWRT makes it easy to create a separate network with its own filters. Even on a poor router with factory firmware, there is usually a guest network that can be used for IoT devices. Universal plug-and-play (UPnP) can be used to automatically poke holes in the firewall; it should be turned off if possible.

One should simply plan for breaches and think about what will happen when a device goes rogue. The network used for IoT devices should have a strict deny-by-default policy. Imposing rate limiting as well can help to limit the damage a device can do. Installed devices should be checked up on occasionally; if they show a traffic spike, something unwanted may be happening.

And, again, setting up your own "cloud" can offer some advantages; this is most easily done with devices that use one of the big frameworks. Homebridge can be used to make older devices available on the Apple control network, for example. Users of Amazon's Alexa protocol may want to look into Node-RED, which can bring hundreds of devices into the Alexa sphere. Surveillance cameras, in particular, should be managed with ZoneMinder or Motion; these can replace the higher-level functions of the firmware in the camera itself, reducing the camera to a dumb peripheral.

Building your own

What if, instead, you want to develop your own IoT device? The best advice is "get someone else to do the hard parts". One choice is Apple's HomeKit API; getting approval for new devices is hard, but success means that your product is better than most. If you're not going to get official approval, consider creating a Homebridge module to serve as a backdoor into the Apple protocol. In general, Apple has taken the approach of minimizing the intelligence in the devices themselves, allowing that logic to be placed in the higher-level control software.

Working with Amazon is easier, in that Amazon doesn't require certification, but the hub hardware is only available in the US and UK currently. He is impressed with the level of security built into these products. They are built on the MQTT protocol, making it relatively easy to make your own devices that can talk to Amazon's cloud services.

In the open-source world, there has been a lot of consolidation as a number of projects have joined together into the Open Connectivity Foundation. This group is designing a set of device profiles that describe the capabilities of individual devices and let devices discover each other. This builds on "the good parts" of UPnP and the Service Location Protocol.

IoT devices should not rely on a mobile app for setup. People installing thousands of devices in a new building will thank you. Devices should support open protocols like MQTT; they are the glue that holds the IoT together. Speaking MQTT allows interoperation with a number of home-automation frameworks. MQTT can be thought of as a sort of IRC for robots, he said.

Do not forget long-term support. Everybody will lose the instructions, so devices should be self-documenting. The device should have a well-defined support life, with updates provided regularly. Finally, IoT developers need to recognize that these devices are not just miniaturized Unix PCs; they should be carefully stripped down to be sure they are not running any software that is not absolutely necessary.

Things may be getting better

There is, he said, some light at the end of the tunnel; various groups are realizing that they need to get serious about this problem. BITAG is a group founded by Google, Intel, Microsoft, and others to put together a set of recommendations on best practices. Its advice can be boiled down to "don't be lazy and stupid". The Open Connectivity Foundation is also doing good work. Bruce Schneier has been advocating for more regulation, but Biggs said that could go badly wrong. He could support regulations analogous to radio emissions testing, though.

Recently, Google shipped a developer's preview of its Android Things toolkit. It's not ready for prime time; its device profile support is limited currently. But the technology looks promising. He likes the standard camera interface in Apple's HomeKit, which allows bypassing most of the bundled firmware in such devices. Amazon's Alexa is looking good, though, he said, there is some concern about how much it listens to. The Open Connectivity Foundation has a reference framework implementation called IoTivity. It is, he said, one to watch, though he expressed concerns about the use of C as its implementation language.

One other framework worth considering is resin.io. It's open source, and has some good tools. It is based on Linux and Docker; the project can handle the containerization of an IoT application and send it out to the devices. These devices maintain a connection back to the cloud allowing for remote management and updates. The number of systems supported is relatively small at the moment, though. The project's focus is more in enterprise devices than consumer devices, but it is still worth checking out.

One app that is useful for consumers is Fing; it can be used to scan your local network. Fing is working on a small hardware device that can sit on, and monitor, a network; it will serve as a sort of intrusion detection system for networks without their own administrator. [Editor's note: potential Fing users may want to look at its privacy policy before installing the app.]

What's missing? We need to move beyond allowing devices to connect to anything they want; device profiles should be extended to describe their connectivity requirements. There is also a need to make vulnerability alerting and patch distribution work. He suspects that few members of his family are going to subscribe to Bugtraq for that purpose. Frameworks like resin.io are good for patch distribution, but it's still a centralized service; what is really needed is a common standard.

In summary, things are awful, but that's not unexpected in a "baby industry" like IoT. If buyers choose and deploy devices with care, and if builders focus on doing the job right, the worst should be avoidable. The job will get easier over the next year as the frameworks mature.

The video of this talk is available on YouTube.

[Your editor would like to thank linux.conf.au and the Linux Foundation for assisting with his travel to the event.]

Index entries for this article
SecurityInternet of Things (IoT)
Conferencelinux.conf.au/2017


to post comments

The Internet of scary things

Posted Feb 2, 2017 11:49 UTC (Thu) by NAR (subscriber, #1313) [Link] (17 responses)

I never understood the problem with the Gimp name, but that Fing project definitely needs a name change.

Anyway, I do think this is a space where some regulation should be used. I mean electrical devices are (or supposed to be) checked for correct shielding, etc. before they go to the shelfs. Every year there are news that some kind of gadgetry (usually Christmas lights) is banned from shops because it is not safe. These checks should be extended to include basic security tests (default passwords, open ports, etc.) and the bad devices should be banned, manufacturers or importers fined, etc. It's hard to do with stuff privately imported from China, but would still keep the worst offenders out of supermarkets, where the most clueless could buy them.

The Internet of scary things

Posted Feb 2, 2017 17:48 UTC (Thu) by felixfix (subscriber, #242) [Link] (15 responses)

It's laughable to think that any bureaucracy can keep up with changes in this field, let alone a bloated government one subject to the whims of vote-hungry politicians and political appointees more interested in covering up and postponing discovery to their successors. The US Veterans Administration has had years to eliminate internal fraud on eligibility and wait times; to trust any new bureaucracy in something far more complicated and new-fangled is a pipe dream.

The Internet of scary things

Posted Feb 2, 2017 17:57 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link] (13 responses)

FDA does a good job keeping dangerous drugs off the market. FAA does a pretty good job making sure planes do not collide in mid-air. Try to operate an unlicensed radio station and you'll get a visit from FCC guys pretty soon.

Thinking that government can't do _anything_ right is stupidity.

The Internet of scary things

Posted Feb 2, 2017 19:10 UTC (Thu) by felixfix (subscriber, #242) [Link] (12 responses)

The FDA is an excellent example, I'm glad you brought that up. There are quite a few drugs which were approved in the EU, but the FDA took so long to approve them for the US that thousands of people died who probably would have lived if they had been able to use the EU-approved drugs.

Just because a dim-witted bureaucracy follows rules and eventually ends up correct does not make it a sterling example for other areas. The IoT is a particularly poor fit for such slow processing; if an FDA for computers (FCA?) had been around, we'd be 10-20 years behind where we are now, waiting for it to approve IPV6 probably, and adding who knows what bureaucratic claptrap to the spec just because they wanted to mark their territory.

It's been 36 years since the first F-22 requirements. Its electronics have been redesigned 3 times, I think, because the hardware industry kept advancing so much that they could no longer make the existing hardware design. And now that the hardware is stable, the software is still incomplete. Is that really the model to follow for the IoT?

The Internet of scary things

Posted Feb 2, 2017 19:18 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link] (1 responses)

> There are quite a few drugs which were approved in the EU, but the FDA took so long to approve them for the US that thousands of people died who probably would have lived if they had been able to use the EU-approved drugs.
FDA uses weighted approach on drugs and if it's a lifesaving drug for unmet needs then it's approved quickly, especially if it's approved in Europe. And can you provide examples of such drugs, by name?

> if an FDA for computers (FCA?) had been around, we'd be 10-20 years behind where we are now, waiting for it to approve IPV6 probably, and adding who knows what bureaucratic claptrap to the spec just because they wanted to mark their territory.
If an FDA for software existed, our IPv4 would have never existed and we'd have skipped straight to IPv6 (probably called differently).

The Internet of scary things (IPv6)

Posted Feb 3, 2017 1:27 UTC (Fri) by faramir (subscriber, #2327) [Link]

Just a quick comment about scanning for vulnerable devices. It's really only
easy when you scan IPv4 space. IPv6 is much bigger. It might be security through
obscurity, but setting up your IO(S)T devices so they only communicate over IPv6 might not be such a bad idea. If they actually work on IPv6, that might also be some indication that the vendor had some clue as well.

The Internet of scary things

Posted Feb 3, 2017 15:18 UTC (Fri) by anselm (subscriber, #2796) [Link] (3 responses)

There are quite a few drugs which were approved in the EU, but the FDA took so long to approve them for the US that thousands of people died who probably would have lived if they had been able to use the EU-approved drugs.

In the 1960s, the FDA held off approving thalidomide (a drug used to counter, among other things, morning sickness in pregnant women) in the USA although the drug had been licensed and marketed in many other places including Germany, the UK, and Canada. The pharmacologist in charge, Frances Oldham Kelsey M.D., resisting considerable pressure from the pharmaceutic industry, said that thalidomide had been insufficently studied – which was appropriate given that it turned out that for many of the women taking it, the drug caused their children to be born with malformed limbs or other organ deformations. The FDA's non-approval of thalidomide, in spite of its being approved for and marketed to pregnant women elsewhere, very probably prevented thousands of similar cases occurring in the USA. So, sometimes, taking longer is actually a Good Thing.

The Internet of scary things

Posted Feb 9, 2017 9:59 UTC (Thu) by Wol (subscriber, #4433) [Link] (2 responses)

Note also, rather importantly, that the thalidomide *as* *tested* for safety, was *NOT* the thalidomide as sold in the market. The test thalidomide was made in small batches and was pretty much pure L-Thalidomide - WHICH IS SAFE.

Unfortunately, when they scaled up to production the new process produced racemic (equal quantities of L and R) thalidomide, and it was R-Thalidomide that did the damage.

One of those things unfortunately, an "unknown unknown" which should have been caught but nobody thought of it.

Cheers,
Wol

The Internet of scary things

Posted Feb 9, 2017 17:13 UTC (Thu) by sfeam (subscriber, #2841) [Link] (1 responses)

That turns out not to be the case, although it was bruited about as a rationalization for many years. There are two stereomeric states of thalidomide that can be separated in the laboratory, but they interconvert in vivo. So the biological effect of both forms come out the same. The underlying point remains the same - speeding up the approval process has risks as well as rewards.

The Internet of scary things

Posted Feb 11, 2017 19:59 UTC (Sat) by ssokolow (guest, #94568) [Link]

Here's a citation for that, in case anyone is interested:

Thalidomide. The role of water in the mechanism of its aqueous racemisation.
0000-0002-8635-8390
http://www.ch.imperial.ac.uk/rzepa/blog/?p=8246

The Internet of scary things

Posted Feb 10, 2017 1:49 UTC (Fri) by geek (guest, #45074) [Link]

so your better proposal is what?

The Internet of scary things

Posted Feb 11, 2017 20:16 UTC (Sat) by ssokolow (guest, #94568) [Link] (4 responses)

Unfortunately, it *was* effective. These days, it's become pretty corrupt.

https://www.youtube.com/watch?v=Nr8IthJVx4g
Big Banks and Big Pharma Just Scored A Huge Payday From The Dysfunctional FDA
Published on Sep 23, 2016

The Internet of scary things

Posted Feb 11, 2017 20:40 UTC (Sat) by Cyberax (✭ supporter ✭, #52523) [Link] (3 responses)

FDA is effective. In this video they're talking here about Sarepta - the FIRST drug for muscular dystrophy (a genetic disease). It has passed toxicity tests and indicated some efficacy in preliminary tests.

And you can't really have it both ways - in this case FDA decided to approve a drug that might not be effective but it also might be helpful for some patients that have NO ways to treat their disease. If FDA denied their approval I'm pretty sure the same RT would have launched an article: "FDA is KILLING people by refusing to approve a LIFESAVING drug!111!!!"

If this drug turns out to be ineffective or dangerous, FDA can withdraw their approval (see: Vioxx).

FDA sure has warts - priority review vouchers is the most prominent one. Or companies that perform "trials" for well-known off-label use of existing drugs and get monopoly on them. Fixing them will take an act of Congress, though.

The Internet of scary things

Posted Feb 12, 2017 1:22 UTC (Sun) by ssokolow (guest, #94568) [Link]

Please don't try to point fingers at the RT logo on that video. The only reason I chose that particular source is because it condensed the most solid points into the least amount of time.

I could just as easily have chosen any of a bunch of other sources.

The Internet of scary things

Posted Feb 12, 2017 1:24 UTC (Sun) by ssokolow (guest, #94568) [Link] (1 responses)

Oh, and you never addressed the part about how the decision was made by focusing on the drug company's studies and ignoring conflicting results from other studies, nor the resignation in disgust as a result.

The Internet of scary things

Posted Feb 12, 2017 2:37 UTC (Sun) by Cyberax (✭ supporter ✭, #52523) [Link]

Again, FDA balances several conflicting concerns. This is a case of a drug for a disease that does NOT have any effective cures available and toxicity studies have shown no significant ill effects. Had it been a new painkiller or blood thinner you can bet they would have kicked approval application all the way to Greenland.

And are you saying that FDA is corrupt because it approves drugs? Really? Do you know that 90% of drug candidates fail the FDA-mandated trials? About 70% fail the Phase II trial and 50% of drugs fail the Phase III trials: http://www.appliedclinicaltrialsonline.com/phase-iii-tria...

Does that look like an agency that is at beck and call of pharma companies?

I recommend reading blogs of actual pharma scientists ( http://blogs.sciencemag.org/pipeline/archives/2017/01/23/... is a good place to start) to at least start to appreciate what FDA does.

The Internet of scary things

Posted Feb 3, 2017 9:39 UTC (Fri) by nim-nim (subscriber, #34454) [Link]

It is pretty easy to set up and mission a competent bureaucracy that checks products sanity. You only need to give it genuine general goals (that are stable over time) and not technical specifics (that are quickly obsoleted). And of course fund the result.

Of course politicians and lobbies passionately hate this kind of regulation setup. It strips them of the power of doing backroom deals that authorise the reverse of what they publicly claim, by playing on technicalities the general public has no patience to check.

The Internet of scary things

Posted Feb 2, 2017 18:20 UTC (Thu) by farnz (subscriber, #17727) [Link]

In the UK, at least, we should be able to apply the existing legislation on satisfactory quality by having the courts agree that an insecure IoT device is also not safe. That's enough to permit the buyer to reclaim all losses that they incur as a direct result of the device being insecure from the vendor (e.g. a supermarket).

If this right was widely used against vendors of IoT devices in the UK, shops would not stock devices unless they were confident that those losses would not happen.


Copyright © 2017, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds