Компьютерный вирус это программа производящая в вашем компьютере действия в которых вы не нуждаетесь

Обновлено: 05.07.2024

1 .Сущность и проявление компьютерных вирусов

2 .Виды компьютерных вирусов

3 .Программы обнаружения и защиты от вирусов

4 .Профилактика заражения компьютера вирусами

1. Сущность и проявление компьютерных вирусов

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

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

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

Несмотря на принятые во многих странах законы о борьбе с компьютерными преступлениями и разработку специальных программных средств защиты от вирусов, количество новых программных вирусов постоянно растет. На сегодняшний день известно более 700 тыс. вирусов. , для которых разработаны антивирусные средства. Это требует от пользователя компьютера знаний о природе вирусов, способах заражения вирусами и защиты от них.

Основными путями проникновения вирусов в компьютер являются съемные носители (гибкие и лазерные диски), а также компьютерные сети.

Программа или иной объект содержащая вирус называется зараженной.

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

- прекращение работы или неправильная работа ранее успешно функционирования программ;

- медленная работа компьютера;

- невозможность загрузки операционной системы;

- исчезновение файлов и каталогов или искажение их содержимого;

- изменение даты и времени модификации файлов;

- изменение размеров файлов;

- неожиданное значительное увеличение количества файлов на диске;

- существенное уменьшение размера свободной оперативной памяти;

- подача непредусмотренных звуковых сигналов;

- частые зависания и сбои в работе компьютера.

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

2. Основные виды вирусов

В настоящее время известно более 70 тыс. программных вирусов, их можно классифицировать по следующим признакам:

– по способу заражения ОЗУ ;

– по особенностям алгоритма;

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

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

Файловые вирусы внедряются главным образом в исполняемые модули, т.е. в файлы, имеющие расширения .СОМ и .ЕХЕ. Заражая файл, вирус внедряется в его код, чтобы получить управление при запуске этого файла. После запуска вирус помешается в оперативную память и поражает другие исполняемые файлы, к которым обратился пользователь. Кроме своей основной функции - размножения вирус может сделать что-нибудь: спросить, сыграть, показать изображение.

Таким образом, при запуске любого исполнимого файла вирус получает управление (операционная система запускает его сама), устанавливается в память и передает управление вызванному файлу.

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

Загрузочные вирусы внедряются в загрузочный сектор диска ( Boot -сектор) или в сектор, содержащий программу загрузки системного диска ( Master Boot Record ).

Загрузочный сектор - это сектор на дискете или жестком диске с которого происходит загрузка операционной системы программами BIOS .

Пусть у нас имеется зараженная дискета и "чистый" компьютер. Нормальная схема начальной загрузки такая: ПЗУ - ПНЗ (программа начальной загрузки в загрузочном секторе) - ОС

Заражая дискету вирус делает следующее:

- выделяет некоторую область диска и помечает ее как недоступную ОС (сбойные секторы bad );

- копирует в выделенную область диска свой «хвост» и здоровый загрузочный сектор;

- Замещает программу загрузки своей «головой».

В итоге последовательность загрузки изменяется и замедляется, так как появилось новое звено – вирус.

При воздействии вируса схема изменяется ПЗУ-ВИРУС-ПНЗ-ОС

Таким же образом поражаются загрузочные секторы винчестеров.

По способу функционирования вирусы делятся на резидентные и нерезидентные.

Резидентный вирус при заражении (инфицировании) компьютера оставляет в оперативной памяти свою резидентную часть, которая потом перехватывает обращение операционной системы к объектам заражения (файлам, загрузочным секторам диска и внедряется в них). Резидентные вирусы находятся в памяти и являются активными до выключения или перезагрузки компьютера. Нерезидентные вирусы не заражают память компьютера и являются активными ограниченное время.

По степени воздействия вирусы можно разделить на следующие виды:

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

- опасные вирусы, которые могут привести к различным нарушениям в работе компьютера;

- очень опасные, воздействие которых может привести к потере программ, поражению данных, стиранию информации в системных областях диска (Чернобыль 26 апреля « Chih »).

По особенностям алгоритма можно выделить следующие группы вирусов:

- компаньон-вирусы ( companion ) - это вирусы, не изменяющие файлы, но создающие файлы-компаньоны. Алгоритм работы этих вирусов состоит в том, что они создают для ЕХЕ-файлов файлы-спутники, имеющие то же самое имя, но с расширением .СОМ, (например, для файла ABC . EXE создается файл ABC . COM . Вирус записывается в СОМ-файл и никак не изменяет ЕХЕ-файл. При запуске такого файла ОС первым обнаружит и выполнит СОМ-файл, т.е. вирус, который затем запустит и ЕХЕ-файл. (Пример: I.Worm.Stator.a ).

- сетевые вирусы - (черви, worm ) распространяются по информационным сетям с одного сервера на другой, как правило, не выполняя деструктивных действий (по причине большого разнообразия и хорошей защищенности различных серверных ОС). Вред сетевых вирусов состоит в дополнительном расходе памяти и каналов связи, кроме того, черви могут служить транспортом для распространения других видов вирусов. Частный случай сетевых вирусов - почтовые черви ( mail worm ), распространяемые во вложениях к электронным письмам. Весной 2000 года несколько модификаций такого рода вирусов поразили миллионы компьютеров во всём мире. Почтовые черви могут причинить очень опасные повреждения информации, вплоть до полного уничтожения. Кроме того. Почтовые вирусы быстро распространяются, используя для этого адреса пользователей, содержащиеся в адресной книге почтовой программы.

(Пример: вирус «Анна Курникова» ).

полиморфик-вирусы ( polymorphic ) - достаточно труднообнаруживаемые вирусы, модифицирующие свой код в зараженных программах таким образом, что два экземпляра одного и того же вируса не совпадают (имеют разные коды). Это вирусы с самомодифицирующимися расшифровщиками. Цель такого шифрования - имея зараженный и оригинальный файлы невозможно определить наличие вируса.

Вирусы-невидимки (стелс-вирусы) - такие вирусы при обращении к файлам используют достаточно оригинальные алгоритмы, позволяющие «обманывать» резидентные антивирусные мониторы предотвращают свое обнаружение тем, что перехватывают обращения операционной системы (и тем самым прикладных программ) к зараженным файлам и областям диска и подставляют вместо своего тела незараженные участки диска. Разумеется, этот эффект наблюдается только на зараженном компьютере - на «чистом» компьютере изменения в файлах и загрузочных областях.

«Троянские» программы (шпионы) маскируясь под полезную программу, разрушают загрузочный сектор и файловую систему дисков. Не способны к самораспространению. Троянцы, после своего запуска, скрытно выполняют определенные действия, направленные на снижение защищенности информационной системы: передают по электронной почте или сети пароли, файлы и другую информацию с компьютера

Макровирусы распространяются внутри документов Microsoft Office (файлы с расширениями . DOC , . DOT , . XLS , и др.), позволяющих использовать макросы – последовательности команд, автоматически выполняемые при открытии документа. Для защиты от заражения макровирусом достаточно включить предупреждение о наличии макросов в документе и не в коем случае не запускать подозрительные макросы, если только полезность их Вам не очевидна.

3. Программы обнаружения и защиты от вирусов

Для обнаружения, удаления и защиты от компьютерных вирусов разработано несколько видов специальных программ, которые позволяют обнаруживать и уничтожать вирусы. Такие программы называются антивирусными.

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

- программы-доктора или фаги;

- программы-вакцины или иммунизаторы.

Программы-доктора или фаги («от греч. жрать») не только находят зараженные вирусами файлы, но и «лечат» их, т.е. удаляют из файла тело программы вируса, возвращая файлы в исходное состояние. В начале своей работы фаги ищут вирусы в оперативной памяти, уничтожая их, и только затем переходят к «лечению» файлов. Учитывая, что постоянно появляются новые вирусы, программы-детекторы и программы-доктора быстро устаревают, и требуется регулярное обновление их версий. NOD 32, Norton Antivirus , Doctor Web , Awast , Panda , KaV .

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

Программы-ревизоры имеют достаточно развитые алгоритмы, обнаруживают стелс-вирусы и могут даже отличить изменения версии проверяемой программы от изменений, внесенных вирусом. К числу программ-ревизоров относится широко распространенная в России программа ADinf фирмы "Диалог-Наука". Awast

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

•попытки коррекции файлов с расширениями СОМ и ЕХЕ;

• изменение атрибутов файлов;

•запись в загрузочные сектора диска;

•загрузка резидентной программы.

Вакцины или иммунизаторы — это резидентные программы, предотвращающие заражение файлов. Вакцины применяют, если отсутствуют программы-доктора «лечащие» этот вирус. Вакцинация возможна только от известных вирусов. Вакцина модифицирует программу или диск таким образом, чтобы это не отражалось на их работе вирус будет воспринимать их зараженными и поэтому не внедрится. Panda Reaserch USB Vaccine 1.0

Современные антивирусные пакеты включают несколько программ с различными функциями.

Сегодня одним из наиболее популярных антивирусных пакетов является Dr . Web , антивирус Касперского ( Kaspersky Anti - Virus – KAV ).

4. Профилактика заражения компьютера вирусами

Для того чтобы не подвергнуть компьютер заражению вирусами и обеспечить надежное хранение информации на дисках, необходимо соблюдать следующие правила:

- оснастите свой компьютер современным антивирусным ПО и постоянно обновляйте их базы;

- используйте антивирусные программы для входного контроля всех исполняемых файлов, получаемых из интернета;

- перед считыванием с дискет, флэшек информации, записанной на других компьютерах, всегда проверяйте съемные носители на наличие вирусов, запуская антивирусные программы своего компьютера;

- при переносе на свой компьютер файлов в архивированном виде проверяйте их перед распаковкой;

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

- обязательно делайте архивные копии ценной для вас информации;

- не оставляйте съемные носители (флэшки, дискеты, мобил-рэк) при включении или перезагрузке операционной системы, чтобы исключить заражение компьютера загрузочными вирусами;

Это интересно:

В России осужден известный вирусописатель (информация лаборатории Касперского)

22 октября 2004 года в г. Ижевске был вынесен приговор по делу Е. А. Сучкова, известного в вирусописательской среде под псевдонимом "Whale", сообщает "Лаборатория Касперского". Обвинение было выдвинуто по 273-й статье Уголовного Кодекса РФ.

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

В ходе судебного разбирательства Евгений полностью признал свою вину и оказал значительную помощь следствию. В результате он был признан виновным в совершении преступления, предусмотренного ч. 1 ст. 273 УК РФ и приговорен к штрафу в размере 3000 рублей.

"Столь мягкое наказание объясняется тем, что у следствия не имелось заявлений от пострадавших в результате действий созданных Сучковым вирусов, - отмечает антивирусный эксперт "Лаборатории Касперского" Александр Гостев. - С другой стороны, не может не радовать тот факт, что это фактически первый уголовный процесс в России, в результате которого к ответственности был привлечен широко известный автор вирусов, состоявший в печально знаменитой международной вирусописательской группе 29A".

Вирус «Магистр» – распространяется по сети, каждая следующая загрузка компьютера увеличивает на 20% вероятность уничтожения Биоса. (сетевой, очень опасный, троянец, не резидентный).

3. “ВАКЦИНАЦИЯ” ПРОГРАММ

3.1. Заголовок исполняемых файлов

3.2. Защита вновь создаваемых программ

3.3. Модуль F_Anti

4. ЗАЩИТА СУЩЕСТВУЮЩИХ ЕХЕ-ФАЙЛОВ

4.1. Описание программ SetFag. pas и Fag. asm

4.2. Программа AntiVir

В работе анализируется механизм распространения и функционирования вирусов в операционной системе MS-DOS и на основе анализа предлагаются достаточно эффективные способы борьбы с ними. Приводятся описания трех разных программ, обеспечивающих выявление и ликвидацию вирусов. Модуль F_Anti может использоваться для автоматической защиты вновь разрабатываемых Турбо Паскалевых программ. Программа AntiVir осуществляет выявление и ликвидацию загрузочных вирусов и контроль любых исполняемых файлов на основе сопоставления наиболее уязвимых для вируса частей файлов с их эталонными копиями. Наконец, комплекс программ SetFag. exe и Fag, prg даст Вам возможность установить антивирусную программу—фаг на любой уже созданный ЕХЕ-файл: в момент запуска программы фаг проверит ее состояние, если программа поражена вирусом, сообщит об этом и удалит вирус.

1. ЧТО ТАКОЕ КОМПЬЮТЕРНЫЕ ВИРУСЫ

Если Вы имеете опыт продолжительной работы с ПК, то, возможно, уже сталкивались с компьютерными вирусами или хотя бы слышали о них. Компьютерный вирус-это программа, производящая в Вашем ПК действия, в которых Вы не нуждаетесь и о которых не подозреваете. Главной ее особенностью является способность к “размножению” , т.е. к созданию множества готовых к дальнейшей работе экземпляров вируса. Вирусы “цепляются” к обычным исполняемым файлам типа . ЕХЕ,. СОМ или к загрузочным секторам физических носителей информации (дискет) и таким образом перемещаются от одного ПК к другому.

Являвшиеся первоначально вполне невинным развлечением скучающих программистов компьютерные вирусы сегодня стали настоящим бедствием для пользователей ПК: количество и типы таких программ растут с ужасающей скоростью, а сами вирусы в ряде случаев приобрели весьма неприятные свойства-некоторые из них способны уничтожать файловую структуру дисков со всеми катастрофическими для пользователя последствиями. В литературе [14] описывается беспрецедентный случай, когда вирус на Три дня (с 2 по 4 ноября 1988 г.) вывел из строя фактически всю компьютерную сеть США. Были парализованы компьютеры Агентства национальной безопасности, Стратегического командования ВВС США, локальные сети всех крупных университетов и исследовательских центров. Лишь в последний момент удалось спасти систему управления полетом космических кораблей Шаттл. Положение было настолько серьезным, что к расследованию немедленно приступило ФБР. Виновником катастрофы, причинившей ущерб более чем в 100 миллионов долларов, оказался студент выпускного курса Корнеллского университета Р. Моррис, придумавший достаточно хитрую разновидность вируса. Он был исключен из университета с правом восстановления через год и приговорен судом к уплате штрафа в 270 тысяч долларов и трем месяцам тюремного заключения.

Трудно объяснить, для чего программисты тратят силы и время на создание все более изощренных типов вируса, поскольку их авторы почти всегда остаются или надеются остаться анонимными, так что естественное для человека стремление к известности здесь исключено. Может быть это неудачная шутка (этой версии придерживался Р. Моррис) , возможно это связано с патологическими отклонениями в психике, а может быть объяснение кроется в стремлении заработать на создании антивирусных программ? Как бы там ни было, нам нельзя не считаться с возможностью заражения ПК компьютерным вирусом.

2. ЦИКЛ ФУНКЦИОНИРОВАНИЯ ВИРУСОВ

В цикле существования любого вируса можно выделить три этапа. Первоначально вирус находится в неактивном состоянии. В этом состоянии он внедрен в тело исполняемого файла или находится в загрузочном секторе диска и “ждет” своего часа. Именно

3. “ВАКЦИНАЦИЯ” ПРОГРАММ

Что же следует сделать, чтобы эта безрадостная картина не стала реальностью? Один ответ очевиден-периодически (и по возможности чаще) сохранять жизненно важные для Вас результаты работы на дискетах. Нет ничего проще, чем дать этот совет, гораздо сложнее заставить себя следовать ему: я сам, честно говоря, далеко не каждый день трачу время на архивирование. Второй ответ менее очевиден. С его простой идеей я впервые познакомился в прекрасной статье Ф. Н. Шерстюка.

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

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

3.1. Заголовок исполняемых файлов

Какую именно информацию о незараженном файле след

Какую именно информацию о незараженном файле следует сохранять? Для ответа на этот вопрос необходимо знать соглашение ДОС о формате исполняемых файлов. Как известно, существуют два формата: СОМ и ЕХЕ. Любая программа, обрабатываемая системой Турбо Паскаль версии 4.0 и выше, может быть оттранслирована только в ЕХЕ- файл, поэтому все дальнейшие рассуждения относятся именно к этому формату.

В начале ЕХЕ- файла располагается заголовок, в котором содержится вся информация, необходимая для преобразования дискового файла в готовую к работе программу. Первые 28 байт заголовка соответствуют следующей структуре данных:

3.2. Защита вновь создаваемых программ

Ключевую информацию (будем для краткости называть ее ключ) о незараженной программе можно хранить в отдельном файле, но в этом случае существует опасность потерять дополнительный файл при копировании программы или ошибочно уничтожить его. Гораздо надежнее хранить ключ в теле самого защищаемого файла. К сожалению, его нельзя подобно вирусу пристыковать в конец файла, т.к. в случае заражения вирус изменит поля PartPag и PageCnt и мы никогда не сможем определить то место в файле, где он располагается. Вспомним, что все константы (в том числе и типизированные) создаются на этапе компиляции программы, таким образом, в файле обязательно имеется область данных, содержащая значения этих констант. Эта область в Турбо Паскалевых программах располагается в самом конце загружаемой части файла (см. рис. 6.2) .

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

Каким образом отыскать в ЕХЕ- файле место, занимаемое ключом? Конечно, можно перед ним в программе разместить какую-либо типизированную константу с характерным значением (например, заранее обусловленную текстовую строку) и затем отыскивать ее в файле. Однако такое решение вряд ли можно признать удовлетворительным: во-первых, всегда существует вероятность того, что какой-то фрагмент кодов программы содержит ту же цепочку байт, что и заголовок ключа; во-вторых, придется просматривать подчас большой по объему ЕХЕ—файл в поисках нужной константы. Значительно изящнее выглядит решение, основанное на точном вычислении смещения от начала файла до ключа.

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

Остается последняя проблема-как найти нужную константу. Турбо Паскаль размещает константы в области данных по мере их объявления в программе. Зная размер каждой константы и порядок их объявления, можно вычислить место размещения нужной нам типизированной константы. Однако этот метод не годится для универсальной программы защиты, так как порядок объявления констант может меняться от программы к программе. К счастью, мы можем использовать операцию получения адреса @. Результатом применения этой операции к адресу константы, выбранной в качестве ключа, является указатель (четырехбайтный адрес) ; смещение адреса, который он содержит, и является нужным нам смещением начала ключа относительно начала области данных.

3.3. Модуль F_Anti

В этом параграфе описывается модуль F_Anti, в котором осуществляются все необходимые дейс

4. ЗАЩИТА СУЩЕСТВУЮЩИХ ЕХЕ-ФАЙЛОВ

Итак, “вакцинация” вновь разрабатываемых программ не представляет особой сложности. А как защитить уже существующую ЕХЕ -программу? Для этого существуют две возможности: либо использовать отдельную программу, которая хранит ключевую информацию и осуществляет проверку по требованию пользователя (такая программа обсуждается в следующем разделе) , либо пристыковать к защищаемой программе небольшой код “вирусного фага” -тогда проверка будет осуществляться автоматически при каждом запуске программы. В этом разделе мы обсудим технику создания и внедрения в защищаемую. программу антивируса—фага, т.е. небольшой ассемблерной программы, которая использует тот же механизм перехвата управления, что и обычный вирус, но осуществляет нужную защиту программы.

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

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

2) В некоторую локальную область памяти считываются начальные 28 байт заголовка ЕХЕ- файла, соответствующие структуре данных HeadExeType.

3) Определяется размер загружаемой части файла по формуле

LengExe = (PageCnt-l) 512 + PartPag

4) Определяется файловое смещение загружаемой части:

5) Выбирается сегментный адрес StartSeg для размещения программы.

6) Считывается загружаемая часть программы в непрерывную область памяти длиной LengExe, начинающуюся по адресу StartSeg: 0000.

7) Указатель файла устанавливается на начало таблицы перемещения TablOff, 8) Для каждого элемента перемещения (этих элементов ReloCnt) : • считывается элемент как два 16-битных слова IternOfs, ItemSeg; • вычисляется ReloSeg === StartSeg+ltemOfs, т.е. сегментная часть смещения абсолютного адреса перемещаемой ссылки; • извлекается слово по адресу ReloSeg: ltemOfs -сегментная часть перемещаемой ссылки; • к этому слову прибавляется StartSeg (осуществляется так называемая привязка сегмента) ; • результат помещается обратно по адресу ReloSeg: ltemOfs.

9) Выделяется память за концом программы в соответствии со значениями

MinMem и МахМет.

• CS == StartSeg^ReloCS; • IP= Exelp; • содержимое остальных регистров не имеет значения. Регистры сегмента кода CS и указателя инструкций IP обычно инициируются следующими тремя командами: PUSH StartSeg+ReloCs PUSH Exelp RETF (команда RETF дальнего возврата из подпрограммы извлекает из стека два слова-смещение и сегмент адреса перехода и помещает их соответственно в IP и CS) .

Таким образом, сразу после получения управления фаг должен сохранить значения регистров АХ и DS и поместить в DS значение собственного сегмента данных. На практике сегмент данных в коротких ассемблерных программах обычно совпадает с

В главе анализируется механизм распространения и функционирования вирусов в операционной системе MS-DOS и на основе анализа предлагаются достаточно эффективные способы борьбы с ними. Приводятся описания трех разных программ, обеспечивающих выявление и ликвидацию вирусов. Модуль F_Anti может использоваться для автоматической защиты вновь разрабатываемых Турбо Паскалевых программ. Программа AntiVir осуществляет выявление и ликвидацию загрузочных вирусов и контроль любых исполняемых файлов на основе сопоставления наиболее уязвимых для вируса частей файлов с их эталонными копиями. Наконец, комплекс программ SetFag.exe и Fag,prg даст Вам возможность установить антивирусную программу—фаг на любой уже созданный ЕХЕ-файл: в момент запуска программы фаг проверит ее состояние, если программа поражена вирусом, сообщит об этом и удалит вирус.

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

Если Вы имеете опыт продолжительной работы с ПК, то, возможно, уже сталкивались с компьютерными вирусами или хотя бы слышали о них. Компьютерный вирус-это программа, производящая в Вашем ПК действия, в которых Вы не нуждаетесь и о которых не подозреваете. Главной ее особенностью является способность к «размножению», т.е. к созданию множества готовых к дальнейшей работе экземпляров вируса. Вирусы «цепляются» к обычным исполняемым файлам типа .ЕХЕ, .СОМ или к загрузочным секторам физических носителей информации (дискет) и таким образом перемещаются от одного ПК к другому.

Являвшиеся первоначально вполне невинным развлечением скучающих программистов компьютерные вирусы сегодня стали настоящим бедствием для пользователей ПК: количество и типы таких программ растут с ужасающей скоростью, а сами вирусы в ряде случаев приобрели весьма неприятные свойства-некоторые из них способны уничтожать файловую структуру дисков со всеми катастрофическими для пользователя последствиями. В литературе [14] описывается беспрецедентный случай, когда вирус на Три дня (с 2 по 4 ноября 1988 г.) вывел из строя фактически всю компьютерную сеть США. Были парализованы компьютеры Агентства национальной безопасности, Стратегического командования ВВС США, локальные сети всех крупных университетов и исследовательских центров. Лишь в последний момент удалось спасти систему управления полетом космических кораблей Шаттл. Положение было настолько серьезным, что к расследованию немедленно приступило ФБР. Виновником катастрофы, причинившей ущерб более чем в 100 миллионов долларов, оказался студент выпускного курса Корнеллского университета Р.Моррис, придумавший достаточно хитрую разновидность вируса. Он был исключен из университета с правом восстановления через год и приговорен судом к уплате штрафа в 270 тысяч долларов и трем месяцам тюремного заключения.

Трудно объяснить, для чего программисты тратят силы и время на создание все более изощренных типов вируса, поскольку их авторы почти всегда остаются или надеются остаться анонимными, так что естественное для человека стремление к известности здесь исключено. Может быть это неудачная шутка (этой версии придерживался Р.Моррис), возможно это связано с патологическими отклонениями в психике, а может быть объяснение кроется в стремлении заработать на создании антивирусных программ? Как бы там ни было, нам нельзя не считаться с возможностью заражения ПК компьютерным вирусом.

2. Цикл функционирования вирусов

В цикле существования любого вируса можно выделить три этапа. Первоначально вирус находится в неактивном состоянии. В этом состоянии он внедрен в тело исполняемого файла или находится в загрузочном секторе диска и «ждет» своего часа. Именно в неактивном состоянии вирусы переносятся вместе с программами или дискетами от одного ПК к другому (обмен программами между пользователями ПК-явление обыденное, и Вы сами, читатель, возможно копировали полюбившуюся Вам игру или текстовый редактор, не подозревая, что копируете еще и вирус). Разумеется, в неактивном состоянии вирус ничего не может сделать. Для того чтобы он начал свою работу, необходимо запустить исполняемый файл или загрузиться с зараженной дискеты. В этот момент активизируется вирус, который либо создает резидентную в памяти программу, способную порождать копии или производить какие-то разрушительные действия, либо немедленно приступает к работе.

Если вирус создал резидентную программу, то ее активизация осуществляется различными способами - все зависит от фантазии автора вируса. Обычно вирус перехватывает прерывание $21, являющееся ключевым для доступа к любым операциям с MS-DOS. Таким образом, любая попытка чтения или записи информации на диск или обращение к клавиатуре дисплея приводит к активизации резидентной программы вируса. После получения управления (или активизации резидентной программы) вирус приступает к «размножению»: он отыскивает подходящий исполняемый файл и внедряет свой код в его тело (см. ниже). Как правило, вирус заражает лишь один исполняемый файл за раз, чтобы пользователь не обратил внимания на чрезмерное замедление в работе программ: второй этап жизнедеятельности вируса - это этап активного размножения, поэтому вирусная программа стремится максимально скрыть от пользователя ПК результаты своей деятельности.

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

3. «Вакцинация» программ

Что же следует сделать, чтобы эта безрадостная картина не стала реальностью? Один ответ очевиден-периодически (и по возможности чаще) сохранять жизненно важные для Вас результаты работы на дискетах. Нет ничего проще, чем дать этот совет, гораздо сложнее заставить себя следовать ему: я сам, честно говоря, далеко не каждый день трачу время на архивирование. Второй ответ менее очевиден. С его простой идеей я впервые познакомился в прекрасной статье Ф.Н.Шерстюка.

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

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

Какую именно информацию о нзараженном файле следует сохранять? Для ответа на этот вопрос необходимо знать соглашение ДОС о формате исполняемых файлов. Как известно, существуют два формата: СОМ и ЕХЕ. Любая программа, обрабатываемая системой Турбо Паскаль версии 4.0 и выше, может быть оттранслирована только в ЕХЕ-файл, поэтому все дальнейшие рассуждения относятся именно к этому формату.

В начале ЕХЕ-файла располагается заголовок, в котором содержится вся информация, необходимая для преобразования дискового файла в готовую к работе программу. Первые 28 байт заголовка соответствуют следующей структуре данных:


В данный момент вы не можете посмотреть или раздать видеоурок ученикам

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

Получите невероятные возможности



2. Раздавайте видеоуроки в личные кабинеты ученикам.


3. Смотрите статистику просмотра видеоуроков учениками.

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

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

Прежде чем приступить непосредственно к компьютерным вирусам и вредоносным программам, давайте с вами вспомним, что такое программа?

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

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


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


Первая массовая «эпидемия» компьютерного вируса произошла в 1986 году, когда вирус по имени Brain «заражал» дискеты персональных компьютеров.


Вирусы действуют только программным путем. Они, как правило, присоединяются к файлу или проникают в тело файла. В этом случае говорят, что файл заражен вирусом. Вирус попадает в компьютер только вместе с зараженным файлом. Для активизации вируса нужно загрузить зараженный файл, и только после этого, вирус начинает действовать самостоятельно.


Чаще всего вирус распространяется через зараженные диски, дискеты, флэшки, карты памяти мобильных телефонов, фотоаппаратов, видеокамер, электронную почту и интернет (скачивание программ).


Основные признаки заражения компьютера вирусом:

· Работа компьютера замедляется,

· Уменьшается объем оперативной памяти,

· Файлы и диски оказываются испорченными,

· Компьютер перестает загружаться с жесткого диска,

· Некоторые программы перестают работать или работают с ошибками.

По «среде обитания» вирусы можно разделить на файловые вирусы, макровирусы и сетевые вирусы.


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

Макровирусы заражают файлы документов, например текстовых документов. После загрузки зараженного документа в текстовый редактор макровирус постоянно присутствует в оперативной памяти компьютера и может заражать другие документы. Угроза заражения прекращается только после закрытия текстового редактора.

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


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


Уберечься от вредоносных программ, нам помогут антивирусные программы.

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


Всего два главных принципа работы антивирусных программ.

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


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


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


Для периодической проверки компьютера используются антивирусные сканеры, которые после запуска проверяют файлы и оперативную память на наличие вирусов и обеспечивают нейтрализацию вирусов.


Антивирусные сторожа (мониторы) постоянно находятся в оперативной памяти компьютера и обеспечивают проверку файлов в процессе их загрузки в оперативную память.


Недостатки антивирусных программ:

· Ни одна из существующих антивирусных технологий не может обеспечить полной защиты от вирусов.

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

Читайте также: