Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Reminds me of a tricky situation I got myself into :

When I was in college, I wrote a simple worm to display a new year greeting on all computers it infects. Once it infects a computer, it did the following: 1. it replicated itself to as many computers as possible 2. Displayed the greeting (till user acknowledges it through a key press) 3. self delete (in the hope that it will quickly die by itself)

I seeded it in one of the computers in our college network. I didn't expect it to be so effective; It spread itself very quickly in the entire network. With self-delete, I thought it would die on its own. I was wrong. Machines kept infecting each other in a perpetual loop. The only way I could stop it was to write a new version that replicated, and cleaned the first version. This new version kept replicating in the network even after a year. This new version was not doing anything visible to the user, and I was saved :)



You should have included another functionality to check the current date, like, it should stop spreading and just delete itself if it's already in April. ;)


Good thought :) When I put out the first version, I haven't really understood the consequences or its effectiveness; In fact it had my code name in the greeting :( When it first appeared, people found it amusing; but it quickly went out of control and kept appearing again and again. This annoyed people. I was in trouble. I had to quickly find a solution in that panic.


That's exactly the mistake that Robert Morris (of the infamous Sendmail worm[1]) made: he kept re-infecting the machines.

[1] https://en.wikipedia.org/wiki/Morris_worm


Yeah, I read about Morris worm a year later in my networking textbook. It was a good feeling to realize what I have done was similar in nature. Of course, Morris worm was a real technical exploit (buffer overflow was involved IIRC) Mine was nowhere comparable to that in sophistication.


technically speaking, how did you handle the replication across the network (nmap && scp?)?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: