Вирусы и антивирусные программы.



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

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

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

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

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

 Вирус может испортить любой файл, но заразить только файлы определенного типа:

§ исполняемые файлы, т.е. файлы с программами (их названия имеют расширения .COM или .EXE)

       Вирусы, заражающие такие файлы, называются файловыми, они наиболее распространены.

§ загрузчик ОС и главная загрузочная запись жесткого диска

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

§ драйверы устройств

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

§ файлы, созданные с помощью текстового или табличного процессора

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

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

§ детектор (сканер)

       Обнаруживает зараженные файлы. Сканер производит проверку заданной области файловой структуры. Требует ручного запуска и указания области проверки.

§ доктор (фаг)

       Лечит зараженные файлы, т.е. уничтожает вирусы в файлах и помогает восстановить зараженные программы

§ ревизор

       Запоминает исходное состояние системных файлов и областей и сравнивает с текущим состоянием. При выявлении несоответствия сообщает о них пользователю и исправляет.

§ фильтр (антивирусный монитор)

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

Обычно антивирусные программы объединяются в системы программ.

Программы обслуживания дисков.

§ программы диагностики (проверяют работоспособность устройств)

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

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

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

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

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

 

Системы программирования.

Основная цель любой программы – описание последовательностей команд (инструкций) для ЦП компьютера, который должен ее исполнить. Эти команды должны быть выражены в машинном коде в виде последовательности двоичных чисел, обозначающих эти команды, т.е. на языке, понятном ЦП. Человеку составлять программы на таком языке крайне сложно, поэтому для создания программ принят следующий подход: Программист пишет текст алгоритма на языке, который ему понятен и удобен, а затем с помощью специальных программ переводит его на машинный язык и превращает в удобный для ЦП и ОС вид. Для этой цели существуют специальные языки, которые называют алгоритмическими или языками программирования.

Основные свойства языков программирования:

§ специализация

       Средства, предоставляемые языком, ориентированы на описание задач предметных областей        определенного типа, например, одни языки разработаны главным образом для численных расчетов    (например, Pascal ), другие – для работы в основном с текстовой информацией ( LISP ), третьи – для написания главным образом системных программ ( C ).

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

§ возможность написания легкочитаемого текста, имеющего ясную структуру

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

§ возможность независимого написания отдельных частей программы

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

В связи с особенностями языков программирования существует четыре важных этапа запуска программы на выполнение:

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

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

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

- исполнение программы

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

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

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

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

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

Основные преимущества интерпретатора перед компилятором:

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

файлы с такими программами занимают небольшой объем памяти, поскольку содержит лишь тексты

Основные недостатки:

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

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

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

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


Дата добавления: 2019-02-22; просмотров: 247; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!