Компьютерный вирус [1] — это тип вредоносного ПО , которое при запуске воспроизводит себя, изменяя другие компьютерные программы и вставляя в них свой собственный код . [2] [3] Если эта репликация проходит успешно, то говорят, что пораженные области «заражены» компьютерным вирусом, метафора, полученная из биологических вирусов . [4]
Компьютерным вирусам обычно требуется хост-программа . [5] Вирус записывает свой собственный код в хост-программу. Когда программа запускается, написанная вирусная программа выполняется первой, вызывая заражение и повреждение. Напротив, компьютерному червю не нужна хост-программа, так как он является независимой программой или фрагментом кода. Поэтому он не ограничен хост-программой , но может работать независимо и активно проводить атаки. [6] [7]
Авторы вирусов используют обманы социальной инженерии и используют подробные знания уязвимостей безопасности для первоначального заражения систем и распространения вируса. Вирусы используют сложные стратегии антиобнаружения/скрытия, чтобы обойти антивирусное программное обеспечение . [8] Мотивы создания вирусов могут включать в себя поиск прибыли (например, с помощью программ-вымогателей ), желание отправить политическое сообщение, личное развлечение, продемонстрировать, что в программном обеспечении существует уязвимость, для саботажа и отказа в обслуживании или просто потому, что они хотят исследовать проблемы кибербезопасности , искусственную жизнь и эволюционные алгоритмы . [9]
По состоянию на 2013 год компьютерные вирусы ежегодно наносили экономический ущерб в миллиарды долларов. [10] В ответ на это возникла индустрия антивирусного программного обеспечения , продающая или свободно распространяющая антивирусную защиту пользователям различных операционных систем . [11]
Первая академическая работа по теории самовоспроизводящихся компьютерных программ была сделана в 1949 году Джоном фон Нейманом, который читал лекции в Университете Иллинойса о «Теории и организации сложных автоматов ». Работа фон Неймана была позже опубликована как «Теория самовоспроизводящихся автоматов». В своем эссе фон Нейман описал, как можно разработать компьютерную программу для самовоспроизводства. [12] Разработка фон Неймана для самовоспроизводящейся компьютерной программы считается первым в мире компьютерным вирусом, и он считается теоретическим «отцом» компьютерной вирусологии. [13] В 1972 году Вейт Рисак, непосредственно опираясь на работу фон Неймана о самовоспроизводстве , опубликовал свою статью «Selbstreproduzierende Automaten mit minimaler Informationsübertragung» (Самовоспроизводящиеся автоматы с минимальным обменом информацией). [14] В статье описывается полнофункциональный вирус, написанный на языке программирования ассемблера для компьютерной системы SIEMENS 4004/35. В 1980 году Юрген Краус написал дипломную работу «Selbstreproduktion bei Programmen» (Самовоспроизведение программ) в Университете Дортмунда . [15] В своей работе Краус постулировал, что компьютерные программы могут вести себя подобно биологическим вирусам.
Вирус Creeper был впервые обнаружен в ARPANET , предшественнике Интернета , в начале 1970-х годов. [16] Creeper был экспериментальной самовоспроизводящейся программой, написанной Бобом Томасом в BBN Technologies в 1971 году. [17] Creeper использовал ARPANET для заражения компьютеров DEC PDP-10 , работающих под управлением операционной системы TENEX . [18] Creeper получил доступ через ARPANET и скопировал себя на удаленную систему, где отображалось сообщение: «Я — CREEPER. ПОЙМИТЕ МЕНЯ, ЕСЛИ СМОЖЕТЕ!». [19] Программа Reaper была создана для удаления Creeper. [20]
В 1982 году программа под названием « Elk Cloner » стала первым вирусом для персональных компьютеров, появившимся «в дикой природе», то есть за пределами одного компьютера или компьютерной лаборатории, где он был создан. [21] Написанная в 1981 году Ричардом Скрентой , учеником девятого класса средней школы Mount Lebanon недалеко от Питтсбурга , она прикреплялась к операционной системе Apple DOS 3.3 и распространялась через дискету . [21] При 50-м использовании вирус Elk Cloner активировался, заражая персональный компьютер и отображая короткое стихотворение, начинающееся со слов «Elk Cloner: Программа с личностью».
В 1984 году Фред Коэн из Университета Южной Калифорнии написал свою статью «Компьютерные вирусы – теория и эксперименты». [22] Это была первая статья, в которой самовоспроизводящаяся программа была явно названа «вирусом», термин, введенный наставником Коэна Леонардом Адлеманом . В 1987 году Фред Коэн опубликовал демонстрацию того, что не существует алгоритма , который может идеально обнаруживать все возможные вирусы. [23] Теоретический вирус сжатия Фреда Коэна [24] был примером вируса, который не был вредоносным программным обеспечением ( malware ), но был предположительно доброжелательным (имеющим благие намерения). Однако специалисты по антивирусам не принимают концепцию «доброжелательных вирусов», поскольку любая желаемая функция может быть реализована без участия вируса (например, автоматическое сжатие доступно в Windows по выбору пользователя). Любой вирус по определению внесет несанкционированные изменения в компьютер, что нежелательно, даже если не нанесено или не преднамеренно никакого ущерба. Первая страница «Вирусной энциклопедии» доктора Соломона объясняет нежелательность вирусов, даже тех, которые не делают ничего, кроме размножения. [25] [26]
Статья, описывающая «полезные функциональные возможности вируса», была опубликована Дж. Б. Ганном под заголовком «Использование функций вируса для предоставления виртуального интерпретатора APL под контролем пользователя» в 1984 году. [27] Первым вирусом , совместимым с IBM PC, в «дикой природе» был вирус загрузочного сектора , названный (c)Brain , [28] созданный в 1986 году и выпущенный в 1987 году Амджадом Фаруком Алви и Баситом Фаруком Алви в Лахоре, Пакистан , как сообщается, для предотвращения несанкционированного копирования написанного ими программного обеспечения. [29] Первый вирус, специально нацеленный на Microsoft Windows , WinVir был обнаружен в апреле 1992 года, через два года после выпуска Windows 3.0 . [30] Вирус не содержал никаких вызовов Windows API , вместо этого полагаясь на прерывания DOS . Несколько лет спустя, в феврале 1996 года, австралийские хакеры из команды разработчиков вирусов VLAD создали вирус Bizatch (также известный как вирус «Boza»), который был первым известным вирусом, нацеленным на Windows 95. В конце 1997 года был выпущен зашифрованный, резидентный стелс-вирус Win32.Cabanas — первый известный вирус, нацеленный на Windows NT (он также мог заражать хосты Windows 3.0 и Windows 9x). [31]
Даже домашние компьютеры были подвержены вирусам. Первым, кто появился на Amiga, был вирус загрузочного сектора, называемый вирусом SCA , который был обнаружен в ноябре 1987 года. [32]
Компьютерный вирус обычно состоит из трех частей: механизма заражения, который находит и заражает новые файлы, полезной нагрузки, которая представляет собой вредоносный код для выполнения, и триггера, который определяет, когда активировать полезную нагрузку. [33]
Фазы вируса — это жизненный цикл компьютерного вируса, описанный с использованием аналогии с биологией . Этот жизненный цикл можно разделить на четыре фазы:
Компьютерные вирусы заражают различные подсистемы на своих хост-компьютерах и программном обеспечении. [41] Один из способов классификации вирусов — это анализ того, находятся ли они в двоичных исполняемых файлах (таких как файлы .EXE или .COM ), файлах данных (таких как документы Microsoft Word или файлы PDF ) или в загрузочном секторе жесткого диска хоста (или в некоторой комбинации всех этих). [42] [43]
Резидентный вирус памяти (или просто «резидентный вирус») при запуске устанавливает себя как часть операционной системы, после чего он остается в оперативной памяти с момента загрузки компьютера до момента его выключения. Резидентные вирусы перезаписывают код обработки прерываний или другие функции , и когда операционная система пытается получить доступ к целевому файлу или сектору диска, код вируса перехватывает запрос и перенаправляет поток управления в модуль репликации, заражая цель. Напротив, нерезидентный вирус памяти (или «нерезидентный вирус») при запуске сканирует диск на предмет целей, заражает их, а затем завершает работу (т. е. он не остается в памяти после завершения выполнения). [44]
Многие распространенные приложения, такие как Microsoft Outlook и Microsoft Word , позволяют встраивать макропрограммы в документы или электронные письма, чтобы программы могли запускаться автоматически при открытии документа. Макровирус ( или «документный вирус») — это вирус, написанный на макроязыке и внедренный в эти документы, так что когда пользователи открывают файл, код вируса выполняется и может заразить компьютер пользователя. Это одна из причин, по которой опасно открывать неожиданные или подозрительные вложения в электронных письмах . [45] [46] Хотя неоткрытие вложений в электронных письмах от неизвестных лиц или организаций может помочь снизить вероятность заражения вирусом, в некоторых случаях вирус разработан таким образом, что электронное письмо выглядит как отправленное авторитетной организацией (например, крупным банком или компанией, выпускающей кредитные карты).
Вирусы загрузочного сектора специально нацелены на загрузочный сектор и/или главную загрузочную запись [47] (MBR) жесткого диска хоста , твердотельного накопителя или съемных носителей информации ( флэш-накопители , дискеты и т. д.) [48] .
Наиболее распространенным способом передачи компьютерных вирусов в загрузочном секторе является физический носитель. При чтении VBR привода зараженный гибкий диск или USB-флешка, подключенная к компьютеру, переносит данные, а затем изменяет или заменяет существующий загрузочный код. В следующий раз, когда пользователь попытается запустить рабочий стол, вирус немедленно загрузится и запустится как часть главной загрузочной записи. [49]
Вирусы электронной почты — это вирусы, которые намеренно, а не случайно, используют систему электронной почты для распространения. Хотя зараженные вирусом файлы могут быть случайно отправлены в виде вложений к электронным письмам , вирусы электронной почты знают о функциях системы электронной почты. Они, как правило, нацелены на определенный тип системы электронной почты ( чаще всего используется Microsoft Outlook ), собирают адреса электронной почты из различных источников и могут добавлять свои копии ко всем отправляемым электронным письмам или могут генерировать сообщения электронной почты, содержащие свои копии в виде вложений. [50]
Чтобы избежать обнаружения пользователями, некоторые вирусы используют различные виды обмана . Некоторые старые вирусы, особенно на платформе DOS , следят за тем, чтобы дата «последнего изменения» файла-хоста оставалась прежней, когда файл заражен вирусом. Однако этот подход не обманывает антивирусное программное обеспечение , особенно те, которые поддерживают и датируют циклические проверки избыточности при изменении файлов. [51] Некоторые вирусы могут заражать файлы, не увеличивая их размер и не повреждая файлы. Они достигают этого, перезаписывая неиспользуемые области исполняемых файлов. Они называются вирусами полостей . Например, вирус CIH , или вирус Чернобыля, заражает файлы Portable Executable . Поскольку эти файлы имеют много пустых промежутков, вирус, длина которого составляла 1 КБ , не увеличивал размер файла. [52] Некоторые вирусы пытаются избежать обнаружения, убивая задачи, связанные с антивирусным программным обеспечением, до того, как оно сможет их обнаружить (например, Conficker ). Вирус также может скрывать свое присутствие с помощью руткита , не показывая себя в списке системных процессов или маскируясь в доверенном процессе. [53] В 2010-х годах, поскольку компьютеры и операционные системы становятся больше и сложнее, старые методы сокрытия необходимо обновлять или заменять. Защита компьютера от вирусов может потребовать перехода файловой системы к подробному и явному разрешению для каждого вида доступа к файлам. [ необходима цитата ] Кроме того, только небольшая часть известных вирусов на самом деле вызывает реальные инциденты, в первую очередь потому, что многие вирусы остаются ниже теоретического эпидемического порога. [54]
Хотя некоторые виды антивирусного программного обеспечения используют различные методы противодействия скрытым механизмам, после заражения любое обращение к «очистке» системы становится ненадежным. В операционных системах Microsoft Windows файловая система NTFS является частной собственностью. Это не оставляет антивирусному программному обеспечению альтернативы, кроме как отправлять запрос «чтения» файлам Windows, которые обрабатывают такие запросы. Некоторые вирусы обманывают антивирусное программное обеспечение, перехватывая его запросы к операционной системе. Вирус может скрыться, перехватив запрос на чтение зараженного файла, обработав сам запрос и вернув незараженную версию файла антивирусному программному обеспечению. Перехват может произойти путем внедрения кода в реальные файлы операционной системы, которые будут обрабатывать запрос на чтение. Таким образом, антивирусное программное обеспечение, пытающееся обнаружить вирус, либо не получит разрешения на чтение зараженного файла, либо запрос «чтения» будет обработан незараженной версией того же файла. [55]
Единственный надежный способ избежать «скрытых» вирусов — это загрузка с носителя, который заведомо «чист». Затем можно использовать программное обеспечение безопасности для проверки неактивных файлов операционной системы. Большинство программного обеспечения безопасности опирается на вирусные сигнатуры или использует эвристику . [56] [57] Программное обеспечение безопасности также может использовать базу данных « хэшей » файлов для файлов ОС Windows, поэтому программное обеспечение безопасности может идентифицировать измененные файлы и запрашивать у установочного носителя Windows замену их подлинными версиями. В более старых версиях Windows криптографические хэш-функции файлов ОС Windows, хранящиеся в Windows, — чтобы обеспечить проверку целостности/подлинности файлов — могли быть перезаписаны, так что средство проверки системных файлов сообщало бы, что измененные системные файлы являются подлинными, поэтому использование хэшей файлов для сканирования измененных файлов не всегда гарантировало бы обнаружение заражения. [58]
Большинство современных антивирусных программ пытаются найти вирусные шаблоны внутри обычных программ, сканируя их на предмет так называемых вирусных сигнатур . [59] Различные антивирусные программы будут использовать разные методы поиска при идентификации вирусов. Если антивирусный сканер находит такой шаблон в файле, он выполнит другие проверки, чтобы убедиться, что он нашел вирус, а не просто случайную последовательность в невинном файле, прежде чем уведомит пользователя о том, что файл заражен. Затем пользователь может удалить или (в некоторых случаях) «очистить» или «вылечить» зараженный файл. Некоторые вирусы используют методы, которые делают обнаружение с помощью сигнатур трудным, но, вероятно, не невозможным. Эти вирусы изменяют свой код при каждом заражении. То есть, каждый зараженный файл содержит другой вариант вируса. [ необходима цитата ]
Одним из методов обхода обнаружения сигнатуры является использование простого шифрования для шифрования (кодирования) тела вируса, оставляя только модуль шифрования и статический криптографический ключ в открытом тексте , который не меняется от одного заражения к другому. [60] В этом случае вирус состоит из небольшого модуля дешифрования и зашифрованной копии кода вируса. Если вирус зашифрован с помощью другого ключа для каждого зараженного файла, единственной частью вируса, которая остается постоянной, является модуль дешифрования, который (например) будет добавлен в конец. В этом случае антивирусный сканер не может напрямую обнаружить вирус с помощью сигнатур, но он все еще может обнаружить модуль дешифрования, что все еще делает возможным косвенное обнаружение вируса. Поскольку это будут симметричные ключи, хранящиеся на зараженном хосте, вполне возможно расшифровать окончательный вирус, но это, вероятно, не требуется, поскольку самомодифицирующийся код встречается так редко, что обнаружение некоторых из них может быть достаточной причиной для антивирусных сканеров, чтобы по крайней мере «пометить» файл как подозрительный. [ необходима цитата ] Старый, но компактный способ будет использовать арифметические операции, такие как сложение или вычитание, и использование логических условий, таких как XORing , [61] где каждый байт в вирусе является константой, так что операция исключающего ИЛИ должна была быть только повторена для расшифровки. Подозрительно, что код изменяет себя, поэтому код для выполнения шифрования/расшифровки может быть частью сигнатуры во многих определениях вирусов. [ необходима цитата ] Более простой старый подход не использовал ключ, где шифрование состояло только из операций без параметров, таких как инкрементирование и декрементирование, побитовое вращение, арифметическое отрицание и логическое НЕ. [61] Некоторые вирусы, называемые полиморфными вирусами, будут использовать средства шифрования внутри исполняемого файла, в котором вирус шифруется при определенных событиях, таких как отключение антивирусного сканера для обновлений или перезагрузка компьютера . [ 62] Это называется криптовирусология .
Полиморфный код был первой техникой, которая представляла серьезную угрозу для антивирусных сканеров. Как и обычные зашифрованные вирусы, полиморфный вирус заражает файлы зашифрованной копией себя, которая декодируется модулем дешифрования . Однако в случае полиморфных вирусов этот модуль дешифрования также изменяется при каждом заражении. Поэтому хорошо написанный полиморфный вирус не имеет частей, которые остаются идентичными между заражениями, что делает его очень сложным для прямого обнаружения с помощью «сигнатур». [63] [64] Антивирусное программное обеспечение может обнаружить его, расшифровав вирусы с помощью эмулятора или с помощью статистического анализа шаблонов зашифрованного тела вируса. Чтобы включить полиморфный код, вирус должен иметь полиморфный движок (также называемый «мутирующим движком» или « мутационным движком») где-то в своем зашифрованном теле. Технические подробности о том, как работают такие движки, см. в разделе полиморфный код . [65]
Некоторые вирусы используют полиморфный код таким образом, что это значительно ограничивает скорость мутации вируса. Например, вирус можно запрограммировать так, чтобы он мутировал лишь незначительно с течением времени, или его можно запрограммировать так, чтобы он воздерживался от мутации, когда он заражает файл на компьютере, который уже содержит копии вируса. Преимущество использования такого медленного полиморфного кода заключается в том, что он затрудняет получение антивирусными специалистами и исследователями репрезентативных образцов вируса, поскольку файлы-приманки, которые заражаются за один запуск, как правило, содержат идентичные или похожие образцы вируса. Это повышает вероятность того, что обнаружение вирусным сканером будет ненадежным, и что некоторые экземпляры вируса смогут избежать обнаружения.
Чтобы избежать обнаружения эмуляцией, некоторые вирусы полностью переписывают себя каждый раз, когда они должны заразить новые исполняемые файлы. Говорят, что вирусы, использующие эту технику, находятся в метаморфическом коде . Чтобы включить метаморфизм, необходим «метаморфический движок». Метаморфический вирус обычно очень большой и сложный. Например, W32/Simile состоял из более чем 14 000 строк кода на языке ассемблера , 90% которого являются частью метаморфического движка. [66] [67]
Ущерб возникает из-за сбоя системы, повреждения данных, пустой траты ресурсов компьютера, увеличения расходов на обслуживание или кражи личной информации. [10] Несмотря на то, что ни одно антивирусное программное обеспечение не может обнаружить все компьютерные вирусы (особенно новые), исследователи компьютерной безопасности активно ищут новые способы, позволяющие антивирусным решениям более эффективно обнаруживать появляющиеся вирусы, прежде чем они получат широкое распространение. [68]
Power virus — это компьютерная программа, которая выполняет определенный машинный код для достижения максимального рассеивания мощности ЦП ( тепловой энергии , вырабатываемой центральными процессорами ). [69] Устройства охлаждения компьютера предназначены для рассеивания мощности до расчетной тепловой мощности , а не максимальной мощности, и power virus может вызвать перегрев системы, если у нее нет логики для остановки процессора. Это может привести к постоянному физическому повреждению. Power virus могут быть вредоносными, но часто представляют собой наборы тестового программного обеспечения, используемые для интеграционного тестирования и теплового тестирования компьютерных компонентов на этапе проектирования продукта или для сравнительного анализа продукта . [70]
Приложения для тестирования стабильности — это похожие программы, которые оказывают тот же эффект, что и вирусы питания (высокая загрузка ЦП), но остаются под контролем пользователя. Они используются для тестирования ЦП, например, при разгоне . Спин-блокировка в плохо написанной программе может вызывать похожие симптомы, если она длится достаточно долго.
Различные микроархитектуры обычно требуют разного машинного кода для достижения максимальной мощности. Примеры такого машинного кода, по-видимому, не распространяются в справочных материалах по ЦП. [71]
Поскольку программное обеспечение часто разрабатывается с функциями безопасности для предотвращения несанкционированного использования системных ресурсов, многим вирусам приходится эксплуатировать и манипулировать ошибками безопасности , которые являются дефектами безопасности в системном или прикладном программном обеспечении, чтобы распространяться и заражать другие компьютеры. Стратегии разработки программного обеспечения , которые производят большое количество «ошибок», как правило, также создают потенциально эксплуатируемые «дыры» или «входы» для вируса.
Чтобы реплицировать себя, вирусу должно быть разрешено выполнять код и записывать в память. По этой причине многие вирусы прикрепляются к исполняемым файлам , которые могут быть частью легитимных программ (см. внедрение кода ). Если пользователь пытается запустить зараженную программу, код вируса может быть выполнен одновременно. [72] В операционных системах, которые используют расширения файлов для определения ассоциаций программ (например, Microsoft Windows), расширения могут быть скрыты от пользователя по умолчанию. Это позволяет создать файл, который имеет другой тип, чем он кажется пользователю. Например, исполняемый файл может быть создан и назван «picture.png.exe», в котором пользователь видит только «picture.png» и поэтому предполагает, что этот файл является цифровым изображением и, скорее всего, безопасен, однако при открытии он запускает исполняемый файл на клиентской машине. [73] Вирусы могут быть установлены на съемных носителях, таких как флэш-накопители . Диски могут быть оставлены на парковке правительственного здания или другой цели в надежде, что любопытные пользователи вставят диск в компьютер. В ходе эксперимента 2015 года исследователи из Мичиганского университета обнаружили, что 45–98 процентов пользователей подключают флэш-накопитель неизвестного происхождения. [74]
Подавляющее большинство вирусов нацелено на системы под управлением Microsoft Windows . Это связано с большой долей рынка пользователей настольных компьютеров Microsoft . [75] Разнообразие программных систем в сети ограничивает разрушительный потенциал вирусов и вредоносных программ. [a] Операционные системы с открытым исходным кодом , такие как Linux, позволяют пользователям выбирать из множества сред рабочего стола , инструментов упаковки и т. д., что означает, что вредоносный код, нацеленный на любую из этих систем, повлияет только на подмножество всех пользователей. Многие пользователи Windows используют один и тот же набор приложений, что позволяет вирусам быстро распространяться среди систем Microsoft Windows, нацеливаясь на одни и те же эксплойты на большом количестве хостов. [76] [77] [78] [79]
В то время как Linux и Unix в целом всегда изначально запрещали обычным пользователям вносить изменения в среду операционной системы без разрешения, пользователи Windows, как правило, не лишены возможности вносить эти изменения, что означает, что вирусы могут легко получить контроль над всей системой на хостах Windows. Это различие сохранилось отчасти из-за широкого использования учетных записей администратора в современных версиях, таких как Windows XP . В 1997 году исследователи создали и выпустили вирус для Linux, известный как « Bliss ». [80] Однако Bliss требует, чтобы пользователь запускал его явно, и он может заражать только те программы, к изменению которых у пользователя есть доступ. В отличие от пользователей Windows, большинство пользователей Unix не входят в систему как администратор или «пользователь root» , за исключением случаев установки или настройки программного обеспечения; в результате, даже если пользователь запускал вирус, он не мог нанести вред его операционной системе. Вирус Bliss так и не получил широкого распространения и остается в основном исследовательским любопытством. Его создатель позже опубликовал исходный код в Usenet , что позволило исследователям увидеть, как он работает. [81]
До того, как компьютерные сети стали широко распространенными, большинство вирусов распространялось на сменных носителях , в частности на дискетах . В первые дни существования персональных компьютеров многие пользователи регулярно обменивались информацией и программами на дискетах. Некоторые вирусы распространялись, заражая программы, хранящиеся на этих дисках, в то время как другие устанавливались в загрузочный сектор диска , гарантируя, что они будут запущены, когда пользователь загрузит компьютер с диска, как правило, непреднамеренно. Персональные компьютеры той эпохи пытались сначала загрузиться с дискеты, если она была оставлена в дисководе. Пока дискеты не вышли из употребления, это была самая успешная стратегия заражения, и вирусы загрузочного сектора были наиболее распространены в «дикой природе» в течение многих лет. Традиционные компьютерные вирусы появились в 1980-х годах, что было обусловлено распространением персональных компьютеров и последующим ростом систем электронных досок объявлений (BBS), использованием модемов и обменом программным обеспечением. Обмен программным обеспечением, управляемый электронными досками объявлений, напрямую способствовал распространению программ- троянов , и вирусы были написаны для заражения популярного программного обеспечения. Условно-бесплатное и пиратское программное обеспечение были одинаково распространенными векторами вирусов на BBS. [82] [83] Вирусы могут увеличить свои шансы на распространение на другие компьютеры, заражая файлы в сетевой файловой системе или файловой системе, к которой имеют доступ другие компьютеры. [84]
Макровирусы стали обычным явлением с середины 1990-х годов. Большинство этих вирусов написано на языках сценариев для программ Microsoft, таких как Microsoft Word и Microsoft Excel , и распространяется по всему Microsoft Office , заражая документы и электронные таблицы . Поскольку Word и Excel также были доступны для Mac OS , большинство из них также могли распространяться на компьютеры Macintosh . Хотя большинство этих вирусов не имели возможности отправлять зараженные сообщения электронной почты , те вирусы, которые использовали интерфейс Microsoft Outlook Component Object Model (COM). [85] [86] Некоторые старые версии Microsoft Word позволяют макросам реплицировать себя с помощью дополнительных пустых строк. Если два макровируса одновременно заражают документ, комбинация этих двух, если они также самовоспроизводятся, может выглядеть как «спаривание» двух и, вероятно, будет обнаружена как вирус, уникальный по сравнению с «родителями». [87]
Вирус также может отправлять ссылку на веб-адрес в виде мгновенного сообщения всем контактам (например, адресам электронной почты друзей и коллег), хранящимся на зараженной машине. Если получатель, думая, что ссылка от друга (доверенный источник), переходит по ссылке на веб-сайт, вирус, размещенный на сайте, может заразить этот новый компьютер и продолжить свое распространение. [88] Вирусы, которые распространяются с помощью межсайтового скриптинга, были впервые зарегистрированы в 2002 году, [89] и были научно продемонстрированы в 2005 году. [90] Было несколько случаев вирусов межсайтового скриптинга в «дикой природе», эксплуатирующих такие веб-сайты, как MySpace (с червем Samy) и Yahoo !.
В 1989 году подразделение индустрии программного обеспечения ADAPSO опубликовало работу «Борьба с электронным вандализмом » [91], в которой риск потери данных был сопоставлен с «дополнительным риском потери доверия клиентов». [92] [93] [94]
Многие пользователи устанавливают антивирусное программное обеспечение , которое может обнаруживать и устранять известные вирусы, когда компьютер пытается загрузить или запустить исполняемый файл (который может распространяться как вложение электронной почты или на USB-флеш-накопителях , например). Некоторое антивирусное программное обеспечение блокирует известные вредоносные веб-сайты, которые пытаются установить вредоносное ПО. Антивирусное программное обеспечение не изменяет базовую способность хостов передавать вирусы. Пользователи должны регулярно обновлять свое программное обеспечение, чтобы залатать уязвимости безопасности («дыры»). Антивирусное программное обеспечение также необходимо регулярно обновлять, чтобы распознавать последние угрозы . Это связано с тем, что злонамеренные хакеры и другие лица постоянно создают новые вирусы. Немецкий институт AV-TEST публикует оценки антивирусного программного обеспечения для Windows [95] и Android. [96]
Примерами антивирусного и антивредоносного программного обеспечения Microsoft Windows являются дополнительный Microsoft Security Essentials [97] (для Windows XP, Vista и Windows 7) для защиты в реальном времени, средство удаления вредоносных программ Windows [98] (теперь включено в обновления Windows (безопасности) во « вторник исправлений », второй вторник каждого месяца) и Защитник Windows (дополнительная загрузка в случае Windows XP). [99] Кроме того, несколько эффективных антивирусных программ доступны для бесплатной загрузки из Интернета (обычно ограничены некоммерческим использованием). [100] Некоторые такие бесплатные программы почти так же хороши, как и коммерческие конкуренты. [101] Распространенным уязвимостям безопасности присваиваются идентификаторы CVE , и они перечислены в Национальной базе данных уязвимостей США . Secunia PSI [102] является примером бесплатного для личного использования программного обеспечения, которое проверяет ПК на наличие уязвимого устаревшего программного обеспечения и пытается обновить его. Предупреждения о мошенничестве с вымогателями и фишинге появляются в виде пресс-релизов на доске объявлений Центра жалоб на интернет-преступность . Вирус-вымогатель — это вирус, который размещает на экране пользователя сообщение о том, что экран или система останутся заблокированными или не будут использоваться до тех пор, пока не будет выплачен выкуп . Фишинг — это обман, при котором злоумышленник выдает себя за друга, эксперта по компьютерной безопасности или другого доброжелательного человека с целью убедить жертву раскрыть пароли или другую личную информацию.
Другие часто используемые профилактические меры включают своевременное обновление операционной системы, обновление программного обеспечения, осторожный просмотр Интернета (избегание сомнительных веб-сайтов) и установку только надежного программного обеспечения. [103] Некоторые браузеры помечают сайты, о которых Google сообщил и которые были подтверждены как размещающие вредоносное ПО. [104] [105]
Существует два распространенных метода, которые антивирусное программное обеспечение использует для обнаружения вирусов, как описано в статье об антивирусном программном обеспечении . Первый и, безусловно, самый распространенный метод обнаружения вирусов — это использование списка определений сигнатур вирусов . Он работает путем проверки содержимого памяти компьютера (его оперативной памяти (ОЗУ) и загрузочных секторов ) и файлов, хранящихся на фиксированных или съемных дисках (жестких дисках, дискетах или USB-флеш-накопителях), и сравнения этих файлов с базой данных известных «сигнатур» вирусов. Сигнатуры вирусов — это просто строки кода, которые используются для идентификации отдельных вирусов; для каждого вируса разработчик антивируса пытается выбрать уникальную строку сигнатуры, которая не будет найдена в легитимной программе. Различные антивирусные программы используют разные «сигнатуры» для идентификации вирусов. Недостатком этого метода обнаружения является то, что пользователи защищены только от вирусов, которые обнаруживаются сигнатурами в их последнем обновлении определения вирусов, и не защищены от новых вирусов (см. « атака нулевого дня »). [106]
Второй метод поиска вирусов — использование эвристического алгоритма, основанного на общем поведении вирусов. Этот метод может обнаруживать новые вирусы, для которых антивирусные компании еще не определили «сигнатуру», но он также приводит к большему количеству ложных срабатываний , чем при использовании сигнатур. Ложные срабатывания могут быть разрушительными, особенно в коммерческой среде, поскольку это может привести к тому, что компания даст указание персоналу не использовать компьютерную систему компании, пока ИТ-службы не проверят ее на наличие вирусов. Это может снизить производительность труда штатных сотрудников.
Можно уменьшить ущерб, наносимый вирусами, регулярно создавая резервные копии данных (и операционных систем) на разных носителях, которые либо хранятся неподключенными к системе (большую часть времени, как на жестком диске), либо доступны только для чтения или недоступны по другим причинам, например, из-за использования разных файловых систем . Таким образом, если данные будут утеряны из-за вируса, можно будет начать снова, используя резервную копию (которая, как мы надеемся, будет недавней). [107] Если сеанс резервного копирования на оптическом носителе, таком как CD и DVD, закрыт, он становится доступным только для чтения и больше не может быть затронут вирусом (при условии, что вирус или зараженный файл не были скопированы на CD / DVD ). Аналогичным образом, операционная система на загрузочном CD может использоваться для запуска компьютера, если установленные операционные системы станут непригодными для использования. Резервные копии на съемных носителях должны быть тщательно проверены перед восстановлением. Например, вирус Gammima распространяется через съемные флэш-накопители . [108] [109]
Многие веб-сайты, управляемые компаниями-разработчиками антивирусного программного обеспечения, предоставляют бесплатное онлайн-сканирование на вирусы с ограниченными возможностями «очистки» (в конце концов, цель веб-сайтов — продавать антивирусные продукты и услуги). Некоторые веб-сайты, такие как дочерняя компания Google VirusTotal .com, позволяют пользователям загружать один или несколько подозрительных файлов для сканирования и проверки одной или несколькими антивирусными программами за одну операцию. [110] [111] Кроме того, несколько эффективных антивирусных программ доступны для бесплатной загрузки из Интернета (обычно ограничены некоммерческим использованием). [112] Microsoft предлагает дополнительную бесплатную антивирусную утилиту под названием Microsoft Security Essentials , средство удаления вредоносных программ для Windows , которое обновляется как часть регулярного режима обновления Windows, и более старый дополнительный инструмент защиты от вредоносных программ (удаления вредоносных программ) Защитник Windows , который был обновлен до антивирусного продукта в Windows 8.
Некоторые вирусы отключают восстановление системы и другие важные инструменты Windows, такие как диспетчер задач и CMD . Примером вируса, который делает это, является CiaDoor. Многие такие вирусы можно удалить, перезагрузив компьютер, войдя в « безопасный режим » Windows с сетевыми драйверами, а затем используя системные инструменты или Microsoft Safety Scanner . [113] Восстановление системы в Windows Me , Windows XP , Windows Vista и Windows 7 может восстановить реестр и критические системные файлы до предыдущей контрольной точки. Часто вирус заставляет систему «зависать» или «зависать», а последующая жесткая перезагрузка делает точку восстановления системы с того же дня поврежденной. Точки восстановления с предыдущих дней должны работать, при условии, что вирус не предназначен для повреждения файлов восстановления и не существует в предыдущих точках восстановления. [114] [115]
Средство проверки системных файлов Microsoft (улучшенное в Windows 7 и более поздних версиях) можно использовать для проверки и исправления поврежденных системных файлов. [116] Восстановление более ранней «чистой» (без вирусов) копии всего раздела с клонированного диска , образа диска или резервной копии — одно из решений. Восстановление более раннего «образа» резервного диска относительно просто, обычно удаляет все вредоносные программы и может быть быстрее, чем «лечение» компьютера или переустановка и перенастройка операционной системы и программ с нуля, как описано ниже, а затем восстановление пользовательских настроек. [107] Переустановка операционной системы — еще один подход к удалению вирусов. Возможно, удастся восстановить копии важных пользовательских данных, загрузившись с Live CD или подключив жесткий диск к другому компьютеру и загрузившись с операционной системы второго компьютера, соблюдая особую осторожность, чтобы не заразить этот компьютер, запустив какие-либо зараженные программы на исходном диске. Затем исходный жесткий диск можно переформатировать, а ОС и все программы установить с исходного носителя. После восстановления системы необходимо принять меры предосторожности, чтобы избежать повторного заражения от любых восстановленных исполняемых файлов . [117]
Первое известное описание самовоспроизводящейся программы в художественной литературе содержится в рассказе 1970 года « The Scarred Man» Грегори Бенфорда, в котором описывается компьютерная программа под названием VIRUS, которая при установке на компьютер с возможностью набора номера через телефонный модем случайным образом набирает телефонные номера, пока не попадет на модем, на который отвечает другой компьютер, а затем пытается запрограммировать отвечающий компьютер своей собственной программой, так что второй компьютер также начнет набирать случайные номера в поисках еще одного компьютера для программирования. Программа быстро распространяется экспоненциально через восприимчивые компьютеры и может быть нейтрализована только второй программой под названием VACCINE. [118] Его история была основана на реальном компьютерном вирусе, написанном на FORTRAN , который Бенфорд создал и запустил на лабораторном компьютере в 1960-х годах в качестве доказательства концепции, и о котором он рассказал Джону Браннеру в 1970 году. [119]
Эта идея была более подробно исследована в двух романах 1972 года « Когда Харли был один » Дэвида Джерролда и «Человек в терминальной стадии » Майкла Крайтона , и стала главной темой романа 1975 года «Наездник ударной волны» Джона Бруннера . [120]
В научно-фантастическом фильме Майкла Крайтона 1973 года «Мир Дикого Запада» впервые упоминается концепция компьютерного вируса, который является центральной темой сюжета, заставляющей андроидов выходить из себя. [121] [ нужен лучший источник ] Персонаж Алана Оппенгеймера резюмирует проблему, заявляя, что «...здесь есть четкая закономерность, которая предполагает аналогию с процессом инфекционного заболевания, распространяющегося из одной... области в другую». На что даются ответы: «Возможно, есть поверхностное сходство с болезнью» и «Должен признаться, мне трудно поверить в болезнь машин». [122]
Термин «вирус» также неправильно используется в расширенном смысле для обозначения других типов вредоносного ПО . «Вредоносное ПО» охватывает компьютерные вирусы вместе со многими другими формами вредоносного ПО, такими как компьютерные «черви» , программы-вымогатели , шпионское ПО , рекламное ПО , троянские кони , кейлоггеры , руткиты , буткиты , вредоносные объекты Browser Helper Object (BHO) и другое вредоносное ПО. Большинство активных угроз вредоносного ПО — это программы-трояны или компьютерные черви, а не компьютерные вирусы. Термин «компьютерный вирус», придуманный Фредом Коэном в 1985 году, является неправильным. [123] Вирусы часто выполняют некоторые виды вредоносной деятельности на зараженных хост-компьютерах, такие как захват места на жестком диске или времени центрального процессора (ЦП), доступ и кража личной информации (например, номеров кредитных карт , номеров дебетовых карт , номеров телефонов, имен, адресов электронной почты, паролей, банковской информации, домашних адресов и т. д.), повреждение данных, отображение политических, юмористических или угрожающих сообщений на экране пользователя, рассылка спама по контактам электронной почты, регистрация нажатий клавиш или даже вывод компьютера из строя. Однако не все вирусы несут разрушительную « полезную нагрузку » и пытаются скрыться — определяющей характеристикой вирусов является то, что они являются самовоспроизводящимися компьютерными программами, которые изменяют другое программное обеспечение без согласия пользователя, внедряясь в указанные программы, подобно биологическому вирусу, который размножается внутри живых клеток.
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь )CS1 maint: числовые имена: список авторов ( ссылка ){{cite web}}
: CS1 maint: неподходящий URL ( ссылка )И здесь есть четкая закономерность, которая предполагает аналогию с процессом инфекционного заболевания, распространяющегося от одной курортной зоны к другой. ... "Возможно, есть поверхностное сходство с болезнью." "Должен признаться, мне трудно поверить в болезнь машин.
{{cite AV media}}
: CS1 maint: местоположение ( ссылка ){{cite book}}
: CS1 maint: местоположение ( ссылка )(DMOZ)