Компьютерный вирус [1] — это тип вредоносного ПО , которое при запуске воспроизводит себя, модифицируя другие компьютерные программы и вставляя в эти программы свой собственный код . [2] [3] Если эта репликация успешна, говорят, что пораженные участки «заражены» компьютерным вирусом - метафора, заимствованная из биологических вирусов . [4]
Компьютерным вирусам обычно требуется хост-программа . [5] Вирус записывает свой собственный код в хост-программу. При запуске программы сначала запускается написанная вирусная программа, вызывая заражение и повреждение. Напротив, компьютерному червю не нужна хост-программа, поскольку он представляет собой независимую программу или фрагмент кода. Таким образом, он не ограничен хост-программой , но может работать независимо и активно осуществлять атаки. [6] [7]
Авторы вирусов используют методы социальной инженерии и подробные знания об уязвимостях системы безопасности для первоначального заражения систем и распространения вируса. Вирусы используют сложные стратегии предотвращения обнаружения/скрытности, чтобы обойти антивирусное программное обеспечение . [8] Мотивы создания вирусов могут включать стремление получить прибыль (например, с помощью программ-вымогателей ), желание отправить политическое сообщение, личное развлечение, продемонстрировать наличие уязвимости в программном обеспечении, саботаж и отказ в обслуживании или просто желание исследовать вопросы кибербезопасности , искусственной жизни и эволюционных алгоритмов . [9]
По состоянию на 2013 год компьютерные вирусы ежегодно наносили экономический ущерб на миллиарды долларов. [10] В ответ возникла индустрия антивирусного программного обеспечения , продающая или бесплатно распространяющая защиту от вирусов среди пользователей различных операционных систем . [11]
Первая академическая работа по теории самовоспроизводящихся компьютерных программ была сделана в 1949 году Джоном фон Нейманом , который читал в Университете Иллинойса лекции по «Теории и организации сложных автоматов ». Работа фон Неймана позже была опубликована как «Теория самовоспроизводящихся автоматов». В своем эссе фон Нейман описал, как можно создать компьютерную программу, воспроизводящую саму себя. [12] Разработка фон Неймана самовоспроизводящейся компьютерной программы считается первым в мире компьютерным вирусом, и его считают теоретическим «отцом» компьютерной вирусологии. [13] В 1972 году Вейт Рисак, непосредственно опираясь на работу фон Неймана по самовоспроизведению , опубликовал свою статью «Selbstreproduzierende Automaten mit минимальный 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 году Ричардом Скрентой , девятиклассником средней школы Маунт-Ливан недалеко от Питтсбурга , она прикреплялась к операционной системе Apple DOS 3.3 и распространялась через дискету . [21] При 50-м использовании вирус Elk Cloner активировался, заразил персональный компьютер и отобразил короткое стихотворение, начинающееся со слов «Elk Cloner: Программа с индивидуальностью».
В 1984 году Фред Коэн из Университета Южной Калифорнии написал свою статью «Компьютерные вирусы – теория и эксперименты». [22] Это была первая статья, в которой самовоспроизводящаяся программа прямо называлась «вирусом» — термин, введенный наставником Коэна Леонардом Адлеманом . В 1987 году Фред Коэн опубликовал демонстрацию того, что не существует алгоритма , который мог бы идеально обнаружить все возможные вирусы. [23] Теоретический компрессионный вирус Фреда Коэна [24] был примером вируса, который не был вредоносным программным обеспечением ( вредоносным ПО ), но был предположительно доброжелательным (с благими намерениями). Однако специалисты по антивирусам не принимают понятие «доброжелательные вирусы», поскольку любую желаемую функцию можно реализовать без участия вируса (например, в Windows по выбору пользователя доступно автоматическое сжатие). Любой вирус по определению вносит несанкционированные изменения в компьютер, что нежелательно, даже если никакого ущерба не было нанесено или не было запланировано. На первой странице Вирусной энциклопедии доктора Соломона объясняется нежелательность вирусов, даже тех, которые ничего не делают, кроме размножения. [25] [26]
Статья, описывающая «полезные функции вируса», была опубликована Дж. Б. Ганном под заголовком «Использование функций вируса для предоставления виртуального интерпретатора APL под контролем пользователя» в 1984 году. [27] Первым «диким» вирусом, совместимым с IBM PC, был вирус загрузочного сектора , получивший название (c)Brain , [28] созданный в 1986 году и выпущенный в 1987 году Амджадом Фаруком Алви и Баситом Фаруком Алви в Лахоре, Пакистан , как сообщается, для предотвращения несанкционированного копирования написанного ими программного обеспечения. [29] WinVir , первый вирус, специально нацеленный на Microsoft Windows , был обнаружен в апреле 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 года .
Компьютерный вирус обычно состоит из трех частей: механизм заражения, который находит и заражает новые файлы, полезная нагрузка, представляющая собой вредоносный код, который необходимо выполнить, и триггер, который определяет, когда активировать полезную нагрузку. [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 , или Чернобыльский вирус, заражает переносимые исполняемые файлы. Поскольку в этих файлах много пустых пробелов, вирус длиной 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]
Вирус мощности — это компьютерная программа, которая выполняет определенный машинный код для достижения максимальной рассеиваемой мощности процессора ( отдача тепловой энергии для центральных процессоров ). Охлаждающие устройства компьютера предназначены для рассеивания мощности до расчетной тепловой мощности , а не максимальной мощности, и вирус питания может привести к перегреву системы, если у нее нет логики для остановки процессора. Это может привести к необратимому физическому повреждению. Силовые вирусы могут быть вредоносными, но зачастую представляют собой наборы тестового программного обеспечения, используемые для интеграционного и термического тестирования компонентов компьютера на этапе проектирования продукта или для сравнительного тестирования продукта . [69]
Приложения для проверки стабильности — это аналогичные программы, которые имеют тот же эффект, что и вирусы энергопотребления (высокая загрузка ЦП), но остаются под контролем пользователя. Их используют для тестирования процессоров, например, при разгоне . Спин-блокировка в плохо написанной программе может вызвать аналогичные симптомы, если она длится достаточно долго.
Разные микроархитектуры обычно требуют разного машинного кода для достижения максимальной мощности. Примеры такого машинного кода, по-видимому, не распространяются в справочных материалах по ЦП. [70]
Поскольку программное обеспечение часто разрабатывается с функциями безопасности, предотвращающими несанкционированное использование системных ресурсов, многим вирусам приходится использовать и манипулировать ошибками безопасности , которые являются дефектами безопасности в системе или прикладном программном обеспечении, чтобы распространяться и заражать другие компьютеры. Стратегии разработки программного обеспечения , которые создают большое количество «ошибок», обычно также создают потенциальные « дыры» или «входы» для вируса.
Чтобы воспроизвести себя, вирусу необходимо разрешить выполнение кода и запись в память. По этой причине многие вирусы прикрепляются к исполняемым файлам , которые могут быть частью легитимных программ (см. внедрение кода ). Если пользователь попытается запустить зараженную программу, код вируса может быть выполнен одновременно. [71] В операционных системах, которые используют расширения файлов для определения ассоциаций программ (например, Microsoft Windows), расширения могут быть скрыты от пользователя по умолчанию. Это позволяет создать файл другого типа, чем тот, который кажется пользователю. Например, можно создать исполняемый файл с именем «picture.png.exe», в котором пользователь видит только «picture.png» и, следовательно, предполагает, что этот файл представляет собой цифровое изображение и, скорее всего, безопасен, однако при открытии он запускает исполняемый файл на клиентском компьютере. [72] Вирусы могут быть установлены на съемные носители, например флэш-накопители . Диски можно оставить на стоянке правительственного здания или в другом месте в надежде, что любопытные пользователи вставят диск в компьютер. В ходе эксперимента 2015 года исследователи из Мичиганского университета обнаружили, что 45–98 процентов пользователей подключают флэш-накопитель неизвестного происхождения. [73]
Подавляющее большинство вирусов нацелено на системы под управлением Microsoft Windows . Это связано с большой долей Microsoft на рынке пользователей настольных компьютеров . [74] Разнообразие программных систем в сети ограничивает разрушительный потенциал вирусов и вредоносных программ. [a] Операционные системы с открытым исходным кодом, такие как Linux , позволяют пользователям выбирать из множества сред рабочего стола , инструментов упаковки и т. д., а это означает, что вредоносный код, нацеленный на любую из этих систем, затронет только часть всех пользователей. Многие пользователи Windows используют один и тот же набор приложений, что позволяет вирусам быстро распространяться среди систем Microsoft Windows, нацеливая одни и те же эксплойты на большое количество хостов. [75] [76] [77] [78]
В то время как Linux и Unix в целом всегда изначально запрещали обычным пользователям вносить изменения в среду операционной системы без разрешения, пользователям Windows обычно не запрещается вносить эти изменения, а это означает, что вирусы могут легко получить контроль над всей системой на хостах Windows. Эта разница сохранилась отчасти из-за широкого использования учетных записей администратора в современных версиях, таких как Windows XP . В 1997 году исследователи создали и выпустили вирус для Linux, известный как « Bliss ». [79] Bliss, однако, требует, чтобы пользователь запускал его явно, и он может заражать только те программы, которые пользователь имеет доступ для изменения. В отличие от пользователей Windows, большинство пользователей Unix не входят в систему как администратор или «пользователь root» , за исключением случаев установки или настройки программного обеспечения; в результате, даже если пользователь запустил вирус, он не смог нанести вред его операционной системе. Вирус Блисс так и не получил широкого распространения и остается в основном исследовательским диковинкой. Позже его создатель разместил исходный код в Usenet , что позволило исследователям увидеть, как он работает. [80]
До того, как компьютерные сети получили широкое распространение, большинство вирусов распространялись на съемных носителях , особенно на дискетах . На заре появления персональных компьютеров многие пользователи регулярно обменивались информацией и программами на дискетах. Некоторые вирусы распространяются, заражая программы, хранящиеся на этих дисках, тогда как другие внедряются в загрузочный сектор диска , гарантируя, что они будут запускаться, когда пользователь загрузит компьютер с диска, обычно случайно. Персональные компьютеры той эпохи пытались сначала загрузиться с дискеты, если она осталась в приводе. Пока дискеты не вышли из употребления, это была наиболее успешная стратегия заражения, а вирусы загрузочного сектора были наиболее распространены в «дикой природе» на протяжении многих лет. Традиционные компьютерные вирусы появились в 1980-х годах в результате распространения персональных компьютеров и, как следствие, увеличения количества систем досок объявлений (BBS), использования модемов и совместного использования программного обеспечения. Совместное использование программного обеспечения на досках объявлений напрямую способствовало распространению троянских программ, а вирусы были написаны для заражения популярного программного обеспечения. Условно-бесплатное и контрафактное программное обеспечение были одинаково распространенными переносчиками вирусов на BBS. [81] [82] Вирусы могут увеличить вероятность распространения на другие компьютеры, заражая файлы в сетевой файловой системе или файловой системе, к которой имеют доступ другие компьютеры. [83]
Макровирусы стали обычным явлением с середины 1990-х годов. Большинство этих вирусов написаны на языках сценариев для программ Microsoft, таких как Microsoft Word и Microsoft Excel , и распространяются по всему Microsoft Office , заражая документы и электронные таблицы . Поскольку Word и Excel были также доступны для Mac OS , большинство из них могло также распространиться на компьютеры Macintosh . Хотя большинство этих вирусов не имели возможности отправлять зараженные сообщения электронной почты , те вирусы, которые использовали преимущества интерфейса модели компонентных объектов Microsoft Outlook (COM). [84] [85] Некоторые старые версии Microsoft Word позволяют макросам копировать себя с помощью дополнительных пустых строк. Если два макровируса одновременно заражают документ, их комбинация, если она также самовоспроизводится, может выглядеть как «спаривание» двух и, скорее всего, будет обнаружена как вирус, уникальный среди «родителей». [86]
Вирус также может отправить ссылку на веб-адрес в виде мгновенного сообщения всем контактам (например, адресам электронной почты друзей и коллег), хранящимся на зараженном компьютере. Если получатель, думая, что ссылка исходит от друга (доверенного источника), перейдет по ссылке на веб-сайт, вирус, размещенный на сайте, может заразить этот новый компьютер и продолжить распространение. [87] Вирусы, распространяющиеся с помощью межсайтового скриптинга, впервые были зарегистрированы в 2002 году, [88] и академически продемонстрированы в 2005 году. такие как MySpace (с червем Samy) и Yahoo! .
В 1989 году подразделение индустрии программного обеспечения ADAPSO опубликовало книгу «Борьба с электронным вандализмом» [ 90] , в которой они рассматривали риск потери данных как «дополнительный риск потери доверия клиентов». [91] [92] [93]
Многие пользователи устанавливают антивирусное программное обеспечение , которое может обнаруживать и уничтожать известные вирусы, когда компьютер пытается загрузить или запустить исполняемый файл (который может распространяться, например, в виде вложения к электронной почте или на флэш-накопителях USB ). Некоторые антивирусные программы блокируют известные вредоносные веб-сайты, которые пытаются установить вредоносное ПО. Антивирусное программное обеспечение не меняет основную способность хостов передавать вирусы. Пользователи должны регулярно обновлять свое программное обеспечение для устранения уязвимостей безопасности («дыр»). Антивирусное программное обеспечение также необходимо регулярно обновлять, чтобы распознавать новейшие угрозы . Это связано с тем, что злонамеренные хакеры и другие лица постоянно создают новые вирусы. Немецкий институт AV-TEST публикует оценки антивирусного программного обеспечения для Windows [94] и Android. [95]
Примеры антивирусного и вредоносного программного обеспечения для Microsoft Windows включают дополнительный пакет Microsoft Security Essentials [96] (для Windows XP, Vista и Windows 7) для защиты в реальном времени, средство удаления вредоносных программ для Windows [97] (теперь включенное в состав Windows) . (Безопасность) Обновления во « Вторник обновлений », второй вторник каждого месяца) и Защитник Windows (необязательная загрузка в случае Windows XP). [98] Кроме того, несколько эффективных антивирусных программ доступны для бесплатной загрузки из Интернета (обычно они предназначены только для некоммерческого использования). [99] Некоторые такие бесплатные программы почти так же хороши, как и коммерческие конкуренты. [100] Распространенным уязвимостям безопасности присваиваются идентификаторы CVE и они вносятся в Национальную базу данных уязвимостей США . Secunia PSI [101] — это пример программного обеспечения, бесплатного для личного использования, которое проверяет компьютер на наличие уязвимого устаревшего программного обеспечения и пытается его обновить. Предупреждения о программах-вымогателях и фишинге появляются в виде пресс-релизов на доске объявлений Центра рассмотрения жалоб на интернет-преступления . Программа-вымогатель — это вирус, который размещает на экране пользователя сообщение о том, что экран или система останутся заблокированными или непригодными для использования до тех пор, пока не будет произведен выкуп . Фишинг — это обман, при котором злоумышленник выдает себя за друга, эксперта по компьютерной безопасности или другого доброжелательного человека с целью убедить целевого человека раскрыть пароли или другую личную информацию.
Другие часто используемые профилактические меры включают своевременные обновления операционной системы, обновления программного обеспечения, тщательный просмотр Интернета (избегание сомнительных веб-сайтов) и установку только доверенного программного обеспечения. [102] Некоторые браузеры помечают сайты, о которых было сообщено в Google и которые были подтверждены Google как хостинг вредоносного ПО. [103] [104]
Существует два распространенных метода, которые антивирусное программное обеспечение использует для обнаружения вирусов, как описано в статье об антивирусном программном обеспечении . Первый и, безусловно, наиболее распространенный метод обнаружения вирусов — использование списка определений сигнатур вирусов . Это работает путем изучения содержимого памяти компьютера (его оперативной памяти (ОЗУ) и загрузочных секторов ) и файлов, хранящихся на фиксированных или съемных дисках (жестких дисках, дискетах или флэш-накопителях USB), и сравнения этих файлов с база данных известных вирусных «сигнатур». Сигнатуры вирусов — это просто строки кода, которые используются для идентификации отдельных вирусов; для каждого вируса разработчик антивируса пытается выбрать уникальную строку подписи, которую нельзя найти в легитимной программе. Разные антивирусные программы используют разные «сигнатуры» для идентификации вирусов. Недостаток этого метода обнаружения заключается в том, что пользователи защищены только от вирусов, которые обнаруживаются по сигнатурам в их последнем обновлении определений вирусов, но не защищены от новых вирусов (см. « Атака нулевого дня »). [105]
Второй метод поиска вирусов — использование эвристического алгоритма , основанного на обычном поведении вирусов. Этот метод может обнаруживать новые вирусы, для которых фирмам, занимающимся антивирусной безопасностью, еще предстоит определить «сигнатуру», но он также приводит к большему количеству ложных срабатываний , чем использование сигнатур. Ложные срабатывания могут иметь разрушительные последствия, особенно в коммерческой среде, поскольку могут привести к тому, что компания проинструктирует персонал не использовать компьютерную систему компании до тех пор, пока ИТ-службы не проверят систему на наличие вирусов. Это может замедлить производительность обычных работников.
Ущерб, наносимый вирусами, можно уменьшить, регулярно создавая резервные копии данных (и операционных систем) на различных носителях, которые либо остаются неподключенными к системе (большую часть времени, как на жестком диске), либо доступны только для чтения, либо нет. доступны по другим причинам, например, из-за использования разных файловых систем . Таким образом, если данные будут потеряны из-за вируса, можно будет снова начать использовать резервную копию (которая, как мы надеемся, будет последней). [106] Если сеанс резервного копирования на оптических носителях , таких как CD и DVD , закрывается, он становится доступным только для чтения и больше не может быть подвержен воздействию вируса (при условии, что вирус или зараженный файл не были скопированы на CD / DVD ). Аналогично, операционную систему на загрузочном компакт-диске можно использовать для запуска компьютера, если установленные операционные системы станут непригодными для использования. Резервные копии на съемных носителях необходимо тщательно проверять перед восстановлением. Вирус Gammama, например, распространяется через съемные флэш-накопители . [107] [108]
Многие веб-сайты, принадлежащие компаниям-разработчикам антивирусного программного обеспечения, предоставляют бесплатное онлайн-сканирование на вирусы с ограниченными возможностями «очистки» (в конце концов, цель веб-сайтов — продавать антивирусные продукты и услуги). Некоторые веб-сайты, например VirusTotal.com , дочерняя компания Google , позволяют пользователям загружать один или несколько подозрительных файлов для сканирования и проверки одной или несколькими антивирусными программами за одну операцию. [109] [110] Кроме того, несколько эффективных антивирусных программ доступны для бесплатной загрузки из Интернета (обычно они предназначены только для некоммерческого использования). [111] Microsoft предлагает дополнительную бесплатную антивирусную утилиту под названием Microsoft Security Essentials , средство удаления вредоносных программ для Windows , которое обновляется в рамках обычного режима обновления Windows, а также более старый дополнительный инструмент защиты от вредоносных программ (удаления вредоносных программ), Защитник Windows, который был обновлен до антивирусного продукта в Windows 8.
Некоторые вирусы отключают восстановление системы и другие важные инструменты Windows, такие как диспетчер задач и CMD . Примером вируса, который делает это, является CiaDoor. Многие такие вирусы можно удалить, перезагрузив компьютер, войдя в « безопасный режим » Windows с использованием сети, а затем используя системные инструменты или Microsoft Safety Scanner . [112] Восстановление системы в Windows Me , Windows XP , Windows Vista и Windows 7 позволяет восстановить реестр и важные системные файлы до предыдущей контрольной точки. Часто вирус приводит к «зависанию» или «зависанию» системы, а последующая полная перезагрузка приводит к повреждению точки восстановления системы, созданной в тот же день. Точки восстановления предыдущих дней должны работать при условии, что вирус не предназначен для повреждения файлов восстановления и не существует в предыдущих точках восстановления. [113] [114]
Средство проверки системных файлов Microsoft (улучшенное в Windows 7 и более поздних версиях) можно использовать для проверки и восстановления поврежденных системных файлов. [115] Одним из решений является восстановление более ранней «чистой» (без вирусов) копии всего раздела с клонированного диска , образа диска или резервной копии. Восстановить более ранний «образ» резервной копии диска относительно просто. обычно удаляет любые вредоносные программы и может быть быстрее, чем «дезинфекция» компьютера или переустановка и перенастройка операционной системы и программ с нуля, как описано ниже, с последующим восстановлением пользовательских настроек. [106] Еще одним способом удаления вируса является переустановка операционной системы. Можно восстановить копии важных пользовательских данных, загрузившись с Live CD или подключив жесткий диск к другому компьютеру и загрузившись с операционной системы второго компьютера, соблюдая особую осторожность, чтобы не заразить этот компьютер, запустив на нем любые зараженные программы. оригинальный привод. Затем исходный жесткий диск можно переформатировать, а ОС и все программы установить с исходного носителя. После восстановления системы необходимо принять меры предосторожности, чтобы избежать повторного заражения любыми восстановленными исполняемыми файлами . [116]
Первое известное описание самовоспроизводящейся программы в художественной литературе содержится в рассказе Грегори Бенфорда « Человек со шрамами» 1970 года , в котором описывается компьютерная программа под названием «ВИРУС», которая при установке на компьютер с возможностью набора номера через телефонный модем случайным образом набирает телефонные номера до тех пор, пока не попадает в модем, которому отвечает другой компьютер, а затем пытается запрограммировать отвечающий компьютер своей собственной программой, так что второй компьютер также начинает набирать случайные числа в поисках еще одного компьютера для программирования. Программа быстро распространяется в геометрической прогрессии через уязвимые компьютеры, и ей можно противостоять только второй программой под названием VACCINE. [117] Его история была основана на реальном компьютерном вирусе, написанном на FORTRAN , который Бенфорд создал и запустил на лабораторном компьютере в 1960-х годах в качестве доказательства концепции, и о котором он рассказал Джону Бруннеру в 1970 году. [118]
Идея получила дальнейшее развитие в двух романах 1972 года: « Когда Харли была одной » Дэвида Герролда и «Смертельный человек» Майкла Крайтона , и стала основной темой романа Джона Бруннера «Наездник на ударной волне» 1975 года . [119]
В научно-фантастическом фильме Майкла Крайтона 1973 года «Мир Дикого Запада» впервые упоминается концепция компьютерного вируса, который является центральной темой сюжета, которая заставляет андроидов выходить из-под контроля. [120] [ нужен лучший источник ] Персонаж Алана Оппенгеймера резюмирует проблему, заявляя, что «... здесь есть четкая закономерность, которая предполагает аналогию с процессом инфекционного заболевания, распространяющимся из одной... области в другую». На что приводятся ответы: «Возможно, есть поверхностное сходство с болезнью» и «Должен признаться, мне трудно поверить в болезнь машин». [121]
Термин «вирус» также неправильно используется для обозначения других типов вредоносных программ . «Вредоносное ПО» включает в себя компьютерные вирусы, а также многие другие формы вредоносного программного обеспечения, такие как компьютерные «черви» , программы-вымогатели , шпионские программы , рекламное ПО , троянские кони , кейлоггеры , руткиты , буткиты , вредоносные вспомогательные объекты браузера (BHO) и другое вредоносное программное обеспечение. Большинство активных вредоносных угроз представляют собой троянские программы или компьютерные черви, а не компьютерные вирусы. Термин «компьютерный вирус», придуманный Фредом Коэном в 1985 году, является неправильным. [122] Вирусы часто выполняют на зараженных хост-компьютерах тот или иной вид вредоносной деятельности, например захват пространства на жестком диске или времени центрального процессора (ЦП), доступ и кражу частной информации (например, номеров кредитных карт , номеров дебетовых карт , номеров телефонов). , имена, адреса электронной почты, пароли, банковская информация, домашние адреса и т. д.), повреждение данных, отображение политических, юмористических или угрожающих сообщений на экране пользователя, рассылка спама по электронной почте, регистрация нажатий клавиш или даже приведение компьютера в негодность. . Однако не все вирусы несут разрушительную «полезную нагрузку » и пытаются скрыть себя — определяющей характеристикой вирусов является то, что они представляют собой самовоспроизводящиеся компьютерные программы, которые модифицируют другое программное обеспечение без согласия пользователя, внедряясь в указанные программы, подобно биологическому вирусу. вирус, размножающийся в живых клетках.
{{cite journal}}
: Требуется цитировать журнал |journal=
( помощь )CS1 maint: числовые имена: список авторов ( ссылка ){{cite web}}
: CS1 maint: неподходящий URL ( ссылка )И здесь есть четкая закономерность, которая наводит на мысль об аналогии с инфекционным процессом, распространяющимся из одной курортной зоны в другую». ... «Возможно, есть поверхностное сходство с болезнью». болезнь техники.
{{cite AV media}}
: CS1 maint: местоположение ( ссылка ){{cite book}}
: CS1 maint: местоположение ( ссылка )