Wednesday, November 12, 2014

Side channel attacks

Interesting paper came out late 2013 describing a method to use audio emanations from a CPU to determine the private key.

Since the 1990's work has gone on using timing or power analysis to accomplish the same thing (deduce secret keys). Paul Kocher pioneered much of this work, including timing attacks against RSA (paper here). Multiple attacks against RSA have used power attacks with success. There are multiple defenses against timing and power attacks, including filtering emanations, smoothing activity (adding noise), blocking the ability for someone to sense data, etc. with varying degrees of success.

The recent work can be viewed as a derivative of that prior work. But instead of measuring time between actions, or power surges directly it's using acoustic emanations to derive the same information.

Of course, the field of side channel attacks on systems is old and interesting. Some classics:
  • Tempest-style attacks intercepting video broadcasts from outside the building since the 1980's.
  • Optical tempest, where the authors analyzed the activity light on various systems and constructed a system to intercept the light from across the street of an office building and recreate a serial data stream (Pre-published version here, ACM version here.)
  • Creative attack described in 2007 to use the microphone on your system to drive input to a speech parsing engine (such as Windows Speech Recognition in Vista). MS downplayed it of course but it highlights an interesting attack vector.
  • George Hotz's PS3 hack, where he used an FPGA board to disrupt the memory bus on the PS3 and cause instruction flow to jump into regions of memory that he controlled.
  • I discussed using speakers for covert channels in an earlier post.
Another interesting side channel technique came out in 2014 from researchers at Ben Gurion university. They showed that you can use FM receivers in mobile phones to collect specially encoded data from nearby video displays to create a cooperative TEMPEST exfiltration channel. Not really an attack per se, as it involves cooperative systems but it's certainly useful to enable broader attacks. (Just like ASLR bypasses aren't attacks per se, they are information leaks that can be utilized to enable complex attacks/exploits.) Also not new, as it's building on the Tempest work from before but doing it from a cell phone is novel.

Using RFID to access systems or propagate code has been discussed since at least 2006. Vulnerabilities in optical character recognition systems (which take pictures, and analyze them in an attempt to convert into digitally represented text) were published in 2007.  Attacks using QR codes were deployed in the wild in 2012.

Those attacks rely on analog systems that are looking for digital input in the analog medium provided by an adversary. Denial of service attacks that are purely analog (such as pointing a light at a camera, or EMP disables the function of systems quite nicely) have been well documented. But what about hacking a passive sensor such as a wireless IDS? (there are hundreds of vulnerabilities in just two popular passive, inline sensors: Wireshark (285, 22 enable RCE) and Snort. (10, 2 enable RCE)) And what would you call it if you took advantage of a feature extractor (such as a facial or gait recognition engine in a camera) to crash or even exploit a device? 

It's my opinion that as computing devices become more ubiquitous and embedded in everything you'll see these types of attacks in more and more interesting locations (Police car license plate scanners anyone? Border security systems. NFC is getting owned all over the place lately. The list goes on). Attacks will move beyond information leaks and disruption to include remote access via non-anticipated "side channels" or subsystems that people don't realize create risk. (Your Antivirus software, your networked coffee pot, your tire pressure monitors!)