Some two years after purchasing the appliance, and months after the end of the extended warranty, my refrigerator sounded odd. The compressor would start and then just as quickly terminate. This wasn't good! The fridge was getting warmer and warmer, with foodstuff sure to spoil. What to do?
I called the appliance vendor and explained my situation. I was panicked. What was the answer?
"Do you know the power cable and the outlet it's plugged into?"
"Yes," I replied (with, "Not personally," being the unspoken response to being patronized).
"What?! Unplug my fridge to fix a compressor problem?"
"Unplug it to reset the computer."
"It's not a used $200 laptop," I gasped.
"Hey, what works for a $200 computer, turns out works for an $800 refrigerator."
"But, but, but…."
"Today's appliances have a microprocessor—a small computer that keeps the food cold more reliably than older systems. At times, the learning mode has a glitch. The best thing to do is to wipe the memory by shutting the power off 15 minutes or so."
And it worked.
As a car mechanic, I know all about disconnecting the battery to do a deep erase of the power train control module/engine control unit (PCM/ECU). But imagine my surprise as techniques used for an $18,000 car now applied to refrigerators. Overall, computing is pervasive, invading everything electronic. The wrinkle? Increasingly, manufacturers are planning to link their products—your property, with your information—to them, via the Internet.
There are benefits. Each doohickey you own will report service and performance data to the vendor cloud. By detecting and reporting problems early, the problems can be fixed early, before damage worsens. Your next email message from your washer's manufacturer may be an offer to send a repair person to your home to change a bad bearing or swap out a motor that's drawing far too much amperage—long before the washer has a failure (after the warranty expires).
This information will give product vendors better line-of-sight to product design, typical usage, wear points, and so on. No matter how much testing is done before bringing a product to market, some defects are found only when the product is used widely.
In this article, we'll take a look at what constitutes an embedded system. Despite the risks of this brave new world, I want to encourage you to join the "Internet of things." Finally, I'll point out six simple things you can do to secure your own embedded systems.
What Is an Embedded System?
An embedded system is created to serve specific tasks, often within set time constraints, and typically as part of larger system. For example, within a heating, ventilation, and air conditioning (HVAC) system, an embedded system might monitor the initial positioning of distribution valves, dependent on environmental factors such as building temperature, necessary quantity at building coordinates, and so forth.
Current decreasing costs for microprocessors and sensors allow electronic engineers to use many more sensors, sample more conditions, and use embedded systems to control system behavior with greater reliability across a wider range of responses, even within specified time limits.
You probably have embedded systems throughout your home, not just in the appliances I've mentioned. Your 1970s digital watch was likely an embedded system, now updated as Microsoft and Apple create "smart watch" prototypes. Your home alarm is an embedded system. Your Blu-ray player that streams movies in real time is an embedded system. In your garage? The most-studied embedded system is the automobile, whose embedded systems can constitute up to one-third of the cost of a premium car.
Let's focus on automotive embedded systems for a moment. Estimates of the number of lines of code in Windows NT 3.1 (1993) range from 4–5 million lines. A premier automobile is estimated to have more than 100 million lines of code, often scattered among dozens of embedded computers. These embedded controllers might memorize the exact position of your seat or a song you played from your iPod. The same computers sample engine performance and emissions, perfecting both such that horsepower per cubic inch easily exceeds the power ratios in 1960s muscle cars, all the while achieving fuel mileage never before seen. Those computers also control the transmission and brakes, watch the air in your tire pressure-monitoring system (TPMS), and manage connectivity from your car to its cell phone and then to the cellular network.
With this kind of frugal use of computing power across functionalities, what could go wrong?
Where Embedded Systems Fail
In the first half of 2013, Nissan, Honda, and Subaru have all announced recalls for faulty embedded systems and sensors. Failed sensors trigger premature airbag deployment or hard braking assist (acceptable only during emergency stops). For Subaru, the remote-start fob started cars on its own—nothing anyone wants with a car parked in a home's attached garage.
In 2005, Toyota had a problem with its Prius hybrid cars, triggering a recall of more than 150,000 automobiles. Code errors in the software could cause the Prius to stall unexpectedly. Five years later, unintended acceleration in some Toyota cars led to a massive investigation of the embedded systems. Only after a deep and costly review of the electronic control systems was the problem blamed on the vehicle floor mats. This result shows such concern over electronic systems that the first step is to prove them innocent before reviewing other, more likely causes.
That same year, 2010, was a banner year for interest in automotive hacking resistance. Researchers at the University of California San Diego and the University of Washington's joint Center for Automotive Embedded Systems Security (CAESS) released a document called "Experimental Security Analysis of a Modern Automobile." Plugging into the Onboard Diagnostics II port (OBD-II), the researchers found it was possible to flood the automobile's embedded network and do anything from engaging brakes to locking doors. The instrument panel cluster could even be controlled to the point of displaying arbitrary information.
Other studies, performed by other groups, showed that CD files could be embedded with computer code. Playing the CD attacked the embedded computer systems, sometimes with a technique as simple as flooding the system with variable data. Dumping excess traffic to the embedded network through a Bluetooth connection to a cell phone would stop the engine.
Playing music can hack an embedded system?
There are a lot of allegations, including stories of the TPMS being used to shut down engines by flooding the network with counterfeit traffic from fake tire sensors. Are these stories true? CNN offers a very convincing video that seems to show the thieves using a mysterious device to unlock cars at will, and this is something new, right?
How to Interpret the Risks
Long ago, I read a story about hacker software for a Palm Pilot. The software intercepted the communications between the car owner's key fob and the system that controlled door locks. At that time, car communications were a non-changing signal—the perfect setup for a replay attack. Hacking embedded systems that control door locks is today's technique. It isn't a sign that embedded systems are less secure than past systems. Decades before key fobs existed, doors were opened with "slim jims" and coat hangers. Thieves hammered screwdrivers into trunk locks until the whole assembly could be rotated to open the trunk. Today's embedded systems are far more secure than past systems.
That said, the ability to flood the embedded system network and cause outages is a genuine cause for concern. As mentioned earlier, vendors will put their products onto the Internet sooner or later. Will you tolerate your washer stopping mid-cycle because someone performed a "ping flood" denial-of-service attack on its network connection?
As manufacturers adopt generic embedded systems to replace past proprietary designs, it will be easier to write malware that works against many products. In this world of products joining the Internet and sharing your information with vendors, possibly opening them to attack, you still can do a few things to secure your embedded systems.
Why Securing Your Embedded System Is Crucial
What can you hope to do to secure your embedded systems? First, start by keeping a historical perspective:
- Remain realistic despite hysteria. I remember early electronic fuel-injected Volkswagens that had inadequate shielding, making it possible for the engine to stall when passing through microwave and radio streams. Other cars needed special shields over the ignition points to avoid interfering with radio reception. Remember this: Despite a lot of testing, automotive advances often create problems that show up after the purchase.
Car security research will find subtle vulnerabilities. However, in the same way that traditional computer systems must be hardened against Internet attacks, automotive embedded systems can be and will be hardened—once manufacturers have accepted the necessity.
- Do the math. Embedded systems increase costs as they increase benefits. To justify the expense of better security, consumers must recognize the growing "smart" content in every product. Search the Internet for vulnerabilities in your favorite products. Write to the manufacturers and ask them to make product security a priority. (But determine you much you're willing to pay for better security before insisting it be installed on your next widget.)
- Forgo Internet/Bluetooth connectivity if you're concerned. My home DVD player isn't Internet-attached. (Streaming movies can be expensive in rural Illinois.) Should you link your car to automobile monitoring systems? Think about these questions: Are you concerned that the car's "black box" might give your auto maker misleading information about your responses in the final seconds before an accident? Do you worry that your cell phone's Bluetooth connection to the car will leave it open to hackers? In these cases, buy a cheap hands-free cell phone system that excludes any car connectivity. (You have more options than you realize.)
Returning to "remaining realistic." For more than a decade, laptop computer operating systems and applications have "phoned home" regarding your experiences, your mix of software, your computer hardware, computer configurations—including your IP address (shudder)—and more. So far, we haven't had the "privacy meltdown" that some people predicted.
- Put Internet-connected embedded systems behind a firewall. If possible, connect your devices and appliances to your wired, firewall-enhanced router. Most of us use wireless networking, so you'll probably need to connect your devices and appliances to secured wireless networks. Let your secured systems reach out to the Internet, while denying the Internet the right to connect to them ad hoc. If you must allow the Internet to reach your systems, such as for Help Desk support, research how to move those systems to your router's "demilitarized zone" (DMZ), so that an attack on your DMZ device can't spread to all your devices. Many wireless routers have a feature that keeps devices separate from each other, but enabling this feature disables music sharing and other network features. You must decide what level of security you really need.
- Recognize the growing computer content in many devices. Can you spot an embedded system? Is your thermometer with an outdoor wireless sensor an embedded system? Sure is! Now consider your embedded system concerns. Are you worried that some hacker might display an incorrect temperature? Probably not; after all, the impact of that hack seems minor.
- Consider the "Internet of things" and be ready for big benefits. The "Internet of things" posits a world of pervasive computing—often embedded computers—woven into our clothing, injected into our eyeglasses, worn as jewelry, and so on. Some people fear the impact of having personal details of our lives recorded (and maybe relayed) by devices. What if a hacker threatens to reveal your love of pornography to your friends? Would you pay a "ransom" to keep this from happening? This is one of the scenarios raised.
Now back to "remaining realistic." Your video rentals are tracked. That type of "surveillance" has been more than just a threat for a long time. Nothing is secret, and this problem predates embedded systems. Adopting the "Internet of things" may not be the threat that some people speculate will materialize.
Dystopia or Utopia?
Many dire predictions have been made regarding the "new" vulnerabilities in embedded systems. Some predict Orwellian consequences of Big Business and Big Government accessing all our information. Others predict strange and unusual infrastructure failures, as hackers deny services via exotic commands that impersonate control centers.
Too often, people forget the long history of success with earlier control systems, and even with traditional computer systems that utilize encryption to good effect. People overlook the wide advances in automotive longevity, performance, and fuel mileage gains—focusing instead on improving TPMS security at any expense. Finally, too many of us forget the many vulnerabilities and problems found with early systems, now replaced with better, stronger systems.
The problem isn't technology; it's misuse of the information that technology makes available. Laws and regulations like the Health Insurance Portability and Accountability Act of 1996 (HIPAA) can control the open and careless flow of information. Actually, that's the secret answer: simply regulating against misuse. Whether we inherit the benefits—or the totalitarian monitoring—of embedded systems is up to us. By researching the issues, working with manufacturers, and deciding which connectivity models we'll support; by supporting new and improved laws limiting misuse; and by following the simple six ideas listed here, we can better secure our embedded systems in the future.