A logic bomb is a piece of code intentionally inserted into a software system that will set off a malicious function when specified conditions are met. For example, a programmer may hide a piece of code that starts deleting files (such as a salary database trigger), should they ever be terminated from the company.
Software that is inherently malicious, such as viruses and worms, often contain logic bombs that execute a certain payload at a pre-defined time or when some other condition is met. This technique can be used by a virus or worm to gain momentum and spread before being noticed. Some viruses attack their host systems on specific dates, such as Friday the 13th or April Fools' Day. Trojans and other computer viruses that activate on certain dates are often called "time bombs".
To be considered a logic bomb, the payload should be unwanted and unknown to the user of the software. As an example, trial programs with code that disables certain functionality after a set time are not normally regarded as logic bombs.
It has been reported that in 1982, the Trans-Siberian Pipeline incident occurred because of a logic bomb. (It was later reported that this story may be a hoax.) A KGB operative was reported to have stolen the plans for a sophisticated control system and its software from a Canadian firm, for use on its Siberian pipeline. The Central Intelligence Agency (CIA) was supposedly tipped off by documents in the Farewell Dossier and had the company insert a logic bomb in the program for sabotage purposes.