<<Назад

Впреред >>

Все

Что такое "компьютерные вирусы".

Большинство пользователей компьютеров слышали о компьютерных вирусах. Некоторые даже сталкивались с ними. Но, как показывает опыт, далеко не все пользователи представляют себе, что же это такое, компьютерные вирусы, и как уберечься от них. Попробуем ответить на эти вопросы.

Чтобы понять, что такое вирусы, вспомним, как работает компьютер. Компьютер можно представить себе в виде некоего Исполнителя, который понимает и умеет исполнять Команды. Последовательность команд будем называть Программой.

Когда мы включаем компьютер, он (Исполнитель) начинает выполнять последовательность команд (Программу), записанную на специальной микросхеме внутри компьютера. Эта программа обычно сначала проверяет оборудование компьютера а затем находит винчестер или компакт диск или дискетту (возможны и другие варианты), на которой записана операционная система, к примеру, Windows XP или Linux Red Hat или MS DOS  (операционная система - это тоже Программа), читает её в память и начинает исполнять.

Немного о терминологии. Обычно говорят "работает програма", "программа делает то и это". Это не совсем правильно. Имеется ввиду, что Исполнитель (компьютер), выполняя команды Программы, делает то и это. То есть, всегда работает Исполнитель, он выполняет команды Программы. Но работа (и результат работы) Исполнителя полностью зависит от Программы, поэтому, для краткости, говорят, что работает Программа.

Откуда появляются Программы? Их создают люди, эти люди называются Программисты. Можно сделать программу, которая сама будет создавать другие программы. В этом нет ничего необычного. Но то, какими будут эти другие программы, что они будут делать, целиком зависит от программиста, который создал эту программу и от программиста, который управляет этой программой для создания других программ. То есть, всё зависит от Человека.

Очевидно, что для того, чтобы программа что-нибудь сделала, необходимо, чтобы Исполнитель начал исполнять её команды. Другими словами, программу нужно запустить (активизировать, выполнить). Программы запускаются другими программами, по команде Пользователя или самостоятельно. Например, при старте компьютера программа, записанная на микросхеме, самостоятельно начинает выполнять Операционную Систему. Операционная Система, как правило, при старте сама запускает несколько других программ. Если пользователь хочет запустить программу, например, MS Word, он даёт соответствующую команду операционной системе (или другой программе, к примеру, Total Commander), например, щёлкает ярлычёк не рабоем столе. Программа (eplorer в данном случае) обрабатывает команду пользователя и запускает программу MS Word.

Современные операционные системы являются многозадачными. Это ознаает, то на одном компьютере одновременно может выполнятся несколько программ. Как это происходит? На самом деле, команды программы выполняются Процессором. Фактиески, он и есть Исполнителем. Каждой активной (запущенной) программе выделяется маленький кусочек времени, на протяжении которого выполняются команды этои программы. Затем процессор переключается на виполнение команд другой активной программы. И так далее, по кругу. В результате сосдаётся впечатление одновременной работы нескольких программ. Ну а если в компьютере есть несколько процессоров, то некоторые программы работают действительно одновременно. Распределением процессорного времени между активными программами занимается операционная система (тоже Программа). 

Вернёмся к вирусам. Что же такое вирус? Вирус - это тоже программа, созданная, в конечном итоге (возможно, посредством других программ) человеком. Зачем люди создают вирусы? Ведь за это во многих странах есть уголовная ответственность, а личной выгоды от создания вируса в большинстве случаев нет. Мне кажется, этот вопрос следует задать специалисту в психологии (или психиатрии).

Так как вирус - это программа, то для того, чтобы вирус что-то делал на компьютере, его необходимо запустиь. То есть Исполнитель (компьютер, а, точнее, процессор) должен начать выполнять команды вируса. Кто же запускает код вируса на компьютере? Другими словами, как происходит заражение? Поробуем разобраться.

Допустим, есть какая-нибудь программа. Программа - это последовательность команд. Если изменить эту программу, добавить в эту последовательность команд команды вируса, мы получим зараженную программу. Если пользователь запустит такую зараженную программу, то тем самым он активирует вирус. Вирус может заразить даже код операционной системы, тогда он будет запускаться при старте операционной системы. Кто же заражает программы, изменяет их код? Это делают сами вирусы.

Компьютерные вирусы называются "вирусами" потому, что механизм их распостранения очень похож на механизм распостранения обычных, "живых" вирусов. Обычный вирус заражая живой организм, начинает размножаться, плодить себе подобных. У компьютерного вируса часть кода тоже служит для создания новых копий вируса и заражения ими других программ. Получается, что один раз получив управление, вирус может заразить другие программы или саму операционную систему. Но кто же запускает вирус в самый первий раз? Как это ни странно, в большинстве случаев это делают сами пользователи. Есть много способов заставить пользователя запустить зараженную программу. Например, можно прислать письмо с вложенной программой, в котором написать "посмотри на эту картинку". Наивный пользователь открывает вложение... Просто удивительно, как часто это срабатывает.

Есть и другой, более опасный способ заражения. Это уязвимости самих программ, работающих на компьютере. Что же это такое, уязвимости или дыры в системе безопасности программ? Программы создаются людьми. А человеку свойственно ошибаться. Некоторые ошибки в программах можно использовать (эксплуатировать),  чтобы заразить компьютер вирусом. Например, есть программа для просмотра картинок. И в ней есть ошибка. Если специально подготовленную "картинку" посмотреть этой программой, то программа выполнит код вируса, спрятанного в этой "картинке". Как это работает, объяснить сложно, но иногда это работает.

Существуют ещё так называемые макровирусы. Есть некоторые программы, которые умеют выполнять код, написанный на специальных языках программирования. Такой код называют скриптом или макросом. В этом случае Исполнителем выступает программа, которая интерпретирует (понимает) и выполняет скрипт, а Программой - сам скрипт. Так вот, оказывается, что скрипты тоже можно заражать, точно так же, как и обычные программы. Пожалуй, наиболее распостранённые  макровирусы - это макровирусы, заражающие документы MS Word. Дело в том, что в документе MS Word может содержаться скрипт, а сам MS Word умеет эти скрипты выполнять. Часто использование скриптов бывает учень удобным. Но за удобство приходится платить риском заражения. Современные версии MS Word содержат встроенную защиту от вирусов в макросах.  Её можно настроить так, что при открытии документа с макросом MS Word будет спрашивать, хотите ли вы использовать этот макрос. Если нет, то макрос будет просто проигнорирован и не получит управление.

Нужно особо подчеркнуть, что вырусы попадают в компьютер извне: приносятся на дискеттах или компакт-дисках, приходят с электронной почтой, попадают через компьютерную сеть, в том числе и Интернет. Если компьютер полностью изолировать от внешнего воздействия, то и вирусом он заразиться не сможет. Вот только сделать это в большинстве случаев невозможно, практически всегда нужны внешние данные.

Для борьбы с вирусами существуют антивирусные программы.

Обычно антивирусные программы работают следующим образом:

Есть база данных, где хранятся специфические куски всех известных вирусов. Когда антивирусная программа проверяет файл, она просматривает определённые места в файле и смотрит, нет ли последовательности байт, который соответствует какому-либо вирусу из базы. Если к создателям антивирусной программы попадает новый вирус, они исследуют его, изучают способ, каким этот вирус заражает файлы, определяют специфическую последовательность байт, которая может сигнализировать, что файл заражен, и добавляют информацию о новом вирусе в базу данных.

Из этого всего можно сделать важный вывод: антивирусная программа в состоянии обнаружить только те вирусы, которые ей известны, информация о которых есть в базе данных антивирусной программы. Вот почему так важно регулярно обновлять базу данных антивирусной программы. Старая антивирусная программа со старой базой данных в состоянии обнаружить только старые вирусы.

Иногда антивирусная программа может ошибиться и зачислить к зараженным файлам нормальный файл, если он случайно содержит последовательность байт, соответсвующую какому-то вирусу.

Иногда встречаются вирусы, которые умеют маскироваться. Если такой вирус уже работает  в системе, компьютер уже заражен, то антивирусная программа не может его обнаружить, даже если он известен.

Обычно антивирусная программа может проверять файлы по требованию пользователя либо быть постоянно работающей и проверять все данные, к которым идёт обращение. Если какие-либо данные заражены, то блокируется доступ к этим данным. Понятно, что второй способ, когда антивирусная программа всегда на страже, более эффективен, но за эту эффективность приходится платить производительностью системы.

Итак, что же нужно делать, чтобы уменьшить вероятность заражения вирусом?

Прежде всего очень полезно проверять все данные, которые приходят извне, антивирусной программой со свежими базами.

Ни в коем случае не стоит "открывать" файлы сомнительного происхождения. Даже если этот файл проверен антивирусной программой, это ещё не гарантирует, что файл не заражен. Возможно, к примеру, мы имеем дело с новым вирусом, информации о котором нет в базе данных антивирусной программы. Если Вам по обычной почте придёт посылка, в которой будет конфета и записка "съешь эту конфетку, она вкусная", Вы наверняка не станете её есть. Почему же очень многие люди, получив письмо по электронной почте с вложенной программой спешат её сразу же "открыть"? (В Windows "открыть" применительно к программе означает "выполнить".) Некоторые вирусы умеют заражать почтовую программу и самостоятельно рассылать себя по почте. Если Вы получили письмо от друга с конфеткой внутри, которое Вы не ждали, лучше переспросите ещё раз своего друга об этом письме, может, это не он его отправил, а вирус.  Не стоит также без необходимости запускать программы, принесённые на дискетте или компакт диске. Особо хочу сказать о компакт дисках. Дело в том, что, когда Вы вставляете компакт диск в устройство чтения, Windows проверяет, нет ли на этом диске специального файла (AUTORUN.INF), в котором указано, какую программу нужно запустить при загрузке диска. Если такая программа указана, она сразу же запускается. Можно, конечно, сказать системе, что ничего самостоятельно запускать не нужно (например, держать нажатой клавишу "Shift" при загрузке диска или поменяв ключик в системном реестре) но по-умолчанию система самостоятельно, никого не спрашивая, запускает программу.

Иногда, при посещении некоторых сайтов в Интернете, появляется сообщение, в котором говорится, что для просмотра данной страницы необходимо установить некий "Active-X". "Active-X" - это программа, которая умеет отображать на страничке некие специфические данные. Например, Macromedia Flash - это тоже "Active-X". Но, загружая и устанавливая "Active-X", вы запускаете программу, полученную извне, из Интернета, и где гарантия, что это не вирус? На самом деле, некоторые гарантии существуют. Дело в том, что обычно "Active-X" компоненты подписывают электронной подписью, которая зарегистрирована у какого-нибудь известного регистратора, которому можно доверять. Нужно просто не лениться проверить, кем подписан этот "Active-X", а дальше выбор за Вами, доверять или не доверять этому издателю, то есть тому, кто подписал программу. (Ээлектронная подпись гарантирует, что программа не была изменена).

Подводя итог, можно сказать: будте элементарно осторожны, не пробуйте конфетки сомнительного происхождения, не запускайте программы неизвестного происхождения, не открывайте сомнительные файлы.

Но как же защититься от вирусов, которые распостраняются через дыры в системе безопасности? Ведь пользователя при этом никто ничего не спрашивает. И здесь не всё так печально. Дело в том, что обнаружить такую дыру, и, тем более, придумать, как её можно использовать - задача, как правило, непростая. Есть люди, которые зарабатывают деньги поиском таких дыр. Найдя дыру в системе безопасности, они, как правило, сообщают об этом только разработчику, для всех остальных сообщается только, что найдена дыра. А что за дыра и как её можно использовать - держится в секркте. Ясное дело, в интересах разработчика как можно скорее исправить эту ошибку в программе и выпустить заплатку, закрывающую эту дыру. А уже после этого может быть раскрыта подробная информация об ошибке. Пользователю нужно только вовремя установить заплатку. Для MS Windows и MS Office критические обновления можно загрузить с сайта Microsoft (www.microsoft.com, там есть разделы Microsoft Update и Office Update). Когда набирается некоторое количество исправлений и доработок, выпускается пакет обновлений, Microsoft обычно их называет Service Pack

Если компьютер выполняет некоторые действия, о которых его не просили, если система стала работать медленно, если стали портиться данные - есть все основания подозревать, что система заражена вирусом. В этом случае лучше всего проверить компьютер свежей антивирусной программой.

 

 

<<Назад

Впреред >>

Все

Сайт управляется системой uCoz