Revision as of 20:04, 27 August 2008 editEcthelion83 (talk | contribs)Extended confirmed users3,525 editsm →Virus removal← Previous edit | Latest revision as of 23:03, 30 December 2024 edit undoIiii I I I (talk | contribs)Extended confirmed users, Pending changes reviewers, Rollbackers3,923 edits Reverted 1 edit by 2600:8801:3502:100:B868:DBD:63D4:EB6F (talk) to last revision by Ton CirtTags: Twinkle Undo | ||
Line 1: | Line 1: | ||
{{short description|Computer program that modifies other programs to replicate itself and spread}} | |||
A '''computer virus''' is a ] that can copy itself and infect a computer without permission or knowledge of the user. The term "virus" is also commonly used, albeit erroneously, to refer to many different types of ] and ] programs. The original virus may modify the copies, or the copies may modify themselves, as occurs in a ]. A virus can only spread from one computer to another when its host is taken to the uninfected computer, for instance by a user sending it over a network or the Internet, or by carrying it on a removable medium such as a ], ], or ]. Meanwhile viruses can spread to other computers by infecting files on a ] or a file system that is accessed by another computer. Viruses are sometimes confused with ]s and ]. A worm can spread itself to other computers without needing to be transferred as part of a host, and a Trojan horse is a file that appears harmless. Worms and Trojans may cause harm to either a computer system's hosted data, functional performance, or networking throughput, when executed. In general, a worm does not actually harm either the system's hardware or software, while at least in theory, a Trojan's payload may be capable of almost any type of harm if executed. Some can't be seen when the program is not running, but as soon as the infected code is run, the Trojan horse kicks in. That is why it is so hard for people to find viruses and other malware themselves and why they have to use spyware programs and registry processors. | |||
] of the ] virus, generally regarded as the first computer virus for the IBM Personal Computer (IBM PC) and compatibles]] | |||
A '''computer virus'''<ref name=Virus.NYT2014>{{cite news | newspaper=] | url=https://www.nytimes.com/times-insider/2014/08/06/1988-the-internet-comes-down-with-a-virus | title=The Internet comes down with a virus | date=August 6, 2014 | access-date=September 3, 2020 | archive-date=April 11, 2020 | archive-url=https://web.archive.org/web/20200411104243/https://www.nytimes.com/times-insider/2014/08/06/1988-the-internet-comes-down-with-a-virus/ | url-status=live }}</ref> is a type of ] that, when executed, replicates itself by modifying other ] and ] its own ] into those programs.<ref>{{bulleted list |{{cite book | last=Stallings |first=William |title=Computer security : principles and practice | publisher=Pearson |location=Boston |year=2012 |isbn=978-0-13-277506-9 |page=182}} |{{cite web |title=Worm vs. Virus: What's the Difference and Does It Matter? |url=https://www.avast.com/c-worm-vs-virus |website=Avast Academy |publisher=Avast Software s.r.o. |access-date=9 March 2021 |archive-date=15 March 2021 |archive-url=https://web.archive.org/web/20210315052312/https://www.avast.com/c-worm-vs-virus |url-status=live }} |}}</ref><ref>{{Cite journal |last1=Piqueira |first1=Jose R.C. |last2=de Vasconcelos |first2=Adolfo A. |last3=Gabriel |first3=Carlos E.C.J. |last4=Araujo |first4=Vanessa O. |date=2008 |title=Dynamic models for computer viruses |url=https://linkinghub.elsevier.com/retrieve/pii/S0167404808000412 |journal=Computers & Security |language=en |volume=27 |issue=7–8 |pages=355–359 |doi=10.1016/j.cose.2008.07.006 |access-date=2022-10-30 |archive-date=2022-12-28 |archive-url=https://web.archive.org/web/20221228052348/https://linkinghub.elsevier.com/retrieve/pii/S0167404808000412 |url-status=live |issn = 0167-4048 }}</ref> If this replication succeeds, the affected areas are then said to be "infected" with a computer virus, a metaphor derived from biological ]es.<ref>{{Bulleted list |{{cite web | url=http://vx.netlux.org/lib/aas10.html | author=Alan Solomon |title=All About Viruses | website= VX Heavens |date=2011-06-14 |access-date=2014-07-17 | url-status=dead |archive-url=https://web.archive.org/web/20120117091338/http://vx.netlux.org/lib/aas10.html | archive-date=2012-01-17 }} |{{cite book | author=Aycock, John |title=Computer Viruses and Malware | url=https://archive.org/details/computervirusesm00ayco | url-access=limited |publisher=Springer |year=2006 |isbn=978-0-387-30236-2 | page=}} |}}</ref> | |||
Most personal computers are now connected to the Internet and to ]s, facilitating the spread of malicious code. Today's viruses may also take advantage of network services such as the ], ], ] and ] systems to spread, blurring the line between viruses and worms. Furthermore, some sources use an alternative terminology in which a virus is any form of self-replicating ]. | |||
Computer viruses generally require a ].<ref name="Avast">{{cite web |title=Worm vs. Virus: What's the Difference and Does It Matter? |url=https://www.avast.com/c-worm-vs-virus |website=Avast Academy |publisher=Avast Software s.r.o. |access-date=9 March 2021 |archive-date=15 March 2021 |archive-url=https://web.archive.org/web/20210315052312/https://www.avast.com/c-worm-vs-virus |url-status=live }}</ref> 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. By contrast, a ] does not need a host program, as it is an independent program or code chunk. Therefore, it is not restricted by the ], but can run independently and actively carry out attacks.<ref>{{Cite book|last=Yeo, Sang-Soo.|title=Computer science and its applications : CSA 2012, Jeju, Korea, 22-25.11.2012|date=2012|publisher=Springer|isbn=978-94-007-5699-1|pages=515|oclc=897634290}}</ref><ref>{{Cite journal|last1=Yu|first1=Wei|last2=Zhang|first2=Nan|last3=Fu|first3=Xinwen|last4=Zhao|first4=Wei|date=October 2010|title=Self-Disciplinary Worms and Countermeasures: Modeling and Analysis|journal=IEEE Transactions on Parallel and Distributed Systems|volume=21|issue=10|pages=1501–1514|doi=10.1109/tpds.2009.161|s2cid=2242419|issn=1045-9219}}</ref> | |||
Some malware is programmed to damage the computer by damaging programs, deleting files, or reformatting the hard disk. Other malware programs are not designed to do any damage, but simply replicate themselves and perhaps make their presence known by presenting text, video, or audio messages. Even these less sinister malware programs can create problems for the ]. They typically take up ] used by legitimate programs. As a result, they often cause erratic behavior and can result in system crashes. In addition, much malware is ]-ridden, and these bugs may lead to system crashes and ]. Many CiD programs are programs that have been downloaded by the user and pop up every so often. This results in slowing down of the computer, but it is also very difficult to find and stop the problem. | |||
Virus writers use ] ]s and exploit detailed knowledge of ] to initially infect systems and to spread the virus. Viruses use complex anti-detection/stealth strategies to evade ].<ref>{{Bulleted list |{{cite book | author=Filiol, Eric | title=Computer viruses: from theory to applications | url=https://archive.org/details/computervirusesf00fili_399|url-access=limited | publisher=Springer |year=2005 |isbn=978-2-287-23939-7 | page=}} |{{cite book | author=Harley, David | title=Viruses Revealed | url=https://archive.org/details/virusesrevealed00harl | url-access=registration |publisher=McGraw-Hill |year=2001 | isbn=0-07-222818-0 |page=|display-authors=etal}} |{{cite book | author=Ludwig, Mark A. | title=The Little Black Book of Computer Viruses: Volume 1, The Basic Technologies | year=1996 |isbn=0-929408-02-0 |pages=16–17| publisher=American Eagle Publications }} |{{cite book | author=Aycock, John | title=Computer Viruses and Malware |publisher=Springer |year=2006 |isbn=978-0-387-30236-2 | page= | url=https://archive.org/details/computervirusesm00ayco | url-access=limited}} |}}</ref> Motives for creating viruses can include seeking ] (e.g., with ]), desire to send a political message, personal amusement, to demonstrate that a vulnerability exists in software, for ] and ], or simply because they wish to explore ] issues, ] and ]s.<ref>{{cite book | editor=Bell, David J. | display-editors=et al | chapter=Virus |title=Cyberculture: The Key Concepts |publisher=Routledge | year=2004 |isbn=9780203647059 | page= | chapter-url=https://books.google.com/books?id=5MFWZK0CSOQC&pg=PA154 | url=https://archive.org/details/cyberculturekeyc0000unse/page/154}}</ref> | |||
==History== | |||
The Creeper virus was first detected on ], the forerunner of the Internet in the early 1970s.<ref>{{cite web |url=http://www.viruslist.com/en/viruses/encyclopedia?chapter=153310937 |title=Virus list |accessdate=2008-02-07 |format= |work= }}</ref> It propagated via the ] operating system and could make use of any connected modem to dial out to remote computers and infect them. It would display the message "I'M THE CREEPER : CATCH ME IF YOU CAN.". It is rumored{{Who|date=January 2008}} that the Reaper program, which appeared shortly after and sought out copies of the Creeper and deleted them, may have been written by the creator of the Creeper in a fit of regret.{{Or|date=January 2008}} | |||
As of 2013, computer viruses caused billions of dollars' worth of economic damage each year.<ref name=VirusBillions>{{cite web | title=Viruses that can cost you|url=http://www.symantec.com/region/reg_eu/resources/virus_cost.html | url-status=dead | archive-url=https://web.archive.org/web/20130925202024/http://www.symantec.com/region/reg_eu/resources/virus_cost.html | archive-date=2013-09-25}}</ref> In response, an industry of ] has cropped up, selling or freely distributing virus protection to users of various ]s.<ref>{{cite news | last1=Granneman |first1=Scott |title=Linux vs. Windows Viruses | url=https://www.theregister.co.uk/2003/10/06/linux_vs_windows_viruses | newspaper=] |access-date=September 4, 2015 |url-status=live |archive-url=https://web.archive.org/web/20150907054536/http://www.theregister.co.uk/2003/10/06/linux_vs_windows_viruses | archive-date=September 7, 2015}}</ref> | |||
A common misconception is that a program called "]" was the first computer virus to appear "in the wild" — that is, outside the single computer or lab where it was created, but that claim is false. See the ] for other earlier viruses. It was however the first virus to infect computers "in the home". Written in 1982 by ], it attached itself to the ] 3.3 operating system and spread by ].<ref>{{cite web|url=http://news.yahoo.com/s/ap/20070831/ap_on_hi_te/computer_virus_anniversary;_ylt=A9G_R3Ga1NhGH0QBIwZk24cA|title=Prank starts 25 years of security woes|author=Anick Jesdanun}}{{cite web|url=http://www.cnn.com/2007/TECH/09/03/computer.virus.ap/|title=The anniversary of a nuisance}}</ref> This virus was originally a joke, created by a high school student and put onto a game on floppy disk. On its 50th use the ] virus would be activated, infecting the computer and displaying a short poem beginning "Elk Cloner: The program with a personality". | |||
== History == | |||
The first PC virus in the wild was a boot sector virus called ]<ref></ref>, created in 1986 by the ], operating out of ]. The brothers reportedly created the virus to deter pirated copies of software they had written. However, analysts have claimed that the Ashar virus, a variant of Brain, possibly predated it based on code within the virus.{{Or|date=January 2008}} | |||
{{See also|History of antivirus software|History of ransomware|History of malware}} | |||
{{further|Timeline of computer viruses and worms|Malware research}} | |||
The first academic work on the theory of self-replicating computer programs was done in 1949 by ] who gave lectures at the ] about the "Theory and Organization of Complicated ]". The work of von Neumann was later published as the "Theory of self-reproducing automata". In his essay von Neumann described how a computer program could be designed to reproduce itself.<ref>{{Cite journal | last = von Neumann | first = John | title = Theory of Self-Reproducing Automata | journal = Essays on Cellular Automata | pages = 66–87 | publisher = University of Illinois Press | year = 1966 | url = http://cba.mit.edu/events/03.11.ASE/docs/VonNeumann.pdf | access-date = June 10, 2010 | url-status = live | archive-url = https://web.archive.org/web/20100613093426/http://cba.mit.edu/events/03.11.ASE/docs/VonNeumann.pdf | archive-date = June 13, 2010 }}</ref> Von Neumann's design for a self-reproducing computer program is considered the world's first computer virus, and he is considered to be the theoretical "father" of computer virology.<ref>Éric Filiol, {{webarchive|url=https://web.archive.org/web/20170114003158/https://books.google.com/books?id=CZGLFf6IhCIC&pg=PA19 |date=2017-01-14 }}, Birkhäuser, 2005, pp. 19–38 {{ISBN|2-287-23939-1}}.</ref> In 1972, Veith Risak directly building on von Neumann's work on ], published his article "Selbstreproduzierende Automaten mit minimaler Informationsübertragung" (Self-reproducing automata with minimal information exchange).<ref> | |||
Before computer networks became widespread, most viruses spread on ], particularly ]s. In the early days of the ], many users regularly exchanged information and programs on floppies. Some viruses spread by infecting programs stored on these disks, while others installed themselves into the disk ], ensuring that they would be run when the user booted the computer from the disk, usually inadvertently. PCs of the era would attempt to boot first from a floppy if one had been left in the drive. This was the most successful infection strategy until floppy disks fell from favour, making boot sector viruses the most common in the wild<ref>Dr. Solomon's Virus Encyclopedia, 1995, ISBN 1 897661 00 2, Abstract at http://vx.netlux.org/lib/aas10.html</ref>. | |||
{{Citation | last = Risak | first = Veith | title = Selbstreproduzierende Automaten mit minimaler Informationsübertragung | journal = Zeitschrift für Maschinenbau und Elektrotechnik | year = 1972 | url = http://www.cosy.sbg.ac.at/~risak/bilder/selbstrep.html | url-status = live | archive-url = https://web.archive.org/web/20101005004854/http://www.cosy.sbg.ac.at/~risak/bilder/selbstrep.html | archive-date = 2010-10-05 }}</ref> The article describes a fully functional virus written in ] programming language for a SIEMENS 4004/35 computer system. In 1980, Jürgen Kraus wrote his '']'' thesis "Selbstreproduktion bei Programmen" (Self-reproduction of programs) at the ].<ref> | |||
Traditional computer viruses emerged in the 1980s, driven by the spread of personal computers and the resultant increase in ] and ] use, and software sharing. ] driven software sharing contributed directly to the spread of Trojan horse programs, and viruses were written to infect popularly traded software. ] and ] software were equally common ] for viruses on BBS's.{{Fact|date=January 2008}} Within the "pirate scene" of hobbyists trading illicit copies of ], traders in a hurry to obtain the latest applications and games were easy targets for viruses.{{Or|date=January 2008}} | |||
{{Citation | last = Kraus | first = Jürgen | title = Selbstreproduktion bei Programmen | date = February 1980 | url = http://vxheaven.org/lib/pdf/Selbstreproduktion%20bei%20programmen.pdf | url-status = dead | archive-url = https://web.archive.org/web/20150714224319/http://vxheaven.org/lib/pdf/Selbstreproduktion%20bei%20programmen.pdf | archive-date = 2015-07-14 | access-date = 2015-05-08 }}</ref> In his work Kraus postulated that computer programs can behave in a way similar to biological viruses. | |||
] virus 'Universal Peace', as displayed on a Mac in March 1988]] | |||
Since the mid-1990s, ]es have become common. Most of these viruses are written in the scripting languages for Microsoft programs such as ] and ]. These viruses spread in ] by infecting documents and spreadsheets. Since Word and Excel were also available for ], most of these viruses were able to spread on ] as well. Most of these viruses did not have the ability to send infected ]. Those viruses which did spread through e-mail took advantage of the ] ] interface.{{Fact|date=January 2008}} | |||
The ] was first detected on ], the forerunner of the ], in the early 1970s.<ref name=viruslist>{{cite web |url=http://www.viruslist.com/en/viruses/encyclopedia?chapter=153310937 |title=Virus list |access-date=2008-02-07 |url-status=dead |archive-url=https://web.archive.org/web/20061016141708/http://www.viruslist.com/en/viruses/encyclopedia?chapter=153310937 |archive-date=2006-10-16 }}</ref> Creeper was an experimental self-replicating program written by Bob Thomas at ] in 1971.<ref>{{cite web |url=http://vxheaven.org/lib/atc01.html|title=The Evolution of Viruses and Worms|author=Thomas Chen |author2=Jean-Marc Robert|year=2004|access-date=2009-02-16 |url-status=dead |archive-url=https://web.archive.org/web/20130809004515/http://vxheaven.org/lib/atc01.html |archive-date=2013-08-09}}</ref> Creeper used the ARPANET to infect ] ] computers running the ] operating system.<ref>{{cite book |author=Parikka, Jussi|title=Digital Contagions: A Media Archaeology of Computer Viruses|publisher=Peter Lang |year=2007|location=New York|isbn=978-0-8204-8837-0|page=50|url=https://books.google.com/books?id=yhe0w_j1iiQC&pg=PA50|url-status=live|archive-url=https://web.archive.org/web/20170316152944/https://books.google.com/books?id=yhe0w_j1iiQC&pg=PA50|archive-date=2017-03-16}}</ref> Creeper gained access via the ARPANET and copied itself to the remote system where the message, "I'M THE CREEPER. CATCH ME IF YOU CAN!" was displayed.<ref>{{cite web|url=https://www.historyofinformation.com/detail.php?entryid=2860|title=The Creeper Worm, the First Computer Virus|work=History of information|access-date=16 June 2022|archive-date=28 May 2022|archive-url=https://web.archive.org/web/20220528013032/https://www.historyofinformation.com/detail.php?entryid=2860|url-status=live}}{{Unreliable source?|uses Misplaced Pages|date=October 2022}}</ref> The ''Reaper'' program was created to delete Creeper.<ref>{{cite book |author1=Russell, Deborah |author2=Gangemi, G.T. |title=Computer Security Basics |publisher=O'Reilly |year=1991 |isbn=0-937175-71-4 |page= |url=https://archive.org/details/computersecurity00russ|url-access=registration }}</ref> | |||
Macro viruses pose unique problems for detection software{{Fact|date=January 2008}}. For example, some versions of Microsoft Word allowed macros to replicate themselves with additional blank lines. The virus behaved identically but would be misidentified as a new virus. In another example, if two macro viruses simultaneously infect a document, the combination of the two, if also self-replicating, can appear as a "mating" of the two and would likely be detected as a virus unique from the "parents".<ref>{{cite web|url=http://www.people.frisk-software.com/~bontchev/papers/macidpro.html|title=Macro Virus Identification Problems|work=FRISK Software International|author=Vesselin Bontchev}}</ref> | |||
In 1982, a program called "]" was the first personal computer virus to appear "in the wild"—that is, outside the single computer or computer lab where it was created.<ref name=prank>{{cite news |url=https://www.nbcnews.com/id/wbna20534084 |title=School prank starts 25 years of security woes |publisher=] |access-date=April 12, 2013 |author=Anick Jesdanun |date=1 September 2007 |url-status=live |archive-url=https://web.archive.org/web/20141220193528/http://www.nbcnews.com/id/20534084/#.UWgIGcrNOCY |archive-date=20 December 2014 }}</ref> Written in 1981 by ], a ninth grader at ] near ], it attached itself to the ] 3.3 operating system and spread via ].<ref name=prank/> On its 50th use the ] virus would be activated, infecting the personal computer and displaying a short poem beginning "Elk Cloner: The program with a personality." | |||
A virus may also send a ] link as an ] to all the contacts on an infected machine. If the recipient, thinking the link is from a friend (a trusted source) follows the link to the website, the virus hosted at the site may be able to infect this new computer and continue propagating. | |||
In 1984, ] from the ] wrote his paper "Computer Viruses – Theory and Experiments".<ref>{{Citation | last = Cohen | first = Fred | title = Computer Viruses – Theory and Experiments | year = 1984 | url = http://all.net/books/virus/index.html | url-status = live | archive-url = https://web.archive.org/web/20070218125016/http://www.all.net/books/virus/index.html | archive-date = 2007-02-18 }}</ref> It was the first paper to explicitly call a self-reproducing program a "virus", a term introduced by Cohen's mentor ].<ref>{{Cite web |title=Professor Len Adleman explains how he coined the term “computer virus” |url=https://www.welivesecurity.com/2017/11/01/professor-len-adleman-explains-computer-virus-term/ |access-date=2024-12-26 |website=www.welivesecurity.com |language=en}}</ref> In 1987, Cohen published a demonstration that there is no ] that can perfectly detect all possible viruses.<ref name="Cohen1987">Cohen, Fred, {{webarchive|url=https://web.archive.org/web/20140525233117/http://grnlight.net/index.php/computer-articles/109-an-undetectable-computer-virus |date=2014-05-25 }}, 1987, IBM</ref> Cohen's theoretical ]<ref>Burger, Ralph, 1991. ''Computer Viruses and Data Protection'', pp. 19–20</ref> was an example of a virus which was not malicious software (]), but was putatively benevolent (well-intentioned). However, ] professionals do not accept the concept of "benevolent viruses", as any desired function can be implemented without involving a virus (automatic compression, for instance, is available under ] at the choice of the user). Any virus will by definition make unauthorised changes to a computer, which is undesirable even if no damage is done or intended. The first page of ''Dr Solomon's Virus Encyclopaedia'' explains the undesirability of viruses, even those that do nothing but reproduce.<ref>{{cite book |author1=Alan Solomon |author2=Dmitry O Gryaznov |location=Aylesbury, Buckinghamshire, U.K. |publisher=S & S International PLC |title=Dr. Solomon's Virus Encyclopedia |year=1995 |isbn=1-897661-00-2}}</ref><ref name="vx.netlux.org">{{cite web | url=http://vx.netlux.org/lib/aas10.html | author=Alan Solomon |title=All About Viruses | website= VX Heavens |date=2011-06-14 |access-date=2014-07-17 | url-status=dead |archive-url=https://web.archive.org/web/20120117091338/http://vx.netlux.org/lib/aas10.html | archive-date=2012-01-17 }}</ref> | |||
The newest species of the virus family is the cross-site scripting virus.{{Fact|date=January 2008}} The virus emerged from research and was academically demonstrated in 2005.<ref>{{cite web|url=http://www.bindshell.net/papers/xssv/|title=The Cross-site Scripting Virus|author=Wade Alcorn}}</ref> This virus utilizes ] vulnerabilities to propagate. Since 2005 there have been multiple instances of the cross-site scripting viruses in the wild, most notable sites affected have been ] and ]. | |||
An article that describes "useful virus functionalities" was published by ] under the title "Use of virus functions to provide a virtual ] interpreter under user control" in 1984.<ref>{{Cite journal | last = Gunn | first = J.B. | title = Use of virus functions to provide a virtual APL interpreter under user control | journal = ACM SIGAPL APL Quote Quad Archive | volume = 14 | issue = 4 | pages = 163–168 | publisher = ACM New York, NY, USA | issn = 0163-6006 | date = June 1984 | doi=10.1145/384283.801093}}</ref> The first ] virus in the "wild" was a ] virus dubbed ],<ref>{{cite web |url=http://antivirus.about.com/od/securitytips/a/bootsectorvirus.htm |title=Boot sector virus repair |publisher=Antivirus.about.com |date=2010-06-10 |access-date=2010-08-27 |url-status=live |archive-url=https://web.archive.org/web/20110112024842/http://antivirus.about.com/od/securitytips/a/bootsectorvirus.htm |archive-date=2011-01-12 }}</ref> created in 1986 and was released in 1987 by Amjad Farooq Alvi and Basit Farooq Alvi in ], reportedly to deter unauthorized copying of the software they had written.<ref>{{cite web |url=https://www.youtube.com/watch?v=m58MqJdWgDc |title=Amjad Farooq Alvi Inventor of first PC Virus post by Zagham |publisher=YouTube |access-date=2010-08-27 |url-status=live |archive-url=https://web.archive.org/web/20130706233520/http://www.youtube.com/watch?v=m58MqJdWgDc |archive-date=2013-07-06 }}</ref> The first virus to specifically target ], ] was discovered in April 1992, two years after the release of ].<ref>{{Cite web | url = https://www.f-secure.com/v-descs/winvir.shtml | title = winvir virus | access-date = 10 June 2016 | url-status = live | archive-url = https://web.archive.org/web/20160808045958/https://www.f-secure.com/v-descs/winvir.shtml | archive-date = 8 August 2016 }}</ref> The virus did not contain any ] ], instead relying on ]. A few years later, in February 1996, Australian hackers from the virus-writing crew VLAD created the ] virus (also known as "Boza" virus), which was the first known virus to specifically target ].<ref>{{cite web|last=Miller|first=Greg|title=TECHNOLOGY : 'Boza' Infection of Windows 95 a Boon for Makers of Antivirus Software|website=]|date=1996-02-20|url=https://www.latimes.com/archives/la-xpm-1996-02-20-fi-38090-story.html|access-date=2024-06-17}}</ref> This virus attacked the new portable executable (PE) files introduced in Windows 95.<ref>{{cite book |last1=Yoo |first1=InSeon |title=Proceedings of the 2004 ACM workshop on Visualization and data mining for computer security |chapter=Visualizing windows executable viruses using self-organizing maps |date=29 October 2004 |pages=82–89 |doi=10.1145/1029208.1029222|isbn=1-58113-974-8 }}</ref> In late 1997 the encrypted, memory-resident stealth virus ] was released—the first known virus that targeted ] (it was also able to infect Windows 3.0 and Windows 9x hosts).<ref>{{cite book|author=Grimes, Roger|title=Malicious Mobile Code: Virus Protection for Windows|publisher=O'Reilly|year=2001|isbn=9781565926820|pages=–100|url=https://archive.org/details/maliciousmobilec00grim|url-access=registration}}</ref> | |||
==Infection strategies== | |||
{{Unreferencedsection|date=January 2008}} | |||
In order to replicate itself, a virus must be permitted to execute code and write to memory. For this reason, many viruses attach themselves to executable files that may be part of legitimate programs. If a user tries to start an infected program, the virus' code may be executed first. Viruses can be divided into two types, on the basis of their behavior when they are executed. Nonresident viruses immediately search for other hosts that can be infected, infect these targets, and finally transfer control to the ] they infected. Resident viruses do not search for hosts when they are started. Instead, a resident virus loads itself into memory on execution and transfers control to the host program. The virus stays active in the background and infects new hosts when those files are accessed by other programs or the operating system itself. | |||
Even ]s were affected by viruses. The first one to appear on the ] was a boot sector virus called ], which was detected in November 1987.<ref>{{cite web |url=http://agn-www.informatik.uni-hamburg.de/catalog/amiga/html/scaorigi.htm |title=SCA virus |publisher=Virus Test Center, University of Hamburg |date=1990-06-05 |access-date=2014-01-14 |url-status=live |archive-url=https://web.archive.org/web/20120208081340/http://agn-www.informatik.uni-hamburg.de/catalog/amiga/html/scaorigi.htm |archive-date=2012-02-08 }}</ref> | |||
===Nonresident viruses=== | |||
Nonresident viruses can be thought of as consisting of a ''finder module'' and a ''replication module''. The finder module is responsible for finding new files to infect. For each new executable file the finder module encounters, it calls the replication module to infect that file. | |||
== |
== Design == | ||
Resident viruses contain a replication module that is similar to the one that is employed by nonresident viruses. However, this module is not called by a finder module. Instead, the virus loads the replication module into memory when it is executed and ensures that this module is executed each time the operating system is called to perform a certain operation. For example, the replication module can be called each time the operating system executes a file. In this case, the virus infects every suitable program that is executed on the computer. | |||
=== Parts === | |||
Resident viruses are sometimes subdivided into a category of ''fast infectors'' and a category of ''slow infectors''. Fast infectors are designed to infect as many files as possible. For instance, a fast infector can infect every potential host file that is accessed. This poses a special problem to anti-virus software, since a virus scanner will access every potential host file on a computer when it performs a system-wide scan. If the virus scanner fails to notice that such a virus is present in memory, the virus can "piggy-back" on the virus scanner and in this way infect all files that are scanned. Fast infectors rely on their fast infection rate to spread. The disadvantage of this method is that infecting many files may make detection more likely, because the virus may slow down a computer or perform many suspicious actions that can be noticed by anti-virus software. Slow infectors, on the other hand, are designed to infect hosts infrequently. For instance, some slow infectors only infect files when they are copied. Slow infectors are designed to avoid detection by limiting their actions: they are less likely to slow down a computer noticeably, and will at most infrequently trigger anti-virus software that detects suspicious behavior by programs. The slow infector approach does not seem very successful, however. | |||
A computer virus generally contains three parts: the infection mechanism, which finds and infects new files, the payload, which is the malicious code to execute, and the trigger, which determines when to activate the payload.<ref name="Ludwig 1998 p.15">{{cite book | last=Ludwig | first=Mark | title=The giant black book of computer viruses | url=https://archive.org/details/giantblackbookco00ludw_495 |url-access=limited |publisher=American Eagle |location=Show Low, Ariz | year=1998 |isbn=978-0-929408-23-1 |page=}}</ref> | |||
==Vectors and hosts== | |||
Viruses have targeted various types of transmission media or hosts. This list is not exhaustive: | |||
* Binary ]s (such as ]s and ] files in ], ] files in ], and ] files in ]) | |||
* ]s of ]s and hard disk partitions | |||
* The ] (MBR) of a hard disk | |||
* General-purpose ] files (such as ]s in ] and ], ] files, and ] files on ] platforms). | |||
* Application-specific script files (such as ]-scripts) | |||
* Documents that can contain ]s (such as ] documents, ] spreadsheets, ] documents, and ] database files) | |||
* ] vulnerabilities in web applications | |||
* Arbitrary computer files. An exploitable ], ], ] or other exploitable bug in a program which reads the file could be used to trigger the execution of code hidden within it. Most bugs of this type can be made more difficult to exploit in ]s with protection features such as an ] and/or address space layout randomization. | |||
; Infection mechanism: Also called the infection vector, this is how the virus spreads. Some viruses have a ], which locate and infect files on disk.<ref name="Stallings 2012 p.183">{{cite book | last=Stallings |first=William |title=Computer security : principles and practice | publisher=Pearson |location=Boston |year=2012 |isbn=978-0-13-277506-9 |page=183}}</ref> Other viruses infect files as they are run, such as the ]. | |||
]s, like ], may ''link'' to malicious code.{{Fact|date=January 2008}} | |||
; Trigger: Also known as a ], this is the part of the virus that determines the condition for which the ] is activated.<ref name="Ludwig 1998 p.292">{{cite book |last=Ludwig |first=Mark |url=https://archive.org/details/giantblackbookco00ludw_495 |title=The giant black book of computer viruses |publisher=American Eagle |year=1998 |isbn=978-0-929408-23-1 |location=Show Low, Ariz |page= |url-access=limited}}</ref> This condition may be a particular date, time, presence of another program, size on ] exceeding a threshold,<ref name="urlwww.cs.colostate.edu">{{cite web |title=Basic malware concepts |url=http://www.cs.colostate.edu/~cs556/lecture-notes/basic-concepts-malware.pdf |url-status=live |archive-url=https://web.archive.org/web/20160509081555/http://www.cs.colostate.edu/~cs556/lecture-notes/basic-concepts-malware.pdf |archive-date=2016-05-09 |access-date=2016-04-25 |publisher=cs.colostate.edu}}</ref> or opening a specific file.<ref name="Gregory 2004 p.210">{{cite book |last=Gregory |first=Peter |title=Computer viruses for dummies |publisher=Wiley Pub |year=2004 |isbn=0-7645-7418-3 |location=Hoboken, NJ |page=210}}</ref> | |||
; Payload: The payload is the body of the virus that executes the malicious activity. Examples of malicious activities include damaging files, theft of confidential information or spying on the infected system.<ref>{{Cite web |title=Payload |url=https://encyclopedia.kaspersky.com/glossary/payload/ |access-date=2022-06-26 |website=encyclopedia.kaspersky.com |language=en-US |archive-date=2023-12-06 |archive-url=https://web.archive.org/web/20231206183630/https://encyclopedia.kaspersky.com/glossary/payload/ |url-status=live }}</ref><ref>{{Cite web |title=What is a malicious payload? |url=https://www.cloudflare.com/en-ca/learning/security/glossary/malicious-payload/ |access-date=2022-06-26 |website=CloudFlare |archive-date=2023-09-30 |archive-url=https://web.archive.org/web/20230930072341/https://www.cloudflare.com/en-ca/learning/security/glossary/malicious-payload/ |url-status=live }}</ref> Payload activity is sometimes noticeable as it can cause the system to slow down or "freeze".<ref name="Stallings 2012 p.183" /> Sometimes payloads are non-destructive and their main purpose is to spread a message to as many people as possible. This is called a ].<ref name="Szor 2005 p.43">{{cite book | last=Szor |first=Peter | title=The art of computer virus research and defense | publisher=Addison-Wesley |location=Upper Saddle River, NJ |year=2005 |isbn=0-321-30454-3 |page=43}}</ref> | |||
=== Phases === | |||
It is worth noting that some virus authors have written an .EXE extension on the end of .PNG (for example), hoping that users would stop at the trusted file type without noticing that the computer would ''start'' with the final type of file. (Many operating systems hide the extensions of known file types by default, so for example a filename ending in ".png.exe" would be shown ending in ".png".) See ]. | |||
Virus phases is the ] of the computer virus, described by using an analogy to ]. This life cycle can be divided into four phases: | |||
==Methods to avoid detection== | |||
In order to avoid detection by users, some viruses employ different kinds of deception. Some old viruses, especially on the MS-DOS platform, make sure that the "last modified" date of a host file stays the same when the file is infected by the virus. This approach does not fool anti-virus software, however, especially that which maintains and dates ] on file changes. | |||
; Dormant phase: The virus program is idle during this stage. The virus program has managed to access the target user's computer or software, but during this stage, the virus does not take any action. The virus will eventually be activated by the "trigger" which states which event will execute the virus. Not all viruses have this stage.<ref name="Stallings 2012 p.183"/> | |||
Some viruses can infect files without increasing their sizes or damaging the files. They accomplish this by overwriting unused areas of executable files. These are called ''cavity viruses''. For example the ], or ], infects ] files. Because those files had many empty gaps, the virus, which was 1 ] in length, did not add to the size of the file. | |||
; Propagation phase: The virus starts propagating, which is multiplying and replicating itself. The virus places a copy of itself into other programs or into certain system areas on the disk. The copy may not be identical to the propagating version; viruses often "morph" or change to evade detection by IT professionals and anti-virus software. Each infected program will now contain a ] of the virus, which will itself enter a propagation phase.<ref name="Stallings 2012 p.183"/> | |||
; Triggering phase: A dormant virus moves into this phase when it is activated, and will now perform the function for which it was intended. The triggering phase can be caused by a variety of system events, including a count of the number of times that this copy of the virus has made copies of itself.<ref name="Stallings 2012 p.183"/> The trigger may occur when an employee is terminated from their employment or after a set period of time has elapsed, in order to reduce suspicion. | |||
; Execution phase: This is the actual work of the virus, where the "payload" will be released. It can be destructive such as deleting files on disk, crashing the system, or corrupting files or relatively harmless such as popping up humorous or political messages on screen.<ref name="Stallings 2012 p.183"/> | |||
== Targets and replication == | |||
Some viruses try to avoid detection by killing the tasks associated with antivirus software before it can detect them. | |||
Computer viruses infect a variety of different subsystems on their host computers and software.<ref>{{cite book|author1=Serazzi, Giuseppe |author2=Zanero, Stefano|chapter=Computer Virus Propagation Models | editor1 = Calzarossa, Maria Carla |editor2=Gelenbe, Erol |title=Performance Tools and Applications to Networked Systems|series=Lecture Notes in Computer Science|volume=2965|year=2004|pages=26–50 | chapter-url = http://home.deib.polimi.it/zanero/papers/zanero-serazzi-virus.pdf |url-status=live |archive-url=https://web.archive.org/web/20130818152730/http://home.deib.polimi.it/zanero/papers/zanero-serazzi-virus.pdf|archive-date=2013-08-18}}</ref> One manner of classifying viruses is to analyze whether they reside in ] (such as ] or ]), data files (such as ] documents or ]), or in the ] of the host's ] (or some combination of all of these).<ref name=Avoine-2007-p21>{{cite book |author=Avoine, Gildas | title = Computer System Security: Basic Concepts and Solved Exercises|publisher=EPFL Press / CRC Press |year=2007|isbn=9781420046205|pages=21–22|url=https://books.google.com/books?id=UwrOhcgVhsMC&pg=PA21 | url-status = live |archive-url=https://web.archive.org/web/20170316153143/https://books.google.com/books?id=UwrOhcgVhsMC&pg=PA21|archive-date=2017-03-16}}</ref><ref>{{cite web|url=http://www.howstuffworks.com/virus.htm|title=How Computer Viruses Work|last=Brain|first=Marshall|author2=Fenton, Wesley|publisher=HowStuffWorks.com|access-date=16 June 2013|url-status=live|archive-url=https://web.archive.org/web/20130629114608/http://www.howstuffworks.com/virus.htm|archive-date=29 June 2013|date=April 2000}}</ref> | |||
As computers and operating systems grow larger and more complex, old hiding techniques need to be updated or replaced. Defending a computer against viruses may demand that a file system migrate towards detailed and explicit permission for every kind of file access. | |||
A ''memory-resident virus'' (or simply "resident virus") installs itself as part of the operating system when executed, after which it remains in ] from the time the computer is booted up to when it is shut down. Resident viruses overwrite ] code or other ]s, and when the operating system attempts to access the target file or disk sector, the virus code intercepts the request and redirects the ] to the replication module, infecting the target. In contrast, a ''non-memory-resident virus'' (or "non-resident virus"), when executed, scans the disk for targets, infects them, and then exits (i.e. it does not remain in memory after it is done executing).<ref>{{Bulleted list |{{cite book|author=Polk, William T.|title=Antivirus Tools and Techniques for Computer Systems|publisher=William Andrew (Elsevier)|year=1995|isbn=9780815513643|page=4|url=https://books.google.com/books?id=laTf7a_jPy8C&pg=PA4|url-status=live|archive-url=https://web.archive.org/web/20170316230018/https://books.google.com/books?id=laTf7a_jPy8C&pg=PA4|archive-date=2017-03-16}} |{{cite book|author=Salomon, David|title=Foundations of Computer Security|publisher=Springer|year=2006|isbn=9781846283413|pages=47–48|url=https://books.google.com/books?id=d2RNQNUWPIkC&pg=PA47|url-status=live|archive-url=https://web.archive.org/web/20170316165952/https://books.google.com/books?id=d2RNQNUWPIkC&pg=PA47|archive-date=2017-03-16}} |{{cite book|author=Grimes, Roger|title=Malicious Mobile Code: Virus Protection for Windows|publisher=O'Reilly|year=2001|isbn=9781565926820|pages=–38|url=https://archive.org/details/maliciousmobilec00grim|url-access=registration}} |}}</ref> | |||
===Avoiding bait files and other undesirable hosts=== | |||
A virus needs to infect hosts in order to spread further. In some cases, it might be a bad idea to infect a host program. For example, many anti-virus programs perform an integrity check of their own code. Infecting such programs will therefore increase the likelihood that the virus is detected. For this reason, some viruses are programmed not to infect programs that are known to be part of anti-virus software. Another type of host that viruses sometimes avoid is ''bait files''. Bait files (or ''goat files'') are files that are specially created by anti-virus software, or by anti-virus professionals themselves, to be infected by a virus. These files can be created for various reasons, all of which are related to the detection of the virus: | |||
* Anti-virus professionals can use bait files to take a sample of a virus (i.e. a copy of a program file that is infected by the virus). It is more practical to store and exchange a small, infected bait file, than to exchange a large application program that has been infected by the virus. | |||
* Anti-virus professionals can use bait files to study the behavior of a virus and evaluate detection methods. This is especially useful when the virus is ]. In this case, the virus can be made to infect a large number of bait files. The infected files can be used to test whether a virus scanner detects all versions of the virus. | |||
* Some anti-virus software employs bait files that are accessed regularly. When these files are modified, the anti-virus software warns the user that a virus is probably active on the system. | |||
Many common applications, such as ] and ], allow ] programs to be embedded in documents or emails, so that the programs may be run automatically when the document is opened. A ''macro virus'' (or "document virus") is a virus that is written in a ] and embedded into these documents so that when users open the file, the virus code is executed, and can infect the user's computer. This is one of the reasons that it is dangerous to open unexpected or suspicious ] in ]s.<ref>{{cite book|author=Grimes, Roger|chapter=Macro Viruses|title=Malicious Mobile Code: Virus Protection for Windows|publisher=O'Reilly|year=2001|isbn=9781565926820|chapter-url=https://books.google.com/books?id=GKDtVYJ0wesC&pg=PA130|url-access=registration|url=https://archive.org/details/maliciousmobilec00grim}}</ref><ref>{{cite book|author=Aycock, John |title=Computer Viruses and Malware |publisher=Springer |year=2006 |isbn=9780387341880 |page=89 |url=https://books.google.com/books?id=xnW-qvk1gzkC&pg=PA89 |url-status=live |archive-url=https://web.archive.org/web/20170316142813/https://books.google.com/books?id=xnW-qvk1gzkC&pg=PA89|archive-date=2017-03-16}}</ref> While not opening attachments in e-mails from unknown persons or organizations can help to reduce the likelihood of contracting a virus, in some cases, the virus is designed so that the e-mail appears to be from a reputable organization (e.g., a major bank or credit card company). | |||
Since bait files are used to detect the virus, or to make detection possible, a virus can benefit from not infecting them. Viruses typically do this by avoiding suspicious programs, such as small program files or programs that contain certain patterns of 'garbage instructions'. | |||
''Boot sector viruses'' specifically target the ] and/or the ]<ref>{{cite web |url=https://usa.kaspersky.com/internet-security-center/definitions/boot-sector-virus#.ViBd830ppv9 |title=What is boot sector virus? |access-date=2015-10-16 |url-status=live |archive-url=https://web.archive.org/web/20151118035757/http://usa.kaspersky.com/internet-security-center/definitions/boot-sector-virus#.ViBd830ppv9 |archive-date=2015-11-18 }}</ref> (MBR) of the host's ], ], or removable storage media (], ], etc.).<ref>{{Bulleted list |{{cite book|author=Skoudis, Edward|chapter=Infection mechanisms and targets|title=Malware: Fighting Malicious Code|publisher=Prentice Hall Professional|year=2004|isbn=9780131014053|pages=37–38|chapter-url=https://books.google.com/books?id=TKEAQmQV7O4C&pg=PA37|url-status=live|archive-url=https://web.archive.org/web/20170316153136/https://books.google.com/books?id=TKEAQmQV7O4C&pg=PA37|archive-date=2017-03-16}} |{{cite book|author=Anonymous|title=Maximum Security|publisher=Sams Publishing|year=2003|isbn=9780672324598|pages=331–333|url=https://books.google.com/books?id=3jqBnS4b3EgC&pg=PA331|url-status=live|archive-url=https://web.archive.org/web/20140706173300/http://books.google.com/books?id=3jqBnS4b3EgC&pg=PA331|archive-date=2014-07-06}} |}}</ref> | |||
A related strategy to make baiting difficult is ''sparse infection''. Sometimes, sparse infectors do not infect a host file that would be a suitable candidate for infection in other circumstances. For example, a virus can decide on a random basis whether to infect a file or not, or a virus can only infect host files on particular days of the week. | |||
The most common way of transmission of computer viruses in boot sector is physical media. When reading the VBR of the drive, the infected floppy disk or USB flash drive connected to the computer will transfer data, and then modify or replace the existing boot code. The next time a user tries to start the desktop, the virus will immediately load and run as part of the master boot record.<ref>{{Cite journal|last=Mishra|first=Umakant|date=2012|title=Detecting Boot Sector Viruses- Applying TRIZ to Improve Anti-Virus Programs|url=http://dx.doi.org/10.2139/ssrn.1981886|journal=SSRN Electronic Journal|doi=10.2139/ssrn.1981886|s2cid=109103460|issn=1556-5068}}</ref> | |||
===Stealth=== | |||
Some viruses try to trick anti-virus software by intercepting its requests to the operating system. A virus can hide itself by intercepting the anti-virus software’s request to read the file and passing the request to the virus, instead of the ]. The virus can then return an uninfected version of the file to the anti-virus software, so that it seems that the file is "clean". Modern anti-virus software employs various techniques to counter stealth mechanisms of viruses. The only completely reliable method to avoid stealth is to boot from a medium that is known to be clean. | |||
Email viruses are viruses that intentionally, rather than accidentally, use the email system to spread. While virus infected files may be accidentally sent as ]s, email viruses are aware of email system functions. They generally target a specific type of email system (] is the most commonly used), harvest email addresses from various sources, and may append copies of themselves to all email sent, or may generate email messages containing copies of themselves as attachments.<ref name="Building an e-mail virus detection system for your network. Linux J. 2001, 92, 2-.">{{cite journal|last1=Dave Jones. 2001|title=Building an e-mail virus detection system for your network. Linux J. 2001, 92, 2-.|date=December 2001}}</ref> | |||
====Self-modification==== | |||
Most modern antivirus programs try to find virus-patterns inside ordinary programs by scanning them for so-called ''virus signatures''. A signature is a characteristic byte-pattern that is part of a certain virus or family of viruses. If a virus scanner finds such a pattern in a file, it notifies the user that the file is infected. The user can then delete, or (in some cases) "clean" or "heal" the infected file. Some viruses employ techniques that make detection by means of signatures difficult but probably not impossible. These viruses modify their code on each infection. That is, each infected file contains a different variant of the virus. | |||
== Detection == | |||
====Encryption with a variable key==== | |||
A more advanced method is the use of simple ] to encipher the virus. In this case, the virus consists of a small decrypting module and an encrypted copy of the virus code. If the virus is encrypted with a different key for each infected file, the only part of the virus that remains constant is the decrypting module, which would (for example) be appended to the end. In this case, a virus scanner cannot directly detect the virus using signatures, but it can still detect the decrypting module, which still makes indirect detection of the virus possible. Since these would be symmetric keys, stored on the infected host, it is in fact entirely possible to decrypt the final virus, but that probably isn't required, since self-modifying code is such a rarity that it may be reason for virus scanners to at least flag the file as suspicious. | |||
To avoid detection by users, some viruses employ different kinds of ]. Some old viruses, especially on the ] platform, make sure that the "last modified" date of a host file stays the same when the file is infected by the virus. This approach does not fool antivirus ], however, especially those which maintain and date ]s on file changes.<ref>{{cite book|editor=Béla G. Lipták |title=Instrument engineers' handbook|date=2002|publisher=CRC Press |location=Boca Raton|isbn=9781439863442|pages=874|edition=3rd|url=https://books.google.com/books?id=KPjLAyA7HgoC&q=cyclic+redundancy+checks+on+file+changes+virus+guards&pg=PA205|access-date=September 4, 2015}}</ref> Some viruses can infect files without increasing their sizes or damaging the files. They accomplish this by overwriting unused areas of executable files. These are called ''cavity viruses''. For example, the ], or Chernobyl Virus, infects ] files. Because those files have many empty gaps, the virus, which was 1 ] in length, did not add to the size of the file.<ref>{{cite web|title=Computer Virus Strategies and Detection Methods|url=http://www.emis.de/journals/IJOPCM/files/IJOPCM(vol.1.2.3.S.8).pdf|access-date=2 September 2008|url-status=live|archive-url=https://web.archive.org/web/20131023063830/http://www.emis.de/journals/IJOPCM/files/IJOPCM(vol.1.2.3.S.8).pdf|archive-date=23 October 2013}}</ref> Some viruses try to avoid detection by killing the tasks associated with antivirus software before it can detect them (for example, ]). A Virus may also hide its presence using a ] by not showing itself on the list of system ] or by disguising itself within a trusted process.<ref>{{Cite web |date=2022-03-09 |title=What is Rootkit – Definition and Explanation |url=https://www.kaspersky.com/resource-center/definitions/what-is-rootkit |access-date=2022-06-26 |website=www.kaspersky.com |language=en}}</ref> In the 2010s, as computers and operating systems grow larger and more complex, old hiding techniques need to be updated or replaced. Defending a computer against viruses may demand that a file system migrate towards detailed and explicit permission for every kind of file access.{{citation needed|date=January 2019}} In addition, only a small fraction of known viruses actually cause real incidents, primarily because many viruses remain below the theoretical epidemic threshold.<ref>{{Cite book |url=https://ieeexplore.ieee.org/document/287647 |access-date=2023-10-13 |date=1993 |doi=10.1109/RISP.1993.287647 |language=en-US |last1=Kephart |first1=J.O. |last2=White |first2=S.R. |title=Proceedings 1993 IEEE Computer Society Symposium on Research in Security and Privacy |chapter=Measuring and modeling computer virus prevalence |pages=2–15 |isbn=0-8186-3370-0 |s2cid=8436288 |archive-date=2023-02-09 |archive-url=https://web.archive.org/web/20230209184114/https://ieeexplore.ieee.org/document/287647/ |url-status=live }}</ref> | |||
An old, but compact, encryption involves ] each byte in a virus with a constant, so that the exclusive-or operation had only to be repeated for decryption. It is suspicious code that modifies itself, so the code to do the encryption/decryption may be part of the signature in many virus definitions. | |||
=== Read request intercepts === | |||
====Polymorphic code==== | |||
] was the first technique that posed a serious threat to virus scanners. Just like regular encrypted viruses, a polymorphic virus infects files with an encrypted copy of itself, which is decoded by a decryption module. In the case of polymorphic viruses however, this decryption module is also modified on each infection. A well-written polymorphic virus therefore has no parts which remain identical between infections, making it very difficult to detect directly using signatures. Anti-virus software can detect it by decrypting the viruses using an emulator, or by statistical pattern analysis of the encrypted virus body. To enable polymorphic code, the virus has to have a polymorphic engine (also called mutating engine or mutation engine) somewhere in its encrypted body. See ] for technical detail on how such engines operate. | |||
While some kinds of antivirus software employ various techniques to counter stealth mechanisms, once the infection occurs any recourse to "clean" the system is unreliable. In Microsoft Windows operating systems, the ] is proprietary. This leaves antivirus software little alternative but to send a "read" request to Windows files that handle such requests. Some viruses trick antivirus software by intercepting its requests to the operating system. A virus can hide by intercepting the request to read the infected file, handling the request itself, and returning an uninfected version of the file to the antivirus software. The interception can occur by ] of the actual operating system files that would handle the read request. Thus, an antivirus software attempting to detect the virus will either not be permitted to read the infected file, or, the "read" request will be served with the uninfected version of the same file.<ref>{{Cite book | last = Szor | first = Peter | title = The Art of Computer Virus Research and Defense | publisher = Addison-Wesley | location = Boston | year = 2005 | isbn = 0-321-30454-3 | url = https://books.google.com/books?id=XE-ddYF6uhYC&pg=PT285 | page = 285 | url-status = live | archive-url = https://web.archive.org/web/20170316142937/https://books.google.com/books?id=XE-ddYF6uhYC&pg=PT285 | archive-date = 2017-03-16 }}</ref> | |||
Some viruses employ polymorphic code in a way that constrains the mutation rate of the virus significantly. For example, a virus can be programmed to mutate only slightly over time, or it can be programmed to refrain from mutating when it infects a file on a computer that already contains copies of the virus. The advantage of using such slow polymorphic code is that it makes it more difficult for anti-virus professionals to obtain representative samples of the virus, because bait files that are infected in one run will typically contain identical or similar samples of the virus. This will make it more likely that the detection by the virus scanner will be unreliable, and that some instances of the virus may be able to avoid detection. | |||
The only reliable method to avoid "stealth" viruses is to boot from a medium that is known to be "clear". Security software can then be used to check the dormant operating system files. Most security software relies on virus signatures, or they employ ].<ref>{{cite web|last1=Fox-Brewster|first1=Thomas|title=Netflix Is Dumping Anti-Virus, Presages Death Of An Industry|url=https://www.forbes.com/sites/thomasbrewster/2015/08/26/netflix-and-death-of-anti-virus/|work=Forbes|access-date=September 4, 2015|url-status=live|archive-url=https://web.archive.org/web/20150906134903/http://www.forbes.com/sites/thomasbrewster/2015/08/26/netflix-and-death-of-anti-virus/|archive-date=September 6, 2015}}</ref><ref>{{cite web|title=How Anti-Virus Software Works|url=https://cs.stanford.edu/people/eroberts/cs201/projects/viruses/anti-virus.html|publisher=Stanford University|access-date=September 4, 2015|url-status=live|archive-url=https://web.archive.org/web/20150707174714/http://cs.stanford.edu/people/eroberts/cs201/projects/viruses/anti-virus.html|archive-date=July 7, 2015}}</ref> Security software may also use a database of file "]" for Windows OS files, so the security software can identify altered files, and request Windows installation media to replace them with authentic versions. In older versions of Windows, file ]s of Windows OS files stored in Windows—to allow file integrity/authenticity to be checked—could be overwritten so that the ] would report that altered system files are authentic, so using file hashes to scan for altered files would not always guarantee finding an infection.<ref name="urlwww.sans.org">{{cite web|url=https://www.sans.org/reading-room/whitepapers/detection/ids-file-integrity-checking-35327|title=www.sans.org|access-date=2016-04-16|url-status=live|archive-url=https://web.archive.org/web/20160425053802/https://www.sans.org/reading-room/whitepapers/detection/ids-file-integrity-checking-35327|archive-date=2016-04-25}}</ref> | |||
====Metamorphic code==== | |||
To avoid being detected by emulation, some viruses rewrite themselves completely each time they are to infect new executables. Viruses that use this technique are said to be ]. To enable ], a '''metamorphic engine''' is needed. A metamorphic virus is usually very large and complex. For example, ] consisted of over 14000 lines of ] code, 90% of which is part of the metamorphic engine.<ref>{{cite web | |||
| last = Perriot| first = Fredrick| coauthors = Peter Ferrie and Peter Szor| title = Striking Similarities | |||
| month = May | year = 2002| url = http://securityresponse.symantec.com/avcenter/reference/simile.pdf | |||
| accessmonthday = September 9 | accessyear=2007 | format = ]}}</ref> | |||
=== Self-modification === | |||
==Vulnerability and countermeasures== | |||
{{See also|Self-modifying code}} | |||
===The vulnerability of operating systems to viruses=== | |||
Just as ] in a population decreases the chance of a single disease wiping out a population, the diversity of software systems on a network similarly limits the destructive potential of viruses. | |||
Most modern antivirus programs try to find virus-patterns inside ordinary programs by scanning them for so-called ''virus signatures''.<ref>{{Cite book|url=https://books.google.com/books?id=6i1cCwAAQBAJ&q=Most+modern+antivirus+programs+find+virus-patterns+inside+programs+by+scanning+for+virus+signatures&pg=PA506|title=Engineering Information Security: The Application of Systems Engineering Concepts to Achieve Information Assurance|last=Jacobs|first=Stuart|date=2015-12-01|publisher=John Wiley & Sons|isbn=9781119104711|language=en}}</ref> Different antivirus programs will employ different search methods when identifying viruses. If a virus scanner finds such a pattern in a file, it will perform other checks to make sure that it has found the virus, and not merely a coincidental sequence in an innocent file, before it notifies the user that the file is infected. The user can then delete, or (in some cases) "clean" or "heal" the infected file. Some viruses employ techniques that make detection by means of signatures difficult but probably not impossible. These viruses modify their code on each infection. That is, each infected file contains a different variant of the virus.{{Citation needed|date=May 2016}} | |||
This became a particular concern in the 1990s, when ] gained market dominance in desktop operating systems and ]s. The users of Microsoft software (especially networking software such as ] and ]) are especially vulnerable to the spread of viruses. Microsoft software is targeted by virus writers due to their desktop dominance, and is often criticized for including many errors and holes for virus writers to exploit. Integrated and non-integrated Microsoft applications (such as ]) and applications with scripting languages with access to the file system (for example ] (VBS), and applications with networking features) are also particularly vulnerable. | |||
One method of evading signature detection is to use simple ] to encipher (encode) the body of the virus, leaving only the encryption module and a static ] in ] which does not change from one infection to the next.<ref>{{cite book|author=Bishop, Matt|title=Computer Security: Art and Science|publisher=Addison-Wesley Professional|year=2003|isbn=9780201440997|page=620|url=https://books.google.com/books?id=pfdBiJNfWdMC&pg=PA620|url-status=live|archive-url=https://web.archive.org/web/20170316152257/https://books.google.com/books?id=pfdBiJNfWdMC&pg=PA620|archive-date=2017-03-16}}</ref> In this case, the virus consists of a small decrypting module and an encrypted copy of the virus code. If the virus is encrypted with a different key for each infected file, the only part of the virus that remains constant is the decrypting module, which would (for example) be appended to the end. In this case, a virus scanner cannot directly detect the virus using signatures, but it can still detect the decrypting module, which still makes indirect detection of the virus possible. Since these would be symmetric keys, stored on the infected host, it is entirely possible to decrypt the final virus, but this is probably not required, since ] is such a rarity that finding some may be reason enough for virus scanners to at least "flag" the file as suspicious.{{citation needed|date=January 2019}} An old but compact way will be the use of arithmetic operation like addition or subtraction and the use of logical conditions such as ],<ref name="Aycock2006p35p36">{{cite book|author=John Aycock|title=Computer Viruses and Malware|url=https://books.google.com/books?id=xnW-qvk1gzkC&pg=PA35|date=19 September 2006|publisher=Springer|isbn=978-0-387-34188-0|pages=35–36|url-status=live|archive-url=https://web.archive.org/web/20170316104838/https://books.google.com/books?id=xnW-qvk1gzkC&pg=PA35|archive-date=16 March 2017}}</ref> where each byte in a virus is with a constant so that the exclusive-or operation had only to be repeated for decryption. It is suspicious for a code to modify itself, so the code to do the encryption/decryption may be part of the signature in many virus definitions.{{citation needed|date=January 2019}} A simpler older approach did not use a key, where the encryption consisted only of operations with no parameters, like incrementing and decrementing, bitwise rotation, arithmetic negation, and logical NOT.<ref name="Aycock2006p35p36" /> Some viruses, called polymorphic viruses, will employ a means of encryption inside an executable in which the virus is encrypted under certain events, such as the virus scanner being disabled for updates or the computer being ].<ref>{{Cite news|url=https://searchsecurity.techtarget.com/definition/polymorphic-malware|title=What is a polymorphic virus? - Definition from WhatIs.com|work=SearchSecurity|access-date=2018-08-07|language=en-US|archive-date=2018-04-08|archive-url=https://web.archive.org/web/20180408073734/https://searchsecurity.techtarget.com/definition/polymorphic-malware|url-status=live}}</ref> This is called ]. | |||
Although Windows is by far the most popular operating system for virus writers, some viruses also exist on other platforms. Any operating system that allows third-party programs to run can theoretically run viruses. Some operating systems are less secure than others. Unix-based OS's (and NTFS-aware applications on Windows NT based platforms) only allow their users to run executables within their protected space in their own directories. | |||
] was the first technique that posed a serious ] to virus scanners. Just like regular encrypted viruses, a polymorphic virus infects files with an encrypted copy of itself, which is decoded by a ] module. In the case of polymorphic viruses, however, this decryption module is also modified on each infection. A well-written polymorphic virus therefore has no parts which remain identical between infections, making it very difficult to detect directly using "signatures".<ref>{{Cite book|author=Kizza, Joseph M.|title=Guide to Computer Network Security|publisher=Springer|year=2009|isbn=9781848009165|page=|url=https://archive.org/details/guidetocomputern0000kizz|url-access=registration}}</ref><ref>{{cite book|author=Eilam, Eldad|title=Reversing: Secrets of Reverse Engineering|publisher=John Wiley & Sons |year=2011|isbn=9781118079768|page=216|url=https://books.google.com/books?id=_78HnPPRU_oC&pg=PT216|url-status=live|archive-url=https://web.archive.org/web/20170316032108/https://books.google.com/books?id=_78HnPPRU_oC&pg=PT216|archive-date=2017-03-16}}</ref> Antivirus software can detect it by decrypting the viruses using an ], or by ] of the encrypted virus body. To enable polymorphic code, the virus has to have a ] (also called "mutating engine" or "] engine") somewhere in its encrypted body. See ] for technical detail on how such engines operate.<ref>{{cite web |url=http://www.virusbtn.com/resources/glossary/polymorphic_virus.xml |title=Virus Bulletin : Glossary – Polymorphic virus |publisher=Virusbtn.com |date=2009-10-01 |access-date=2010-08-27 |url-status=live |archive-url=https://web.archive.org/web/20101001234453/http://www.virusbtn.com/resources/glossary/polymorphic_virus.xml |archive-date=2010-10-01 }}</ref> | |||
An Internet based research revealed that there were cases when people willingly pressed a particular button to download a virus. A security firm ''F-Secure'' ran a half year advertising campaign on ] which said "Is your PC virus-free? Get it infected here!". The result was 409 clicks.<ref></ref> | |||
Some viruses employ polymorphic code in a way that constrains the mutation rate of the virus significantly. For example, a virus can be programmed to mutate only slightly over time, or it can be programmed to refrain from mutating when it infects a file on a computer that already contains copies of the virus. The advantage of using such slow polymorphic code is that it makes it more difficult for antivirus professionals and investigators to obtain representative samples of the virus, because "bait" files that are infected in one run will typically contain identical or similar samples of the virus. This will make it more likely that the detection by the virus scanner will be unreliable, and that some instances of the virus may be able to avoid detection. | |||
], there are relatively few security exploits<ref>{{cite web | title=Malware Evolution: Mac OS X Vulnerabilities 2005-2006 |publisher=] | date=2006-07-24 | url=http://www.viruslist.com/en/analysis?pubid=191968025 | accessmonthday=August 19 | accessyear=2006}}</ref> targeting ] (with a Unix-based file system and ]). The number of viruses for the older Apple operating systems, known as Mac OS Classic, varies greatly from source to source, with Apple stating that there are only four known viruses, and ] stating there are as many as 63 viruses. It is safe to say that Macs are less likely to be targeted because of low market share and thus a Mac-specific virus could only infect a small proportion of computers (making the effort less desirable). Virus vulnerability between Macs and Windows is a chief selling point, one that ] uses in their ] advertising.<ref></ref> That said, Macs have also had security issues just as Microsoft Windows has, though none have ever been fully taken advantage of successfully in the wild.{{Fact|date=January 2008}} | |||
To avoid being detected by emulation, some viruses rewrite themselves completely each time they are to infect new executables. Viruses that utilize this technique are said to be in ]. To enable metamorphism, a "metamorphic engine" is needed. A metamorphic virus is usually very large and complex. For example, ] consisted of over 14,000 lines of ] code, 90% of which is part of the metamorphic engine.<ref>{{cite web| last = Perriot| first = Fredrick| author2 = Peter Ferrie| author3 = Peter Szor| title = Striking Similarities| date = May 2002| url = http://securityresponse.symantec.com/avcenter/reference/simile.pdf| access-date = September 9, 2007| url-status = dead| archive-url = https://web.archive.org/web/20070927171448/http://securityresponse.symantec.com/avcenter/reference/simile.pdf| archive-date = September 27, 2007}}</ref><ref>{{cite web |url=http://www.virusbtn.com/resources/glossary/metamorphic_virus.xml |title=Virus Bulletin : Glossary — Metamorphic virus |publisher=Virusbtn.com |access-date=2010-08-27 |url-status=live |archive-url=https://web.archive.org/web/20100722063932/http://www.virusbtn.com/resources/glossary/metamorphic_virus.xml |archive-date=2010-07-22 }}</ref> | |||
Windows and Unix have similar scripting abilities, but while Unix natively blocks normal users from having access to make changes to the operating system environment, older copies of Windows such as Windows 95 and 98 do not. In 1997, when a virus for Linux was released – known as "]" – leading antivirus vendors issued warnings that ] systems could fall prey to viruses just like Windows.<ref>{{cite web|url=http://math-www.uni-paderborn.de/~axel/bliss/mcafee_press.html|title=McAfee discovers first Linux virus|work=news article|author=McAfee}}</ref> The Bliss virus may be considered characteristic of viruses – as opposed to worms – on Unix systems. Bliss requires that the user run it explicitly (so it is a trojan), and it can only infect programs that the user has the access to modify. Unlike Windows users, most Unix users do not ] as an administrator user except to install or configure software; as a result, even if a user ran the virus, it could not harm their operating system. The Bliss virus never became widespread, and remains chiefly a research curiosity. Its creator later posted the source code to Usenet, allowing researchers to see how it worked.<ref>{{cite web|url=http://math-www.uni-paderborn.de/~axel/bliss/|title=Bliss, a Linux "virus"|work=news article|author=Axel Boldt}}</ref> | |||
== Effects == | |||
===The role of software development=== | |||
Because software is often designed with security features to prevent unauthorized use of system resources, many viruses must exploit ]s in a system or application to spread. ] strategies that produce large numbers of bugs will generally also produce potential exploits. | |||
Damage is due to causing system failure, corrupting data, wasting computer resources, increasing maintenance costs or stealing personal information.<ref name=VirusBillions/> Even though no antivirus software can uncover all computer viruses (especially new ones), computer security researchers are actively searching for new ways to enable antivirus solutions to more effectively detect emerging viruses, before they become widely distributed.<ref>{{cite web | author=Kaspersky, Eugene | title=The contemporary antivirus industry and its problems | publisher=SecureLight |date=November 21, 2005 |url=https://www.securelist.com/en/analysis/174405517/The_contemporary_antivirus_industry_and_its_problems | url-status=live |archive-date=October 5, 2013 | archive-url=https://web.archive.org/web/20131005073955/http://www.securelist.com/en/analysis/174405517/The_contemporary_antivirus_industry_and_its_problems}}</ref> | |||
===Anti-virus software and other preventive measures=== | |||
Many users install ] that can detect and eliminate known viruses after the computer ]s or runs the executable. There are two common methods that an ] application uses to detect viruses. The first, and by far the most common method of virus detection is using a list of ] definitions. This works by examining the content of the computer's memory (its ], and ]s) and the files stored on fixed or removable drives (hard drives, floppy drives), and comparing those files against a ] of known virus "signatures". The disadvantage of this detection method is that users are only protected from viruses that pre-date their last virus definition update. The second method is to use a ] algorithm to find viruses based on common behaviors. This method has the ability to detect viruses that anti-virus security firms have yet to create a signature for. | |||
A ''power virus'' is a computer program that executes specific machine code to reach the maximum ] (] output for the ]s).<ref>{{cite web | author=Norinder, Ludvig | title=Breeding power-viruses for ARM devices | date=2013-12-03 | url=https://www.diva-portal.org/smash/record.jsf?pid=diva2%3A670529&dswid=-3943 | access-date=2024-03-24 | archive-date=2024-03-24 | archive-url=https://web.archive.org/web/20240324114831/https://www.diva-portal.org/smash/record.jsf?pid=diva2:670529&dswid=-3943 | url-status=live }}</ref> Computer cooling apparatus are designed to dissipate power up to the ], rather than maximum power, and a power virus could cause the system to overheat if it does not have logic to stop the processor. This may cause permanent physical damage. Power viruses can be malicious, but are often suites of test software used for ] and thermal testing of computer components during the design phase of a product, or for product ].<ref>{{cite book |title= Proceedings of the 19th international conference on Parallel architectures and compilation techniques - PACT '10|chapter=System-level max power (SYMPO)|date=September 2010|doi=10.1145/1854273.1854282|chapter-url=https://www.researchgate.net/publication/220884753|access-date=19 November 2013|last1=Ganesan|first1=Karthik|last2=Jo|first2=Jungho|last3=Bircher|first3=W. Lloyd|last4=Kaseridis|first4=Dimitris|last5=Yu|first5=Zhibin|last6=John|first6=Lizy K.|page=19|isbn=9781450301787|s2cid=6995371}}</ref> | |||
Some anti-virus programs are able to scan opened files in addition to sent and received e-mails 'on the fly' in a similar manner. This practice is known as "on-access scanning." Anti-virus software does not change the underlying capability of host software to transmit viruses. Users must update their software regularly to ] security holes. Anti-virus software also needs to be regularly updated in order to prevent the latest threats. | |||
] applications are similar programs which have the same effect as power viruses (high CPU usage) but stay under the user's control. They are used for testing CPUs, for example, when ]. ] in a poorly written program may cause similar symptoms, if it lasts sufficiently long. | |||
One may also minimise the damage done by viruses by making regular ]s of data (and the Operating Systems) on different media, that are either kept unconnected to the system (most of the time), read-only or not accessible for other reasons, such as using different ]s. This way, if data is lost through a virus, one can start again using the backup (which should preferably be recent). A notable exception to this rule is the Gammima virus, which propagates via infected removable media (specifically flash drives) <ref>"Symantec Security Summary - W32.Gammima.AG." http://www.symantec.com/security_response/writeup.jsp?docid=2007-082706-1742-99</ref> <ref>"Yahoo Tech: Viruses! In! Space!" http://tech.yahoo.com/blogs/null/103826</ref>. If a backup session on ] like ] and ] is closed, it becomes read-only and can no longer be affected by a virus (so long as a virus or infected file was not copied onto the CD/DVD). Likewise, an Operating System on a ] can be used to start the computer if the installed Operating Systems become unusable. Another method is to use different Operating Systems on different file systems. A virus is not likely to affect both. Data backups can also be put on different file systems. For example, Linux requires specific software to write to ] partitions, so if one does not install such software and uses a separate installation of MS Windows to make the backups on an NTFS partition, the backup should remain safe from any Linux viruses. Likewise, MS Windows can not read file systems like ], so if one normally uses MS Windows, the backups can be made on an ext3 partition using a Linux installation. | |||
Different micro-architectures typically require different machine code to hit their maximum power. Examples of such machine code do not appear to be distributed in CPU reference materials.<ref>{{Cite web |url=http://mprc.pku.edu.cn/courses/architecture/autumn2007/thermal_perf.pdf |title=Thermal Performance Challenges from Silicon to Systems |access-date=2021-08-29 |archive-date=2018-02-09 |archive-url=https://web.archive.org/web/20180209003832/http://mprc.pku.edu.cn/courses/architecture/autumn2007/thermal_perf.pdf |url-status=dead }}</ref> | |||
===Recovery methods=== | |||
Once a computer has been compromised by a virus, it is usually unsafe to continue using the same computer without completely reinstalling the operating system. However, there are a number of recovery options that exist after a computer has a virus. These actions depend on severity of the type of virus. | |||
== Infection vectors == | |||
====Virus removal==== | |||
One possibility on ], ] and ] is a tool known as ], which restores the registry and critical system files to a previous checkpoint. Often a virus will cause a system to hang, and a subsequent hard reboot will render a system restore point from the same day corrupt. Restore points from previous days should work provided the virus is not designed to corrupt the restore files or also exists in previous restore points <ref>"Symantec Security Summary - W32.Gammima.AG." http://www.symantec.com/security_response/writeup.jsp?docid=2007-082706-1742-99</ref>. Some viruses, however, disable system restore and other important tools such as Task Manager and Command Prompt. An example of a virus that does this is CiaDoor.<!--Different rights to different users is not a bug. It's usual.--> | |||
As software is often designed with security features to prevent unauthorized use of system resources, many viruses must exploit and manipulate ]s, which are ] in a system or application software, to spread themselves and infect other computers. ] strategies that produce large numbers of "bugs" will generally also produce potential ] "holes" or "entrances" for the virus. | |||
Administrators have the option to disable such tools from limited users for various reasons. The virus modifies the registry to do the same, except, when the Administrator is controlling the computer, it blocks ''all'' users from accessing the tools. When an infected tool activates it gives the message "Task Manager has been disabled by your administrator.", even if the user trying to open the program is the administrator. | |||
To replicate itself, a virus must be permitted to execute code and write to memory. For this reason, many viruses attach themselves to ] that may be part of legitimate programs (see ]). If a user attempts to launch an infected program, the virus' code may be executed simultaneously.<ref>{{cite web|title=Virus Basics|url=http://www.us-cert.gov/publications/virus-basics#email|publisher=US-CERT|url-status=live|archive-url=https://web.archive.org/web/20131003130604/http://www.us-cert.gov/publications/virus-basics#email|archive-date=2013-10-03}}</ref> In operating systems that use ]s to determine program associations (such as Microsoft Windows), the extensions may be hidden from the user by default. This makes it possible to create a file that is of a different type than it appears to the user. For example, an executable may be created and named "picture.png.exe", in which the user sees only "picture.png" and therefore assumes that this file is a ] and most likely is safe, yet when opened, it runs the executable on the client machine.<ref>{{cite web|title=Virus Notice: Network Associates' AVERT Discovers First Virus That Can Infect JPEG Files, Assigns Low-Profiled Risk|url=http://www.woodboy.org/computing/first_virus_that_can_infect_jpegs.html|access-date=2002-06-13|url-status=dead|archive-url=https://web.archive.org/web/20050504024852/http://www.woodboy.org/computing/first_virus_that_can_infect_jpegs.html|archive-date=2005-05-04}}</ref> Viruses may be installed on removable media, such as ]. The drives may be left in a parking lot of a government building or other target, with the hopes that curious users will insert the drive into a computer. In a 2015 experiment, researchers at the University of Michigan found that 45–98 percent of users would plug in a flash drive of unknown origin.<ref>{{Cite web|url=https://research.google.com/pubs/archive/45597.pdf|title=Users Really Do Plug in USB Drives They Find}}</ref> | |||
Users running a Microsoft operating system can go to Microsoft's website to run a free scan, if they have their 20-digit registration number. | |||
The vast majority of viruses target systems running ]. This is due to Microsoft's large market share of ] users.<ref>{{Cite web|title = Operating system market share|url = http://netmarketshare.com/operating-system-market-share.aspx?qprid=10&qpcustomd=0|website = netmarketshare.com|access-date = 2015-05-16|url-status = live|archive-url = https://web.archive.org/web/20150512185930/http://www.netmarketshare.com/operating-system-market-share.aspx?qprid=10&qpcustomd=0|archive-date = 2015-05-12}}</ref> The diversity of software systems on a network limits the destructive potential of viruses and malware.{{efn|This is analogous to how ] in a population decreases the chance of a single disease wiping out a population in ].}} ] operating systems such as ] allow users to choose from a variety of ], packaging tools, etc., which means that malicious code targeting any of these systems will only affect a subset of all users. Many Windows users are running the same set of applications, enabling viruses to rapidly spread among Microsoft Windows systems by targeting the same exploits on large numbers of hosts.<ref name="mookhey-2005">{{cite book |author=Mookhey, K.K. |title=Linux: Security, Audit and Control Features |publisher=ISACA |year=2005 |isbn=9781893209787 |page=128 |url=https://books.google.com/books?id=-kD0sxQ0EkIC&pg=PA128 |display-authors=etal |url-status=live |archive-url=https://web.archive.org/web/20161201043333/https://books.google.com/books?id=-kD0sxQ0EkIC&pg=PA128|archive-date=2016-12-01}}</ref><ref name="toxen-2003">{{Cite book |author=Toxen, Bob|title=Real World Linux Security: Intrusion Prevention, Detection, and Recovery |publisher=Prentice Hall Professional |year=2003 |isbn=9780130464569 |page=365 |url=https://books.google.com/books?id=_-1jwRwNaEoC&pg=PA365|url-status=live|archive-url=https://web.archive.org/web/20161201111057/https://books.google.com/books?id=_-1jwRwNaEoC&pg=PA365|archive-date=2016-12-01}}</ref><ref name="noyes-2010">{{cite news|author=Noyes, Katherine|title=Why Linux Is More Secure Than Windows|work=PCWorld|date=Aug 3, 2010|url=https://www.pcworld.com/article/202452/why_linux_is_more_secure_than_windows.html|url-status=dead|archive-url=https://web.archive.org/web/20130901151841/http://www.pcworld.com/article/202452/why_linux_is_more_secure_than_windows.html|archive-date=2013-09-01}}</ref><ref>{{cite book |author=Raggi, Emilio |title=Beginning Ubuntu Linux |publisher=Apress |year=2011 |isbn=9781430236276 |page=148 |url=https://books.google.com/books?id=5i-c2yms6tUC&pg=PA148 |display-authors=etal |url-status=live |archive-url=https://web.archive.org/web/20170316051249/https://books.google.com/books?id=5i-c2yms6tUC&pg=PA148|archive-date=2017-03-16}}</ref> | |||
====Operating system reinstallation==== | |||
Reinstalling the operating system is another approach to virus removal. It involves simply reformatting the OS partition and installing the OS from its original media, or ] the partition with a clean backup image (taken with ] or ] for example). | |||
While Linux and Unix in general have always natively prevented normal users from making changes to the ] environment without permission, Windows users are generally not prevented from making these changes, meaning that viruses can easily gain control of the entire system on Windows hosts. This difference has continued partly due to the widespread use of ] accounts in contemporary versions like ]. In 1997, researchers created and released a virus for Linux—known as "]".<ref>{{cite press release |url=http://math-www.uni-paderborn.de/~axel/bliss/mcafee_press.html |title=McAfee discovers first Linux virus |date=5 February 1997 |publisher=McAfee, via Axel Boldt |url-status=live |archive-url=https://web.archive.org/web/20051217134922/http://math-www.uni-paderborn.de/~axel/bliss/mcafee_press.html |archive-date=17 December 2005 }}</ref> Bliss, however, requires that the user run it explicitly, and it can only infect programs that the user has the access to modify. Unlike Windows users, most Unix users do not ] as an administrator, or ], except to install or configure software; as a result, even if a user ran the virus, it could not harm their operating system. The Bliss virus never became widespread, and remains chiefly a research curiosity. Its creator later posted the source code to ], allowing researchers to see how it worked.<ref>{{cite web |url=http://math-www.uni-paderborn.de/~axel/bliss/ |title=Bliss, a Linux 'virus' |date=19 January 2000 |first=Axel |last=Boldt |url-status=live |archive-url=https://web.archive.org/web/20051214033723/http://math-www.uni-paderborn.de/~axel/bliss/ |archive-date=14 December 2005 }}</ref> | |||
This method has the benefits of being simple to do, can be faster than running multiple anti-virus scans, and is guaranteed to remove any malware. Downsides include having to reinstall all other software as well as the operating system. User data can be backed up by booting off of a ] or putting the hard drive into another computer and booting from the other computer's operating system. | |||
Before computer networks became widespread, most viruses spread on ], particularly ]s. In the early days of the ], many users regularly exchanged information and programs on floppies. Some viruses spread by infecting programs stored on these disks, while others installed themselves into the disk ], ensuring that they would be run when the user booted the computer from the disk, usually inadvertently. Personal computers of the era would attempt to boot first from a floppy if one had been left in the drive. Until floppy disks fell out of use, this was the most successful infection strategy and boot sector viruses were the most common in the "wild" for many years. Traditional computer viruses emerged in the 1980s, driven by the spread of personal computers and the resultant increase in ] (BBS), ] use, and software sharing. ]–driven software sharing contributed directly to the spread of ] programs, and viruses were written to infect popularly traded software. ] and ] software were equally common ] for viruses on BBSs.<ref name="KimSolomon2010">{{cite book|author1=David Kim|author2=Michael G. Solomon|title=Fundamentals of Information Systems Security|url=https://books.google.com/books?id=fIZiS6bGifAC&pg=PA360|date=17 November 2010|publisher=Jones & Bartlett Publishers|isbn=978-1-4496-7164-8|pages=360–|url-status=live|archive-url=https://web.archive.org/web/20170316110810/https://books.google.com/books?id=fIZiS6bGifAC&pg=PA360|archive-date=16 March 2017}}</ref><ref name="url1980s – Securelist – Information about Viruses, Hackers and Spam">{{cite web|url=https://encyclopedia.kaspersky.com/knowledge/years-1980s/|title=1980s – Kaspersky IT Encyclopedia|access-date=2021-03-16|archive-date=2021-04-18|archive-url=https://web.archive.org/web/20210418014902/https://encyclopedia.kaspersky.com/knowledge/years-1980s/|url-status=live}}</ref> Viruses can increase their chances of spreading to other computers by infecting files on a ] or a file system that is accessed by other computers.<ref>{{cite web |url=http://www.actlab.utexas.edu/~aviva/compsec/virus/whatis.html |title=What is a Computer Virus? |publisher=Actlab.utexas.edu |date=1996-03-31 |access-date=2010-08-27 |url-status=dead |archive-url=https://web.archive.org/web/20100527061602/http://www.actlab.utexas.edu/~aviva/compsec/virus/whatis.html |archive-date=2010-05-27 }}</ref> | |||
==See also== | |||
*] | |||
]es have become common since the mid-1990s. Most of these viruses are written in the scripting languages for Microsoft programs such as ] and ] and spread throughout ] by infecting documents and ]s. Since Word and Excel were also available for ], most could also spread to ]. Although most of these viruses did not have the ability to send infected ], those viruses which did take advantage of the ] ] (COM) interface.<ref name="Realtimepublishers.com2005">{{cite book|title=The Definitive Guide to Controlling Malware, Spyware, Phishing, and Spam|url=https://books.google.com/books?id=0SF1yPTb1d0C&pg=PA48|date=1 January 2005 |publisher=Realtimepublishers.com|isbn=978-1-931491-44-0|pages=48– |url-status=live |archive-url=https://web.archive.org/web/20170316104250/https://books.google.com/books?id=0SF1yPTb1d0C&pg=PA48 |archive-date=16 March 2017}}</ref><ref name="Cohen2011">{{cite book |author=Eli B. Cohen|title=Navigating Information Challenges|url=https://books.google.com/books?id=cwR3W7mGR1MC&pg=PA27|year=2011|publisher=Informing Science|isbn=978-1-932886-47-4|pages=27– |url-status=live |archive-url=https://web.archive.org/web/20171219065124/https://books.google.com/books?id=cwR3W7mGR1MC&pg=PA27|archive-date=2017-12-19}}</ref> Some old versions of Microsoft Word allow macros to replicate themselves with additional blank lines. If two macro viruses simultaneously infect a document, the combination of the two, if also self-replicating, can appear as a "mating" of the two and would likely be detected as a virus unique from the "parents".<ref>{{cite web|url=http://www.people.frisk-software.com/~bontchev/papers/macidpro.html|title=Macro Virus Identification Problems|work=FRISK Software International|author=Vesselin Bontchev |url-status=dead|archive-url=https://archive.today/20120805095925/http://www.people.frisk-software.com/~bontchev/papers/macidpro.html|archive-date=2012-08-05}}</ref> | |||
*] | |||
*] | |||
A virus may also send a ] as an ] to all the contacts (e.g., friends and colleagues' e-mail addresses) stored on an infected machine. If the recipient, thinking the link is from a friend (a trusted source) follows the link to the website, the virus hosted at the site may be able to infect this new computer and continue propagating.<ref>{{cite news|url=https://www.telegraph.co.uk/technology/facebook/9411069/Facebook-photo-virus-spreads-via-email.html|title=Facebook 'photo virus' spreads via email.|access-date=2014-04-28|url-status=live|archive-url=https://web.archive.org/web/20140529201917/http://www.telegraph.co.uk/technology/facebook/9411069/Facebook-photo-virus-spreads-via-email.html|archive-date=2014-05-29|date=2012-07-19}}</ref> Viruses that spread using ] were first reported in 2002,<ref>{{cite web |url=http://seclists.org/bugtraq/2002/Oct/119|title=XSS bug in hotmail login page|author=Berend-Jan Wever |access-date=2014-04-07 |url-status=live |archive-url=https://web.archive.org/web/20140704222808/http://seclists.org/bugtraq/2002/Oct/119|archive-date=2014-07-04}}</ref> and were academically demonstrated in 2005.<ref>{{cite web |url=http://www.bindshell.net/papers/xssv/ |title=The Cross-site Scripting Virus |author=Wade Alcorn |publisher=bindshell.net |access-date=2015-10-13 |url-status=dead |archive-url=https://web.archive.org/web/20140823161243/http://www.bindshell.net/papers/xssv/ |archive-date=2014-08-23 }}</ref> There have been multiple instances of the cross-site scripting viruses in the "wild", exploiting websites such as ] (with the Samy worm) and ]. | |||
*] | |||
*] | |||
== Countermeasures == | |||
*] | |||
{{see also|Malware#Vulnerability to malware|Anti-malware|Browser security#Browser hardening}} | |||
*] | |||
] ] ] running in ] on ]]] | |||
*] | |||
*] | |||
In 1989 The ''] Software Industry Division'' published ''Dealing With Electronic Vandalism'',<ref>{{cite book | title=Dealing With Electronic Vandalism | publisher=] Software Industry Division |year=1989 | author1=Eugene H. Spafford |author2=Kathleen A. Heaphy |author3=David J. Ferbrache}}</ref> in which they followed the risk of data loss by "the added risk of losing customer confidence."<ref>{{cite news |newspaper=] | title=Ka-Boom: Anatomy of a Computer Virus | date=December 3, 1990 |page=60}}</ref><ref>{{Cite web|url=https://trove.nla.gov.au/version/21225198|title=Trove|website=trove.nla.gov.au|access-date=2020-09-03|archive-date=2021-04-18|archive-url=https://web.archive.org/web/20210418012850/https://trove.nla.gov.au/version/21225198|url-status=live}}</ref><ref>{{cite journal | url=https://dl.acm.org/citation.cfm?id=2625869.2626028 | title=Capital market reaction to defective IT products | journal=Computers and Security| date=August 2005 | volume=24 | issue=5 | pages=409–424 | doi=10.1016/j.cose.2005.02.003 | last1=Hovav | first1=Anat }}</ref> | |||
*] | |||
*] | |||
Many users install ] that can detect and eliminate known viruses when the computer attempts to ] or run the executable file (which may be distributed as an email attachment, or on ], for example). Some antivirus software blocks known malicious websites that attempt to install malware. <!-- Some antivirus programs can scan opened files in addition to sent and received email messages "on the fly" in a similar manner. This practice is known as "on-access scanning". -->Antivirus software does not change the underlying capability of hosts to transmit viruses. Users must update their software regularly to ] ] ("holes"). Antivirus software also needs to be regularly updated to recognize the latest ]. This is because malicious ]s and other individuals are always creating new viruses. The German ] Institute publishes evaluations of antivirus software for Windows<ref>{{cite web | title = Detailed test reports—(Windows) home user | publisher = AV-Test.org | url = http://www.av-test.org/en/tests/home-user/ | url-status = dead | archive-url = https://web.archive.org/web/20130407111231/http://www.av-test.org/en/tests/home-user | archive-date = 2013-04-07 | access-date = 2013-04-08 }}</ref> and Android.<ref>{{cite web | title = Detailed test reports — Android mobile devices | publisher = AV-Test.org | url = http://www.av-test.org/en/tests/mobile-devices/android/ | url-status = live | archive-url = https://web.archive.org/web/20130407123718/http://www.av-test.org/en/tests/mobile-devices/android | archive-date = 2013-04-07 | date = 2019-10-22 }}</ref> | |||
*] | |||
*] | |||
Examples of Microsoft Windows ] and anti-malware software include the optional ]<ref>{{cite web | title=Microsoft Security Essentials | url=http://windows.microsoft.com/en-US/windows/products/security-essentials | access-date=June 21, 2012 | url-status=live | archive-url=https://web.archive.org/web/20120621021939/http://windows.microsoft.com/en-US/windows/products/security-essentials | archive-date=June 21, 2012 }}</ref> (for Windows XP, Vista and Windows 7) for real-time protection, the ]<ref>{{cite web |title=Malicious Software Removal Tool |website=] |url=http://www.microsoft.com/security/pc-security/malware-removal.aspx |access-date=June 21, 2012 |url-status=dead |archive-url=https://web.archive.org/web/20120621103611/http://www.microsoft.com/security/pc-security/malware-removal.aspx |archive-date=June 21, 2012 }}</ref> (now included with ] on "]", the second Tuesday of each month), and ] (an optional download in the case of Windows XP).<ref>{{cite web | title=Windows Defender |website = ]| url=http://www.microsoft.com/en-us/download/details.aspx?id=17 | access-date=June 21, 2012 | url-status=live | archive-url=https://web.archive.org/web/20120622074348/http://www.microsoft.com/en-us/download/details.aspx?id=17 | archive-date=June 22, 2012 }}</ref> Additionally, several capable antivirus software programs are available for free download from the Internet (usually restricted to non-commercial use).<ref>{{cite web|last=Rubenking|first=Neil J.|title=The Best Free Antivirus for 2012|publisher=pcmag.com|date=Feb 17, 2012|url=https://www.pcmag.com/article2/0,2817,2388652,00.asp|url-status=live|archive-url=https://web.archive.org/web/20170830175450/https://www.pcmag.com/article2/0,2817,2388652,00.asp|archive-date=2017-08-30}}</ref> Some such free programs are almost as good as commercial | |||
*]es | |||
competitors.<ref>{{cite web|last=Rubenking|first=Neil J.|title=The Best Antivirus for 2013|publisher=pcmag.com|date=Jan 10, 2013|url=https://www.pcmag.com/article2/0,2817,2372364,00.asp|url-status=live|archive-url=https://web.archive.org/web/20160425225621/http://www.pcmag.com/article2/0,2817,2372364,00.asp|archive-date=2016-04-25}}</ref> Common ] are assigned ] and listed in the US ]. ]<ref>{{cite magazine |last=Rubenking |first=Neil J. |url=https://www.pcmag.com/article2/0,2817,2406767,00.asp |title=Secunia Personal Software Inspector 3.0 Review & Rating |magazine=PCMag.com |access-date=2013-01-19 |url-status=live |archive-url=https://web.archive.org/web/20130116064450/http://www.pcmag.com/article2/0,2817,2406767,00.asp |archive-date=2013-01-16 }}</ref> is an example of software, free for personal use, that will check a PC for vulnerable out-of-date software, and attempt to update it. ] and ] ] alerts appear as press releases on the ]. Ransomware is a virus that posts a message on the user's screen saying that the screen or system will remain locked or unusable until a ] payment is made. ] is a deception in which the malicious individual pretends to be a friend, computer security expert, or other benevolent individual, with the goal of convincing the targeted individual to reveal ]s or other personal information. | |||
*] | |||
*] | |||
Other commonly used preventive measures include timely operating system updates, software updates, careful Internet browsing (avoiding shady websites), and installation of only trusted software.<ref>{{cite web|url=http://grnlight.net/index.php/computer-articles/107-10-step-guide-to-protect-against-viruses|title=10 Step Guide to Protect Against Viruses|publisher=GrnLight.net|access-date=23 May 2014|url-status=live|archive-url=https://web.archive.org/web/20140524062106/http://grnlight.net/index.php/computer-articles/107-10-step-guide-to-protect-against-viruses|archive-date=24 May 2014}}</ref> Certain browsers flag sites that have been reported to Google and that have been confirmed as hosting malware by Google.<ref>{{cite web|url=http://www.google.com/transparencyreport/safebrowsing/?hl=en|title=Google Safe Browsing|url-status=live|archive-url=https://web.archive.org/web/20140914200617/http://www.google.com/transparencyreport/safebrowsing/?hl=en|archive-date=2014-09-14}}</ref><ref>{{cite web|url=https://www.google.com/safebrowsing/report_badware/|title=Report malicious software (URL) to Google|url-status=live|archive-url=https://web.archive.org/web/20140912233915/https://www.google.com/safebrowsing/report_badware/|archive-date=2014-09-12}}</ref> | |||
*] | |||
*] | |||
There are two common methods that an antivirus software application uses to detect viruses, as described in the ] article. The first, and by far the most common method of virus detection is using a list of ] definitions. This works by examining the content of the computer's memory (its ] (RAM), and ]s) and the files stored on fixed or removable drives (hard drives, floppy drives, or USB flash drives), and comparing those files against a ] of known virus "signatures". Virus signatures are just strings of code that are used to identify individual viruses; for each virus, the antivirus designer tries to choose a unique signature string that will not be found in a legitimate program. Different antivirus programs use different "signatures" to identify viruses. The disadvantage of this detection method is that users are only protected from viruses that are detected by signatures in their most recent virus definition update, and not protected from new viruses (see "]").<ref>{{cite book |author=Zhang, Yu|chapter=A Novel Immune Based Approach For Detection of Windows PE Virus |editor=Tang, Changjie |display-editors=et al |title=Advanced Data Mining and Applications: 4th International Conference, ADMA 2008, Chengdu, China, October 8-10, 2008, Proceedings |publisher=Springer |year=2008 |isbn=9783540881919|page=250|chapter-url=https://books.google.com/books?id=gakfOYC3RmIC&pg=PA250 |display-authors=etal |url-status=live |archive-url=https://web.archive.org/web/20170316082235/https://books.google.com/books?id=gakfOYC3RmIC&pg=PA250 |archive-date=2017-03-16}}</ref> | |||
*] | |||
*] | |||
A second method to find viruses is to use a ] ] based on common virus behaviors. This method can detect new viruses for which antivirus security firms have yet to define a "signature", but it also gives rise to more ] than using signatures. False positives can be disruptive, especially in a commercial environment, because it may lead to a company instructing staff not to use the company computer system until IT services have checked the system for viruses. This can slow down productivity for regular workers. | |||
*] | |||
*] | |||
=== Recovery strategies and methods === | |||
*] | |||
One may reduce the damage done by viruses by making regular ]s of data (and the operating systems) on different media, that are either kept unconnected to the system (most of the time, as in a hard drive), ] or not accessible for other reasons, such as using different ]s. This way, if data is lost through a virus, one can start again using the backup (which will hopefully be recent).<ref name="urlGood Security Habits | US-CERT">{{cite web|url=https://www.us-cert.gov/ncas/tips/ST04-003|title=Good Security Habits | US-CERT|date=2 June 2009 |access-date=2016-04-16|url-status=live|archive-url=https://web.archive.org/web/20160420145240/https://www.us-cert.gov/ncas/tips/ST04-003|archive-date=2016-04-20}}</ref> If a backup session on ] like ] and ] is closed, it becomes read-only and can no longer be affected by a virus (so long as a virus or infected file was not copied onto the ]/]). Likewise, an operating system on a ] CD can be used to start the computer if the installed operating systems become unusable. Backups on removable media must be carefully inspected before restoration. The Gammima virus, for example, propagates via removable ].<ref>{{cite web |url=http://www.symantec.com/security_response/writeup.jsp?docid=2007-082706-1742-99 |title=W32.Gammima.AG |publisher=Symantec |access-date=2014-07-17 |url-status=dead |archive-url=https://web.archive.org/web/20140713042501/http://www.symantec.com/security_response/writeup.jsp?docid=2007-082706-1742-99 |archive-date=2014-07-13 }}</ref><ref>{{cite web |url=http://grnlight.net/index.php/computer-articles/108-viruses-in-space |title=Viruses! In! Space! |publisher=GrnLight.net |access-date=2014-07-17 |url-status=usurped |archive-url=https://web.archive.org/web/20140524070541/http://grnlight.net/index.php/computer-articles/108-viruses-in-space |archive-date=2014-05-24 }}</ref> | |||
Many websites run by antivirus software companies provide free online virus scanning, with limited "cleaning" facilities (after all, the purpose of the websites is to sell antivirus products and services). Some websites—like ] subsidiary ].com—allow users to upload one or more suspicious files to be scanned and checked by one or more antivirus programs in one operation.<ref>{{cite web|title=VirusTotal.com (a subsidiary of Google)|url=https://www.virustotal.com/|url-status=live|archive-url=https://web.archive.org/web/20120616133720/https://www.virustotal.com/|archive-date=2012-06-16}}</ref><ref>{{cite web|title=VirScan.org|url=http://www.virscan.org/|url-status=live|archive-url=https://web.archive.org/web/20130126040517/http://www.virscan.org/|archive-date=2013-01-26}}</ref> Additionally, several capable antivirus software programs are available for free download from the Internet (usually restricted to non-commercial use).<ref>{{cite web|last=Rubenking|first=Neil J.|title=The Best Free Antivirus for 2014|publisher=pcmag.com|url=https://www.pcmag.com/article2/0,2817,2388652,00.asp|url-status=live|archive-url=https://web.archive.org/web/20170830175450/https://www.pcmag.com/article2/0,2817,2388652,00.asp|archive-date=2017-08-30}}</ref> Microsoft offers an optional free antivirus utility called ], a ] that is updated as part of the regular Windows update regime, and an older optional anti-malware (malware removal) tool ] that has been upgraded to an antivirus product in Windows 8. | |||
Some viruses disable ] and other important Windows tools such as ] and ]. An example of a virus that does this is CiaDoor. Many such viruses can be removed by ] the computer, entering Windows "]" with networking, and then using system tools or ].<ref>{{cite web|title=Microsoft Safety Scanner|url=http://windows.microsoft.com/en-US/windows7/how-do-I-remove-a-computer-virus|url-status=live|archive-url=https://web.archive.org/web/20130629091812/http://windows.microsoft.com/en-us/windows7/how-do-i-remove-a-computer-virus|archive-date=2013-06-29}}</ref> ] on ], ], ] and ] can restore the ] and critical system files to a previous checkpoint. Often a virus will cause a system to "hang" or "freeze", and a subsequent hard reboot will render a system restore point from the same day corrupted. Restore points from previous days should work, provided the virus is not designed to corrupt the restore files and does not exist in previous restore points.<ref>{{cite web |url=https://help.comodo.com/topic-119-1-328-3568-smart-scan.html |title=Virus removal -Help |access-date=2015-01-31 |url-status=live |archive-url=https://web.archive.org/web/20150131042306/https://help.comodo.com/topic-119-1-328-3568-smart-scan.html |archive-date=2015-01-31 }}</ref><ref>{{cite web |url=http://www.symantec.com/security_response/writeup.jsp?docid=2007-082706-1742-99&tabid=3 |title=W32.Gammima.AG Removal — Removing Help |publisher=Symantec |date=2007-08-27 |access-date=2014-07-17 |url-status=dead |archive-url=https://web.archive.org/web/20140804132305/http://www.symantec.com/security_response/writeup.jsp?docid=2007-082706-1742-99&tabid=3 |archive-date=2014-08-04 }}</ref> | |||
Microsoft's ] (improved in Windows 7 and later) can be used to check for, and repair, corrupted system files.<ref name="urlsupport.microsoft.com">{{cite web|url=https://support.microsoft.com/en-us/kb/929833|title=support.microsoft.com|access-date=2016-04-16|url-status=live|archive-url=https://web.archive.org/web/20160407105458/https://support.microsoft.com/en-us/kb/929833|archive-date=2016-04-07}}</ref> Restoring an earlier "clean" (virus-free) copy of the entire partition from a ], a ], or a ] copy is one solution—restoring an earlier backup disk "image" is relatively simple to do, usually removes any malware, and may be faster than "disinfecting" the computer—or reinstalling and reconfiguring the operating system and programs from scratch, as described below, then restoring user preferences.<ref name="urlGood Security Habits | US-CERT"/> Reinstalling the operating system is another approach to virus removal. It may be possible to recover copies of essential user data by booting from a ], or connecting the hard drive to another computer and booting from the second computer's operating system, taking great care not to infect that computer by executing any infected programs on the original drive. The original hard drive can then be reformatted and the OS and all programs installed from original media. Once the system has been restored, precautions must be taken to avoid reinfection from any restored ]s.<ref name="urlwww.us-cert.gov">{{cite web|url=https://www.us-cert.gov/sites/default/files/publications/trojan-recovery.pdf|title=www.us-cert.gov|access-date=2016-04-16|url-status=live|archive-url=https://web.archive.org/web/20160419071816/https://www.us-cert.gov/sites/default/files/publications/trojan-recovery.pdf|archive-date=2016-04-19}}</ref> | |||
== Popular culture == | |||
The first known description of a self-reproducing program in fiction is in the 1970 short story ''The Scarred Man'' by ] which describes a computer program called VIRUS which, when installed on a computer with ] dialing capability, randomly dials phone numbers until it hits a modem that is answered by another computer, and then attempts to program the answering computer with its own program, so that the second computer will also begin dialing random numbers, in search of yet another computer to program. The program rapidly spreads exponentially through susceptible computers and can only be countered by a second program called VACCINE.<ref>{{cite magazine |last=Benford |first=Gregory |title=The Scarred Man |magazine=Venture Science Fiction |date=May 1970 |volume=4 |issue=2 |pages=122–}}</ref> His story was based on an actual computer virus written in ] that Benford had created and run on the ] computer in the 1960s, as a proof-of-concept, and which in 1970.<ref> "afterthoughts" to "The Scarred Man", Gregory Benford</ref> | |||
The idea was explored further in two 1972 novels, '']'' by ] and '']'' by ], and became a major theme of the 1975 novel '']'' by ].<ref>{{cite encyclopedia|last=Clute|first=John|title=Brunner, John|url=http://www.sf-encyclopedia.com/entry/brunner_john|encyclopedia=The Encyclopedia of Science Fiction|publisher=Orion Publishing Group|access-date=30 January 2013|archive-date=17 December 2018|archive-url=https://web.archive.org/web/20181217014710/http://www.sf-encyclopedia.com/entry/brunner_john|url-status=live}}</ref> | |||
The 1973 ] ] film '']'' made an early mention of the concept of a computer virus, being a central plot theme that causes ] to run amok.<ref>. Retrieved November 28, 2015.</ref>{{better source needed|date=October 2022}} ]'s character summarizes the problem by stating that "...there's a clear pattern here which suggests an analogy to an infectious disease process, spreading from one...area to the next." To which the replies are stated: "Perhaps there are superficial similarities to disease" and, "I must confess I find it difficult to believe in a disease of machinery."<ref>{{cite AV media |people=Michael Crichton |date=November 21, 1973 |title=Westworld |medium=film|language=en |time=32 minutes |location=201 S. Kinney Road, Tucson, Arizona, USA |publisher=Metro-Goldwyn-Mayer |quote=" And there's a clear pattern here which suggests an analogy to an infectious disease process, spreading from one resort area to the next." ... "Perhaps there are superficial similarities to disease." "I must confess I find it difficult to believe in a disease of machinery."}}</ref> | |||
== Other malware == | |||
{{main|Malware}} | |||
The term "virus" is also misused by extension to refer to other types of ]. "Malware" encompasses computer viruses along with many other forms of malicious software, such as ], ], ], ], ], ]s, ]s, ]s, malicious ] (BHOs), and other malicious software. The majority of active malware threats are trojan horse programs or computer worms rather than computer viruses. The term computer virus, coined by ] in 1985, is a misnomer.<ref name="Ludwig 1998 p.13">{{cite book | last=Ludwig |first=Mark |title=The giant black book of computer viruses | url=https://archive.org/details/giantblackbookco00ludw_495 | url-access=limited |publisher=American Eagle |location=Show Low, Ariz | year=1998 |isbn=978-0-929408-23-1 | page=}}</ref> Viruses often perform some type of harmful activity on infected host computers, such as acquisition of ] space or ] (CPU) time, accessing and stealing private information (e.g., ] numbers, ] numbers, phone numbers, names, email addresses, passwords, bank information, house addresses, etc.), corrupting data, displaying political, humorous or threatening messages on the user's screen, ] their e-mail contacts, ], or even rendering the computer useless. However, not all viruses carry a destructive "]" and attempt to hide themselves—the defining characteristic of viruses is that they are self-replicating computer programs that modify other software without user consent by injecting themselves into the said programs, similar to a biological virus which replicates within living cells. | |||
== See also == | |||
{{cmn| | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
}} | |||
== Notes == | |||
{{notelist}} | |||
== References == | |||
==Notes== | |||
{{reflist}} | {{reflist}} | ||
== Further reading == | |||
==References== | |||
* Mark Russinovich, , Microsoft TechEd: IT Forum, November 2006 | |||
* {{cite book | last = Szor | first = Peter | title = The Art of Computer Virus Research and Defense | publisher = Addison-Wesley | location = Boston | year = 2005 | isbn = 0321304543 }} | |||
* ] ( 2007) Digital Contagions. A Media Archaeology of Computer Viruses, Peter Lang: New York. Digital Formations-series | |||
{{refbegin}} | |||
==External links== | |||
* {{Cite book |last = Burger |first = Ralf |title = Computer Viruses and Data Protection |publisher=Abacus |date = 16 February 2010 |orig-year=1991 |isbn = 978-1-55755-123-8 |page = 353}} | |||
* {{dmoz|Computers/Security/Malicious_Software/Viruses/|Viruses}} | |||
* {{cite web|author=Granneman, Scott|title=Linux vs. Windows Viruses|work=The Register|date=6 October 2003|url=https://www.theregister.co.uk/2003/10/06/linux_vs_windows_viruses/|access-date=10 August 2017|archive-date=7 September 2015|archive-url=https://web.archive.org/web/20150907054536/https://www.theregister.co.uk/2003/10/06/linux_vs_windows_viruses/|url-status=live}} | |||
* {{Cite book |last=Ludwig |first=Mark |year=1993 |url=http://vx.netlux.org/lib/vml02.html |title=Computer Viruses, Artificial Life and Evolution |publisher=American Eagle Publications, Inc |isbn=0-929408-07-1 |location=Tucson, Arizona 85717 |url-status=dead |archive-url=https://web.archive.org/web/20080704191341/http://vx.netlux.org/lib/vml02.html |archive-date=July 4, 2008 }} | |||
* {{Cite video | people = ] | date = November 2006 | title = Advanced Malware Cleaning '''video''' | url = https://technet.microsoft.com/en-us/sysinternals/gg618529 | medium = Web (] / ]) | publisher = Microsoft Corporation | access-date = 24 July 2011 | archive-date = 4 September 2016 | archive-url = https://web.archive.org/web/20160904182151/https://technet.microsoft.com/en-us/sysinternals/gg618529 | url-status = live }} | |||
* {{Cite book |last = Parikka |first = Jussi |author-link = Jussi Parikka |year = 2007 |title = Digital Contagions. A Media Archaeology of Computer Viruses |publisher = Peter Lang |location = New York |series = Digital Formations |isbn = 978-0-8204-8837-0}} | |||
{{refend}} | |||
== External links == | |||
{{commons category|Computer viruses}} | |||
* | |||
* | * | ||
* – The original paper by Fred Cohen, 1984 | |||
* by ] (On hacking, 1990) | |||
{{Information security}} | |||
===Other texts=== | |||
{{malware}} | |||
{{External links|November 2006}} | |||
{{Authority control}} | |||
*Video: "" | |||
*Article: "" | |||
*Article: "" | |||
*Article: "" (early) by Dr. Alan Solomon | |||
*Article: "" | |||
*Article: "" | |||
*Article: "" by ] | |||
*Article: "" by Tony Sampson | |||
*Article: "" by Tony Sampson | |||
*Article: "" by ] | |||
*Article: "" by ] | |||
*Article: "" by ] | |||
*Article: "" | |||
*Article: "" | |||
* RFC 1135 The Helminthiasis of the Internet | |||
* Article: "" | |||
{{pp-move|small=yes}} | |||
] | |||
{{pp-pc}} | |||
] | |||
{{pp-move}} | |||
] | |||
] | |||
{{Link FA|de}} | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] |
Latest revision as of 23:03, 30 December 2024
Computer program that modifies other programs to replicate itself and spreadA computer virus is a type of malware that, when executed, replicates itself by modifying other computer programs and inserting its own code into those programs. If this replication succeeds, the affected areas are then said to be "infected" with a computer virus, a metaphor derived from biological viruses.
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. By contrast, a computer 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.
Virus writers use social engineering deceptions and exploit detailed knowledge of security vulnerabilities to initially infect systems and to spread the virus. Viruses use complex anti-detection/stealth strategies to evade antivirus software. Motives for creating viruses can include seeking profit (e.g., with ransomware), desire to send a political message, personal amusement, to demonstrate that a vulnerability exists in software, for sabotage and denial of service, or simply because they wish to explore cybersecurity issues, artificial life and evolutionary algorithms.
As of 2013, computer viruses caused billions of dollars' worth of economic damage each year. In response, an industry of antivirus software has cropped up, selling or freely distributing virus protection to users of various operating systems.
History
See also: History of antivirus software, History of ransomware, and History of malware Further information: Timeline of computer viruses and worms and Malware researchThe first academic work on the theory of self-replicating computer programs was done in 1949 by John von Neumann who gave lectures at the University of Illinois about the "Theory and Organization of Complicated Automata". The work of von Neumann was later published as the "Theory of self-reproducing automata". In his essay von Neumann described how a computer program could be designed to reproduce itself. Von Neumann's design for a self-reproducing computer program is considered the world's first computer virus, and he is considered to be the theoretical "father" of computer virology. In 1972, Veith Risak directly building on von Neumann's work on self-replication, published his article "Selbstreproduzierende Automaten mit minimaler Informationsübertragung" (Self-reproducing automata with minimal information exchange). The article describes a fully functional virus written in assembler programming language for a SIEMENS 4004/35 computer system. In 1980, Jürgen Kraus wrote his Diplom thesis "Selbstreproduktion bei Programmen" (Self-reproduction of programs) at the University of Dortmund. In his work Kraus postulated that computer programs can behave in a way similar to biological viruses.
The Creeper virus was first detected on ARPANET, the forerunner of the Internet, in the early 1970s. Creeper was an experimental self-replicating program written by Bob Thomas at BBN Technologies in 1971. Creeper used the ARPANET to infect DEC PDP-10 computers running the TENEX operating system. Creeper gained access via the ARPANET and copied itself to the remote system where the message, "I'M THE CREEPER. CATCH ME IF YOU CAN!" was displayed. The Reaper program was created to delete Creeper.
In 1982, a program called "Elk Cloner" was the first personal computer virus to appear "in the wild"—that is, outside the single computer or computer lab where it was created. Written in 1981 by Richard Skrenta, a ninth grader at Mount Lebanon High School near Pittsburgh, it attached itself to the Apple DOS 3.3 operating system and spread via floppy disk. On its 50th use the Elk Cloner virus would be activated, infecting the personal computer and displaying a short poem beginning "Elk Cloner: The program with a personality."
In 1984, Fred Cohen from the University of Southern California wrote his paper "Computer Viruses – Theory and Experiments". It was the first paper to explicitly call a self-reproducing program a "virus", a term introduced by Cohen's mentor Leonard Adleman. In 1987, Cohen published a demonstration that there is no algorithm that can perfectly detect all possible viruses. Cohen's theoretical compression virus was an example of a virus which was not malicious software (malware), but was putatively benevolent (well-intentioned). However, antivirus professionals do not accept the concept of "benevolent viruses", as any desired function can be implemented without involving a virus (automatic compression, for instance, is available under Windows at the choice of the user). Any virus will by definition make unauthorised changes to a computer, which is undesirable even if no damage is done or intended. The first page of Dr Solomon's Virus Encyclopaedia explains the undesirability of viruses, even those that do nothing but reproduce.
An article that describes "useful virus functionalities" was published by J. B. Gunn under the title "Use of virus functions to provide a virtual APL interpreter under user control" in 1984. The first IBM PC compatible virus in the "wild" was a boot sector virus dubbed (c)Brain, created in 1986 and was released in 1987 by Amjad Farooq Alvi and Basit Farooq Alvi in Lahore, Pakistan, reportedly to deter unauthorized copying of the software they had written. The first virus to specifically target Microsoft Windows, WinVir was discovered in April 1992, two years after the release of Windows 3.0. The virus did not contain any Windows API calls, instead relying on DOS interrupts. A few years later, in February 1996, Australian hackers from the virus-writing crew VLAD created the Bizatch virus (also known as "Boza" virus), which was the first known virus to specifically target Windows 95. This virus attacked the new portable executable (PE) files introduced in Windows 95. In late 1997 the encrypted, memory-resident stealth virus Win32.Cabanas was released—the first known virus that targeted Windows NT (it was also able to infect Windows 3.0 and Windows 9x hosts).
Even home computers were affected by viruses. The first one to appear on the Amiga was a boot sector virus called SCA virus, which was detected in November 1987.
Design
Parts
A computer virus generally contains three parts: the infection mechanism, which finds and infects new files, the payload, which is the malicious code to execute, and the trigger, which determines when to activate the payload.
- Infection mechanism
- Also called the infection vector, this is how the virus spreads. Some viruses have a search routine, which locate and infect files on disk. Other viruses infect files as they are run, such as the Jerusalem DOS virus.
- Trigger
- Also known as a logic bomb, this is the part of the virus that determines the condition for which the payload is activated. This condition may be a particular date, time, presence of another program, size on disk exceeding a threshold, or opening a specific file.
- Payload
- The payload is the body of the virus that executes the malicious activity. Examples of malicious activities include damaging files, theft of confidential information or spying on the infected system. Payload activity is sometimes noticeable as it can cause the system to slow down or "freeze". Sometimes payloads are non-destructive and their main purpose is to spread a message to as many people as possible. This is called a virus hoax.
Phases
Virus phases is the life cycle of the computer virus, described by using an analogy to biology. This life cycle can be divided into four phases:
- Dormant phase
- The virus program is idle during this stage. The virus program has managed to access the target user's computer or software, but during this stage, the virus does not take any action. The virus will eventually be activated by the "trigger" which states which event will execute the virus. Not all viruses have this stage.
- Propagation phase
- The virus starts propagating, which is multiplying and replicating itself. The virus places a copy of itself into other programs or into certain system areas on the disk. The copy may not be identical to the propagating version; viruses often "morph" or change to evade detection by IT professionals and anti-virus software. Each infected program will now contain a clone of the virus, which will itself enter a propagation phase.
- Triggering phase
- A dormant virus moves into this phase when it is activated, and will now perform the function for which it was intended. The triggering phase can be caused by a variety of system events, including a count of the number of times that this copy of the virus has made copies of itself. The trigger may occur when an employee is terminated from their employment or after a set period of time has elapsed, in order to reduce suspicion.
- Execution phase
- This is the actual work of the virus, where the "payload" will be released. It can be destructive such as deleting files on disk, crashing the system, or corrupting files or relatively harmless such as popping up humorous or political messages on screen.
Targets and replication
Computer viruses infect a variety of different subsystems on their host computers and software. One manner of classifying viruses is to analyze whether they reside in binary executables (such as .EXE or .COM files), data files (such as Microsoft Word documents or PDF files), or in the boot sector of the host's hard drive (or some combination of all of these).
A memory-resident virus (or simply "resident virus") installs itself as part of the operating system when executed, after which it remains in RAM from the time the computer is booted up to when it is shut down. Resident viruses overwrite interrupt handling code or other functions, and when the operating system attempts to access the target file or disk sector, the virus code intercepts the request and redirects the control flow to the replication module, infecting the target. In contrast, a non-memory-resident virus (or "non-resident virus"), when executed, scans the disk for targets, infects them, and then exits (i.e. it does not remain in memory after it is done executing).
Many common applications, such as Microsoft Outlook and Microsoft Word, allow macro programs to be embedded in documents or emails, so that the programs may be run automatically when the document is opened. A macro virus (or "document virus") is a virus that is written in a macro language and embedded into these documents so that when users open the file, the virus code is executed, and can infect the user's computer. This is one of the reasons that it is dangerous to open unexpected or suspicious attachments in e-mails. While not opening attachments in e-mails from unknown persons or organizations can help to reduce the likelihood of contracting a virus, in some cases, the virus is designed so that the e-mail appears to be from a reputable organization (e.g., a major bank or credit card company).
Boot sector viruses specifically target the boot sector and/or the Master Boot Record (MBR) of the host's hard disk drive, solid-state drive, or removable storage media (flash drives, floppy disks, etc.).
The most common way of transmission of computer viruses in boot sector is physical media. When reading the VBR of the drive, the infected floppy disk or USB flash drive connected to the computer will transfer data, and then modify or replace the existing boot code. The next time a user tries to start the desktop, the virus will immediately load and run as part of the master boot record.
Email viruses are viruses that intentionally, rather than accidentally, use the email system to spread. While virus infected files may be accidentally sent as email attachments, email viruses are aware of email system functions. They generally target a specific type of email system (Microsoft Outlook is the most commonly used), harvest email addresses from various sources, and may append copies of themselves to all email sent, or may generate email messages containing copies of themselves as attachments.
Detection
To avoid detection by users, some viruses employ different kinds of deception. Some old viruses, especially on the DOS platform, make sure that the "last modified" date of a host file stays the same when the file is infected by the virus. This approach does not fool antivirus software, however, especially those which maintain and date cyclic redundancy checks on file changes. Some viruses can infect files without increasing their sizes or damaging the files. They accomplish this by overwriting unused areas of executable files. These are called cavity viruses. For example, the CIH virus, or Chernobyl Virus, infects Portable Executable files. Because those files have many empty gaps, the virus, which was 1 KB in length, did not add to the size of the file. Some viruses try to avoid detection by killing the tasks associated with antivirus software before it can detect them (for example, Conficker). A Virus may also hide its presence using a rootkit by not showing itself on the list of system processes or by disguising itself within a trusted process. In the 2010s, as computers and operating systems grow larger and more complex, old hiding techniques need to be updated or replaced. Defending a computer against viruses may demand that a file system migrate towards detailed and explicit permission for every kind of file access. In addition, only a small fraction of known viruses actually cause real incidents, primarily because many viruses remain below the theoretical epidemic threshold.
Read request intercepts
While some kinds of antivirus software employ various techniques to counter stealth mechanisms, once the infection occurs any recourse to "clean" the system is unreliable. In Microsoft Windows operating systems, the NTFS file system is proprietary. This leaves antivirus software little alternative but to send a "read" request to Windows files that handle such requests. Some viruses trick antivirus software by intercepting its requests to the operating system. A virus can hide by intercepting the request to read the infected file, handling the request itself, and returning an uninfected version of the file to the antivirus software. The interception can occur by code injection of the actual operating system files that would handle the read request. Thus, an antivirus software attempting to detect the virus will either not be permitted to read the infected file, or, the "read" request will be served with the uninfected version of the same file.
The only reliable method to avoid "stealth" viruses is to boot from a medium that is known to be "clear". Security software can then be used to check the dormant operating system files. Most security software relies on virus signatures, or they employ heuristics. Security software may also use a database of file "hashes" for Windows OS files, so the security software can identify altered files, and request Windows installation media to replace them with authentic versions. In older versions of Windows, file cryptographic hash functions of Windows OS files stored in Windows—to allow file integrity/authenticity to be checked—could be overwritten so that the System File Checker would report that altered system files are authentic, so using file hashes to scan for altered files would not always guarantee finding an infection.
Self-modification
See also: Self-modifying codeMost modern antivirus programs try to find virus-patterns inside ordinary programs by scanning them for so-called virus signatures. Different antivirus programs will employ different search methods when identifying viruses. If a virus scanner finds such a pattern in a file, it will perform other checks to make sure that it has found the virus, and not merely a coincidental sequence in an innocent file, before it notifies the user that the file is infected. The user can then delete, or (in some cases) "clean" or "heal" the infected file. Some viruses employ techniques that make detection by means of signatures difficult but probably not impossible. These viruses modify their code on each infection. That is, each infected file contains a different variant of the virus.
One method of evading signature detection is to use simple encryption to encipher (encode) the body of the virus, leaving only the encryption module and a static cryptographic key in cleartext which does not change from one infection to the next. In this case, the virus consists of a small decrypting module and an encrypted copy of the virus code. If the virus is encrypted with a different key for each infected file, the only part of the virus that remains constant is the decrypting module, which would (for example) be appended to the end. In this case, a virus scanner cannot directly detect the virus using signatures, but it can still detect the decrypting module, which still makes indirect detection of the virus possible. Since these would be symmetric keys, stored on the infected host, it is entirely possible to decrypt the final virus, but this is probably not required, since self-modifying code is such a rarity that finding some may be reason enough for virus scanners to at least "flag" the file as suspicious. An old but compact way will be the use of arithmetic operation like addition or subtraction and the use of logical conditions such as XORing, where each byte in a virus is with a constant so that the exclusive-or operation had only to be repeated for decryption. It is suspicious for a code to modify itself, so the code to do the encryption/decryption may be part of the signature in many virus definitions. A simpler older approach did not use a key, where the encryption consisted only of operations with no parameters, like incrementing and decrementing, bitwise rotation, arithmetic negation, and logical NOT. Some viruses, called polymorphic viruses, will employ a means of encryption inside an executable in which the virus is encrypted under certain events, such as the virus scanner being disabled for updates or the computer being rebooted. This is called cryptovirology.
Polymorphic code was the first technique that posed a serious threat to virus scanners. Just like regular encrypted viruses, a polymorphic virus infects files with an encrypted copy of itself, which is decoded by a decryption module. In the case of polymorphic viruses, however, this decryption module is also modified on each infection. A well-written polymorphic virus therefore has no parts which remain identical between infections, making it very difficult to detect directly using "signatures". Antivirus software can detect it by decrypting the viruses using an emulator, or by statistical pattern analysis of the encrypted virus body. To enable polymorphic code, the virus has to have a polymorphic engine (also called "mutating engine" or "mutation engine") somewhere in its encrypted body. See polymorphic code for technical detail on how such engines operate.
Some viruses employ polymorphic code in a way that constrains the mutation rate of the virus significantly. For example, a virus can be programmed to mutate only slightly over time, or it can be programmed to refrain from mutating when it infects a file on a computer that already contains copies of the virus. The advantage of using such slow polymorphic code is that it makes it more difficult for antivirus professionals and investigators to obtain representative samples of the virus, because "bait" files that are infected in one run will typically contain identical or similar samples of the virus. This will make it more likely that the detection by the virus scanner will be unreliable, and that some instances of the virus may be able to avoid detection.
To avoid being detected by emulation, some viruses rewrite themselves completely each time they are to infect new executables. Viruses that utilize this technique are said to be in metamorphic code. To enable metamorphism, a "metamorphic engine" is needed. A metamorphic virus is usually very large and complex. For example, W32/Simile consisted of over 14,000 lines of assembly language code, 90% of which is part of the metamorphic engine.
Effects
Damage is due to causing system failure, corrupting data, wasting computer resources, increasing maintenance costs or stealing personal information. Even though no antivirus software can uncover all computer viruses (especially new ones), computer security researchers are actively searching for new ways to enable antivirus solutions to more effectively detect emerging viruses, before they become widely distributed.
A power virus is a computer program that executes specific machine code to reach the maximum CPU power dissipation (thermal energy output for the central processing units). Computer cooling apparatus are designed to dissipate power up to the thermal design power, rather than maximum power, and a power virus could cause the system to overheat if it does not have logic to stop the processor. This may cause permanent physical damage. Power viruses can be malicious, but are often suites of test software used for integration testing and thermal testing of computer components during the design phase of a product, or for product benchmarking.
Stability test applications are similar programs which have the same effect as power viruses (high CPU usage) but stay under the user's control. They are used for testing CPUs, for example, when overclocking. Spinlock in a poorly written program may cause similar symptoms, if it lasts sufficiently long.
Different micro-architectures typically require different machine code to hit their maximum power. Examples of such machine code do not appear to be distributed in CPU reference materials.
Infection vectors
As software is often designed with security features to prevent unauthorized use of system resources, many viruses must exploit and manipulate security bugs, which are security defects in a system or application software, to spread themselves and infect other computers. Software development strategies that produce large numbers of "bugs" will generally also produce potential exploitable "holes" or "entrances" for the virus.
To replicate itself, a virus must be permitted to execute code and write to memory. For this reason, many viruses attach themselves to executable files that may be part of legitimate programs (see code injection). If a user attempts to launch an infected program, the virus' code may be executed simultaneously. In operating systems that use file extensions to determine program associations (such as Microsoft Windows), the extensions may be hidden from the user by default. This makes it possible to create a file that is of a different type than it appears to the user. For example, an executable may be created and named "picture.png.exe", in which the user sees only "picture.png" and therefore assumes that this file is a digital image and most likely is safe, yet when opened, it runs the executable on the client machine. Viruses may be installed on removable media, such as flash drives. The drives may be left in a parking lot of a government building or other target, with the hopes that curious users will insert the drive into a computer. In a 2015 experiment, researchers at the University of Michigan found that 45–98 percent of users would plug in a flash drive of unknown origin.
The vast majority of viruses target systems running Microsoft Windows. This is due to Microsoft's large market share of desktop computer users. The diversity of software systems on a network limits the destructive potential of viruses and malware. Open-source operating systems such as Linux allow users to choose from a variety of desktop environments, packaging tools, etc., which means that malicious code targeting any of these systems will only affect a subset of all users. Many Windows users are running the same set of applications, enabling viruses to rapidly spread among Microsoft Windows systems by targeting the same exploits on large numbers of hosts.
While Linux and Unix in general have always natively prevented normal users from making changes to the operating system environment without permission, Windows users are generally not prevented from making these changes, meaning that viruses can easily gain control of the entire system on Windows hosts. This difference has continued partly due to the widespread use of administrator accounts in contemporary versions like Windows XP. In 1997, researchers created and released a virus for Linux—known as "Bliss". Bliss, however, requires that the user run it explicitly, and it can only infect programs that the user has the access to modify. Unlike Windows users, most Unix users do not log in as an administrator, or "root user", except to install or configure software; as a result, even if a user ran the virus, it could not harm their operating system. The Bliss virus never became widespread, and remains chiefly a research curiosity. Its creator later posted the source code to Usenet, allowing researchers to see how it worked.
Before computer networks became widespread, most viruses spread on removable media, particularly floppy disks. In the early days of the personal computer, many users regularly exchanged information and programs on floppies. Some viruses spread by infecting programs stored on these disks, while others installed themselves into the disk boot sector, ensuring that they would be run when the user booted the computer from the disk, usually inadvertently. Personal computers of the era would attempt to boot first from a floppy if one had been left in the drive. Until floppy disks fell out of use, this was the most successful infection strategy and boot sector viruses were the most common in the "wild" for many years. Traditional computer viruses emerged in the 1980s, driven by the spread of personal computers and the resultant increase in bulletin board system (BBS), modem use, and software sharing. Bulletin board–driven software sharing contributed directly to the spread of Trojan horse programs, and viruses were written to infect popularly traded software. Shareware and bootleg software were equally common vectors for viruses on BBSs. Viruses can increase their chances of spreading to other computers by infecting files on a network file system or a file system that is accessed by other computers.
Macro viruses have become common since the mid-1990s. Most of these viruses are written in the scripting languages for Microsoft programs such as Microsoft Word and Microsoft Excel and spread throughout Microsoft Office by infecting documents and spreadsheets. Since Word and Excel were also available for Mac OS, most could also spread to Macintosh computers. Although most of these viruses did not have the ability to send infected email messages, those viruses which did take advantage of the Microsoft Outlook Component Object Model (COM) interface. Some old versions of Microsoft Word allow macros to replicate themselves with additional blank lines. If two macro viruses simultaneously infect a document, the combination of the two, if also self-replicating, can appear as a "mating" of the two and would likely be detected as a virus unique from the "parents".
A virus may also send a web address link as an instant message to all the contacts (e.g., friends and colleagues' e-mail addresses) stored on an infected machine. If the recipient, thinking the link is from a friend (a trusted source) follows the link to the website, the virus hosted at the site may be able to infect this new computer and continue propagating. Viruses that spread using cross-site scripting were first reported in 2002, and were academically demonstrated in 2005. There have been multiple instances of the cross-site scripting viruses in the "wild", exploiting websites such as MySpace (with the Samy worm) and Yahoo!.
Countermeasures
See also: Malware § Vulnerability to malware, Anti-malware, and Browser security § Browser hardeningIn 1989 The ADAPSO Software Industry Division published Dealing With Electronic Vandalism, in which they followed the risk of data loss by "the added risk of losing customer confidence."
Many users install antivirus software that can detect and eliminate known viruses when the computer attempts to download or run the executable file (which may be distributed as an email attachment, or on USB flash drives, for example). Some antivirus software blocks known malicious websites that attempt to install malware. Antivirus software does not change the underlying capability of hosts to transmit viruses. Users must update their software regularly to patch security vulnerabilities ("holes"). Antivirus software also needs to be regularly updated to recognize the latest threats. This is because malicious hackers and other individuals are always creating new viruses. The German AV-TEST Institute publishes evaluations of antivirus software for Windows and Android.
Examples of Microsoft Windows anti virus and anti-malware software include the optional Microsoft Security Essentials (for Windows XP, Vista and Windows 7) for real-time protection, the Windows Malicious Software Removal Tool (now included with Windows (Security) Updates on "Patch Tuesday", the second Tuesday of each month), and Windows Defender (an optional download in the case of Windows XP). Additionally, several capable antivirus software programs are available for free download from the Internet (usually restricted to non-commercial use). Some such free programs are almost as good as commercial competitors. Common security vulnerabilities are assigned CVE IDs and listed in the US National Vulnerability Database. Secunia PSI is an example of software, free for personal use, that will check a PC for vulnerable out-of-date software, and attempt to update it. Ransomware and phishing scam alerts appear as press releases on the Internet Crime Complaint Center noticeboard. Ransomware is a virus that posts a message on the user's screen saying that the screen or system will remain locked or unusable until a ransom payment is made. Phishing is a deception in which the malicious individual pretends to be a friend, computer security expert, or other benevolent individual, with the goal of convincing the targeted individual to reveal passwords or other personal information.
Other commonly used preventive measures include timely operating system updates, software updates, careful Internet browsing (avoiding shady websites), and installation of only trusted software. Certain browsers flag sites that have been reported to Google and that have been confirmed as hosting malware by Google.
There are two common methods that an antivirus software application uses to detect viruses, as described in the antivirus software article. The first, and by far the most common method of virus detection is using a list of virus signature definitions. This works by examining the content of the computer's memory (its Random Access Memory (RAM), and boot sectors) and the files stored on fixed or removable drives (hard drives, floppy drives, or USB flash drives), and comparing those files against a database of known virus "signatures". Virus signatures are just strings of code that are used to identify individual viruses; for each virus, the antivirus designer tries to choose a unique signature string that will not be found in a legitimate program. Different antivirus programs use different "signatures" to identify viruses. The disadvantage of this detection method is that users are only protected from viruses that are detected by signatures in their most recent virus definition update, and not protected from new viruses (see "zero-day attack").
A second method to find viruses is to use a heuristic algorithm based on common virus behaviors. This method can detect new viruses for which antivirus security firms have yet to define a "signature", but it also gives rise to more false positives than using signatures. False positives can be disruptive, especially in a commercial environment, because it may lead to a company instructing staff not to use the company computer system until IT services have checked the system for viruses. This can slow down productivity for regular workers.
Recovery strategies and methods
One may reduce the damage done by viruses by making regular backups of data (and the operating systems) on different media, that are either kept unconnected to the system (most of the time, as in a hard drive), read-only or not accessible for other reasons, such as using different file systems. This way, if data is lost through a virus, one can start again using the backup (which will hopefully be recent). If a backup session on optical media like CD and DVD is closed, it becomes read-only and can no longer be affected by a virus (so long as a virus or infected file was not copied onto the CD/DVD). Likewise, an operating system on a bootable CD can be used to start the computer if the installed operating systems become unusable. Backups on removable media must be carefully inspected before restoration. The Gammima virus, for example, propagates via removable flash drives.
Many websites run by antivirus software companies provide free online virus scanning, with limited "cleaning" facilities (after all, the purpose of the websites is to sell antivirus products and services). Some websites—like Google subsidiary VirusTotal.com—allow users to upload one or more suspicious files to be scanned and checked by one or more antivirus programs in one operation. Additionally, several capable antivirus software programs are available for free download from the Internet (usually restricted to non-commercial use). Microsoft offers an optional free antivirus utility called Microsoft Security Essentials, a Windows Malicious Software Removal Tool that is updated as part of the regular Windows update regime, and an older optional anti-malware (malware removal) tool Windows Defender that has been upgraded to an antivirus product in Windows 8.
Some viruses disable System Restore and other important Windows tools such as Task Manager and CMD. An example of a virus that does this is CiaDoor. Many such viruses can be removed by rebooting the computer, entering Windows "safe mode" with networking, and then using system tools or Microsoft Safety Scanner. System Restore on Windows Me, Windows XP, Windows Vista and Windows 7 can restore the registry and critical system files to a previous checkpoint. Often a virus will cause a system to "hang" or "freeze", and a subsequent hard reboot will render a system restore point from the same day corrupted. Restore points from previous days should work, provided the virus is not designed to corrupt the restore files and does not exist in previous restore points.
Microsoft's System File Checker (improved in Windows 7 and later) can be used to check for, and repair, corrupted system files. Restoring an earlier "clean" (virus-free) copy of the entire partition from a cloned disk, a disk image, or a backup copy is one solution—restoring an earlier backup disk "image" is relatively simple to do, usually removes any malware, and may be faster than "disinfecting" the computer—or reinstalling and reconfiguring the operating system and programs from scratch, as described below, then restoring user preferences. Reinstalling the operating system is another approach to virus removal. It may be possible to recover copies of essential user data by booting from a live CD, or connecting the hard drive to another computer and booting from the second computer's operating system, taking great care not to infect that computer by executing any infected programs on the original drive. The original hard drive can then be reformatted and the OS and all programs installed from original media. Once the system has been restored, precautions must be taken to avoid reinfection from any restored executable files.
Popular culture
The first known description of a self-reproducing program in fiction is in the 1970 short story The Scarred Man by Gregory Benford which describes a computer program called VIRUS which, when installed on a computer with telephone modem dialing capability, randomly dials phone numbers until it hits a modem that is answered by another computer, and then attempts to program the answering computer with its own program, so that the second computer will also begin dialing random numbers, in search of yet another computer to program. The program rapidly spreads exponentially through susceptible computers and can only be countered by a second program called VACCINE. His story was based on an actual computer virus written in FORTRAN that Benford had created and run on the lab computer in the 1960s, as a proof-of-concept, and which he told John Brunner about in 1970.
The idea was explored further in two 1972 novels, When HARLIE Was One by David Gerrold and The Terminal Man by Michael Crichton, and became a major theme of the 1975 novel The Shockwave Rider by John Brunner.
The 1973 Michael Crichton sci-fi film Westworld made an early mention of the concept of a computer virus, being a central plot theme that causes androids to run amok. Alan Oppenheimer's character summarizes the problem by stating that "...there's a clear pattern here which suggests an analogy to an infectious disease process, spreading from one...area to the next." To which the replies are stated: "Perhaps there are superficial similarities to disease" and, "I must confess I find it difficult to believe in a disease of machinery."
Other malware
Main article: MalwareThe term "virus" is also misused by extension to refer to other types of malware. "Malware" encompasses computer viruses along with many other forms of malicious software, such as computer "worms", ransomware, spyware, adware, trojan horses, keyloggers, rootkits, bootkits, malicious Browser Helper Object (BHOs), and other malicious software. The majority of active malware threats are trojan horse programs or computer worms rather than computer viruses. The term computer virus, coined by Fred Cohen in 1985, is a misnomer. Viruses often perform some type of harmful activity on infected host computers, such as acquisition of hard disk space or central processing unit (CPU) time, accessing and stealing private information (e.g., credit card numbers, debit card numbers, phone numbers, names, email addresses, passwords, bank information, house addresses, etc.), corrupting data, displaying political, humorous or threatening messages on the user's screen, spamming their e-mail contacts, logging their keystrokes, or even rendering the computer useless. However, not all viruses carry a destructive "payload" and attempt to hide themselves—the defining characteristic of viruses is that they are self-replicating computer programs that modify other software without user consent by injecting themselves into the said programs, similar to a biological virus which replicates within living cells.
See also
- Botnet
- Comparison of computer viruses
- Computer fraud and abuse act
- Computer security
- Crimeware
- Core Wars
- Cryptovirology
- Keystroke logging
- Malware
- Source code virus
- Spam (electronic)
- Technical support scam
- Trojan horse (computing)
- Virus hoax
- Windows 7 File Recovery
- Windows Security and Maintenance
- Zombie (computer science)
Notes
- This is analogous to how genetic diversity in a population decreases the chance of a single disease wiping out a population in biology.
References
- "The Internet comes down with a virus". The New York Times. August 6, 2014. Archived from the original on April 11, 2020. Retrieved September 3, 2020.
-
- Stallings, William (2012). Computer security : principles and practice. Boston: Pearson. p. 182. ISBN 978-0-13-277506-9.
- "Worm vs. Virus: What's the Difference and Does It Matter?". Avast Academy. Avast Software s.r.o. Archived from the original on 15 March 2021. Retrieved 9 March 2021.
- Piqueira, Jose R.C.; de Vasconcelos, Adolfo A.; Gabriel, Carlos E.C.J.; Araujo, Vanessa O. (2008). "Dynamic models for computer viruses". Computers & Security. 27 (7–8): 355–359. doi:10.1016/j.cose.2008.07.006. ISSN 0167-4048. Archived from the original on 2022-12-28. Retrieved 2022-10-30.
-
- Alan Solomon (2011-06-14). "All About Viruses". VX Heavens. Archived from the original on 2012-01-17. Retrieved 2014-07-17.
- Aycock, John (2006). Computer Viruses and Malware. Springer. p. 14. ISBN 978-0-387-30236-2.
- "Worm vs. Virus: What's the Difference and Does It Matter?". Avast Academy. Avast Software s.r.o. Archived from the original on 15 March 2021. Retrieved 9 March 2021.
- 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.
-
- Filiol, Eric (2005). Computer viruses: from theory to applications. Springer. p. 8. ISBN 978-2-287-23939-7.
- Harley, David; et al. (2001). Viruses Revealed. McGraw-Hill. p. 6. ISBN 0-07-222818-0.
- Ludwig, Mark A. (1996). The Little Black Book of Computer Viruses: Volume 1, The Basic Technologies. American Eagle Publications. pp. 16–17. ISBN 0-929408-02-0.
- Aycock, John (2006). Computer Viruses and Malware. Springer. p. 27. ISBN 978-0-387-30236-2.
- Bell, David J.; et al., eds. (2004). "Virus". Cyberculture: The Key Concepts. Routledge. p. 154. ISBN 9780203647059.
- ^ "Viruses that can cost you". Archived from the original on 2013-09-25.
- Granneman, Scott. "Linux vs. Windows Viruses". The Register. Archived from the original on September 7, 2015. Retrieved September 4, 2015.
- von Neumann, John (1966). "Theory of Self-Reproducing Automata" (PDF). Essays on Cellular Automata. University of Illinois Press: 66–87. Archived (PDF) from the original on June 13, 2010. Retrieved June 10, 2010.
- Éric Filiol, Computer viruses: from theory to applications, Volume 1 Archived 2017-01-14 at the Wayback Machine, Birkhäuser, 2005, pp. 19–38 ISBN 2-287-23939-1.
- Risak, Veith (1972), "Selbstreproduzierende Automaten mit minimaler Informationsübertragung", Zeitschrift für Maschinenbau und Elektrotechnik, archived from the original on 2010-10-05
- Kraus, Jürgen (February 1980), Selbstreproduktion bei Programmen (PDF), archived from the original (PDF) on 2015-07-14, retrieved 2015-05-08
- "Virus list". Archived from the original on 2006-10-16. Retrieved 2008-02-07.
- Thomas Chen; Jean-Marc Robert (2004). "The Evolution of Viruses and Worms". Archived from the original on 2013-08-09. Retrieved 2009-02-16.
- Parikka, Jussi (2007). Digital Contagions: A Media Archaeology of Computer Viruses. New York: Peter Lang. p. 50. ISBN 978-0-8204-8837-0. Archived from the original on 2017-03-16.
- "The Creeper Worm, the First Computer Virus". History of information. Archived from the original on 28 May 2022. Retrieved 16 June 2022.
- Russell, Deborah; Gangemi, G.T. (1991). Computer Security Basics. O'Reilly. p. 86. ISBN 0-937175-71-4.
- ^ Anick Jesdanun (1 September 2007). "School prank starts 25 years of security woes". CNBC. Archived from the original on 20 December 2014. Retrieved April 12, 2013.
- Cohen, Fred (1984), Computer Viruses – Theory and Experiments, archived from the original on 2007-02-18
- "Professor Len Adleman explains how he coined the term "computer virus"". www.welivesecurity.com. Retrieved 2024-12-26.
- Cohen, Fred, An Undetectable Computer Virus Archived 2014-05-25 at the Wayback Machine, 1987, IBM
- Burger, Ralph, 1991. Computer Viruses and Data Protection, pp. 19–20
- Alan Solomon; Dmitry O Gryaznov (1995). Dr. Solomon's Virus Encyclopedia. Aylesbury, Buckinghamshire, U.K.: S & S International PLC. ISBN 1-897661-00-2.
- Alan Solomon (2011-06-14). "All About Viruses". VX Heavens. Archived from the original on 2012-01-17. Retrieved 2014-07-17.
- Gunn, J.B. (June 1984). "Use of virus functions to provide a virtual APL interpreter under user control". ACM SIGAPL APL Quote Quad Archive. 14 (4). ACM New York, NY, USA: 163–168. doi:10.1145/384283.801093. ISSN 0163-6006.
- "Boot sector virus repair". Antivirus.about.com. 2010-06-10. Archived from the original on 2011-01-12. Retrieved 2010-08-27.
- "Amjad Farooq Alvi Inventor of first PC Virus post by Zagham". YouTube. Archived from the original on 2013-07-06. Retrieved 2010-08-27.
- "winvir virus". Archived from the original on 8 August 2016. Retrieved 10 June 2016.
- Miller, Greg (1996-02-20). "TECHNOLOGY : 'Boza' Infection of Windows 95 a Boon for Makers of Antivirus Software". Los Angeles Times. Retrieved 2024-06-17.
- Yoo, InSeon (29 October 2004). "Visualizing windows executable viruses using self-organizing maps". Proceedings of the 2004 ACM workshop on Visualization and data mining for computer security. pp. 82–89. doi:10.1145/1029208.1029222. ISBN 1-58113-974-8.
- Grimes, Roger (2001). Malicious Mobile Code: Virus Protection for Windows. O'Reilly. pp. 99–100. ISBN 9781565926820.
- "SCA virus". Virus Test Center, University of Hamburg. 1990-06-05. Archived from the original on 2012-02-08. Retrieved 2014-01-14.
- Ludwig, Mark (1998). The giant black book of computer viruses. Show Low, Ariz: American Eagle. p. 15. ISBN 978-0-929408-23-1.
- ^ Stallings, William (2012). Computer security : principles and practice. Boston: Pearson. p. 183. ISBN 978-0-13-277506-9.
- Ludwig, Mark (1998). The giant black book of computer viruses. Show Low, Ariz: American Eagle. p. 292. ISBN 978-0-929408-23-1.
- "Basic malware concepts" (PDF). cs.colostate.edu. Archived (PDF) from the original on 2016-05-09. Retrieved 2016-04-25.
- Gregory, Peter (2004). Computer viruses for dummies. Hoboken, NJ: Wiley Pub. p. 210. ISBN 0-7645-7418-3.
- "Payload". encyclopedia.kaspersky.com. Archived from the original on 2023-12-06. Retrieved 2022-06-26.
- "What is a malicious payload?". CloudFlare. Archived from the original on 2023-09-30. Retrieved 2022-06-26.
- Szor, Peter (2005). The art of computer virus research and defense. Upper Saddle River, NJ: Addison-Wesley. p. 43. ISBN 0-321-30454-3.
- Serazzi, Giuseppe; Zanero, Stefano (2004). "Computer Virus Propagation Models" (PDF). In Calzarossa, Maria Carla; Gelenbe, Erol (eds.). Performance Tools and Applications to Networked Systems. Lecture Notes in Computer Science. Vol. 2965. pp. 26–50. Archived (PDF) from the original on 2013-08-18.
- Avoine, Gildas (2007). Computer System Security: Basic Concepts and Solved Exercises. EPFL Press / CRC Press. pp. 21–22. ISBN 9781420046205. Archived from the original on 2017-03-16.
- Brain, Marshall; Fenton, Wesley (April 2000). "How Computer Viruses Work". HowStuffWorks.com. Archived from the original on 29 June 2013. Retrieved 16 June 2013.
-
- Polk, William T. (1995). Antivirus Tools and Techniques for Computer Systems. William Andrew (Elsevier). p. 4. ISBN 9780815513643. Archived from the original on 2017-03-16.
- Salomon, David (2006). Foundations of Computer Security. Springer. pp. 47–48. ISBN 9781846283413. Archived from the original on 2017-03-16.
- Grimes, Roger (2001). Malicious Mobile Code: Virus Protection for Windows. O'Reilly. pp. 37–38. ISBN 9781565926820.
- Grimes, Roger (2001). "Macro Viruses". Malicious Mobile Code: Virus Protection for Windows. O'Reilly. ISBN 9781565926820.
- Aycock, John (2006). Computer Viruses and Malware. Springer. p. 89. ISBN 9780387341880. Archived from the original on 2017-03-16.
- "What is boot sector virus?". Archived from the original on 2015-11-18. Retrieved 2015-10-16.
-
- Skoudis, Edward (2004). "Infection mechanisms and targets". Malware: Fighting Malicious Code. Prentice Hall Professional. pp. 37–38. ISBN 9780131014053. Archived from the original on 2017-03-16.
- Anonymous (2003). Maximum Security. Sams Publishing. pp. 331–333. ISBN 9780672324598. Archived from the original on 2014-07-06.
- Mishra, Umakant (2012). "Detecting Boot Sector Viruses- Applying TRIZ to Improve Anti-Virus Programs". SSRN Electronic Journal. doi:10.2139/ssrn.1981886. ISSN 1556-5068. S2CID 109103460.
- Dave Jones. 2001 (December 2001). "Building an e-mail virus detection system for your network. Linux J. 2001, 92, 2-".
{{cite journal}}
: Cite journal requires|journal=
(help)CS1 maint: numeric names: authors list (link) - Béla G. Lipták, ed. (2002). Instrument engineers' handbook (3rd ed.). Boca Raton: CRC Press. p. 874. ISBN 9781439863442. Retrieved September 4, 2015.
- "Computer Virus Strategies and Detection Methods" (PDF). Archived (PDF) from the original on 23 October 2013. Retrieved 2 September 2008.
- "What is Rootkit – Definition and Explanation". www.kaspersky.com. 2022-03-09. Retrieved 2022-06-26.
- Kephart, J.O.; White, S.R. (1993). "Measuring and modeling computer virus prevalence". Proceedings 1993 IEEE Computer Society Symposium on Research in Security and Privacy. pp. 2–15. doi:10.1109/RISP.1993.287647. ISBN 0-8186-3370-0. S2CID 8436288. Archived from the original on 2023-02-09. Retrieved 2023-10-13.
- Szor, Peter (2005). The Art of Computer Virus Research and Defense. Boston: Addison-Wesley. p. 285. ISBN 0-321-30454-3. Archived from the original on 2017-03-16.
- Fox-Brewster, Thomas. "Netflix Is Dumping Anti-Virus, Presages Death Of An Industry". Forbes. Archived from the original on September 6, 2015. Retrieved September 4, 2015.
- "How Anti-Virus Software Works". Stanford University. Archived from the original on July 7, 2015. Retrieved September 4, 2015.
- "www.sans.org". Archived from the original on 2016-04-25. Retrieved 2016-04-16.
- Jacobs, Stuart (2015-12-01). Engineering Information Security: The Application of Systems Engineering Concepts to Achieve Information Assurance. John Wiley & Sons. ISBN 9781119104711.
- Bishop, Matt (2003). Computer Security: Art and Science. Addison-Wesley Professional. p. 620. ISBN 9780201440997. Archived from the original on 2017-03-16.
- ^ John Aycock (19 September 2006). Computer Viruses and Malware. Springer. pp. 35–36. ISBN 978-0-387-34188-0. Archived from the original on 16 March 2017.
- "What is a polymorphic virus? - Definition from WhatIs.com". SearchSecurity. Archived from the original on 2018-04-08. Retrieved 2018-08-07.
- Kizza, Joseph M. (2009). Guide to Computer Network Security. Springer. p. 341. ISBN 9781848009165.
- Eilam, Eldad (2011). Reversing: Secrets of Reverse Engineering. John Wiley & Sons. p. 216. ISBN 9781118079768. Archived from the original on 2017-03-16.
- "Virus Bulletin : Glossary – Polymorphic virus". Virusbtn.com. 2009-10-01. Archived from the original on 2010-10-01. Retrieved 2010-08-27.
- Perriot, Fredrick; Peter Ferrie; Peter Szor (May 2002). "Striking Similarities" (PDF). Archived from the original (PDF) on September 27, 2007. Retrieved September 9, 2007.
- "Virus Bulletin : Glossary — Metamorphic virus". Virusbtn.com. Archived from the original on 2010-07-22. Retrieved 2010-08-27.
- Kaspersky, Eugene (November 21, 2005). "The contemporary antivirus industry and its problems". SecureLight. Archived from the original on October 5, 2013.
- Norinder, Ludvig (2013-12-03). "Breeding power-viruses for ARM devices". Archived from the original on 2024-03-24. Retrieved 2024-03-24.
- Ganesan, Karthik; Jo, Jungho; Bircher, W. Lloyd; Kaseridis, Dimitris; Yu, Zhibin; John, Lizy K. (September 2010). "System-level max power (SYMPO)". Proceedings of the 19th international conference on Parallel architectures and compilation techniques - PACT '10. p. 19. doi:10.1145/1854273.1854282. ISBN 9781450301787. S2CID 6995371. Retrieved 19 November 2013.
- "Thermal Performance Challenges from Silicon to Systems" (PDF). Archived from the original (PDF) on 2018-02-09. Retrieved 2021-08-29.
- "Virus Basics". US-CERT. Archived from the original on 2013-10-03.
- "Virus Notice: Network Associates' AVERT Discovers First Virus That Can Infect JPEG Files, Assigns Low-Profiled Risk". Archived from the original on 2005-05-04. Retrieved 2002-06-13.
- "Users Really Do Plug in USB Drives They Find" (PDF).
- "Operating system market share". netmarketshare.com. Archived from the original on 2015-05-12. Retrieved 2015-05-16.
- Mookhey, K.K.; et al. (2005). Linux: Security, Audit and Control Features. ISACA. p. 128. ISBN 9781893209787. Archived from the original on 2016-12-01.
- Toxen, Bob (2003). Real World Linux Security: Intrusion Prevention, Detection, and Recovery. Prentice Hall Professional. p. 365. ISBN 9780130464569. Archived from the original on 2016-12-01.
- Noyes, Katherine (Aug 3, 2010). "Why Linux Is More Secure Than Windows". PCWorld. Archived from the original on 2013-09-01.
- Raggi, Emilio; et al. (2011). Beginning Ubuntu Linux. Apress. p. 148. ISBN 9781430236276. Archived from the original on 2017-03-16.
- "McAfee discovers first Linux virus" (Press release). McAfee, via Axel Boldt. 5 February 1997. Archived from the original on 17 December 2005.
- Boldt, Axel (19 January 2000). "Bliss, a Linux 'virus'". Archived from the original on 14 December 2005.
- David Kim; Michael G. Solomon (17 November 2010). Fundamentals of Information Systems Security. Jones & Bartlett Publishers. pp. 360–. ISBN 978-1-4496-7164-8. Archived from the original on 16 March 2017.
- "1980s – Kaspersky IT Encyclopedia". Archived from the original on 2021-04-18. Retrieved 2021-03-16.
- "What is a Computer Virus?". Actlab.utexas.edu. 1996-03-31. Archived from the original on 2010-05-27. Retrieved 2010-08-27.
- The Definitive Guide to Controlling Malware, Spyware, Phishing, and Spam. Realtimepublishers.com. 1 January 2005. pp. 48–. ISBN 978-1-931491-44-0. Archived from the original on 16 March 2017.
- Eli B. Cohen (2011). Navigating Information Challenges. Informing Science. pp. 27–. ISBN 978-1-932886-47-4. Archived from the original on 2017-12-19.
- Vesselin Bontchev. "Macro Virus Identification Problems". FRISK Software International. Archived from the original on 2012-08-05.
- "Facebook 'photo virus' spreads via email". 2012-07-19. Archived from the original on 2014-05-29. Retrieved 2014-04-28.
- Berend-Jan Wever. "XSS bug in hotmail login page". Archived from the original on 2014-07-04. Retrieved 2014-04-07.
- Wade Alcorn. "The Cross-site Scripting Virus". bindshell.net. Archived from the original on 2014-08-23. Retrieved 2015-10-13.
- Eugene H. Spafford; Kathleen A. Heaphy; David J. Ferbrache (1989). Dealing With Electronic Vandalism. ADAPSO Software Industry Division.
- "Ka-Boom: Anatomy of a Computer Virus". InformationWeek. December 3, 1990. p. 60.
- "Trove". trove.nla.gov.au. Archived from the original on 2021-04-18. Retrieved 2020-09-03.
- Hovav, Anat (August 2005). "Capital market reaction to defective IT products". Computers and Security. 24 (5): 409–424. doi:10.1016/j.cose.2005.02.003.
- "Detailed test reports—(Windows) home user". AV-Test.org. Archived from the original on 2013-04-07. Retrieved 2013-04-08.
- "Detailed test reports — Android mobile devices". AV-Test.org. 2019-10-22. Archived from the original on 2013-04-07.
- "Microsoft Security Essentials". Archived from the original on June 21, 2012. Retrieved June 21, 2012.
- "Malicious Software Removal Tool". Microsoft. Archived from the original on June 21, 2012. Retrieved June 21, 2012.
- "Windows Defender". Microsoft. Archived from the original on June 22, 2012. Retrieved June 21, 2012.
- Rubenking, Neil J. (Feb 17, 2012). "The Best Free Antivirus for 2012". pcmag.com. Archived from the original on 2017-08-30.
- Rubenking, Neil J. (Jan 10, 2013). "The Best Antivirus for 2013". pcmag.com. Archived from the original on 2016-04-25.
- Rubenking, Neil J. "Secunia Personal Software Inspector 3.0 Review & Rating". PCMag.com. Archived from the original on 2013-01-16. Retrieved 2013-01-19.
- "10 Step Guide to Protect Against Viruses". GrnLight.net. Archived from the original on 24 May 2014. Retrieved 23 May 2014.
- "Google Safe Browsing". Archived from the original on 2014-09-14.
- "Report malicious software (URL) to Google". Archived from the original on 2014-09-12.
- Zhang, Yu; et al. (2008). "A Novel Immune Based Approach For Detection of Windows PE Virus". In Tang, Changjie; et al. (eds.). Advanced Data Mining and Applications: 4th International Conference, ADMA 2008, Chengdu, China, October 8-10, 2008, Proceedings. Springer. p. 250. ISBN 9783540881919. Archived from the original on 2017-03-16.
- ^ "Good Security Habits | US-CERT". 2 June 2009. Archived from the original on 2016-04-20. Retrieved 2016-04-16.
- "W32.Gammima.AG". Symantec. Archived from the original on 2014-07-13. Retrieved 2014-07-17.
- "Viruses! In! Space!". GrnLight.net. Archived from the original on 2014-05-24. Retrieved 2014-07-17.
- "VirusTotal.com (a subsidiary of Google)". Archived from the original on 2012-06-16.
- "VirScan.org". Archived from the original on 2013-01-26.
- Rubenking, Neil J. "The Best Free Antivirus for 2014". pcmag.com. Archived from the original on 2017-08-30.
- "Microsoft Safety Scanner". Archived from the original on 2013-06-29.
- "Virus removal -Help". Archived from the original on 2015-01-31. Retrieved 2015-01-31.
- "W32.Gammima.AG Removal — Removing Help". Symantec. 2007-08-27. Archived from the original on 2014-08-04. Retrieved 2014-07-17.
- "support.microsoft.com". Archived from the original on 2016-04-07. Retrieved 2016-04-16.
- "www.us-cert.gov" (PDF). Archived (PDF) from the original on 2016-04-19. Retrieved 2016-04-16.
- Benford, Gregory (May 1970). "The Scarred Man". Venture Science Fiction. Vol. 4, no. 2. pp. 122–.
- November 1999 "afterthoughts" to "The Scarred Man", Gregory Benford
- Clute, John. "Brunner, John". The Encyclopedia of Science Fiction. Orion Publishing Group. Archived from the original on 17 December 2018. Retrieved 30 January 2013.
- IMDB synopsis of Westworld. Retrieved November 28, 2015.
- Michael Crichton (November 21, 1973). Westworld (film). 201 S. Kinney Road, Tucson, Arizona, USA: Metro-Goldwyn-Mayer. Event occurs at 32 minutes.
And there's a clear pattern here which suggests an analogy to an infectious disease process, spreading from one resort area to the next." ... "Perhaps there are superficial similarities to disease." "I must confess I find it difficult to believe in a disease of machinery.
{{cite AV media}}
: CS1 maint: location (link) - Ludwig, Mark (1998). The giant black book of computer viruses. Show Low, Ariz: American Eagle. p. 13. ISBN 978-0-929408-23-1.
Further reading
- Burger, Ralf (16 February 2010) . Computer Viruses and Data Protection. Abacus. p. 353. ISBN 978-1-55755-123-8.
- Granneman, Scott (6 October 2003). "Linux vs. Windows Viruses". The Register. Archived from the original on 7 September 2015. Retrieved 10 August 2017.
- Ludwig, Mark (1993). Computer Viruses, Artificial Life and Evolution. Tucson, Arizona 85717: American Eagle Publications, Inc. ISBN 0-929408-07-1. Archived from the original on July 4, 2008.
{{cite book}}
: CS1 maint: location (link) - Mark Russinovich (November 2006). Advanced Malware Cleaning video (Web (WMV / MP4)). Microsoft Corporation. Archived from the original on 4 September 2016. Retrieved 24 July 2011.
- Parikka, Jussi (2007). Digital Contagions. A Media Archaeology of Computer Viruses. Digital Formations. New York: Peter Lang. ISBN 978-0-8204-8837-0.
External links
- Microsoft Security Portal
- US Govt CERT (Computer Emergency Readiness Team) site
- 'Computer Viruses – Theory and Experiments' – The original paper by Fred Cohen, 1984
- Hacking Away at the Counterculture by Andrew Ross (On hacking, 1990)
Malware topics | |
---|---|
Infectious malware | |
Concealment | |
Malware for profit | |
By operating system | |
Protection | |
Countermeasures |
Categories: