Time to end the war on the network

Edward SnowdenWhen Edward Snowden disclosed the NSA’s activities, many people came to realize that network systems can be misused, even though this was always the case.  People just realized what was possible.  What happened next was a concerted effort to protect protect data from what has become known as “pervasive surveillance”.  This included development of a new version of HTTP that is always encrypted and an easy way to get certificates.

However, when end nodes hide everything from the network, not only can the network not be used by the bad guys, but it can no longer be used by the good guys to either authorize appropriate communications or identify attacks.  A example is spam.  Your mail server sits in front of you and can reject messages when they contain malware or are just garbage.  It does that by examining both the source of the message and the message itself.  Similarly, anyone who has read my writing about Things knows that the network needs just a little bit of information from the device in order to stop unwanted communications.

I have written an Internet Draft that begins to establish a framework for when and how information should be shared, with the idea being that information should be carefully shared with a purpose, understanding that there are risks involved in doing so.  The attacks on Twitter and on krebsonsecurity.com are preventable, but it requires us to recognize that end nodes are not infallible, and they never will be.  Neither, by the way, are network devices.  So long as all of these systems are designed and built by humans, that will be the case.  Each can help each other in good measure to protect the system as a whole.

Photo of Edward Swowden By Laura Poitras / Praxis Films, CC BY 3.0

[del.icio.us] [Digg] [Facebook] [Reddit] [Twitter]

Learning from the Dyn attack: What are the right questions to ask?

The attack on DNS provider DYN’s infrastructure that took down a number of web sites is now old news.  While not all the facts are public, the press reports that once again, IoT devices played a significant role.  Whether that it is true or not, it is a foregone conclusion that until we address security of these devices, such attacks will recur.  We all get at least two swings at this problem: we can address the attacks from Things as they happen and we can work to keep Things secure in the first place.

What systems do we need to look at?

  • End nodes (Cameras, DVRs, Refrigerators, etc);
  • Home and edge firewall systems;
  • Provider network security systems;
  • Provider peering edge routers; and
  • Infrastructure service providers (like DYN)

In addition, researchers, educators, consumers and governments all have a role to play.

Roles of IoT

What do the providers of each of those systems need to do? 

What follows is a start at the answer to that question.


It’s easy to pin all the blame on the endpoint developers, but doing so won’t buy so much as a cup of coffee. Still, thing developers need to do a few things:

  • Use secure design and implementation practices, such as not hardcoding passwords or leaving extra services enabled;
  • Have a means to securely update their systems when a vulnerability is discovered;
  • Provide network enforcement systems Manufacturer Usage Descriptions so that the networks can enforce policies around how a device was designed to operate.

Home and edge firewall systems

There are some attacks that only the network can stop, and there are some attacks that the network can impede.  Authenticating and authorizing devices is critical.  Also, edge systems should be quite leery of devices that simply self-assert what sort of protection they require, because a hacked device can make such self-assertions just as easily as a healthy device.  Hacked devices have recently been taking advantage of a gaming mechanism in many home routers known as Universal Plug and Play (uPnP) which permits precisely the sorts of self-assertions should be avoided.

Provider network security systems

Providers need to be aware of what is going on in their network.  Defense in depth demands that they observe their own networks in search of malicious behavior, and provide appropriate mitigations.  Although there are some good tools out there from companies like Cisco such as Netflow and OpenDNS, this is still a pretty tall order.  Just examining traffic can be capital-intensive, but then understanding what is actually going on often requires experts, and that can get expensive.

Provider peering edge routers

The routing system of the Internet can be hijacked.  It’s important that service providers take steps to prevent that from happening.  A number of standards have been developed, but service providers have been slow to implement for one reason or another.  It helps to understand the source of attacks.  Implementing filtering mechanisms makes it possible for service providers to establish accountability for the sources of attack traffic.

Infrastructure providers

Infrastructure upon which other Internet systems rely needs to be robust in the face of attack.  DYN knows this.  The attack succeeded anyway.  Today, I have little advice other than to understand each attack and do what one can to mitigate it the next time.


History has shown that people in their homes cannot be made to do much to protect themselves in a timely manner.  Is it reasonable, for instance, to insist that a consumer to spend money to replace an old system that is known to have vulnerabilities?  The answer may be that it depends just how old that system really is.  And this leads to our last category…


The U.S. CapitolGovernments are already involved in cybersecurity.  The question really is how involved with they get with IoT security.  If the people who need to do things aren’t doing them, either we have the wrong incentive model and need to find the right one, or it is likely that governments will get heavily involved.  It’s important that not happen until the technical community has some understanding as to the answers of these questions, and that may take some time.

And so we have our work cut out for us.  It’s brow furrowing time.  As I wrote above, this was just a start, and it’s my start at that.  What other questions need answering, and what are the answers?

Your turn.

Photo credits:
Capitol by Deror Avi – Own work, CC BY-SA 3.0
Router by Weihao.chiu from zh, CC BY-SA 3.0
DVR by Kabel Deutschland, CC BY 3.0
Router by Cisco systems – CC BY-SA 1.0

[del.icio.us] [Digg] [Facebook] [Reddit] [Twitter]

Looming wireless problems with IoT security

Security experts have two common laments:

  • Security is an afterthought, and
  • Security is hard to get right.

No place else has this been more true than in wireless security, where it took the better part of two decades to get us to where we are today.  “Wireless” can mean many different things.  It could mean 3G cellular service or Wifi or Bluetooth or something else.  In the context of Wifi, we have standards such as WPA Personal and WPA Enterprise that were developed at the IEEE.  Similarly, 3GPP has developed secure access standards for your phone through the use of a SIM card.  With either WPA Enterprise or 3G, you can bet that if your device starts to misbehave, it can be uniquely identified.

Unfortunately that’s not so much the case with other wireless standards, and in particular for IEEE’s 802.15.4, where security has for the time being been largely left to higher layers.  And that’s just fine if what we’re talking about is your Bluetooth keyboard.  But it’s not fine at all if we’re talking large number of devices, where one of them is misbehaving.


Here we have a lighting network.  It might consist of many different light bulbs.  Maybe hundreds.  Now imagine a bad guy breaking into one of those devices and attacking the others.  Spot the bad guy.  In a wired world, assuming you have access to the switch, you can spot the device simply by looking at which port a connection came into.  But this is wireless, and mesh wireless at that.  In the case where each device has its own unique key, you can trace per session per device.  But if all devices use a shared key, you need to find other means.  A well hacked device isn’t going to give you many clues; it’s going to try to mimic a device that isn’t hacked, perhaps one that isn’t turned on or one that doesn’t even exist.

These attacks can be varied in nature.  If the mesh is connected to other networks, like enterprise networks, then attacks can be aimed at resources on those networks.  This might range from a form of a so-called “Snow Shoe” attack, where no one device generates a lot of traffic but the aggregate of hacked devices overwhelm a target, to something more destructive, like attempts to reconfigure critical infrastructure.

Some attacks aren’t even intended as such, as Raul Rojas discovered in 2009, when a single light bulb took down his IoT-enabled house.

What to do?

The most obvious thing to do is not to get into this situation in the first place.  From a traceability standpoint, network managers need to be able to identify the source of attacks.  Having unique wireless sessions between leaf and non-leaf nodes that are bound to source addresses is ideal.  Alternatively, all communications in a mesh could tunnel to non-leaf nodes that have strong diagnostic capabilities, like IPFIX and port spanning.  At that point administrators can at least log traffic to determine the source of attacks.  That’s a tall order for a light bulb, but it’s why companies like Cisco exist- to protect your infrastructure.

If none of these alternatives exist, poor network administrators (who might just be home owners like Mr. Rojas)  are forced into a position where they might need to consider the entire mesh a single misbehaving device, and disconnect it from the network.  And even that might not do the job: a smart piece of malware might notice and quiet itself until it can determine that the mesh has been re-connected.

Some careful thought is required as these capabilities develop.

[del.icio.us] [Digg] [Facebook] [Reddit] [Twitter]

Here’s MUD in your eye! A way to protect Things on the Internet

How can the network protect so many types of things? We need for manufacturers to step up and tell us.

U.S. Army Pvt. Charles Shidler crawls through mudSince 2011 Cisco Systems has been forecasting that there will be at Since least 50 billion devices connected to the Internet by the year 2020.  Those are a lot of Things. but that’s not the number I’m worried about.  Consider this: Apple manages somewhere in the neighborhood of 1 billion active iOS devices on their own, and there are about 1.4 billion Android devices that are also managed, though less well.  Rather, it’s the number of types of things that people should be concerned about.  To begin with,not everyone is going to do such a great job at managing their products out in the field as Apple and Google do.  Moreover, even Apple and Google end support for different versions of their products after some period of time.

I call this the Internet of Threats.  Each and every one of those devices, including the device you are reading this note on right now, probably has a vulnerability that some hacker will exploit.

A good number of the manufacturers of those things will never provide fixes to their customers, and even those that do have very little expectation that the device will ever be updated.  Let’s put it this way: when was the last time you installed new software on your printer?  Probably never.

The convenient thing is that many Things probably only have a small set of uses.  A printer prints and maybe scans, thermostat like a Nest controls the temperature in your house, and a baby monitor monitors babies.  This is the exact opposite of the general purpose computing operating model that your laptop computer has, and we can take advantage of that fact.

If a Thing only has a small number of uses, then it aspirinprobably only communicates on the network in a small number of ways.  The people who know about those small number of ways are most likely the manufacturers of the devices themselves.  If this is the case, then what we need is a way for manufacturers to tell firewalls and other systems what those ways are, and what ways are particularly unsafe for a device.  This isn’t much different from a usage label that you get with medicine.

So what is needed to make all of this work?  Again, conveniently most of the components are already in your network. The first thing we need is a way for devices to tell the network where to get the manufacturer usage description file (or MUD file).  There’s an excellent example of that in your browser right now, called a Universal Resource Locator (URL), like https://www.ofcourseimright.com.  In our case, we need something a bit mroe structured, like https://www.example.com/.well-known/mud/v1/someproduct/version.  How you get that file, however, is exactly the same as how you got to this web page.

Next, we need a way for the Thing to give the URI to the network.  Once again, the technology is pretty much done.  Your device got an IP address today using Dynamic Host Configuration Protocol (DHCP), which provides an introduction between the device and the network.  All we need to do is add one new parameter or option so that the client can simply pass along this MUD URI.  There are even more secure ways of doing that using public key infrastructure (PKI) approaches such as IEEE’s 802.1AR format and 802.1X protocol.  The nice thing about using a manufacturer certificate in 802.1AR is that it is then the manufacturer and not the device itself that is asserting what the device communication patterns are.

Now, thanks to DHCP or IEEE 802.1X, the network can go get the MUD file.  What does that look like?  At the moment, <it> <looks> <like> <a> <bunch> of <XML>.  {“it” , [“may”, “look”, “more”], “like, {“json”}} in the future.  The good news here is that once again, we’re building on a bunch of work that is already complete.  The XML itself is structured using a data model called YANG.  So long as it conveys to the network what sort of protections a device needs, it could be anything, but YANG will do for now.

Finally, the basic enforcement building block is the access control function in a router or access point.  That function says what each device can communicate with, and they’ve been around since the earliest days of the Internet.

And that’s it.  So now if I have printer from HP and they make a MUD file available, they might tell my network that they only want to receive printer communications, and that the printer should only ever try to send certain types of unsolicited messages.  If anyone tries to contact the printer for another use, forget it.  If the printer tries to contact CNN – or more importantly random devices on my network, it’s probably been hacked and it will be blocked.  Google can do the same with a Nest.

We’re talking about this at the IETF and elsewhere.  What do you think?

The Internet of Everything: Everything will communicate with something!

Things will communicate to their manufacturers, and they need to do so to be secure.

A number of security researchers are getting upset by seeing home devices communicate with one another or with random sites in China.  Is this an attack?  Probably not.  But there may be vulnerabilities that can be exploited that should cause consumers pause.

There are two common design patterns.  Today I’m just going to discuss what we call “Calling Home”.  When we use the term, we are not referring to your home, but to a centralized management site.  In the case of Thing manufacturers, the site is likely offered by the manufacturer.

So you just bought that new digital video recorder and it offers a great new feature: you can program it wherever you are.  There are many such devices on the market today, such as a SlingBox.  How do those communications happen?



In the figure above, all your home devices sit behind your home router.  They’re generally allowed to connect to systems outside of your network, but systems outside are not able to connect in.  In part this is a security feature: your firewall will block incoming connections so that the entire world can’t attack you.  In part, however, it’s because the systems in your home are only using locally recognizable IP addresses.  And since your iPhone moves around, your home doesn’t know how to get to it.  Therefore, a rendezvous service is needed.  That’s what that cloud function is performing, and that is what those curved lines indicate.

The SlingBox on the left may not just be connecting for the sake of communicating with your smart phone.  It is probably also doing so for other reasons, such as receiving electronic program guide information.

In the world of IoT, that is a common design pattern.  Devices will need to communicate with their manufacturer web sites for all different reasons, but there is one common and important reason: devices will have bugs.  As manufacturers develop fixes, devices will need to learn of those fixes and install them.  Every modern-day operating system and browser has this feature.  All Things will need these features as well.  In fact, one big concern today is what happens when manufacturers do not offer fixes?  Then those vulnerabilities are out there for anyone to exploit.  This is a big problem in the developing world, where consumers often buy devices on the secondary market, long after manufacturers have intended them to be retired.

Could a device transmit private information to a manufacturer?  Sure.  In fact, Samsung got caught last year through their dreadful privacy policy where their televisions could have been listening and reporting conversations.

Here’s the rub: without extensive analysis, it’s hard to know exactly what is being exchanged between a device and a manufacturer.  Encryption will keep observers from seeing what is being exchanged.  At the same time, a lack of encryption would be as or more risky to consumer privacy.

When devices are able to communicate at all it is possible that they will be compromised.  It’s important to understand that there are risks with each Internet-enabled device.  But it’s also important to consider any benefit the communication will have.  A refrigerator or a heater that knows it is in need of repair can have a manufacturer contact the owner, for instance. That’s worth something to some people.  Judge the risks for yourself.

What should the best practices be in this space and what should consumers expect in products?  More on that over time, but feel free to answer those questions yourself for now.

iPhone image courtesy World Super Cars on Wikipedia.