A computer worm is a standalone malware computer program that replicates itself in order to spread to other computers. It often uses a computer network to spread itself, relying on security failures on the target computer to access it. It will use this machine as a host to scan and infect other computers. When these new worm-invaded computers are controlled, the worm will continue to scan and infect other computers using these computers as hosts, and this behaviour will continue. Computer worms use recursive methods to copy themselves without host programs and distribute themselves based on the law of exponential growth, thus controlling and infecting more and more computers in a short time. Worms almost always cause at least some harm to the network, even if only by consuming bandwidth, whereas viruses almost always corrupt or modify files on a targeted computer.
Many worms are designed only to spread, and do not attempt to change the systems they pass through. However, as the Morris worm and Mydoom showed, even these "payload-free" worms can cause major disruption by increasing network traffic and other unintended effects.
The actual term "worm" was first used in John Brunner's 1975 novel, The Shockwave Rider. In the novel, Nichlas Haflinger designs and sets off a data-gathering worm in an act of revenge against the powerful men who run a national electronic information web that induces mass conformity. "You have the biggest-ever worm loose in the net, and it automatically sabotages any attempt to monitor it. There's never been a worm with that tough a head or that long a tail!"
The first ever computer worm was devised to be an anti-virus software. Named Reaper, it was created by Ray Tomlinson to replicate itself across the ARPANET and delete the experimental Creeper program. On November 2, 1988, Robert Tappan Morris, a Cornell University computer science graduate student, unleashed what became known as the Morris worm, disrupting many computers then on the Internet, guessed at the time to be one tenth of all those connected. During the Morris appeal process, the U.S. Court of Appeals estimated the cost of removing the worm from each installation at between $200 and $53,000; this work prompted the formation of the CERT Coordination Center and Phage mailing list. Morris himself became the first person tried and convicted under the 1986 Computer Fraud and Abuse Act.
Computer viruses generally require a host program. The virus writes its own code into the host program. When the program runs, the written virus program is executed first, causing infection and damage. A worm does not need a host program, as it is an independent program or code chunk. Therefore, it is not restricted by the host program, but can run independently and actively carry out attacks.
Because a worm is not limited by the host program, worms can take advantage of various operating system vulnerabilities to carry out active attacks. For example, the "Nimda" virus exploits vulnerabilities to attack.
Some worms are combined with web page scripts, and are hidden in HTML pages using VBScript, ActiveX and other technologies. When a user accesses a webpage containing a virus, the virus automatically resides in memory and waits to be triggered. There are also some worms that are combined with backdoor programs or Trojan horses, such as "Code Red".
Worms are more infectious than traditional viruses. They not only infect local computers, but also all servers and clients on the network based on the local computer. Worms can easily spread through shared folders, e-mails, malicious web pages, and servers with a large number of vulnerabilities in the network.
Any code designed to do more than spread the worm is typically referred to as the "payload". Typical malicious payloads might delete files on a host system (e.g., the ExploreZip worm), encrypt files in a ransomware attack, or exfiltrate data such as confidential documents or passwords.
Some worms may install a backdoor. This allows the computer to be remotely controlled by the worm author as a "zombie". Networks of such machines are often referred to as botnets and are very commonly used for a range of malicious purposes, including sending spam or performing DoS attacks.
Some special worms attack industrial systems in a targeted manner. Stuxnet was primarily transmitted through LANs and infected thumb-drives, as its targets were never connected to untrusted networks, like the internet. This virus can destroy the core production control computer software used by chemical, power generation and power transmission companies in various countries around the world - in Stuxnet's case, Iran, Indonesia and India were hardest hit - it was used to "issue orders" to other equipment in the factory, and to hide those commands from being detected. Stuxnet used multiple vulnerabilities and four different zero-day exploits (eg: ) in Windows systems and Siemens SIMATICWinCC systems to attack the embedded programmable logic controllers of industrial machines. Although these systems operate independently from the network, if the operator inserts a virus-infected disk into the system's USB interface, the virus will be able to gain control of the system without any other operational requirements or prompts.
Worms spread by exploiting vulnerabilities in operating systems. Vendors with security problems supply regular security updates (see "Patch Tuesday"), and if these are installed to a machine, then the majority of worms are unable to spread to it. If a vulnerability is disclosed before the security patch released by the vendor, a zero-day attack is possible.
Users need to be wary of opening unexpected email, and should not run attached files or programs, or visit web sites that are linked to such emails. However, as with the ILOVEYOU worm, and with the increased growth and efficiency of phishing attacks, it remains possible to trick the end-user into running malicious code.
Users can minimize the threat posed by worms by keeping their computers' operating system and other software up to date, avoiding opening unrecognized or unexpected emails and running firewall and antivirus software.
Mitigation techniques include:
- ACLs in routers and switches
- TCP Wrapper/ACL enabled network service daemons
Infections can sometimes be detected by their behavior - typically scanning the Internet randomly, looking for vulnerable hosts to infect. In addition, machine learning techniques can be used to detect new worms, by analyzing the behavior of the suspected computer.
Worms with good intentEdit
A helpful worm or anti-worm is a worm designed to do something that its author feels is helpful, though not necessarily with the permission of the executing computer's owner. Beginning with the first research into worms at Xerox PARC, there have been attempts to create useful worms. Those worms allowed John Shoch and Jon Hupp to test the Ethernet principles on their network of Xerox Alto computers. Similarly, the Nachi family of worms tried to download and install patches from Microsoft's website to fix vulnerabilities in the host system by exploiting those same vulnerabilities. In practice, although this may have made these systems more secure, it generated considerable network traffic, rebooted the machine in the course of patching it, and did its work without the consent of the computer's owner or user. Regardless of their payload or their writers' intentions, security experts regard all worms as malware.
One study proposed the first computer worm that operates on the second layer of the OSI model (Data link Layer), utilizing topology information such as Content-addressable memory (CAM) tables and Spanning Tree information stored in switches to propagate and probe for vulnerable nodes until the enterprise network is covered.
Anti-worms have been used to combat the effects of the Code Red, Blaster, and Santy worms. Welchia is an example of a helpful worm. Utilizing the same deficiencies exploited by the Blaster worm, Welchia infected computers and automatically began downloading Microsoft security updates for Windows without the users' consent. Welchia automatically reboots the computers it infects after installing the updates. One of these updates was the patch that fixed the exploit.
Other examples of helpful worms are "Den_Zuko", "Cheeze", "CodeGreen", and "Millenium".
- Code Shikara (Worm)
- Computer and network surveillance
- Computer virus
- Email spam
- Father Christmas (computer worm)
- Self-replicating machine
- Technical support scam – unsolicited phone calls from a fake "tech support" person, claiming that the computer has a virus or other problems
- Timeline of computer viruses and worms
- Trojan horse (computing)
- XSS worm
- Zombie (computer science)
- Barwise, Mike. "What is an internet worm?". BBC. Retrieved 9 September 2010.
- Zhang, Changwang; Zhou, Shi; Chain, Benjamin M. (2015-05-15). "Hybrid Epidemics—A Case Study on Computer Worm Conficker". PLOS ONE. 10 (5): e0127478. arXiv:1406.6046. Bibcode:2015PLoSO..1027478Z. doi:10.1371/journal.pone.0127478. ISSN 1932-6203. PMC 4433115. PMID 25978309.
- Marion, Jean-Yves (2012-07-28). "From Turing machines to computer viruses". Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences. 370 (1971): 3319–3339. Bibcode:2012RSPTA.370.3319M. doi:10.1098/rsta.2011.0332. ISSN 1364-503X. PMID 22711861.
- Brunner, John (1975). The Shockwave Rider. New York: Ballantine Books. ISBN 978-0-06-010559-4.
- "The Submarine". www.paulgraham.com.
- "Security of the Internet". CERT/CC.
- "Phage mailing list". securitydigest.org. Archived from the original on 2011-07-26. Retrieved 2014-09-17.
- Dressler, J. (2007). "United States v. Morris". Cases and Materials on Criminal Law. St. Paul, MN: Thomson/West. ISBN 978-0-314-17719-3.
- "Worm vs. Virus: What's the Difference and Does It Matter?". Worm vs. Virus: What's the Difference and Does It Matter?. Retrieved 2021-10-08.
- Yeo, Sang-Soo. (2012). Computer science and its applications : CSA 2012, Jeju, Korea, 22-25.11.2012. Springer. p. 515. ISBN 978-94-007-5699-1. OCLC 897634290.
- Yu, Wei; Zhang, Nan; Fu, Xinwen; Zhao, Wei (October 2010). "Self-Disciplinary Worms and Countermeasures: Modeling and Analysis". IEEE Transactions on Parallel and Distributed Systems. 21 (10): 1501–1514. doi:10.1109/tpds.2009.161. ISSN 1045-9219. S2CID 2242419.
- Brooks, David R. (2017), "Introducing HTML", Programming in HTML and PHP, Undergraduate Topics in Computer Science, Springer International Publishing, pp. 1–10, doi:10.1007/978-3-319-56973-4_1, ISBN 978-3-319-56972-7
- Lawton, George (June 2009). "On the Trail of the Conficker Worm". Computer. 42 (6): 19–22. doi:10.1109/mc.2009.198. ISSN 0018-9162. S2CID 15572850.
- Ray, Tiernan (February 18, 2004). "Business & Technology: E-mail viruses blamed as spam rises sharply". The Seattle Times. Archived from the original on August 26, 2012. Retrieved May 18, 2007.
- McWilliams, Brian (October 9, 2003). "Cloaking Device Made for Spammers". Wired.
- "Hacker threats to bookies probed". BBC News. February 23, 2004.
- Bronk, Christopher; Tikk-Ringas, Eneken (May 2013). "The Cyber Attack on Saudi Aramco". Survival. 55 (2): 81–96. doi:10.1080/00396338.2013.784468. ISSN 0039-6338. S2CID 154754335.
- Lindsay, Jon R. (July 2013). "Stuxnet and the Limits of Cyber Warfare". Security Studies. 22 (3): 365–404. doi:10.1080/09636412.2013.816122. ISSN 0963-6412. S2CID 154019562.
- Wang, Guangwei; Pan, Hong; Fan, Mingyu (2014). "Dynamic Analysis of a Suspected Stuxnet Malicious Code". Proceedings of the 3rd International Conference on Computer Science and Service System. Paris, France: Atlantis Press. 109. doi:10.2991/csss-14.2014.86. ISBN 978-94-6252-012-7.
- "USN list". Ubuntu. Retrieved 2012-06-10.
- "Threat Description Email-Worm". Archived from the original on 2018-01-16. Retrieved 2018-12-25.
- "Email-Worm:VBS/LoveLetter Description | F-Secure Labs". www.f-secure.com.
- "Computer Worm Information and Removal Steps". Veracode. 2014-02-02. Retrieved 2015-04-04.
- Sellke, S. H.; Shroff, N. B.; Bagchi, S. (2008). "Modeling and Automated Containment of Worms". IEEE Transactions on Dependable and Secure Computing. 5 (2): 71–86. doi:10.1109/tdsc.2007.70230.
- "A New Way to Protect Computer Networks from Internet Worms". Newswise. Retrieved July 5, 2011.
- Moskovitch, Robert; Elovici, Yuval; Rokach, Lior (2008). "Detection of unknown computer worms based on behavioral classification of the host". Computational Statistics & Data Analysis. 52 (9): 4544–4566. doi:10.1016/j.csda.2008.01.028.
- Shoch, John; Hupp, Jon (Mar 1982). "The "Worm" Programs - Early Experience with a Distributed Computation". Communications of the ACM. 25 (3): 172–180. doi:10.1145/358453.358455. S2CID 1639205.
- "Virus alert about the Nachi worm". Microsoft.
- Al-Salloum, Z. S.; Wolthusen, S. D. (2010). "A link-layer-based self-replicating vulnerability discovery agent". The IEEE symposium on Computers and Communications. p. 704. doi:10.1109/ISCC.2010.5546723. ISBN 978-1-4244-7754-8. S2CID 3260588.
- "vnunet.com 'Anti-worms' fight off Code Red threat". Sep 14, 2001. Archived from the original on 2001-09-14.
- The Welchia Worm. December 18, 2003. p. 1. Retrieved 9 June 2014.
- Malware Guide – Guide for understanding, removing and preventing worm infections on Vernalex.com.
- "The 'Worm' Programs – Early Experience with a Distributed Computation", John Shoch and Jon Hupp, Communications of the ACM, Volume 25 Issue 3 (March 1982), pp. 172–180.
- "The Case for Using Layered Defenses to Stop Worms", Unclassified report from the U.S. National Security Agency (NSA), 18 June 2004.
- Worm Evolution (archived link), paper by Jago Maniscalchi on Digital Threat, 31 May 2009.