1 of 14

Why There’s a CPU in Your Doorbell

Michael Tang

9/12/22

or, the Anomaly of Cheap Complexity

2 of 14

Why Is there a CPU in Your Doorbell?

3 of 14

Why Is there a CPU in Your Doorbell?

It’s cheaper.

4 of 14

Complex devices are cheaper

1. Moore’s law + economies of scale

5 of 14

Complex devices are cheaper

2. Universal computation

-David Deutsch, 1985

6 of 14

Complex systems are cheaper

3. Software distribution has basically no marginal cost

“How does one design an electric motor? Would you attach a bathtub to it, simply because one was available? Would a bouquet of flowers help? A heap of rocks? No, you would use just those elements necessary to its purpose and make it no larger than needed -- and you would incorporate safety factors. Function controls design.” -The Moon Is A Harsh Mistress (Robert A. Heinlein)

Software makes adding bathtubs, bouquets of flowers, and rocks, almost free.

7 of 14

Universal computation, Moore’s Law, and software make adding bathtubs, bouquets of flowers, and rocks, almost free.

8 of 14

Universal computation, Moore’s Law, and software make adding bathtubs, bouquets of flowers, and rocks, almost free.

9 of 14

Complex devices are less secure

  • Software is cheap and easily reusable but possibly unreliable
  • Inspection is hard — possession and control are decoupled
  • Errors are probabilistic
  • Moore’s law pushes chipmakers to manufacture on small margins → make “the most unreliable CPU that cannot be detected as unreliable”
    • e.g. error correction code (ECC) memory is 10-20% more expensive

10 of 14

(single-bit-side-note)

High-energy protons and neutrons such as those produced by large particle accelerators, are similar to those cosmic rays that penetrate the atmosphere, and interact similarly with DRAM chips. Such accelerators are often used to test the resistance of electronic components to cosmic radiation, especially components to be used on aircraft and spacecraft. Few attackers — indeed, few nation-states — have access to such accelerators. However, an Americium-Beryllium source (such as is used in oil exploration) produces neutrons that could very likely induce memory errors [13]. Access to such sources is regulated; an attacker could gain access by purchasing a small oil-drilling company, or by becoming employed at such a company.

[...]

Since we lacked the time or inclination to learn the oildrilling trade, we decided to use heat. We induced memory errors in a desktop PC by opening the box and shining light on the memory chips. We used a clip-on lamp with a flexible gooseneck, equipped with a 50-watt spotlight bulb.

11 of 14

(single-bit-side-note)

12 of 14

(single-bit-side-note)

13 of 14

(single-bit-side-note)

14 of 14

Lots of open questions