Компьютерные вирусы. Антивирусные программы
Как уже отмечалось, компьютер работает исключительно под управлением программ (программного обеспечения). Это делает его по-настоящему универсальным устройством, которое может выполнять роль музыкального центра, телевизора, пишущей машинки и т. д. Программы пишут программисты и у некоторых из них появляется желание придумать что-то эдакое. Иногда это невинные шалости, в других случаях они имеют явную зловещую направленность. До тех пор, пока человек, сидящий за компьютером, мог контролировать работу всех программ и знал, что и зачем он запустил, все было нормально. Но потом появились программы, которые, не спрашивая ничьего разрешения, запускались, копировались в разные места диска и "заражали" другие программы (заменяли часть полезного кода рабочей программы своим или изменяли его). С этого момента и нужно начинать разговор о "компьютерных вирусах". Отдельно хочется подчеркнуть, что практически все вирусы функционируют в операционных системах семейства MS Windows и в MS DOS.
Компьютерным вирусом называется программа (некоторая совокупность выполняемого кода), которая способна создавать свои копии (не обязательно полностью совпадающие с оригиналом) и внедрять их в различные объекты, ресурсы компьютерных систем и сетей без ведома пользователя. При этом копии сохраняют способность дальнейшего распространения. Компьютерные вирусы, как и биологические вирусы, ставят перед собой три задачи - заразить, выполнить, размножиться. Заражается компьютер "снаружи", когда человек запускает на исполнение некую программу, которая либо заражена вирусом (т. е. при ее выполнении запускается и вирус), либо сама является вирусом. Поведение вирусов разнообразно. Некоторые вирусы просто "осыпали" буквы с экрана монитора или рисовали безобидные рисунки. Такие вирусы считаются наиболее безвредными. Другие могут переименовывать файлы на диске, стирать их. Эти, без сомнения, гораздо опаснее. А вирус "Win95.CIH" может испортить микросхему BIOS компьютера. Трудно сказать, что хуже - потеря информации или выход из строя компьютера. И, наконец, вирус размножается, то есть дописывает себя везде, где он имеет шанс выполниться. Есть вирусы, которые достаточно один раз запустить, после чего они постоянно при загрузке компьютера активно включаются в работу и начинают заражать все исполняемые файлы.
Появились вирусы, использующие возможности внутреннего языка программ серии Microsoft Office. Они содержаться в файлах, подготовленных в редакторе Word или в электронных таблицах Excel. Для заражения компьютера достаточно открыть такой документ. Так как все больше людей использует Интернет, то последний все чаще становится рассадником заразы. Теперь достаточно зайти на некий сайт и нажать на кнопку формы, чтобы заполучить какой-нибудь вирус.
В последнее время широко распространился вид почтовых вирусов, играющих на любопытстве людей. Например, вам приходит письмо с признанием в любви и приложенными фотографиями. Первое движение - посмотреть содержимое письма. И как результат, - все фотографии и музыка на вашей машине пропали, а вместо них злобный вирус "I Love You" (или подобный ему). Кроме того, он еще и пошлет себя всем, кто записан в вашей адресной книге.
Троянские программы отличаются от вирусов тем, что они вместо разрушительных действий собирают и отправляют по известным им адресам пароли и другую секретную информацию пользователя. Такая программа может давать злоумышленнику полный доступ к вашим программам и данным.
К сожалению, единственный действенный метод не "заразить" компьютер - не включать компьютер вовсе. Можно еще посоветовать ничего не устанавливать и ничего не запускать. Только тогда какой смысл иметь компьютер? Поэтому широко используются антивирусы - программы, призванные обнаруживать и удалять известные им "нехорошие программы". Наиболее представительными являются DrWeb, Antiviral Tolkit Pro (AVP), ADInf. При использовании таких программ главное - постоянное обновление антивирусных баз. И все-таки очень важно не запускать неизвестно что. Или установить антивирусный монитор (который отличается от антивирусного сканера, занимающегося тотальной проверкой файлов). Когда вы запускаете тот же DrWeb на проверку дисков - это антивирусный сканер. А в комплекте с ним идет некий Spider - вот это антивирусный монитор.
Однако при борьбе с вирусами не стоит впадать в крайность и стирать все подряд. При этом вы можете случайно удалить важные системные файлы, что приведет к невозможности работы на компьютере. На этом построено действие "психологических" вирусов, рассчитанных именно на то, что пользователь своими руками разрушит систему.
Основные признаки появления в системе вируса:
· замедление работы некоторых программ;
· увеличение размеров файлов (особенно выполняемых), хотя это достаточно сложно заметить (попробуйте Adinf);
· появление не существовавших ранее "странных" файлов, особенно в каталоге Windows или корневом;
· уменьшение объема доступной оперативной памяти;
· внезапно возникающие разнообразные видео и звуковые эффекты;
· заметное снижение скорости работы в Интернете (вирус могут передавать информацию по сети);
· жалобы от друзей (или провайдера) о том, что к ним приходят непонятные письма - вирусы любят рассылать себя по почте.
В операционной системе Linux вирусы в были выявлены только в лабораторных условиях. Несмотря на то, что некоторые образцы Linix-вирусов действительно обладали всеми необходимыми способностями к размножению и автономной жизни, ни один из них так и не был зафиксирован в "диком" виде. Использование ОС Linux защищает от вирусов гораздо лучше, чем любые антивирусные программы в MS Windows.
Системы программирования
Транслятором языка программирования называется программа, осуществляющая перевод текста программы с языка программирования в (как правило) машинный код. Комплекс средств, включающих в себя входной язык программирования, транслятор, машинный язык, библиотеки стандартных программ, средства отладки оттранслированных программ и компоновки их в единое целое, называется системой программирования. В системе программирования транслятор переводит программу, написанную на входном языке программирования, на язык машинных команд конкретной ЭВМ. В зависимости от способа перевода с входного языка (языка программирования) трансляторы подразделяются на компиляторы и интерпретаторы. В компиляции процессы трансляции и выполнения программы разделены во времени. Сначала компилируемая программа преобразуется в набор объектных модулей на машинном языке, которые затем собираются (компонуются) в единую машинную программу, готовую к выполнению и сохраняемую в виде файла на магнитном диске. Эта программа может быть выполнена многократно без повторной трансляции.
Интерпретатор осуществляет пошаговую трансляцию и немедленное выполнение операторов исходной программы: каждый оператор входного языка программирования транслируется в одну или несколько команд машинного языка, которые тут же выполняются без сохранения на диске. Таким образом, при интерпретации программа на машинном языке не сохраняется и поэтому при каждом запуске исходной программы на выполнение ее нужно (пошагово) транслировать заново. Главным достоинством интерпретатора по сравнению с компилятором является простота. Входной язык программирования называется языком высокого уровня по отношению к машинному языку, называемому языком низкого уровня.
Особое место в системе программирования занимают ассемблеры, представляющие собой комплекс, состоящий из входного языка программирования ассемблера и ассемблер-компилятора. Ассемблер представляет собой мнемоническую (условную) запись машинных команд и позволяет получить высокоэффективные программы на машинном языке. Однако его использование требует высокой квалификации программиста и больших затрат времени на составление и отладку программ. Наиболее распространенными языками программирования являются: Pascal, Basic, C++, Fortran и др. Тенденции развития - появление языков четвертого поколения типа Visual Basic.
Архивация
Архиватор - это программа, которая сжимает файл или группу файлов в один архивный файл с целью уменьшения их размера. При этом не теряется ни бита информации, и любой файл можно из архива извлечь. Что дает архивация? Во-первых, экономия места на диске, во-вторых, на дискете можно перенести большой объем информации, в-третьих, есть возможность пересылать большие файлы по электронной почте. Наиболее известные архиваторы - это архиваторы ZIP, ARJ, RAR, GZIP, LHA, HA, ACE. Архив, созданный тем или иным архиватором, имеет расширение, соответствующее названию архиватора. Например, расширение файла archive.rar говорит о том, что он был создан с помощью архиватора RAR.
Архиваторы различаются возможностями и качеством сжатия, которое зависит также и от типа сжимаемых данных. Некоторые архиваторы лучше работают с одними типами данных, но плохо показывают себя с другими. Создать универсальный архиватор невозможно. К важным функциям архиваторов относят создание многотомных архивов и самораспаковывающихся архивов.
Многотомные архивы - это архивы, разбитые на несколько отдельных файлов. Их применяют, когда необходимо перенести большой объём информации на дискетах: на каждую дискету помещается отдельный том архива. При извлечении данных из многотомного архива архиватор будет последовательно обрабатывать том за томом, и запрашивать смену дискеты.
Самораспаковывающиеся архивы используются в тех случаях, когда необходимо перенести информацию на другой компьютер, но неизвестно, установлен ли там соответствующий архиватор. Самораспаковывающийся архив представляет собой исполняемый (.EXE) файл, который включает в себя заархивированные данные и программу для их распаковки. Как иллюстрацию сжатия информации рассмотрим пример одного из способов сжатия. Допустим, есть такая строчка символов: "АААААААБББББВВВВВВВВВВГГГГГГ". Длина такой строчки - 28 символов. Но в ней очень много повторяющихся одинаковых символов, поэтому можно просто записать количество повторений и сам повторяющийся символ, в результате получится следующее: "7А5Б10В6Г". Строчка стала занимать всего 9 символов, т.е. сократилась более чем в три раза! Разумеется, такой метод сжатия будет работать не для всех данных, например, возьмём такую строчку: "АБВБГАБГВАВГБАГ". Её длина - 15 символов. Если мы применим к ней тот же метод, то её длина увеличится вдвое: "1А1Б1В1Б1Г1А1Б1Г1В1А1В1Г1Б1А1Г". Отсюда следует важный вывод: один и тот же алгоритм сжатия для одних исходных данных сокращает их размер, а для других может и увеличить. Алгоритмов сжатия данных существует великое множество. Некоторые алгоритмы подходят для одних типов данных, другие - для других. Хорошо сжимаются простые растровые изображения, не содержащие большого количества деталей (.BMP, .PSD и др.). Коэффициент сжатия во многом зависит от используемого алгоритма и сложности изображения. Например, чёрно-белое изображение чертёжного качества может быть сжато даже в сотню раз, цветные рисунки - в пять-десять раз, а цветные изображения высокого фотографического качества сжимаются менее чем в два раза. Хорошо сжимаются текстовые файлы (.TXT, .DOC, .PAS и др.). Если файл содержит текст, написанный на естественном языке, например, повесть или рассказ, то коэффициент сжатия будет равен двум-трём, а если в файле записан текст программы, то коэффициент сжатия может достигать пяти и выше. Коэффициент сжатия исполняемых файлов(.EXE, и др.) также сильно колеблется, однако, в среднем он равен примерно трём.
В отношении звука (.WAV, .AU), использование универсальных методов сжатия редко даёт хорошие результаты - звуковой файл сокращается всего на 20-40%. То же самое касается и высококачественных изображений, имеющих много деталей. Поэтому для этих типов изображений используются специальные методы сжатия, особо хорошие результаты дают так называемые алгоритмы сжатия с потерями. Одна из идей этих алгоритмов состоит в том, что человеческий глаз и ухо не очень восприимчивы к некоторым мелким деталям изображения или звука, поэтому лишнюю информацию можно просто отбросить. Разумеется, кроме отбрасывания лишней информации, используются и другие алгоритмы, в результате чего достигается несравнимый коэффициент сжатия при минимальных потерях качества (с точки зрения восприятия человека). Такой подход используется в файлах формата JPEG, предназначенного для хранения статичных изображений и MPEG, предназначенного для хранения видео- и аудиоинформации. Сегодня особенно популярны такие форматы, как MPEG-3 (или MP3), предназначенный для хранения аудиоинформации и позволяющий достигнуть десятикратного сжатия почти без потери качества, и MPEG-4, используемый для хранения видеофильмов. Плохо архивируются, либо вообще увеличиваются в размере файлы, данные в которых уже сжаты, в том числе архивы (.RAR, .ZIP, .ARJ и др.), графические файлы тех форматов, которые имеют собственное сжатие (.GIF, .JPG, .PNG и др.), аудиофайлы (.MP3), видеофайлы (.MPG, .AVI и др.), самораспаковывающиеся архивы (.EXE).
Вопросы для самоконтроля