What’s a “State-Sponsored Actor”?

Yahoo![Updated thanks to an old friend.]

In Yahoo!’s announcement of the theft of 500 million accounts, the Chief Information Security Officer Bob Lord wrote that the company believes a “state-sponsored actor” was behind the attack.  What does that mean and how would Yahoo! come to this conclusion?

The term “state-sponsored” is vague.  It could means someone who works for a government, or it could mean someone who has in effect been contracted out by a government.  Both Russia and China have been accused of this sort of behavior in the past.  In the case of Russia, there are two well known hacking organizations, Cozy Bear and Fancy Bear that the Washington Post previously reported were involved in the cyberattack against the Democratic National Committee’s systems.  In the case of China, the Elderwood Group was accused of taking part in a successful phishing attack against His Holiness, the Dalai Lama.

But why does Yahoo! believe that the culprit is one of these groups and not any other hacker?  There are several possibilities:

  • Perhaps the botnet systems used used to gain access to the Yahoo! passwords were the same as those used in an earlier attack in which a state-sponsored actor was known to be involved; or
  • The code used to break into Yahoo!’s internal network was the same or similar to code used in an earlier attack that is known to be from one of these groups; or
  • The investigation has been able to determine where the control systems of an attack are and who is accessing them.
  • As my friend points out, governments aren’t in this for the money but for some other purpose.  That means that stolen information isn’t likely to hit the black market anytime soon.  In this case, by the time Yahoo! discovered the problem, the breach was two years old.

Finding proof beyond a reasonable doubt will be difficult.  Consider this: it is possible for the Chinese to make use of a botnet run in Russia or America, or for America to operate a botnet in China to attack systems in Russia, just to lend the appearance as to who the source is, without revealing who the actual source is.

The only fundamental solution to this sort of attack is better end system security.  Only when botnets have dried up can we establish the true source of attacks.  Maybe in my lifetime this will happen.  Maybe.  But that means a lot of people have to do a lot of work.

Yahoo! This will happen again

Yahoo!The breach of over 500 million accounts at Yahoo! has caused a number of my friends to deride the company for not applying sufficient protections of private consumer data.  While it’s hard to argue with that claim, one thing is certain: this will happen again.  Maybe not to Yahoo! but to some other giant web site, like Amazon or Facebook or Google or Twitter.

We have concentrated so much trust into so small a percentage of sites that if any one of them has a breach, it can impact hundreds of millions of people.  Americans have previously spoken of banks that are too big to fail.  Social networking sites are similarly so big that when they have an incident, it perturbs our lives in all sorts of ways that we only begin to understand after the fact.

These sites have an interest in maintaining their customer interest, and the network effect helps them: the more people who visit Facebook, the more people Facebook will attract.  This is how the Internet and telephone networks came to be in the first place.

This vast concentration of consumers into a small number of sites also has its upsides: because they are regularly attacked, they have developed very strong expertise to fend off bad guys.  That’s something the average consumer – and even most enterprises – will never have.

This form of market concentration is not an easy problem to solve.  Imagine a world in which we all had software that sat on in our homes instead of in Facebook’s cloud (for instance).  If the software were all the same, then one bug would impact everyone in much the same way as if the software were centrally located.  The only question is how long it would take for an exploit of a vulnerability to propagate, and how long it would take someone to notice.

We know that such distributed software is a problem because one of the key vectors for infection these days is unused and out of date virtual machines or WordPress instances.  This puts aside all the issues of cost of maintaining a WordPress site.  How much does it cost you to maintain your Facebook account today?

One approach would a healthy exchange of social information across a reasonable number (perhaps in the thousands) of well managed sites.  That requires a rethink about how we consider privacy and who is responsible.  It also requires that incentives be aligned for that sharing to occur.  We would in essence be suggesting that Facebook advertisers go elsewhere.  That doesn’t seem like something Facebook would want to see.

The Yahoo! Breach: What it means to you

Steps you should take after the Yahoo! breach.

yahooYesterday, Yahoo! announced that at least 500 million accounts have been breached.  This means that information you gave Yahoo! may be in the hands of hackers, but it could also mean a lot more. The New York Times has an excellent interactive tool today that demonstrates how much of your information may have leaked, not just from Yahoo! but from other breaches.

Not only should people change their Yahoo! passwords, but it is also important for people to review all passwords and information shared with Yahoo!  In particular:

  1. Many people use the same password across multiple accounts.  If you did this, you should change passwords on all systems where that password was used.  When you do, you should see to it that no passwords are shared between two systems.
  2. Hackers are smart.  If you only tweak the same password just a little bit for use on multiple systems, a determined hacker or more likely a determined script may well break into other accounts.  For example, if your Yahoo! password was DogCatY! and your E-Bay Password were DogCatEBay, you should assume the E-Bay account is broken as well.
  3. This means you should keep a secure record of what passwords are used where, for just this sort of eventuality.  By “secure” I mean encrypted and local.  Having two pristine USB keys (one for backup) is ideal, where the contents are encrypted at the application layer.  I also make use of Firefox’s password manager.  That in itself is a risk, because if Firefox is hacked your passwords may be gone as well.
  4. Unfortunately passwords may not be the only information hackers have. Yahoo! has previously made use of so-called “backup security questions”.  Not only is it important to disable those questions, but it is important to first review them to see where else you may have used them.  Security questions are a horrible idea for many reasons: they may reveal private aspects of your life, much of which might be discovered anyway.  Sites like United Airlines recently implemented security questions.  My recommendation: choose random answers and record them in a secure place that is separate from your passwords.
  5. It is possible that hackers may have read any email you received on Yahoo!  In particular, one should review any financial accounts where information is transmitted to Yahoo!
  6. Use of cloud-based storage as a backup for your passwords should be viewed with great suspicion.  There have been a number of such tools that themselves have been found to be vulnerable.
  7. Hackers may have your cell phone number, for those who use SMS as secondary authentication.  While SMS is not secure communication, the chances of it being hacked are relatively low.  The safest practice is not to rely solely on SMS for authentication.  My bank uses both a secret and an SMS message, relying on the tried and true two-factor authentication approach of something you have and something you know.  A better solution is a secret and an app with a secure push notification.  This is what MasterCard has done in Europe.

These suggestions are good for the sort of mass breach that we are seeing with Yahoo!  In addition, one has to be careful with the amount of trust placed in a cell phone.  If the phone is lost, you should assume that hackers will be able to get into it.  Keeping a record of the applications you use, particularly those that have financial or security implications, will help you recover from the loss.

These suggestions are written with the notion that Yahoo! is not going to be the only site that will have had this problem.  Although not to this scale, we’ve seen this sort of thing before, and we will see it again.  I’ll have more to say about this from an industry perspective in a while.


Yahoo picture by Sebastian Bergmann – originally posted to Flickr as Yahoo!, CC BY-SA 2.0

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?

rendezvous-callhome

 

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.