views:

571

answers:

24

A couple of years ago, I remember reading about an academic project that executed a specific sequence of instructions whose effect was to cause the targeted processor to catastrophically overheat and fail, by exceeding the tolerance limits of the processor's design. It was interesting because it was the only example I've ever seen of a piece of code that was able to cause permanent hardware failure, and was a nice proof that chip design can have bugs too.

I've subsequently tried several times to find a description or reference to this project and have completely failed. It's difficult to come up with a Google search which is specific enough. Does anyone remember this code, or can shed light on the approach used?

Update: Thank you all for the examples of other code that causes physical effects - they are very interesting, and I've voted accordingly. However, I'm holding off on accepting an answer until someone finds a reference to the processor overheat example that is my specific target. Surely someone out there must have heard of this project..?

+5  A: 

See also Halt and Catch Fire or Killer Poke.

dmckee
+6  A: 

Off topic, but related: Print this file, your printer will jam

Ned Batchelder
I'd say that's related - not damaging, but an interesting flaw.
rwmnau
A: 

It seems like this could be possible, if the software affects the BIOS settings for CPU overclocking, frequencies, and temperature limits. But the software would have to be specific to the hardware.

Jon
It would have to basically flash the BIOS I would imagine.
Jon
+3  A: 

I once read that CGA (maybe older?) monitors could have their horizontal / vertical refresh rates set to zero, resulting in the beam burning a hole in the middle of the screen.

Aric TenEyck
And then in your face????
1800 INFORMATION
**1 800 411:** Nah, the beam has no real penetrating power in air, that's why the tube must be in vacuum in the first place.
dmckee
First heard about this with the TRS-80 Model II. Radio Shack modified the BASIC to intercept the POKE command, but you could still trash the tube with machine code. This predates CGA by a long time.
David Thornley
+1  A: 

Here's one I read about on engadget:

"One of the latest [Ubuntu] kernels apparently had the nasty side effect of irreparably damaging some users' hardware -- specifically, certain Intel network cards."

http://www.engadget.com/2008/09/26/ubuntu-alpha-apparently-breaking-hardware-shattering-dreams/

Sean
First off: the bug was not in the Ubuntu kernel but in the upstream development kernel, in a version that was *never* released. Secondly: the hardware wasn't damaged, only the flash memory was overwritten. And thirdly: it wasn't irreparable, because you could just flash the firmware back.
Jörg W Mittag
+3  A: 

This sounds like the sort of thing Ed Felten or Andrew Appel would come up with. (Appel was the one who cracked the JVM by putting a lightbulb under the box. When memory got hot enough, a memory error enabled them to take control of the machine. It took less than twenty minutes.) They're both at Princeton; you might find something of interest there. Dan Wallach at Rice (if he's still at Rice) would be another good one to ask. If these guys didn't perpetrate the attack, they probably know about it.

Norman Ramsey
+3  A: 

This is only tangentially related but important nonetheless: The case of the Therac-25. This was a radiation-therapy machine developed for treating cancer patients. Unlike previous versions of the machine, this one did not have hardware interlocks to prevent the software from setting the dosage to lethal levels. Tragically, a bug eventually surfaced in the software controlling the machine, resulting in several serious injuries and a few deaths before it was taken out of use. The IEEE published a fascinating report on the episode.

J. Peterson
+3  A: 

You could attempt to open the CD drive when there was something in the way.

Also you could destroy some speakers by sending some high frequency high amplitude sounds outside the normal range of audio.

So I'll say yes.

recursive
Interesting, that some out of the box thinking :)
Citizen
Opening the CD drive won't damage anything, at least not with the drives I've used so far. They simply try to open until the obstacle is removed. Sometimes they won't try that long but close again. Most speakers are rated up to around 20 kHz and you can only go 4 kHz beyond that (with 48 kHz sampling rate). Might be worth a try but I highly doubt you will damage anything with that.
Joey
I have seen CDs that use a belt to drive the tray and too much friction (a family of dustbunnies in an outside store was our case) has caused them to melt.
Deverill
"Most speakers are rated up to around 20 kHz." That is highly suspect. And it still doesn't specify what amplitude they can handle. Imagine an audio stream consisting of alternating minimum and maximum sample values.
recursive
+1  A: 

Causing the drive head arm to move from the inner to the outer tracks in rapid succession over a prolonged period time will do physical harm.

Jeremy Roberts
+1  A: 

You could write code for the military - that'd cause some hardware damage I reckon.

Robert W
Naah. They don't need it. Any self respecting military knows how to cause hardware damage even without software :)
ldigas
+2  A: 

In the old days of the BBC Micro, there was a relay to control the tape under software control. If you switched it on and off fast enough, it would burn out.

Pretty well any hardware which is under software control can cause damage if abused for long enough. For example, you can switch the fan off and let it melt, though whether there's a lower level override I don't know.

Pete Kirkham
The same was true of the tape relay in the TRS-80s. Programmers would make sounds when the cord was plugged into a speaker and the relay turned on and off at different frequencies. Of course this would fry the tape motor relay and you could never load/save programs again.
Deverill
+4  A: 

In the old times:

http://en.wikipedia.org/wiki/Killer%5Fpoke

Also, CIH (http://en.wikipedia.org/wiki/CIH%5FVirus) could force a flash BIOS chip to be replaced.

sdcvvc
I would also add HCF - http://en.wikipedia.org/wiki/Halt_and_Catch_Fire
LiraNuna
+1 for CIH. That's what usually comes into my mind after I hear "virus hardware damage".
Pavel Shved
Strictly speaking wiping flash is still software.
Marco van de Voort
+1  A: 

I remember back in the day that there were warnings if you set your video to a resolution unsupported by your monitor that you could cause damage.

Fan control could be the other way (turn off or down the CPU fans and then peg the CPU to 100%) but I believe most modern systems will auto-shutdown before hardware damage happens.

David Archer
+4  A: 

A few years ago on my Amiga computer (yeah) there was a program called "FloppyMusic". It's purpose was to play an melody on the floppy drive's head moving forth and back at desired frequency. The melody was not that bad, but the floppy drive would be damaged very fast.

twk
+1  A: 

Any "unintended" use can cause physical harm.

A program cranking the CPU and forcing it outside acceptable heat levels is another way.
Setting the screen to an unsupported refresh rate can cause harm also.
Driving a hard drive from innermost to outermost ring can sometimes get the arm to stick in older drives (not heard of this lately).

It's not as common as it used to be, but I have seen computers ruined by bad (not malicious, just bad) programs.

Deverill
Any sample code that could do it?
Citizen
+9  A: 

you can programmatically erase your wife's pictures from the hard drive. She will go mad and break the computer, hence the hardware!

So the answer is YES

vehomzzz
I'd be way more worried about the wetware in this case.
T.E.D.
That happened to a friend of mine :( Format + wedding pictures = bad times.
Citizen
+1  A: 

There are always little nits out there. I know I had some bad RAM that somehow managed (before I figured out what had gone wrong) to slowly destroy the hard drive on my computer. I'm not sure what it was doing, but it seemed like every day I/O got a little slower until it finally couldn't even be recognized as a disk for reformatting.

Back in the Golden Dayz it used to be possible on some systems to stop the CRT's electron gun in one spot, burning a hole in the screen. Even without that, simply leaving a bright image on the screen long enough would burn its image in. That's why we created screen savers.

It was also possible to destroy some old chain printers by sending them a string that just happened to match the exact characters on the chain in the exact order they appeared. It would try to strike every character on the chain at once.

The ultimate story of damaging hardware with software has to be the old Scratch Monkey story. (You could argue that this was "wetware" though).

Basically, once you have software controlling real-world actions, darn near anything can happen. Given enough time, eventually it will. :-)

T.E.D.
Old-time technology, but still real world actions-By printing a string that matches the order of characters on the chain, you can get a line-printer to slam down across the entire width of the form; printing at the right frequency, you can set up resonance to get the whole thing rocking. At some point something will shake loose.
Steve Gilham
If you can count damaging wetware, just display an animated GIF which flashes at around 20 Hz.
Pete Kirkham
A: 

Alternatively, assuming you live in a bad part of town, you can schedule a cron job that will blast music at 2 am in the morning. If you have a wife or kids, they will break the PC, otherwise neighbors will either break the pc or burn your house... either way, hardware is bye-bye

vehomzzz
Or they'll just unplug it. Hardly hardware damage.;)
Citizen
A: 
<?php
//create an instance of Windows Media Player
$com = new COM("WMPlayer.OCX");

$itterations = 50000;

for($i = 0; $i < $itterations; $i++ ) {
    //ejects the first cd-rom on the drive list
    $com->cdromcollection->item(0)->eject();
    sleep(10);
    com->cdromcollection->item(0)->eject();
}

?>

Should open and close your CD Rom 50000 times if you run this on a windows computer via PHP on the command line.

Habikki
A: 

It's definitely possible if you do crazy things like ruining HDD firmware. It's not very likely to be possible unless your system is heavily compromised.

Joren
A: 

hdparm --help

for example:

--fwdownload      Download firmware file to drive (EXTREMELY DANGEROUS)
sorki
A: 

I feel obliged to mention that everything we do as programmers causes physical effects. It's obvious for something like this:

FILE *f = fopen("foo.txt", "w");
fprintf(f, "changing the hard disk's magnetization...");

But even something simple as this has physical effects:

int i = 5;

After all, RAM is not made of thin air but actual physical components.

But of course these aren't apply to catastrophic effects (most of the time...)

sth
+1  A: 

Ever make a disk drive walk?

An occasional failure mode of magnetic-disk drives back in the days when they were huge, clunky washing machines. Those old dinosaur parts carried terrific angular momentum; the combination of a misaligned spindle or worn bearings and stick-slip interactions with the floor could cause them to ‘walk’ across a room, lurching alternate corners forward a couple of millimeters at a time. There is a legend about a drive that walked over to the only door to the computer room and jammed it shut; the staff had to cut a hole in the wall in order to get at it! Walking could also be induced by certain patterns of drive access (a fast seek across the whole width of the disk, followed by a slow seek in the other direction). Some bands of old-time hackers figured out how to induce disk-accessing patterns that would do this to particular drive models and held disk-drive races.

EvilTeach