Какими основными свойствами обладают компьютерные вирусы
Сейчас применяются персональные компьютеры, в которых пользователь имеет свободный доступ ко всем ресурсам машины. Именно это открыло возможность для опасности, которая получила название компьютерного вируса.
Что такое компьютерный вирус? Формальное определение этого понятия до сих пор не придумано, и есть серьезные сомнения, что оно вообще может быть дано. Многочисленные попытки дать «современное» определение вируса не привели к успеху. Чтобы почувствовать всю сложность проблемы, попробуйте, к примеру, дать определение понятия «редактор». Вы либо придумаете нечто очень общее, либо начнете перечислять все известные типы редакторов. И то и другое вряд ли можно считать приемлемым. Поэтому мы ограничимся рассмотрением некоторых свойств компьютерных вирусов, которые позволяют говорить о них как о некотором определенном классе программ.
Прежде всего, вирус — это программа. Такое простое утверждение само по себе способно развеять множество легенд о необыкновенных возможностях компьютерных вирусов. Вирус может перевернуть изображение на вашем мониторе, но не может перевернуть сам монитор. К легендам о вирусах-убийцах, «уничтожающих операторов посредством вывода на экран смертельной цветовой гаммы 25-м кадром» также не стоит относиться серьезно. К сожалению, некоторые авторитетные издания время от времени публикуют «самые свежие новости с компьютерных фронтов», которые при ближайшем рассмотрении оказываются следствием не вполне ясного понимания предмета.
Вирус — программа, обладающая способностью к самовоспроизведению. Такая способность является единственным средством, присущим всем типам вирусов. Но не только вирусы способны к самовоспроизведению. Любая операционная система и еще множество программ способны создавать собственные копии. Копии же вируса не только не обязаны полностью совпадать с оригиналом, но, и могут вообще с ним не совпадать!
Вирус не может существовать в «полной изоляции»: сегодня нельзя представить себе вирус, который не использует код других программ, информацию о файловой структуре или даже просто имена других программ. Причина понятна: вирус должен каким-нибудь способом обеспечить передачу себе управления.
Классификация вирусов
В настоящее время известно более 5000 программных вирусов, их можно классифицировать по следующим признакам:
- среде обитания
- способу заражения среды обитания
- воздействию
- особенностям алгоритма
В зависимости от среды обитания вирусы можно разделить на сетевые, файловые, загрузочные и файлово-загрузочные. Сетевые вирусы распространяются по различным компьютерным сетям. Файловые вирусы внедряются главным образом в исполняемые модули, т. е. В файлы, имеющие расширения COM и EXE. Файловые вирусы могут внедряться и в другие типы файлов, но, как правило, записанные в таких файлах, они никогда не получают управление и, следовательно, теряют способность к размножению. Загрузочные вирусы внедряются в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий программу загрузки системного диска (Master Boot Re-cord). Файлово-загрузочные вирусы заражают как файлы, так и загрузочные сектора дисков.
По способу заражения вирусы делятся на резидентные и нерезидентные. Резидентный вирус при заражении (инфицировании) компьютера оставляет в оперативной памяти свою резидентную часть, которая потом перехватывает обращение операционной системы к объектам заражения (файлам, загрузочным секторам дисков и т. п.) и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения или перезагрузки компьютера. Нерезидентные вирусы не заражают память компьютера и являются активными ограниченное время.
По степени воздействия вирусы можно разделить на следующие виды:
- неопасные, не мешающие работе компьютера, но уменьшающие объем свободной оперативной памяти и памяти на дисках, действия таких вирусов проявляются в каких-либо графических или звуковых эффектах
- опасные вирусы, которые могут привести к различным нарушениям в работе компьютера
- очень опасные, воздействие которых может привести к потере программ, уничтожению данных, стиранию информации в системных областях диска.
По особенностям алгоритма вирусы трудно классифицировать из-за большого разнообразия. Простейшие вирусы — паразитические, они изменяют содержимое файлов и секторов диска и могут быть достаточно легко обнаружены и уничтожены. Можно отметить вирусы-репликаторы, называемые червями, которые распространяются по компьютерным сетям, вычисляют адреса сетевых компьютеров и записывают по этим адресам свои копии.
Известны вирусы-невидимки, называемые стелс-вирусами, которые очень трудно обнаружить и обезвредить, так как они перехватывают обращения операционной системы к пораженным файлам и секторам дисков и подставляют вместо своего тела незараженные участки диска. Наиболее трудно обнаружить вирусы-мутанты, содержащие алгоритмы шифровки-расшифровки, благодаря которым копии одного и того же вируса не имеют ни одной повторяющейся цепочки байтов. Имеются и так называемые квазивирусные или «троянские» программы, которые хотя и не способны к самораспространению, но очень опасны, так как, маскируясь под полезную программу, разрушают загрузочный сектор и файловую систему дисков.
Теперь поподробнее о некоторых из этих групп.
Загрузочные вирусы
Рассмотрим схему функционирования очень простого загрузочного вируса, заражающего дискеты.
Что происходит, когда вы включаете компьютер? Первым делом управление передается программе начальной загрузки, которая хранится в постоянно запоминающем устройстве (ПЗУ) т.е. ПНЗ ПЗУ.
Эта программа тестирует оборудование и при успешном завершении проверок пытается найти дискету в дисководе А:
Всякая дискета размечена на т.н. секторы и дорожки. Секторы объединяются в кластеры, но это для нас несущественно.
Среди секторов есть несколько служебных, используемых операционной системой для собственных нужд (в этих секторах не могут размещаться ваши данные). Среди служебных секторов нас интересует сектор начальной загрузки (boot-sector).
В секторе начальной загрузки хранится информация о дискете — количество поверхностей, количество дорожек, количество секторов и пр. Но нас сейчас интересует не эта информация, а небольшая программа начальной загрузки (ПНЗ), которая должна загрузить саму операционную систему и передать ей управление.
Таким образом, нормальная схема начальной загрузки следующая:
ПНЗ (ПЗУ) — ПНЗ (диск) — СИСТЕМА
Теперь рассмотрим вирус. В загрузочных вирусах выделяют две части: голову и т.н. хвост. Хвост может быть пустым.
Пусть у вас имеются чистая дискета и зараженный компьютер, под которым мы понимаем компьютер с активным резидентным вирусом. Как только этот вирус обнаружит, что в дисководе появилась подходящая жертва — в нашем случае не защищенная от записи и еще не зараженная дискета, он приступает к заражению. Заражая дискету, вирус производит следующие действия:
- выделяет некоторую область диска и помечает ее как недоступную операционной системе, это можно сделать по-разному, в простейшем и традиционном случае занятые вирусом секторы помечаются как сбойные (bad)
- копирует в выделенную область диска свой хвост и оригинальный (здоровый) загрузочный сектор
- замещает программу начальной загрузки в загрузочном секторе (настоящем) своей головой
- организует цепочку передачи управления согласно схеме.
Таким образом, голова вируса теперь первой получает управление, вирус устанавливается в память и передает управление оригинальному загрузочному сектору. В цепочке
ПНЗ (ПЗУ) — ПНЗ (диск) — СИСТЕМА
появляется новое звено:
ПНЗ (ПЗУ) — ВИРУС — ПНЗ (диск) — СИСТЕМА
Мы рассмотрели схему функционирования простого бутового вируса, живущего в загрузочных секторах дискет. Как правило, вирусы способны заражать не только загрузочные секторы дискет, но и загрузочные секторы винчестеров. При этом в отличие от дискет на винчестере имеются два типа загрузочных секторов, содержащих программы начальной загрузки, которые получают управление. При загрузке компьютера с винчестера первой берет на себя управление программа начальной загрузки в MBR (Master Boot Record — главная загрузочная запись). Если ваш жесткий диск разбит на несколько разделов, то лишь один из них помечен как загрузочный (boot). Программа начальной загрузки в MBR находит загрузочный раздел винчестера и передает управление на программу начальной загрузки этого раздела. Код последней совпадает с кодом программы начальной загрузки, содержащейся на обычных дискетах, а соответствующие загрузочные секторы отличаются только таблицами параметров. Таким образом, на винчестере имеются два объекта атаки загрузочных вирусов — программа начальной загрузки в MBR и программа начальной загрузки в бут-секторе загрузочного диска.
Файловые вирусы
Рассмотрим теперь схему работы простого файлового вируса. В отличие от загрузочных вирусов, которые практически всегда резидентны, файловые вирусы совсем не обязательно резидентны. Рассмотрим схему функционирования нерезидентного файлового вируса. Пусть у нас имеется инфицированный исполняемый файл. При запуске такого файла вирус получает управление, производит некоторые действия и передает управление «хозяину»
Какие же действия выполняет вирус? Он ищет новый объект для заражения — подходящий по типу файл, который еще не заражен. Заражая файл, вирус внедряется в его код, чтобы получить управление при запуске этого файла. Кроме своей основной функции — размножения, вирус вполне может сделать что-нибудь замысловатое (сказать, спросить, сыграть) — это уже зависит от фантазии автора вируса. Если файловый вирус резидентный, то он установится в память и получит возможность заражать файлы и проявлять прочие способности не только во время работы зараженного файла. Заражая исполняемый файл, вирус всегда изменяет его код — следовательно, заражение исполняемого файла всегда можно обнаружить. Но, изменяя код файла, вирус не обязательно вносит другие изменения:
- он не обязан менять длину файла
- неиспользуемые участки кода
- не обязан менять начало файла
Наконец, к файловым вирусам часто относят вирусы, которые «имеют некоторое отношение к файлам», но не обязаны внедряться в их код.
Таким образом, при запуске любого файла вирус получает управление (операционная система запускает его сама), резидентно устанавливается в память и передает управление вызванному файлу.
Статьи к прочтению:
- Свойства криптографических хеш-функций
- Свойства примитивов (цвет, толщина, тип линии). программирование простейших типов линий. создание сложных объектов
Все виды компьютерных ВИРУСОВ, САМЫЙ полный СПИСОК!
Похожие статьи:
Разновидности компьютерных вирусов
Рассмотрим подробнее основные особенности компьютерных вирусов, характеристики антивирусных программ и меры зашиты программ и данных от компьютерных…
Классификация и характеристика компьютерных вирусов
Компьютерным вирусомназывается программа, предназначенная для выполнения разрушительных действий. Она может размножаться, внедряясь в другие программы во…
Источник
Термин “компьютерный вирус” (КВ) появился недавно – в 1984 г. на конференции по безопасности информации в США. КВ всегда связан с программой-носителем вируса. Как и биологический вирус, КВ характеризуют способность к саморазмножению, высокая скорость распространения, избирательность поражаемых систем, способность заражать незараженные системы, трудности борьбы с вирусами и т.д. Можно также указать на постоянно увеличивающееся количество новых поколений и модификаций КВ. В настоящее время известно более 50000 (пятидесяти тысяч) компьютерных вирусов.
Компьютерные вирусы – это небольшие по размеру программы, способные к размножению и трудно обнаруживаемые в компьютерных системах (КС).
Приведем и другое определение, т.к. строгого определения КВ нет.
КВ – это программа, которая может создавать свои дубликаты и внедрять их в различные объекты КС, сетей без ведома пользователя; при этом дубликаты сохраняют способность дальнейшего распространения.
Дубликат может быть как копией вируса, так и его модификацией.
Самовоспроизведение заключается в том, что дубликаты КВ вводятся в другую выполняемую или транслируемую программу, а скопированная инфицированная программа переносит вирус в другие программы или системные области, поддерживая процесс его распространения. Следовательно, главными чертами вируса являются
внедрение в другие объекты, скрытность, быстрое “размножение”, потенциальная опасность.
Укажем основные угрозы, характерные для вирусов:
прерывания в работе вычислительных средств или их разрушение, кража информации, её модификация, разрушение данных.
Обычно вирусы пишут программисты, не отягощенные моралью. Некоторые вирусы написаны бывшими разработчиками фирмы МS. Считается, что из 1000 программистов только 100 способны написать вирус, но только один из этих 100 доведёт идею до конца. Известно, что хорошая доступная документация на аппаратуру и ОС способствует распространению вирусов. Например, ОС Novell Net слабо документирована и вирусов для неё почти нет.
Существует много и безвредных вирусов, созданных ради шутки или экспериментов с существующей техникой. Но обычно КВ либо снижают эффективность работы КС, либо приводят к опасным нарушениям целостности, конфиденциальности и доступности информации. Наибольшее распространение они получили в ПК. Количество инцидентов, связанных с КВ, очень велико, но опубликованные цифры обычно занижены. т.к. многие фирмы умалчивают о вирусных атаках, заботясь о своей репутации и не желая привлекать внимание хакеров.
Основными источниками заражения являются компьютеры общественного пользования, почта, Интернет, локальная сеть, порносайты, а также и многие другие популярные сайты. Есть оценки, что только 3 из 100 пользователей Интернета могут оценить безопасность посещаемого сайта. Отметим 3 самых распространенных способа заражения – дискета или диск, файл из Интернета, присоединённый к письму файл.
Можно выделить 4 фазы существования КВ: спячка, распространение в КС, запуск, негативные эффекты, например, разрушение программ или данных.
Запуск вируса происходит обычно после некоторого события, например, после наступления определенной даты или заданного числа копирований.
Классификация КВ
Она выполняется по следующим признакам:
среда обитания,
способ заражения среды обитания,
деструктивные возможности,
особенности алгоритма функционирования.
В зависимости от среды обитания КВ бывают сетевыми, файловыми, загрузочными. Сетевые распространяются по компьютерным сетям, файловые размещаются в исполняемых файлах, загрузочные внедряются в загрузочные области внешних запоминающих устройств.
По способу заражения КВ делятся на резидентные и нерезидентные. Резидентные вирусы после их инициализации полностью или частично перемещаются из среды обитания ( сеть, загрузочный сектор, файл) в оперативную память (ОП), где могут находиться продолжительное время, отслеживая появление доступной для заражения жертвы. Нерезидентные вирусы попадают в ОП только на время активности. Вместе с программой-носителем они покидают ОП, но остаются в среде обитания.
Механизм заражения зависит от среды обитания. Файловые вирусы либо внедряются в exe-файлы или другие, либо, заменив полезные файлы, используют их имена для запуска. При внедрении файловые вирусы обычно размещаются в начале, середине или конце файла, заменяя или перемещая куски кода программы. Разрушительные действия эти вирусы обычно начинают не сразу. Сначала они просто размножаются, заражая новые программы без явного проявления своего присутствия. После выполнения некоторого условия, например, по дате или числу заражений, КВ приступает к разрушениям.
Файловые вирусы могут находиться и в файлах данных, если они допускают использование макрокоманд. Например, файлы систем Word и Excel могут содержать макрокоманды на языке Visual Basic. Вирус можно написать на языке таких макрокоманд и встроить в Word, Excel или другую систему.
Загрузочные вирусы относятся к числу резидентных. Если диск, с которого производится загрузка ОС, поражен таким вирусом, то этот вирус первым получает управление и переписывает себя в ОП. В дальнейшем активный вирус, постоянно находясь в ОП, будет заражать диски даже в том случае, если просто читается оглавление диска.
По степени опасности вирусы могут быть
безвредными, неопасными, опасными, очень опасными.
Опасными считаются вирусы, снижающие эффективность работы КС. Очень опасными следует считать вирусы, вызывающие нарушение конфиденциальности, уничтожение, необратимую модификацию информации, а также вирусы, блокирующие доступ к информации, приводящие к отказу технических средств и наносящие вред здоровью пользователей. Приведем два примера.
С помощью КВ может возникнуть такой режим работы электромеханических устройств, при котором на резонансной частоте происходит разрушение их движущихся частей. Второй пример связан с серьёзным ущербом психике человека.
На экран монитора можно выдавать скрытые кадры видеоизображений с определенной частотой (так называемы 7-й кадр), которые воспринимаются подсознательно.
В зависимости от алгоритма функционирования рассматривают несколько типов вирусов, хотя это деление является условным, т.к. есть много сложных вирусов других и комбинированных типов.
Вирусы-черви попадают в компьютер из сети, вычисляют адреса рассылки другим абонентам сети и передают вирусы. Примером является червь Морриса, который в 1988 г. из-за “ошибки” автора заразил 6000 ПК и причинил ущерб в 100 млн. долларов. Размер этой программы Морриса ~ 60 Кбайтов.
Стелс-вирусы (вирусы-невидимка) могут быть только резидентными. Они обычно маскируются под программы ОС, перехватывают обращения к ОС при операциях чтения, записи и других. Например, в случае зараженного сектора на диске вирус будет показывать состояние диска до заражения. Стелс-вирусы могут даже противодействовать антивирусным программам, периодически контролирующим целостность данных.
Полиморфные вирусы не имеют постоянных опознавательных признаков в своем коде, т.к. формируют его во время выполнения. При создании новой копии они обладают способностью изменять свой код настолько, что их невозможно узнать. Например, можно включить в код много операторов присваивания некоторым фиктивным переменным, не используемым в алгоритме. В этих вирусах часто применяется шифрование.
Макровирусы заражают документы Word, таблицы Excel, презентации Power Point и т.д. В настоящее время они становятся наиболее распространенными по сравнению с файловыми и загрузочными КВ. Их частным случаем являются инъекции.
Инъекции – это обычно небольшие фрагменты кода на языках SQL или PHP. Они встраиваются в обычные программы, использующие эти языки. Это один из способов взлома сайтов. Существуют термины SQL- инъекции и PHP – инъекции. Возможность использования инъекций связана с тем, что в этих языках есть функции, изменяя аргументы которых, можно выполнить нужный код на сервере.
Источник