Классификация компьютерных вирусов
В зависимости от среды обитания вирусы классифицируются на:
Сетевые вирусыиспользуют для своего распространения команды и протоколы телекоммуникационных сетей (обитают в компьютерных сетях). Загрузочные вирусы внедряются в загрузочный сектор дискеты или в главную загрузочную запись жесткого диска (содержащую программу загрузки системного диска). Такой вирус изменяет программу начальной загрузки операционной системы, запуская необходимые для нарушения конфиденциальности программы или подменяя, для этой же цели, системные файлы (в основном это относится к файлам, обеспечивающим доступ пользователей в систему). Файловые вирусы внедряются в основном в исполняемые файлы с расширением .СОМ и .ЕХЕ, но могут внедряться и в файлы с компонентами операционной системы, драйверы внешних устройств, объектные файлы и библиотеки, в командные пакетные файлы. При запуске зараженных программ вирус на некоторое время получает управление и в этот момент производит запланированные деструктивные действия и внедрение в другие файлы программ. Документные вирусы (макровирусы) заражают текстовые файлы редакторов или электронных таблиц, используя макросы, которые сопровождают такие документы. Вирус активизируется, когда документ загружается в соответствующее приложение.
По степени действия на ресурсы компьютерных систем и сетей выделяют:
Безвредные вирусы не оказывают разрушительного влияния на работу ПК, но могут переполнять оперативную память в результате своего размножения. Неопасные вирусы не разрушают файлы, но уменьшают свободную дисковую память, выводят на экран графические эффекты, создают звуковые эффекты и т.д. Опасные вирусы нередко приводят к различным серьезным нарушениям в работе компьютера. Разрушительные - к стиранию информации, полному или частичному нарушению работы прикладных программ.
По способу заражения среды обитания вирусы подразделяют:
Резидентные вирусы после завершения инфицированной программы остаются в оперативной памяти и продолжают свои деструктивные действия, заражая другие исполняемые программы, вплоть до выключения компьютера.Нерезидентные вирусы запускаются вместе с зараженной программой и удаляются из оперативной памяти вместе с ней (являются активными ограниченное время).
Алгоритмическая особенностьпостроения вирусов различают:
Репликаторные (копирующие сами себя) программы - благодаря своему быстрому воспроизводству приводят к переполнению основной памяти. Программы-черви - вычисляют адреса сетевых компьютеров и рассылают по этим адресам свои копии. «Троянский конь» - программа, которая, маскируясь под полезную (наряду с полезными функциями, соответствующими устанавливаемой программе) выполняет дополнительные функции, о чем пользователь и не догадывается (например, собирает информацию обрабатываемые этой программой, записывает ее в специальный файл, доступный лишь создателю данного вируса), либо разрушает файловую систему. Логическая бомба - программа, которая безвредна до наступления определенного события, после которого реализуется ее логический механизм (например, под Новый год). Программы-мутанты, самовоспроизводясь, воссоздают свои копии, которые явно отличаются от оригинала (их очень трудно обнаружить). Вирусы-невидимки (стелс-вирусы), перехватывают обращения операционной системы к пораженным файлам и секторам дисков и подставляют вместо своего тела незараженные объекты. Макровирусы используют возможности макроязыков, встроенных в офисные программы обработки данных.
Антивирусные средства
Для защиты от проникновения вирусов необходимо проводить мероприятия, исключающие заражение программ и данных компьютерной системы. Основными источниками проникновения вирусов являются коммуникационные сети и съемные носители информации. Для исключения проникновения вирусов через коммуникационную сеть необходимо осуществлять автоматический входной контроль всех данных, поступающих по сети, который выполняется сетевым экраном (брандмауэром), принимающим пакеты из сети только от надежных источников. Рекомендуется проверять всю электронную почту на наличие вирусов, а почту, полученную от неизвестных источников, удалять не читая. Для исключения проникновения вирусов через съемные носители необходимо ограничить число пользователей, которые могут записывать на жесткий диск файлы и запускать программы со съемных носителей (обычно это право дается только администратору системы). В обязательном порядке при подключении съемного носителя его следует проверять специальной антивирусной программой.
Для обнаружения и удаления компьютерных вирусов разработано много различных программ, которые позволяют обнаруживать их и уничтожать («лечить» зараженные ресурсы). Антивирусные программы, выявляющие известные компьютерные вирусы, называются сканерами или детекторами. Эти программы проверяют, имеется ли в файлах на указанном пользователем диске специфическая для данного вируса комбинация байтов (выявляют компьютерный вирус по уникальному фрагменту программного кода - «сигнатуры вируса»). При этом программы, включающие функции восстановления зараженных файлов, называют фагами и полифагами (последние служат для обнаружения и уничтожения большого количества разнообразных вирусов). Примером сканера-полифага является знакомая программа Aidstest. Сканеры принято разделять на:
· транзитные, периодически запускаемые для выявления и ликвидации вирусов, т.е. «сканирование по запросу» («on-demand»);
· резидентные (постоянно находящиеся в оперативной памяти), проверяющие заданные области памяти системы при возникновении некоторых событий (например, проверка файла при его копировании или переименовании). Эти программы осуществляют так называемое «сканирование на лету» - постоянную проверку на вирусы объектов, к которым происходит обращение. В этом режиме антивирус постоянно активен, он присутствует в памяти «резидентно» и проверяет объекты без запроса пользователя.
Недостатком сканеров является то, что они позволяют обнаружить известные вирусы (для их эффективной работы надо оперативно пополнять базу данных сканирования). Некоторые вирусы (например, мутанты) видоизменяют свой программный код. Это затрудняет или исключает возможность обнаружения вирусов методом сканирования.
Наиболее эффективным методом выявления и ликвидации неизвестных вирусов является контроль целостности системы (обнаружение изменений). Данный метод заключается в проверке и сравнении текущих параметров вычислительной системы с эталонным, соответствующим ее незараженному состоянию. Для реализации указанных функций используются программы, называемые ревизорами. Работа ревизора состоит из двух этапов: фиксирование эталонных характеристик вычислительной системы (в основном диска) и периодическое сравнение их с текущими характеристиками (к ним относятся: контрольная сумма, длина, время, атрибут «только для чтения» файлов, дерево каталогов, сбойные кластеры, загрузочные сектора дисков). Ревизоры, как и сканеры, делятся на транзитные и резидентные.
К недостаткам ревизоров (в первую очередь резидентных) относят создаваемые ими всякие неудобства в работе пользователя (многие изменения параметров системы, например, могут быть вызваны не вирусами, а работой системных программ или действиями пользователя-программиста). Ревизоры обеспечивают высокий уровень выявления неизвестных компьютерных вирусов, однако они не всегда обеспечивают корректное лечение зараженных файлов (примером ревизора является программа ADinf фирмы «ДиалогНаука»).
Разновидностью контроля целостности системы является метод программного самоконтроля, именуемый вакцинацией (антивирусные программы вакцины). Идея метода состоит в модификации защищаемой программы таким образом, что это не отражается на ее работе, но вирус, от которого производится вакцинация, считает ее уже зараженной и не внедряется.
Помимо статистических методов контроля целостности, для выявления неизвестных и маскирующихся вирусов используются эвристические методы. Они позволяют выявить (по характерным для вирусов кодовым последовательностям, определенным в базе знаний системы) неизвестные вирусы. Программный модуль, реализующий эвристический метод обнаружения вирусов, называют эвристическим анализатором (примером сканера с эвристическим анализатором является программа DrWeb фирмы «ДиалогНаука»). К недостаткам эвристических анализаторов можно отнести ложные срабатывания и пропуск вирусов. Соотношение указанных ошибок зависит от уровня эвристики. Понятно, что если для обнаруженного эвристическим анализатором компьютерного вируса сигнатура в базе данных сканирования отсутствует, то лечение зараженных данных может быть некорректным.
Блокировкапроявления вирусов предназначена для защиты от деструктивных действий и размножения компьютерных вирусов, которым удалось преодолеть первые два уровня защиты (поиск и уничтожение известных и неизвестных вирусов). Методы блокировки основаны на перехвате характерных для вирусов функций. Известны два вида указанных антивирусных средства:
· программы-фильтры;
· аппаратные средства контроля.
Программы-фильтры (называемые также резидентными сторожами и мониторами) постоянно находятся в оперативной памяти и перехватывают заданные прерывания с целью контроля подозрительных действий. При этом они могут блокировать «опасные» действия или выдавать запрос пользователю (как и ревизоры, фильтры часто создают определенные неудобства в работе пользователя).
Встроенные аппаратные средства ПК обеспечивают контроль модификации системного загрузчика и таблицы разделов жесткого диска, находящихся в главном загрузочном секторе диска. Включение указанных возможностей в ПК осуществляется с помощью программы Setup, расположенной в ПЗУ.
Наиболее полная защита от вирусов может быть обеспечена с помощью специальных контроллеров аппаратной защиты. Такой контроллер подключается к ISA-шине ПК и на аппаратном уровне контролирует все обращения к дисковой подсистеме компьютера. Это не позволяет вирусам маскировать себя. Контроллер может быть сконфигурирован так, чтобы контролировать отдельные файлы, логические разделы, «опасные» операции и т.д. Примером специальных контроллеров аппаратной защиты является плата Sheriff предприятия Фом-Софт.
Одним из наиболее популярных у российских пользователей (и распространенных) антивирусных средств является система AVP, созданная в России «Лабораторией Касперского», первоначально представлявшая тандем двух программ: сканера и ревизора. В настоящее время AVP претерпела существенные усовершенствования и включает все основные элементы антивирусной программной защиты компьютера и локальной сети (неоднократно входила в тройку наилучших в мире антивирусных продуктов поиска и удаления компьютерных вирусов в автономном компьютере). Система AVP сочетает уникальную функциональность, добротный пользовательский интерфейс и высокий уровень защиты от вирусов. Она охватывает все возможные источники проникновения вирусной угрозы – съемные и постоянные файловые носители, электронную почту и Интернет. Использование «Антивируса Касперского» обеспечивает полное восстановление работоспособности системы при вирусной атаке.
Весьма популярным также является антивирусный пакет Doctor Web для Windows 2000/XP, который представляет собой комбинацию антивирусного сканера Doctor Web (одного из самых совершенных в мире эвристических анализаторов) и резидентного сторожа Spider Guard (интегрированного в ОС компьютера). Этот пакет (в сочетании с ежедневно обновляющимися вирусными базами), является надежной защитой от вирусов всех классов.
Другие меры безопасности
Основной задачей защиты информации в компьютерных системах является предотвращение несанкционированного доступа к аппаратным и программным средствам. Он может быть реализован при выполнении следующего комплекса мероприятий:
· идентификации и аутентификации пользователей;
· разграничение доступа к компьютерным системам;
· мониторинга несанкционированных действий;
· криптографические методы сокрытия информации;
При входе в компьютерную систему (при получении доступа к программам и конфиденциальным данным) пользователь должен быть идентифицировани аутентифицирован. Эти две операции обычно выполняются вместе, т.е. пользователь сначала сообщает сведения, позволяющие выделить его из множества субъектов (идентификация), а затем сообщает секретные сведения, подтверждающие, что он тот, за кого себя выдает (аутентификация).
Для аутентификации субъекта чаще всего используются атрибутивные идентификаторы, которые делятся на следующие категории:
· пароли;
· съемные носители информации (гибкий диск, флэш-память);
· электронные жетоны (специальные переносные электронные устройства, подключаемые к стандартным входам);
· пластиковые карты (предполагают наличие технических средств, хранящих идентификационную информацию);
· механические ключи.
Для идентификации и аутентификации часто используется стандартный гибкий диск или флэш-память. Достоинства такого идентификатора заключаются в том, что не требуется использования дополнительных аппаратных средств и кроме идентификационного кода на носителе может храниться и другая информация, например, контроля целостности информации, атрибуты шифрования и др. К недостатку способа идентификации и аутентификации с помощью дополнительного съемного устройства можно отнести возможность его потери или хищения.
Одним из надежных способов аутентификации является биометрический принцип, использующий некоторые стабильные биометрические показатели пользователя, например, отпечатки пальцев, рисунок хрусталика глаза и др., однако для этого требуются специальные устройства, которые устанавливаются на компьютерной системе высших уровней защиты.
Возможность доступа к программно-аппаратным средствам обычно выясняется на уровне операционной системы (определяется архитектурой операционной системы) и текущей политикой безопасности (определяется совокупностью правил о наличии или отсутствии прав доступа). Существует несколько моделей разграничения доступа. Наиболее распространенными являются дискреционная модель разграничения доступа и полномочная (мандатная) модель разграничения доступа.
В дискреционной модели для определения прав доступа используется матрица доступа, в каждой ячейке которой хранится набор прав доступа данного субъекта к данному объекту (типичный объем матрицы доступа для современной операционной системы составляет десятки мегабайт).
Допуск субъекта к объекту в полномочной модели разрешен только в том случае, если субъект имеет значение уровня допуска не менее, чем значение грифа секретности объекта. Достоинством этой модели является отсутствие необходимости хранить большие объемы информации о разграничении доступа. Каждый субъект хранит только значение своего уровня доступа, а каждый объект - значение своего грифа секретности.
Политика безопасности предполагает мониторинг (контроль) за работой компьютерной системы и ее компонентов, который заключается в фиксировании и последующим анализе событий в специальных журналах - журналах аудита. Периодически журнал просматривается администратором операционной системы или специальным пользователем - аудитором, которые анализируют сведения, накопленные в нем. Для обеспечения надежной защиты операционной системы в журнале должны регистрироваться следующие события:
· попытки входа/выхода пользователей из системы;
· попытки изменения списка пользователей;
· попытки изменения политики безопасности.
Окончательный выбор набора событий, фиксируемых в журнале, возлагается на аудитора и зависит от специфики информации, обрабатываемой системой. Слишком большой набор регистрируемых событий не повышает безопасность, а уменьшает, так как среди множества записей можно просмотреть записи, представляющие угрозы безопасности.
Криптографические методы являются наиболее эффективными средствами защиты информации в компьютерных системах (при передаче же по протяженным линиям связи они являются единственным реальным средством предотвращения несанкционированного доступа к ней). Метод шифрования характеризуется показателями надежности и трудоемкости. Важнейшим показателем надежности криптографического закрытия информации является его стойкость - тот минимальный объем зашифрованного текста, который можно вскрыть статистическим анализом (стойкость шифра определяет допустимый объем информации, зашифровываемый при использовании одного ключа). Трудоемкость метода шифрования определяется числом элементарных операций, необходимых для шифрования одного символа исходного текста.
Шифрование заменой. Символы шифруемого текста заменяются другими символами, взятыми из одного или нескольких алфавитов. Наиболее простой метод - прямая замена символов шифруемого сообщения другими буквами того же самого или другого алфавита. Однако такой шифр имеет низкую стойкость. Зашифрованный текст имеет те же самые статистические характеристики, что и исходный, поэтому, используя частотный словарь появления символов в том языке, на котором написано сообщение, и подбирая по частотам появления символы в зашифрованном сообщении, можно восстановить таблицу замены. Для этого требуется лишь достаточно длинный зашифрованный текст. Поэтому простую замену используют лишь в том случае, когда шифруемое сообщение достаточно коротко. Использование нескольких алфавитов для подстановок повышает стойкость шифра, причем смена алфавитов проводится последовательно и циклически: первый символ заменяется соответствующим символом первого алфавита, второй - из второго алфавита и т.д., пока не будут исчерпаны все алфавиты. После этого использование алфавитов повторяется.
Шифрование методом перестановки. Этот метод заключается в том, что символы шифруемого текста переставляются по определенным правилам внутри шифруемого блока символов. Этот метод более стоек.
Методы шифрования, использующие ключи. Эти методы предполагают знание ключа при шифровании и дешифровании. При этом важной задачей является безопасная передача ключа, который тоже шифруется. Учитывая короткую длину фразы, содержащей ключ, стойкость шифра ключа значительно выше, чем у основного текста. Методы, которые используют для шифрования и дешифрования один и тот же ключ, называются симметричными. Методы же, которые используют для шифрования один ключ, а для дешифрования – другой, называют асимметричными методами криптозащиты или системы защиты с открытымключом.
Для шифрования паролей пользователей и при создании электронной подписи широко используются хэш-функции. Они отображают сообщение любой длины в строку фиксированного размера. Особенностью ее применения является тот факт, что не существует функции, которая могла бы по сжатому отображению восстановить исходное сообщение, - это односторонняя хэш-функция.
При обмене электронными документами очень важным является установление авторства, подлинности и целостности информации в полученном документе. Решение этих задач возлагается на цифровую подпись, сопровождающую электронный документ. Функционально она аналогична обычной рукописной подписи и обладает ее основными достоинствами:
· удостоверяет, что подписанный текст исходит от лица, поставившего подпись; .
· не дает лицу, подписавшему текст, отказаться от обязательств, связанных с подписанным текстом;
· гарантирует целостность подписанного текста.
Электронная цифровая подпись представляет собой относительно небольшое количество дополнительной информации, передаваемой вместе с документом. Обычно цифровая подпись шифруется с применением методов открытого ключа и связывает содержимое документа, самой подписи и пары ключей. Изменение хотя бы одного из этих элементов делает невозможным подтверждение подлинности цифровой подписи.
На этапе формирования цифровой подписи генерируются два ключа: секретный и открытый. Открытый ключ рассылается всем абонентам, которым будет направлен электронный документ. Подпись, добавляемая к документу, содержит такие параметры отправителя, как дату подписи, информацию об отправителе письма и имя открытого ключа. С помощью хэш-функции, примененной ко всему документу, вычисляется небольшое число, характеризующее весь текст в целом. Это число, которое затем шифруется закрытым ключом, и является электронной цифровой подписью. Получателю пересылается сам документ в открытом виде и электронная подпись. При проверке цифровая подпись расшифровывается открытым ключом, известным получателю. К полученному открытому документу применяется преобразование хэш-функцией. Результат ее работы сравнивается с присланной электронной подписью. Если оба числа совпадают, то полученный документ - подлинный.