Named after the Trojan Horse of Greek legend, a trojan is a program or file that has, or appears to have, a useful or desirable function to encourage the user to install the program or open the file. For example, it may appear to be a screensaver, a service pack, an application update and so on. When run however, the program performs an unexpected harmful action, or actions.
Some trojans need specific programs to be installed on the computer before they can run. Java-based trojans are written in the Java programming language, which can only be run by the Java Runtime Environment (JRE) application. The JRE is a very popular business application that can still be found on many computers around the world.
Trojans rely on tricking the user into believing that the program is authentic, so that they unwittingly install the program themselves.
To do this, most trojans mimic or entirely copy the style and branding of popular legitimate programs or files. Some trojans (particularly on the Android platform) are actually copies of legitimate apps that have been repackaged or trojanized to include harmful components.
Once installed or opened, the trojan may perform its promised function, or display a decoy document to distract the user. In the background however, it also silently performs unauthorized actions (its payload), without the user's knowledge or consent.
Depending on its creator's intent, a trojan's payload can range from:
- Mildly annoying pranks, like changing desktop icon positions, to
- Serious, user-inhibiting actions, like disabling the keyboard or mouse, to
- Critically destructive actions, like erasing files or stealing data
It is often very difficult for users to realize that a trojan is performing harmful actions, as they are usually well camouflaged to keep the system from triggering any notification messages that might arouse the user's suspicions.