Saturday, April 21, 2007

Heroes and other ramblings

Due to the mid-season hiatus that most network television shows are taking right now, there has been very little to comment on. The one exception might have been a recent episode of Numb3rs where an author of a piece of malicious software was found by analysing a "strange loop" found in the program. But sadly, the producers avoided another lambasting by not attempting to explain how Bernard the Elf was actually able to do this, so short of just saying "what the f***?!," I'll point out that if you read the Wikipedia entry for strange loop and then watch the episode, you'll find that the two explanations are strangely similar.

While doing a critique of pure science fiction would be a little silly, one of the characters in the show Heroes, brings up an interesting mental exercise and, more importantly, provides me with a much needed topic of discussion.

If you are not familiar with the show, its the story of 9 or so people who have, through some form of genetic mutation, gained superhuman abilities. These abilities range from the ever popular flying and invisibility to the somewhat esoteric power of producing nuclear reactions with your body.

The character in question is Micah. Micah is the child of a woman who seems to be her own doppelganger and a man who can walk through walls. Not sure how the combination of those two mutations produced the ability to manipulate electronic devices, but that's what Micah can do.

We have only seen Micah use his ability twice, the first time he makes a phone call from a broken pay phone. The second time, he makes an unauthorized withdrawal from an ATM. The show has not yet explained how the ability actually manifests itself, but for the sake of argument, lets assume that its one of two ways:

1) Micah is able to generate electromagnetic energy that can mimic electronic components in the device, such as transistors or complete microchips

2) His body is able to produce nanoparticles that infiltrate the device and build circuitry that allows him to control it--similar to those produced by the Terminatrix in Terminator 3: Rise of the Machines.

So the exercise would be this: how would you defend a system against this type of attack?

The first thing that comes to mind is shielding--enclosing your system in a Faraday cage would probably do the trick for the first possible manifestation. For those of you not familiar with this type of shielding, a Faraday cage is an enclosure that is constructed in such a way that it either blocks or redirects electromagnetic and electronic fields so that they do not penetrate the surface of the enclosure. The most common example of this is the shielding they use in microwave ovens to prevent your eye balls from boiling when you press your nose up against the widow to watch Spaghetti-Os splatter all over the interior.

The second possible manifestation is a little more tricky to solve since their are no real life equivalents. One idea I came up with is creating nanotube mazes that would trap enough nanoparticles to limit any potential damage. The closest possible analogy to how this would work is fiberglass insulation, which slows the progress of heat and cold by trapping it in the various chambers that the fibers create. If you could develop some sort of attractor that would divert the nanoparticles into the tubes, you could create a semi-permeable membrane that would allow coolant or electricity pass.

Unfortunately, as demonstrated in the last Terminator movie, an easy way to get by this type of protection is to simply pierce the membrane and inject the particles into the area that is being protected. Unlike the Terminatrix, Micah does not have the power to change one of his fingers into an awl, but that wouldn't stop him from using an icepick to accomplish the same thing. To prevent this, you would have to completely encase the device with the membrane to eliminate any open space were the nanopartcles could form circuitry.

The problem with both of these method is the fact that devices such as ATMs and RFID readers need to interface directly with humans and electromagnetic radiation. This poses a problem since you may not be able to shield these devices completely, allowing avenues of attack to remain.

In these cases you might have to develop some kind of reverse Turing test by which each component in the system can verify that the signals they are receiving are not coming from a human, nor coming from circuitry that may have recently be built.

Turing tests were develop by Alan Turing in the early 1950's to determine the humanness of artificial intelligence implementations. The basic test would consist of a human judge conversing with two entities, one human and one computer. If the judge is unable to tell which is which, then the implementation passes the test.

If you remember that annoying little program called Eliza, which was intended to mimic a psychotherapist, you'll also remember that it was hard to tell the difference between her (the program) and drunk high school student that has been through peer counselor training. Whether this is a sign of actual intelligence, or not, is up for debate, but you get the point.

This approach has been used, somewhat in reverse, to help stop spam and other automated attacks against computer systems. You may have been fooled yourself by those annoying CAPTCHAs the last time you signed up for a online service or posted to bulletin board. CAPTCHA is short for "Completely Automated Public Turing test to tell Computers and Humans Apart" and consist of a bunch of obscured text, usually against a textured background, that are intended to fool computer based optical character recognition systems, otherwise know as OCR. It also tends to fool drunk people and those whose cognitive dysfunction is not chemically induced.

You can also see something similar in the move Blade Runner. They call the test Voight-Kampff (for short) and it consists of a series of questions that will cause an artificial human to respond in non-human ways. As seen throughout the movie, the tester would use a device that monitors changes in the eye, most notably involuntary dilation of the iris, and after a battery of questions like "describe in single words only the good things that come into your mind about your mother," he would make the determination of human or Replicant, or get shot, depending on how good he was.

We will have to wait to see how the writers of Heroes decide to handle Micah and whether anyone will be able to protect their computer systems against his ability. It will also be interesting to see how close my speculation was...

Watch Heroes for free on NBC.com.