Acomputer worm is a standalonemalwarecomputer program that replicates itself in order to spread to other computers.[1] It often uses acomputer 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.[2] Computer worms userecursive methods to copy themselves without host programs and distribute themselves based on exploiting the advantages ofexponential growth, thus controlling and infecting more and more computers in a short time.[3] Worms almost always cause at least some harm to the network, even if only by consumingbandwidth, whereasviruses 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 theMorris worm andMydoom showed, even these "payload-free" worms can cause major disruption by increasing network traffic and other unintended effects.
The first ever computer worm is generally accepted to be a self-replicating version ofCreeper created byRay Tomlinson and Bob Thomas atBBN in 1971 to replicate itself across theARPANET.[4][5] Tomlinson also devised the firstantivirus software, namedReaper, to delete the Creeper program.
The term "worm" was first used in this sense inJohn 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 people 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!"[6] "Then the answer dawned on him, and he almost laughed. Fluckner had resorted to one of the oldest tricks in the store and turned loose in the continental net a self-perpetuating tapeworm, probably headed by a denunciation group "borrowed" from a major corporation, which would shunt itself from one nexus to another every time his credit-code was punched into a keyboard. It could take days to kill a worm like that, and sometimes weeks."[6]
On November 2, 1988,Robert Tappan Morris, aCornell University computer science graduate student, unleashed what became known as theMorris worm, disrupting many computers then on the Internet, guessed at the time to be one tenth of all those connected.[8] 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 theCERT Coordination Center[9] and Phage mailing list.[10] Morris himself became the first person tried and convicted under the 1986Computer Fraud and Abuse Act.[11]
Conficker, a computer worm discovered in 2008 that primarily targetedMicrosoft Windows operating systems, is a worm that employs three different spreading strategies: local probing, neighborhood probing, and global probing.[12] This worm was considered a hybrid epidemic and affected millions of computers. The term "hybrid epidemic" is used because of the three separate methods it employed to spread, which was discovered through code analysis.[13]
Computer viruses generally require a host program.[14] 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 thehost program, but can run independently and actively carry out attacks.[15][16]
Exploit 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" virusexploitsvulnerabilities to attack.
Complexity
Some worms are combined with web page scripts, and are hidden inHTML pages usingVBScript,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 withbackdoor programs orTrojan horses, such as "Code Red".[17]
Contagiousness
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 throughshared folders,e-mails,[18] malicious web pages, and servers with a large number of vulnerabilities in the network.[19]
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., theExploreZip worm), encrypt files in aransomware attack, orexfiltrate data such as confidential documents or passwords.[20]
Some worms may install abackdoor. This allows the computer to be remotely controlled by the worm author as a "zombie". Networks of such machines are often referred to asbotnets and are very commonly used for a range of malicious purposes, including sendingspam or performingDoS attacks.[21][22][23]
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 (e.g.:[1]) inWindows systems and SiemensSIMATICWinCC 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 drive into the system's USB interface, the virus will be able to gain control of the system without any other operational requirements or prompts.[24][25][26]
Worms spread by exploiting vulnerabilities in operating systems.Vendors with security problems supply regular security updates[27] (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, azero-day attack is possible.
Users need to be wary of opening unexpected emails,[28][29] and should not run attached files or programs, or visit web sites that are linked to such emails. However, as with theILOVEYOU worm, and with the increased growth and efficiency ofphishing attacks, it remains possible to trick the end-user into running malicious code.
Anti-virus andanti-spyware software are helpful, but must be kept up-to-date with new pattern files at least every few days. The use of afirewall is also recommended.
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 runningfirewall and antivirus software.[30]
Infections can sometimes be detected by their behavior - typically scanning the Internet randomly, looking for vulnerable hosts to infect.[31][32] In addition, machine learning techniques can be used to detect new worms, by analyzing the behavior of the suspected computer.[33]
Ahelpful worm oranti-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 atXerox PARC, there have been attempts to create useful worms. Those worms allowedJohn Shoch and Jon Hupp to test theEthernet principles on their network ofXerox Alto computers.[34] Similarly, theNachi 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.[35] 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 asmalware. Another example of this approach isRoku OS patching a bug allowing for Roku OS to be rooted via an update to their screensaver channels, which the screensaver would attempt to connect to the telnet and patch the device.[36]
One study proposed the first computer worm that operates on the second layer of theOSI model (Data link Layer), utilizing topology information such asContent-addressable memory (CAM) tables and Spanning Tree information stored in switches to propagate and probe for vulnerable nodes until the enterprise network is covered.[37]
Anti-worms have been used to combat the effects of theCode Red,[38]Blaster, andSanty worms.Welchia is an example of a helpful worm.[39] Utilizing the same deficiencies exploited by theBlaster worm, Welchia infected computers and automatically began downloadingMicrosoft security updates forWindows 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.[39]
Other examples of helpful worms are "Den_Zuko", "Cheeze", "CodeGreen", and "Millenium".[39]
Art worms support artists in the performance of massive scale ephemeral artworks. It turns the infected computers into nodes that contribute to the artwork.[40]
^IEEE Annals of the History of Computing. Vol. 27–28. IEEE Computer Society. 2005. p. 74.[...]from one machine to another led to experimentation with theCreeper program, which became the world's first computer virus: a computation that used the network to recreate itself on another node, and spread from node to node. The source code of creeper remains unknown.
^Yeo, Sang-Soo. (2012).Computer science and its applications : CSA 2012, Jeju, Korea, 22-25.11.2012. Springer. p. 515.ISBN978-94-007-5699-1.OCLC897634290.
^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.ISSN1045-9219.S2CID2242419.
^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,ISBN978-3-319-56972-7
^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. Vol. 109. Paris, France: Atlantis Press.doi:10.2991/csss-14.2014.86.ISBN978-94-6252-012-7.
^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.
^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.S2CID1097834.