Компьютерный вирус: различия между версиями
[отпатрулированная версия] | [непроверенная версия] |
Строка 45: | Строка 45: | ||
== Классификация == |
== Классификация == |
||
В настоящее время не существует единой системы классификации и именования вирусов (хотя попытка создать стандарт была предпринята на встрече CARO в 1991 году). Принято разделять вирусы по поражаемым объектам ([[файл]]овые вирусы, загрузочные вирусы, [[скрипт]]овые вирусы, [[сетевые черви]]), по поражаемым операционным системам и платформам ([[DOS (операционная система)|DOS]], [[Microsoft Windows]], [[Unix]], [[GNU/Linux]], [[Java]] и другие), по технологиям используемым вирусом ([[полиморфный вирус|полиморфные вирусы]], [[стелс-вирус]]ы), по языку, на котором написан вирус ([[ассемблер]], [[высокоуровневый язык программирования]], [[скриптовый язык]] и др.). |
В настоящее время не существует единой системы классификации и именования вирусов (хотя попытка создать стандарт была предпринята на встрече CARO в 1991 году). Принято разделять вирусы по поражаемым объектам ([[файл]]овые вирусы, загрузочные вирусы, [[скрипт]]овые вирусы, [[сетевые черви]]), по поражаемым операционным системам и платформам ([[DOS (операционная система)|DOS]], [[Microsoft Windows]], [[Unix]], [[GNU/Linux]], [[Java]] и другие), по технологиям используемым вирусом ([[полиморфный вирус|полиморфные вирусы]], [[стелс-вирус]]ы), по языку, на котором написан вирус ([[ассемблер]], [[высокоуровневый язык программирования]], [[скриптовый язык]] и др.). |
||
Различия между вирусами и червями |
|||
Черви, в отличие от вирусов, не ждут, чтобы пользователь запустил их, а пытаются проникнуть в систему. Черви используют для этого проблемы и пробелы в системах безопасности приложений, например: |
|||
1.Сетевые службы, которые используют стандартные (заложенные программистами для отладки и тестов кода) пароли или вовсе не используют паролей. |
|||
2.Ошибки структуры и кода программ сетевых служб. |
|||
3.Ошибки структуры и кода программ сетевых приложений, которые используют сетевые службы (например email-клиенты) |
|||
== Классификация файловых вирусов по способу заражения == |
== Классификация файловых вирусов по способу заражения == |
Версия от 13:45, 1 декабря 2008
Компью́терные ви́русы — разновидность компьютерных программ, отличительной особенностью которых является способность к размножению (саморепликации). В дополнение к этому они могут повреждать или полностью уничтожать данные, подконтрольные пользователю, от имени которого была запущена заражённая программа.
Неспециалисты к компьютерным вирусам иногда причисляют и другие виды вредоносных программ, такие как трояны, программы-шпионы и даже спам[1].
Вирусы распространялись, внедряя себя в исполняемый код других программ или же заменяя собой другие программы. Какое-то время даже считалось, что, являясь программой, вирус может заразить только программу — какое угодно изменение не-программы является не заражением, а просто повреждением данных. Подразумевалось, что такие копии вируса не получат управления, будучи информацией, не используемой процессором в качестве инструкций. Так, например неформатированный текст не мог бы быть переносчиком вируса.
Однако, позднее хакеры показали, что вирусным поведением может обладать не только исполняемый код, содержащий машинный код процессора. Были написаны вирусы на языке пакетных файлов. Потом появились макровирусы, внедряющиеся через макросы в документы таких программ, как Microsoft Word и Excel.
Некоторое время спустя появились вирусы, использующие уязвимости в популярном программном обеспечении (например, Adobe Photoshop, Internet Explorer, Outlook), в общем случае обрабатывающем обычные данные. Вирусы стали распространяться посредством внедрения в последовательности данных (например, картинки, тексты, и т. д.) специального кода, использующего уязвимости программного обеспечения.
Происхождение термина
Компьютерный вирус был назван по аналогии с вирусами биологическими. По всей видимости, впервые слово вирус по отношению к программе было употреблено Грегори Бенфордом (Gregory Benford) в фантастическом рассказе «Человек в шрамах» (The Scarred Man), опубликованном в журнале Venture в мае 1970. Термин «компьютерный вирус» впоследствии не раз открывался и переоткрывался — так, переменная в программе PERVADE (1975), от значения которой зависело, будет ли программа ANIMAL распространяться по диску, называлась VIRUS. Также, вирусом назвал свои программы Джо Деллинджер (Joe Dellinger), и, вероятно, — это и был первый вирус, названный собственно «вирусом».
Формальное определение
Нет общепринятого формального определения вируса. В академической среде термин был употреблён Фредом Коэном в его работе «Эксперименты с компьютерными вирусами»[2][3], где он сам приписывает авторство термина Лену Эдлмэну[4].[5]
Формально вирус определён Фредом Коэном[6], со ссылкой на Машину Тьюринга[7]:
M : (SM, IM, OM : SM x IM > IM, NM : SM x IM > SM, DM : SM x IM > d)
с заданным множеством состояний SM, множеством входных символов IM и отображений (OM, NM, DM), которая на основе своего текущего состояния s ∈ SM и входного символа i ∈ IM, считанного с полубесконечной ленты, определяет: выходной символ o ∈ IM для записи на ленту, следующее состояние машины s' ∈ SM и движения по ленте d ∈ {-1,0,1}.
Для данной машины M, последовательность символов v : vi ∈ IM может быть сочтена вирусом, тогда и только тогда, когда обработка последовательности v в момент времени t, влечёт за собой то, что в один из следующих моментов времени t, последовательность v (не пересекающаяся с v) существует на ленте, и эта последовательность v была записана M в точке t", лежащей между t и t:
∀ CM ∀ t ∀ j: SM(t) = SM0 ∧ PM(t) = j ∧ { CM(t, j) … CM(t, j + |v| - 1)} = v ⇒ ∃ v' ∃ j' ∃ t' ∃ t": t < t" < t' ∧ {j' … j' +|v'|} ∩ {j … j + |v|} = ∅ ∧ { CM(t', j') … CM(t', j' + |v'| - 1)} = v' ∧ PM(t") ∈ { j' … j' + |v'| - 1 }
где
- t ∈ N число базовых операций «перемещения», осуществлённых машиной
- PM ∈ N номер позиции на ленте машины в момент времени t
- SM0 начальное состояние машины
- CM(t, c) содержимое ячейки c в момент времени t
Данное определение было дано в контексте вирусного множества VS = (M, V) — пары состоящей из Машины Тьюринга M и множества последовательностей символов V: v, v' ∈ V. Из данного определения с очевидностью следует, что понятие вируса неразрывно связано с его интерпретацией в заданном контексте — окружении. Фредом Коэном было показано[6], что: «любая самовоспроизводящаяся последовательность символов одноэлементный VS, что существует бесконечное количество VS и не-VS, для которых существуют машины, для которых все последовательности символов является вирусом, и для которых ни одна из последовательностей символов не является вирусом, и что любая конечная последовательность символов является вирусом для какой-либо машины». Там же приведено доказательство того, что в общем виде, вопрос о том, является ли данная пара (M, X) : Xi ∈ IM вирусом, неразрешим (то есть не существует алгоритма, который мог бы достоверно определить все вирусы), теми же средствами, которыми доказывается неразрешимость проблемы остановки[7]. Другие исследователи доказали, что существуют такие типы вирусов (вирусы, содержащие копию программы детектирующей вирусы), которые не могут быть безошибочно определены ни одним алгоритмом.
Классификация
В настоящее время не существует единой системы классификации и именования вирусов (хотя попытка создать стандарт была предпринята на встрече CARO в 1991 году). Принято разделять вирусы по поражаемым объектам (файловые вирусы, загрузочные вирусы, скриптовые вирусы, сетевые черви), по поражаемым операционным системам и платформам (DOS, Microsoft Windows, Unix, GNU/Linux, Java и другие), по технологиям используемым вирусом (полиморфные вирусы, стелс-вирусы), по языку, на котором написан вирус (ассемблер, высокоуровневый язык программирования, скриптовый язык и др.).
Различия между вирусами и червями Черви, в отличие от вирусов, не ждут, чтобы пользователь запустил их, а пытаются проникнуть в систему. Черви используют для этого проблемы и пробелы в системах безопасности приложений, например: 1.Сетевые службы, которые используют стандартные (заложенные программистами для отладки и тестов кода) пароли или вовсе не используют паролей. 2.Ошибки структуры и кода программ сетевых служб. 3.Ошибки структуры и кода программ сетевых приложений, которые используют сетевые службы (например email-клиенты)
Классификация файловых вирусов по способу заражения
По способу заражения файловые вирусы (вирусы, внедряющие свой код в исполняемые файлы: командные файлы, программы, драйверы, исходный код программ и др.) разделяют на перезаписывающие, паразитические, вирусы-звенья, вирусы-черви, компаньон-вирусы, а так же вирусы, поражающие исходные тексты программ и компоненты программного обеспечения (VCL, LIB и др.).
- Перезаписывающие вирусы
- Вирусы данного типа записывают своё тело вместо кода программы, не изменяя названия исполняемого файла, вследствие чего исходная программа перестаёт запускаться. При запуске программы выполняется код вируса, а не сама программа.
- Вирусы-компаньоны
- Компаньон-вирусы, как и перезаписывающие вирусы, создают свою копию на месте заражаемой программы, но в отличие от перезаписываемых не уничтожают оригинальный файл, а переименовывают или перемещают его. При запуске программы вначале выполняется код вируса, а затем управление передаётся оригинальной программе.
- Возможно существование и других типов вирусов-компаньонов, использующих иные оригинальные идеи или особенности других операционных систем. Например, PATH-компаньоны, которые размещают свои копии в основном каталоге Windows, используя тот факт, что этот каталог является первым в списке PATH, и файлы для запуска Windows, в первую очередь, будет искать именно в нём. Данными способом самозапуска пользуются также многие компьютерные черви и троянские программы.
- Файловые черви
- Файловые черви создают собственные копии с привлекательными для пользователя названиями (например, Game.exe, install.exe и др.) в надежде на то, что пользователь их запустит.
- Вирусы-звенья
- Как и компаньон-вирусы, не изменяют код программы, а заставляют операционную систему выполнить собственный код, изменяя адрес местоположения на диске заражённой программы, на собственный адрес. После выполнения кода вируса управление обычно передаётся вызываемой пользователем программе.
- Паразитические вирусы
- Паразитические вирусы — это файловые вирусы, изменяющие содержимое файла, добавляя в него свой код. При этом заражённая программа сохраняет полную или частичную работоспособность. Код может внедряться в начало, середину или конец программы. Код вируса выполняется перед, после или вместе с программой, в зависимости от места внедрения вируса в программу.
- Вирусы, поражающие исходный код программ
- Вирусы данного типа поражают исходный код программы или её компоненты (OBJ-, LIB-, DCU- файлы), а также VCL и ActiveX-компоненты. После компиляции программы оказываются встроенными в неё. В настоящее время широкого распространения не получили.
Канал распространения
Сейчас основной канал распространения вирусов — электронная почта. Так же распространена рассылка ссылок на якобы фото, музыку либо программы, в действительности являющиеся вирусами, по ICQ и другим программам мгновенного обмена сообщениями, и по электронной почте. Возможно так же заражение через страницы Интернет. В этом случае используются уязвимости программного обеспечения, установленного на компьютере пользователя, либо уязвимости в ПО владельца сайта (это опаснее всего, так как заражению подвергаются добропорядочные сайты с большим потоком посетителей). Хакеры и спамеры используют заражённые компьютеры пользователей для рассылки спама или для DDoS-атак.
Экономика
Некоторые производители антивирусов утверждают, что сейчас создание вирусов превратилось из одиночного хулиганского занятия в серьёзный бизнес имеющий тесные связи с бизнесом спама и другими видами противозаконной деятельности.
Также называются миллионные и даже миллиардные суммы ущерба от действий вирусов и червей. К подобным утверждениям и оценкам следует относиться предельно скептически, так, например, суммы ущерба по оценкам различных аналитиков различаются (иногда на три-четыре порядка), а методики подсчёта не приводятся.
В разделе не хватает ссылок на источники (см. рекомендации по поиску). |
История
Первые самовоспроизводящиеся программы
Основы теории самовоспроизводящихся механизмов заложил американец венгерского происхождения Джон фон Нейман, который в 1951 году предложил метод создания таких механизмов. Первой публикацией, посвящённой созданию самовоспроизводящихся систем, является статья Л. С. Пенроуз в соавторстве со своим мужем, нобелевским лауреатом по физике Р. Пенроузом, о самовоспроизводящихся механических структурах, опубликованная в 1957 году американским журналом «Nature».[8] В этой статье, наряду с примерами чисто механических конструкций, была приведена некая двумерная модель подобных структур, способных к активации, захвату и освобождению. По материалам этой статьи Ф. Ж. Шталь (F. G. Stahl) запрограммировал на машинном языке ЭВМ IBM 650 биокибернетическую модель, в которой существа двигались, питаясь ненулевыми словами. При поедании некоторого числа символов существо размножалось, причём дочерние механизмы могли мутировать. Если кибернетическое существо двигалось определённое время без питания, оно погибало.
В 1961 В. А. Высотский, Х. Д. Макилрой (H. D. McIlroy) и Роберт Моррис (Robert Morris) из фирмы Bell Telephone Laboratories (США) изобрели необычную игру «Дарвин», в которой несколько ассемблерных программ, названных «организмами», загружались в память компьютера. Организмы, созданные одним игроком (то есть принадлежащие к одному виду), должны были уничтожать представителей другого вида и захватывать жизненное пространство. Победителем считался тот игрок, чьи организмы захватывали всю память или набирали наибольшее количество очков.[9]
Появление первых вирусов
Появление первых компьютерных вирусов зачастую ошибочно относят к 70-м, и даже 60-м годам XX века. Обычно упоминаются, как «вирусы» такие программы, как Animal, Creeper, Cookie Monster и Xerox worm.
Юрген Краус
В феврале 1980 года студент Дортмундского университета Юрген Краус подготовил дипломную работу по теме «Самовоспроизводящиеся программы»[10], в которой помимо теории приводились так же и листинги строго самовоспроизводящихся программ (которые вирусами на самом деле не являются) для компьютера Siemens.
Вполне очевидно, что все описанные примеры не являются компьютерными вирусами в строгом смысле, и хотя они и оказали существенное влияние на последующие исследования, первыми известными вирусами являются Virus 1,2,3 и Elk Cloner для ПК Apple II. Оба вируса очень схожи по функциональности и появились независимо друг от друга, с небольшим промежутком во времени в 1981.
Первые вирусы
С появлением первых персональных компьютеров Apple в 1977 и развитием сетевой инфраструктуры начинается новая эпоха истории вирусов. Появились первые программы-вандалы, которые под видом полезных программ выкладывались на BBS, однако после запуска уничтожали данные пользователей. В это же время появляются троянские программы-вандалы, проявляющие свою деструктивную сущность лишь через некоторое время или при определённых условиях.
ELK CLONER
В 1981 Ричард Скрента написал один из первых загрузочных вирусов для ПЭВМ Apple II — ELK CLONER.[11] Он обнаруживал своё присутствие сообщением, содержащим небольшое стихотворение:
ELK CLONER: THE PROGRAM WITH A PERSONALITY IT WILL GET ON ALL YOUR DISKS IT WILL INFILTRATE YOUR CHIPS YES, IT'S CLONER IT WILL STICK TO YOU LIKE GLUE IT WILL MODIFY RAM, TOO SEND IN THE CLONER!
Студент Джо Деллинджер
Другие вирусы для Apple II были созданы студентом Техасского университета A&M Джо Деллинджером (Joe Dellinger) в 1981. Они были рассчитаны на операционную систему MS-DOS 3.3 для этой ПЭВМ. Вторая версия этого вируса «ускользнула» от автора и начала распространяться по университету. Ошибка в вирусе вызывала подавление графики популярной игры под названием CONGO, и в течение нескольких недель все («пиратские») копии этой игры перестали работать. Для исправления ситуации автор запустил новый, исправленный вирус, предназначенный для «замещения» предыдущей версии. Обнаружить вирус можно было по наличию в памяти счётчика заражений: «(GEN 0000000 TAMU)», по смещению $B6E8, или в конце нулевого сектора заражённого диска.[12]
Статья Фреда Коэна
В сентябре 1984 была опубликована статья Ф. Коэна (Fred Cohen) [Cohen84], в которой автор исследовал разновидность файлового вируса. Это фактически второе академическое исследование проблемы вирусов. Однако именно Коэна принято считать автором термина «компьютерный вирус».
Грязная дюжина
В 1985 Том Нефф (Tom Neff) начал распространять по различным BBS список «Грязная дюжина — список опасных загружаемых программ» (англ. The Dirty Dozen — An Unloaded Program Alert List), в котором были перечислены известные на тот момент программы-вандалы. В дальнейшем этот список, включающий большинство выявленных троянских программ и «взломанные» или переименованные копии коммерческого программного обеспечения для MS-DOS, стал широко известен под кратким названием «грязная дюжина» (англ. dirty dozen).[13]
Первые антивирусы
Первые антивирусные утилиты появились зимой 1984. Анди Хопкинс (Andy Hopkins) написал программы CHK4BOMB и BOMBSQAD. CHK4BOMB позволяла проанализировать текст загрузочного модуля и выявляла все текстовые сообщения и «подозрительные» участки кода (команды прямой записи на диск и др.). Благодаря своей простоте (фактически использовался только контекстный поиск) и эффективности CHK4BOMB получила значительную популярность. Программа BOMBSQAD.COM перехватывает операции записи и форматирования, выполняемые через BIOS. При выявлении запрещённой операции можно разрешить её выполнение.
Первый резидентный антивирус
В начале 1985 Ги Вонг (Gee Wong) написал программу DPROTECT — резидентную программу, перехватывающую попытки записи на дискеты и винчестер. Она блокировала все операции (запись, форматирование), выполняемые через BIOS. В случае выявления такой операции программа требовала рестарта системы.
Первые вирусные эпидемии
Очередным этапом развития вирусов считается 1987 год. К этому моменту получили широкое распространения сравнительно дешёвые компьютеры IBM PC, что привело к резкому увеличению масштаба заражения компьютерными вирусами. Именно в 1987 вспыхнули сразу три крупные эпидемии компьютерных вирусов.
Brain и другие
Первая эпидемия 1987 была вызвана вирусом Brain (также известен как Пакистанский вирус), который был разработан братьями Амджатом и Базитом Алви (Amdjat и Basit Faroog Alvi) в 1986 и был обнаружен летом 1987. По данным McAfee, вирус заразил только в США более 18 тысяч компьютеров. Программа должна была наказать местных пиратов, ворующих программное обеспечение у их фирмы. В программке значились имена, адрес и телефоны братьев. Однако неожиданно для всех The Brain вышел за границы Пакистана и заразил сотни компьютеров по всему миру. Вирус Brain являлся также и первым стелс-вирусом — при попытке чтения заражённого сектора он «подставлял» его незаражённый оригинал.
Вторая эпидемия, берущая начало в Лехайском университете (США), разразилась в ноябре 1987. В течение нескольких дней этот вирус уничтожил содержимое нескольких сот дискет из библиотеки вычислительного центра университета и личных дискет студентов. За время эпидемии вирусом было заражено около четырёх тысяч компьютеров.
Последняя вирусная эпидемия разразилась перед самым Новым годом, 30 декабря 1987. Её вызвал вирус, обнаруженный в Иерусалимском Университете (Израиль). Хотя существенного вреда этот вирус не принёс, он быстро распространился по всему миру.
В пятницу 13 мая 1988 сразу несколько фирм и университетов нескольких стран мира «познакомились» с вирусом «Jerusalem» — в этот день вирус уничтожал файлы при их запуске. Это, пожалуй, один из первых MS-DOS-вирусов, ставший причиной настоящей пандемии — сообщения о заражённых компьютерах поступали из Европы, Америки и Ближнего Востока.
Червь Морриса
В 1988 Робертом Моррисом-младшим был создан первый массовый сетевой червь. 60000-байтная программа разрабатывалась с расчётом на поражение операционных систем UNIX Berkeley 4.3. Вирус изначально разрабатывался как безвредный и имел целью лишь скрытно проникнуть в вычислительные системы, связанные сетью ARPANET, и остаться там необнаруженным. Вирусная программа включала компоненты, позволяющие раскрывать пароли, имеющиеся в инфицированной системе, что, в свою очередь, позволяло программе маскироваться под задачу легальных пользователей системы, на самом деле занимаясь размножением и рассылкой копий. Вирус не остался скрытым и полностью безопасным, как задумывал автор, в силу незначительных ошибок, допущенных при разработке, которые привели к стремительному неуправляемому саморазмножению вируса.
По самым скромным оценкам инцидент с червём Морриса стоил свыше 8 миллионов часов потери доступа и свыше миллиона часов прямых потерь на восстановление работоспособности систем. Общая стоимость этих затрат оценивается в 96 миллионов долларов (в эту сумму, также, не совсем обосновано, включены затраты по доработке операционной системы). Ущерб был бы гораздо больше, если бы вирус изначально создавался с разрушительными целями.
Червь Морриса поразил свыше 6200 компьютеров. В результате вирусной атаки большинство сетей вышло из строя на срок до пяти суток. Компьютеры, выполнявшие коммутационные функции, работавшие в качестве файл-серверов или выполнявшие другие функции обеспечения работы сети, также вышли из строя.
4 мая 1990 года суд присяжных признал Морриса виновным. Он был приговорён к условному заключению сроком на два года, 400 часам общественных работ и штрафу размером 10 тыс. долларов.
DATACRIME и «AIDS»
В 1989 широкое распространение получили вирусы DATACRIME, которые начиная с 12 октября разрушали файловую систему, а до этой даты просто размножались. Эта серия компьютерных вирусов начала распространяться в Нидерландах, США и Японии в начале 1989 года и к сентябрю поразила около 100 тысяч ПЭВМ только в Нидерландах (что составило около 10 % от их общего количества в стране). Даже фирма IBM отреагировала на эту угрозу, выпустив свой детектор VIRSCAN, позволяющий искать характерные для того или иного вируса строки (сигнатуры) в файловой системе. Набор сигнатур мог дополняться и изменяться пользователем.
В 1989 году появился первый «троянский конь» AIDS.[14] Вирус делал недоступными всю информацию на жёстком диске и высвечивал на экране лишь одну надпись: «Пришлите чек на $189 на такой-то адрес». Автор программы был арестован в момент обналичивания чека и осуждён за вымогательство. Также был создан первый вирус, противодействующий антивирусному программному обеспечению — The Dark Avenger. Он заражал новые файлы, пока антивирусная программа проверяла жёсткий диск компьютера.
Глобализация проблемы вирусов
Начиная с 1990 года проблема вирусов начинает принимать глобальные размах.
В начале года выходит первый полиморфный вирус — Chameleon. Данная технология была быстро взята на вооружение и в сочетании со стелс-технологии (Stealth) и бронированием (Armored) позволила новым вирусам успешно противостоять существующим антивирусным пакетам. Во второй половине 1990-го появились два стелс-вируса — Frodo и Whale. Оба вируса использовали крайне сложные стелс-алгоритмы, а 9-килобайтный «Whale» к тому же применял несколько уровней шифровки и анти-отладочных приёмов.
В Болгарии открывается первая в мире специализированная BBS, с которой каждый желающий может скачать свежий вирус. Начинают открываться конференции Usenet по вопросам написания вирусов. В этом же году выходит «Маленькая чёрная книжка о компьютерных вирусах» Марка Людвига.
На проблему противостояния вирусам были вынуждены обратить внимание крупные компании — выходит Symantec Norton Antivirus.
Начало 1991 года отмечено массовой эпидемией полиморфного загрузочного вируса Tequila. Летом 1991 появился первый link-вирус, который сразу же вызвал эпидемию.
1992 известен, как год появления первых конструкторов вирусов для PC — VCL (для Amiga конструкторы существовали и ранее), а так же готовых полиморфных модулей (MtE, DAME и TPE) и модулей шифрования. Начиная с этого момента, каждый программист мог легко добавить функции шифрования к своему вирусу. Кроме того, в конце 1992 появился первый вирус для Windows 3.1 — WinVer.
В 1993 появляется все больше и больше вирусов, использующих необычные способы заражения файлов, проникновения в систему и т. д. Основными примерами являются: PMBS, работающий в защищённом режиме процессора Intel 80386. «Shadowgard» и «Carbuncle», значительно расширившие диапазон алгоритмов компаньон-вирусов. «Cruncher» — использование принципиально новых приёмов сокрытия своего кода в заражённых файлах.
Выходят новые версии вирусных генераторов, а так же появляются новые (PC-MPC и G2). Счёт известных вирусов уже идёт на тысячи. Антивирусные компании разрабатывают ряд эффективных алгоритмов для борьбы с полиморфными вирусами, однако сталкиваются с проблемой ложных срабатываний.
В начале 1994 года в Великобритании появились два крайне сложных полиморфик-вируса — SMEG.Pathogen и SMEG.Queeg. Автор вирусов помещал заражённые файлы на станции BBS, что явилось причиной настоящей эпидемии и паники в средствах массовой информации. Автор вируса был арестован. В январе 1994 появился Shifter — первый вирус, заражающий объектные модули (OBJ-файлы). Весной 1994 был обнаружено SrcVir, семейство вирусов, заражающих исходные тексты программ (C и Pascal). В июне 1994 года началась эпидемия OneHalf.
В 1995 появляется несколько достаточно сложных вирусов (NightFall, Nostradamus, Nutcracker). Появляются первый «двуполый» вирус «RMNS» и BAT-вирус Winstart. Широкое распространение получили вирусы ByWay и DieHard2 — сообщения о заражённых компьютерах были получены практически со всего мира. В феврале 1995 случился инцидент с beta-версией Windows 95, все диски которой оказались заражены Dos вирусом Form.
Вирусы в различных операционных системах
Windows
В 1995 году официально вышла новая версия Windows 95. На пресс-конференции, посвящённой её выходу, Билл Гейтс заявил, что с вирусной угрозой теперь покончено. Действительно, на момент выхода Windows была полностью устойчива к имеющимся DOS вирусам. Однако уже в августе появляется первый вирус для Microsoft Word (Concept), который за несколько недель распространился по всему миру.
В 1996 году появился первый вирус для Windows 95 — Win95.Boza. В марте 1996 года на свободу вырвался Win.Tentacle, заражающий компьютеры под управлением Windows 3.1. Эта была первая эпидемия, вызванная вирусом для Windows. Июль 1996 отмечен распространением Laroux — первого вируса для Microsoft Excel. В декабре 1996 появился Win95.Punch — первый резидентный вирус для Win95. Он загружается в систему как VxD-драйвер, перехватывает обращения к файлам и заражает их.
В феврале 1997 отмечены первые макровирусы для Office97. Первые из них оказались всего лишь «отконвертированными» в новый формат макровирусами для Word 6/7, однако практически сразу появились вирусы, ориентированные только на документы Office97. Март 1997: «ShareFun» — макровирус, поражающий MS Word 6/7. Для своего размножения использует не только стандартные возможности MS Word, но также рассылает свои копии по электронной почте MS-Mail. Он по праву считается первым mail-червём. В июне появляется и первый самошифрующийся вирус для Windows 95.
В апреле 1997 года появляется и первый сетевой червь, использующий для своего распространения File Transfer Protocol (ftp). Так же в декабре 1997: появилась новая форма сетевых вирусов — черви mIRC.
Начало 1998 года отмечено эпидемией целого семейства вирусов Win32.HLLP.DeTroie, не только заражавших выполняемые файлы Win32, но и способных передать своему «хозяину» информацию о заражённом компьютере. Февраль 1998: обнаружен ещё один тип вируса, заражающий формулы в таблицах Excel — Excel4.Paix. В марте 1998 года появился и AccessiV — первый вирус для Microsoft Access, также в марте был обнаружен и «Cross» — первый вирус, заражающий два различных приложения MS Office: Access и Word. Следом за ним появились ещё несколько макровирусов, переносящих свой код из одного Office-приложения в другое.
В феврале-марте 1998 отмечены первые инциденты с Win95.HPS и Win95.Marburg, первыми полиморфными Win32-вирусами. В мае 1998 началась эпидемия RedTeam, который заражал EXE-файлы Windows, и рассылал заражённые файлы при помощи электронной почты Eudora.
В июне началась эпидемия вируса Win95.CIH (из-за даты активации 26 апреля также известного как Чернобыль), ставшая самой разрушительной за все предшествующие годы. Вирус уничтожал информацию на дисках и перезаписывал Flash Bios, что вызвало физические неисправности у сотен тысяч компьютеров по всему миру.
В августе 1998 появилась широко известная утилита BackOrifice («Backdoor.BO»), применяемая для скрытого администрирования удалённых компьютеров и сетей. Следом за BackOrifice были написаны несколько других аналогичных программ: NetBus, Phase и прочие.
Также в августе был отмечен первый вирус, заражающий выполняемые модули Java — Java.StangeBrew. Этот вирус не представлял какой-либо опасности для пользователей Интернет, поскольку на удалённом компьютере невозможно использовать необходимые для его размножения функции. Вслед за ним в ноябре 1998 появился и VBScript.Rabbi. Интернет-экспансия скриптовых вирусов продолжилась тремя вирусами, заражающими скрипты VisualBasic (VBS-файлы), которые активно применяются при написании Web-страниц. Как логическое следствие VBScript-вирусов стало появление полноценного HTML-вируса (HTML.Internal).
1999 год прошёл под знаком гибридного вируса Melissa, побившего все существовавшие на тот момент рекорды по скорости распространения. Melissa сочетал в себе возможности макровируса и сетевого червя, используя для размножения адресную книгу Outlook.
Правоохранительные органы США нашли и арестовали автора Melissa. Им оказался 31-летний программист из Нью Джерси, Дэвид Л. Смит. Вскоре после ареста Смит начал плодотворное сотрудничество с ФБР и, учтя это, федеральный суд приговорил его к необычно мягкому наказанию: 20 месяцам тюремного заключения и штрафу в размере 5 000 долл. США.
В апреле был найден и автор вируса CIH (он же «Чернобыль»), которым оказался студент Тайваньского технологического института Чень Инхао (陳盈豪, CIH — его инициалы). Однако, из-за отсутствия жалоб на действия вируса со стороны местных компаний, у полиции не было оснований для его ареста.
Также в 1999 году был отмечен первый macro-вирус для Corel — Gala. в начале лета 1999 грянула эпидемия Интернет-червя ZippedFiles. Этот червь интересен тем, что являлся первым упакованным вирусом, получившим широкое распространение в «диком» виде.
OS/2
В июне 1996 появился «OS2.AEP» — первый вирус для OS/2, корректно заражающий EXE-файлы этой операционной системы. До этого в OS/2 встречались только компаньон-вирусы.[15]
Unix-подобные
Вероятно первые вирусы для семейства ОС Unix были написаны Фредом Коэном, в ходе проведения экспериментов. В конце 80-х появились первые публикации с исходными текстами вирусов на языке sh.[16][17]
Первый вирус для Linux (Bliss) появился в конце сентября 1996 года. Заражённый файл был помещён в ньюс-группу alt.comp.virus и ещё некоторые, в феврале следующего года вышла исправленная версия. В октябре 1996 года в электронном журнале, посвящённом вирусам VLAD, был опубликован исходный текст вируса Staog.[18] В 1995 году была опубликована книга Марка Людвига «The Giant Black Book of Computer Viruses», в которой приведены исходные тексты вирусов Snoopy для FreeBSD.[19] Snoopy и Bliss написаны на языке Си и могут быть перенесены практически в любую UNIX-подобную операционную систему с минимальными изменениями.
MenuetOS
Первый вирус для MenuetOS был написан в 2004 году членом группы вирмейкеров RRLF, известном как Second Part To Hell.[20]
AROS
Первые вирусы для AROS написаны в 2007 участником группы Doomriderz, известном, как Wargame.
Вирусы в результатах поисковых систем
Развитие вирусов охватило также область использования поисковых систем.
Например, Вы нажимаете на ссылку в результатах поиска и оказываетесь на совершенно другом сайте или один из результатов поиска внешне выглядит так же, как все остальные, но не имеет никакого отношения к вашему запросу. Это результаты действия вируса, который искажает страницы в браузере пользователя и выдаёт рекламную ссылку, на которой зарабатывает деньги создатель вируса.
Такой вид вируса назван вирусом подмены страниц. Вирус подмены страниц может попасть на компьютер пользователя вместе с какой-нибудь программой, загруженной из интернета. Также вирус может подменять не только страницы с результатами поиска, а вообще любые сайты.
Примечания
- ↑ http://kp.ru/daily/24157/371884/
- ↑ Fred Cohen. Computer Viruses — Theory and Experiments (англ.)
- ↑ Коэн Ф. Компьютерные вирусы — теория и эксперименты (рус.)
- ↑ Leonard Adleman. An Abstract Theory of Computer Viruses (англ.)
- ↑ Цитируется по Diomidis Spinellis. Reliable Identification of Bounded-length Viruses is NP-complete IEEE Transactions on Information Theory, 49(1), pp. 280—284, January 2003
- ↑ 1 2 Fred Cohen. Computational aspects of computer viruses Computers & Security, vol. 8, № 4, pp. 325—344, June 1989
- ↑ 1 2 Alan M. Turing. On computable numbers, with an application to the Entscheidungs Problem. Proceedings of the London Mathematical Society, vol. 2, № 42, pp. 230—265, 1936, Corrections in 2(43): pp. 544—546
- ↑ Penrose L. S., Penrose R. A Self-reproducing Analogue. Nature, 4571, p. 1183, ISSN 0028-0836
- ↑ McIlroy et al. Darwin, a Game of Survival of the Fittest among Programs
- ↑ Selbstreproduktion bei programmen
- ↑ Page dedicated to Elk Cloner on Rich’s home site
- ↑ Сообщение в alt.folklore.computers
- ↑ THE DIRTY DOZEN (17-10-1985)
- ↑ Глава 5. Компьютерные вирусы . Освоение ПК. Краткое руководство. PC Magazine/RE (28 января 2008). Дата обращения: 5 октября 2008.
- ↑ Вирусы для OS/2
- ↑ Douglas McIlroy. Virology 101
- ↑ Tom Duff. Viral Attacks On UNIX® System Security
- ↑ Virus Laboratory And Distribution VLAD Magazine
- ↑ Mark Ludwig. The Giant Black Book of Computer Viruses American Eagle Publications, Inc. 1995. ISBN 0-929408-10-1
- ↑ http://spth.host.sk/menuetinf.txt
См. также
- Антивирусная программа
- Полиморфизм компьютерных вирусов
- Стелс-вирус
- Троянские программы
- Хронология компьютерных вирусов и червей
- EICAR-Test-File
Ссылки
- Harold Thimbleby, Stuart Anderson, Paul Cairns. A framework for modelling trojans and computer virus infection (англ.)
- VMYTHS — Truth about computer security histeria (англ.)
- Развитие мобильных вирусов
- Лицензионные и бесплатные антивирусы