double arrow

Загрузочные и файловые вирусы

2

Загрузочные вирусы, как правило, относятся к группе резидентных вирусов. Загрузочные вирусы заражают главный загрузочный сектор жесткого диска (Master Boot record, MBR) или загрузочный сектор раздела жесткого диска, системной дискеты или загрузочного компакт-диска (Boot Record, BR), подменяя находящиеся в них программы начальной загрузки и загрузки операционной системы своим кодом. Исходное содержимое этих секторов при этом сохраняется в одном из свободных секторов диска или непосредственно в теле вируса.

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

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

- переопределение «на себя» нескольких прерываний BIOS, в основном связанных с обращением к дискам;

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

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

Аналогичным образом работает и загрузочный вирус в BR, замещая программу загрузки операционной системы.

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

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

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

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

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

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

Файловые вирусы заражают файлы различных типов:

- программные файлы с расширениями «.ехе» или «.com»;

- файлы документов Microsoft Word (расширение «.doc»), электронных таблиц Microsoft Excel (расширение «.xls»), баз данныхMicrosoft Access (расширение «.mdb») и презентаций MicrosoftPower Point (расширения «.ppt» или «.pps»);

- файлы шаблонов (на языке HTML) отображения объектов в папке (расширение «.htt»);

- файлы драйверов реального режима (расширение «.sys»);

- пакетные командные файлы (расширение «.bat»);

- файлы оверлеев приложений операционной системы MS-DOS (расширения «.ovr» или «.ovl») и др.

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

- заражение других файлов и (комбинированные вирусы) системных областей дисковой памяти;

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

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

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

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

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

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

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

@ЕСНО OFF

REM...

copy %0 b.com >nul

b.com

del b.com

rem...

Вместо многоточия размещаются данные или код вируса. Исполнимый файл b.com, хотя и содержит исходный текст пакетного командного файла, но является уже последовательностью машинных команд, так как строка символов "@ЕСНО OFF\r\nREM" является фактически корректной последовательностью процессорных команд, а после нее располагается настоящий код вируса. Резидентная часть данного вируса может отслеживать запись данных в различные файлы и, если первой записываемой строкой является команда @echo, то вирус определяет данный файл как пакетный командный и заражает его.

При заражении файлов шаблонов отображения файлов в папке вирус размещает в тексте на языке HTML оператор (тэг) object, содержащий Active-X компонент с кодом вируса, который будет получать управление сразу после открытия зараженной папки.

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

При запуске зараженного файла управление получает код вируса, который:

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

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

Вирусы в файлах документов, созданных программами пакета Microsoft Office, распространяются с помощью включенных в них макросов (процедур на языке программирования Visual Basic for Applications, VBA, или WordBasic, WB). Поэтому такие вирусы иногда называют вирусами в макросах, или макровирусами. Макровирусов относятся к группе резидентных вирусов, так как часть их кода постоянно присутствует в оперативной памяти компьютера во все время работы программы из пакета Microsoft Office.

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

Примерами автоматически выполняющихся макросов, связанных с определенными событиями обработки документа Microsoft Word, являются:

- AutoExec (автоматически выполняется при запуске текстового процессора Microsoft Word, если находится в файле шаблонов normal.dot или в файле подпапки Startup папки Microsoft Office);

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

- AutoOpen (автоматически выполняется при открытии документа);

- AutoClose (автоматически выполняется при закрытии документа);

- AutoExit (автоматически получает управление при завершении работы текстового процессора Microsoft Word).

В табличном процессоре Microsoft Excel поддерживается только часть из автоматически выполняемых макросов, причем имена этих макросов слегка изменены -Auto_open и Auto_close.

В текстовом процессоре Microsoft Word определены также макросы, которые автоматически получают управление при вызове пользователем одной из стандартных команд - FileSave (Файл / Сохранить), FileSaveAs (Файл / Сохранить как), ToolsMacro (Сервис / Макрос / Макросы), ToolsCustomize (Сервис / Настройка) и т.д.

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

Любой макрос (в том числе и автоматически выполняемый) из отдельного документа может быть записан в файл шаблонов normal.dot (и наоборот) и, тем самым, стать доступным при редактировании любого документа Microsoft Word. Запись макроса в файл normal.dot может быть осуществлена с помощью стандартной макрокоманды MacroCopy (WordBasic), метода OrganizerCopy объекта Application или методов Сору стандартных объектов Organizer (Microsoft Word) и Sheets (Microsoft Excel).

Для манипулирования файлами, размещенными во внешней памяти компьютера, в макросах могут использоваться стандартные макрокоманды Open (открытие существующего или создание нового файла), SetAttr (изменение атрибутов файла), Name (переименование файла или папки), Get (чтение данных из открытого файла), Put (запись данных в открытый файл), Seek (изменение текущей позиции записи или чтения из файла), Close (закрытие файла), ЮН (удаление файла), RmDir (удаление папки), MkDir (создание новой папки), ChDir (изменение текущей папки) и др.

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

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

Простейший макровирус в документе Microsoft Word заражает остальные файлы документов следующим образом:

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

- вирус помещает в файл шаблонов normal.dot другие макросы со своим кодом (например, FileOpen, FileSaveAs и FileSave);

- вирус устанавливает в реестре Windows и (или) в инициализационном файле Microsoft Word соответствующий флаг о произведенном заражении;

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

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

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

Заражение файла шаблонов normal.dot - не единственный способ распространения макровирусов на компьютере пользователя. Возможно также заражение файлов дополнительных шаблонов, размещенных в папке Startup внутри папки Microsoft Office. Еще один способ заражения файлов документов пользователя макровирусами состоит в их внедрении в файлы надстроек над Microsoft Word, размещающихся в папке Addlns папки Microsoft Office. Макровирусы, не помещающие свой код в общий шаблон normal.dot, можно отнести к группе нерезидентных вирусов. Эти макровирусы для заражения других файлов либо применяют стандартные макрокоманды для работы с файлами и папками языка VBA, либо используют список последних редактированных пользователем файлов, который содержится в подменю «Файл» программы Microsoft Word и других программ пакета Microsoft Office.

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

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

Известны комбинированные вирусы, которые могут заражать и базы данных Microsoft Access, и документы Microsoft Word. Подобный вирус состоит из двух основных частей, каждая из которых заражает файлы документов своего типа («.doc» или «.mdb»). Но обе части такого вируса способны переносить свой код из одного приложения Microsoft Office в другое. При переносе кода вируса из Microsoft Access в папке Startup создается зараженный файл дополнительных шаблонов («.dob-файл), а при переносе кода вируса из Microsoft Word создается зараженный файл базы данных Access, который передается в качестве параметра запускаемому кодом вируса приложению Microsoft Access (msaccess.exe).

Макровирус Melissa заражает файлы документов и шаблонов Microsoft Word, а также рассылает свои копии в сообщениях электронной почты (при наличии такой возможности на компьютере пользователя). Данный вирус также редактирует содержимое реестра Windows и отключает антивирусную защиту Microsoft Word. Для рассылки своих копий через электронную почту вирус Melissa использует стандартные средства VBA для запуска других приложений (в частности, Microsoft Outlook) и вызова их процедур (например, для работы с адресной книгой, создания и отправки электронного сообщения). К отправленным вирусом сообщениям присоединяется зараженный файл с редактируемым в данный момент пользователем документом Microsoft Word (при этом возможна и утечка конфиденциальной информации пользователя).

Методы обнаружения и удаления вирусов.

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

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

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

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

В качестве профилактической меры предупреждения заражения файлов пользователей макровирусами в программах пакета Microsoft Office предусмотрена встроенная защита от потенциально опасных макросов. Эта защита устанавливается (в пакете Microsoft Office XP) с помощью команды меню Сервис | Параметры / Безопасность и кнопки «Защита от макросов» или команды меню Сервис/| Макрос / Безопасность.

Возможен выбор одного из трех уровней защиты:

  • высокой безопасности, при установке которого будет разрешено выполнение только макросов, снабженных ЭЦП и полученных из надежных источников, список которых содержится на вкладке «Надежные источники» окна выбора уровня безопасности (макросы без ЭЦП будут автоматически отключаться);
  • средней безопасности, при выборе которого при открытии содержащего макросы документа решение об отключении этих макросов будет приниматься самим пользователем;
  • низкой безопасности, при установке которого все макросы в открываемом документе будут выполняться (корпорация Microsoft рекомендует устанавливать данный уровень безопасности только при наличии антивирусных программ на компьютере пользователя и полной уверенности в безопасности открываемых документов).

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

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

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

  • открыть окно системы программирования Visual Basic forApplications с помощью команды меню программы пакета MicrosoftOffice Сервис / Макрос / Редактор Visual Basic;
  • в окне структуры проекта выделить узел Normal и выполнить команду его контекстного меню Normal Properties;
  • открыть вкладку Protection, установить флажок Lock projectfor viewing и ввести в поле Password (с подтверждением в полеConfirm password) пароль для доступа к файлу общих шаблонов.

Для снижения риска заражения вирусами при просмотре информационных ресурсов сети Интернет могут быть использованы свойства обозревателя Microsoft Internet Explorer (вкладка «Безопасность» окна свойств). Всем узлам зоны Интернет, в которые не войдут явно отнесенные к другим зонам узлы, целесообразно назначить высокий уровень безопасности, в соответствии с которым будут отключены:

  • возможность загрузки файлов с этих узлов;
  • доступ к источникам данных за пределами домена;
  • возможность запуска программ в плавающих фреймах загруженного документа на языке HTML;
  • возможность автоматической загрузки по каналам распространения программного обеспечения (будет выполняться только извещение пользователя);
  • возможность запроса отсутствующего сертификата при попытке загрузки файлов на компьютер пользователя (само данное действие будет автоматически отменено);
  • возможность перехода между фреймами документа на HTML через разные домены;
  • возможность установки элементов рабочего стола пользователя;
  • поддержка языка Java;
  • поддержка сценариев;
  • загрузка, запуск и использование элементов Active-X, кроме помеченных как безопасные.

Массовое распространение вирусов, серьезность последствий их воздействия на ресурсы АС вызвали необходимость разработки и использования специальных антивирусных средств и методов их применения. Антивирусные средства используются для решения следующих задач:

- обнаружения вирусов в АС;

- блокирования работы программ-вирусов;

- устранения последствий воздействия вирусов.

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

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

Устранение последствий воздействия вирусов ведется в двух направлениях:

- удаление вирусов;

- восстановление (при необходимости) файлов, областей памяти.

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

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

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

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

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

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

Самой известной программой-сканером в России является Aidstest Д. Лозинского. К недостаткам программ-сканеров относятся:

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

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

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

Главным достоинством метода является возможность обнаружения вирусов всех типов. Совершенные программы-ревизоры обнаруживают даже «стелс»-вирусы. Например, программа-ревизор Adinf, разработанная Д.Ю. Мостовым, работает с диском непосредственно по секторам через BIOS. Это не позволяет использовать «стелс»-вирусам возможность перехвата прерываний и «подставки» для контроля нужной вирусу области памяти.

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

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

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

Эвристические анализаторы при обнаружении «подозрительных» команд и.файлах или загрузочных секторах выдают сообщение о возможном заражении. После получения таких сообщений необходимо тщательно проверить I Предположительно зараженные файлы и загрузочные сектора всеми имеющимися антивирусными средствами. Эвристический анализатор имеется, например, в антивирусной программе Doctor Web.

Метод использования резидентных сторожей основан на применении программ, которые постоянно находятся в ОП ЭВМ и отслеживают все действие остальных программ.

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

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

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

Самым надежным методом защиты от вирусов является использование аппаратно-программных антивирусных средств.

Аппаратно-программные антивирусные средства обладают рядом достоинств перед программными:

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

Недостаток у этих средств один - зависимость от аппаратных средств ПЭВМ. Изменение последних ведет к необходимости замены контроллера.

К программно-аппаратным методам защиты от заражения загрузочными вирусами можно отнести защиту, устанавливаемую с помощью программы BIOS Setup (параметр Aiiti-Virus Protection или аналогичный функции Advanced BIOS Features или аналогичной). Включение этой защиты (задание значения Enable указанному параметру) обеспечит выдачу предупреждающего сообщения при попытке записи в загрузочные сектора дисковой памяти. К недостаткам подобной защиты от заражения вирусами относится то, что она может быть отключена кодом вируса прямым редактированием содержимого энергонезависимой CMOS-памяти, хранящей настройки, которые были установлены программой BIOS Setup.

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

Примером аппаратно-программной защиты от вирусов может служить комплекс Sheriff.

При выполнении запретных действий любой программой контроллер выдает соответствующее сообщение пользователю и блокирует работу ПЭВМ.

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

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

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

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

Существуют вирусы, которые, попадая в ЭВМ, становятся частью его ОС. Если просто удалить такой вирус, то система становится неработоспособной.

Одним из таких вирусов является вирус One Half. При загрузке ЭВМ вирус постепенно зашифровывает жесткий диск. При обращении к уже зашифрованным секторам резидентный вирус One Half перехватывает обращения и расшифровывает информацию. Удаление вируса приведет к невозможности использовать зашифрованную часть диска. При удалении такого вируса полезно сначала расшифровать информацию на диске. Для этого необходимо знать механизм действия вируса.

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

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

Правило второе. Дублирование информации.

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

Правило третье. Регулярно использовать антивирусные средства. Перед началом работы целесообразно выполнять программы-сканеры и программы-ревизоры (Aidstest и Adinf) - антивирусные средства должны регулярно обновляться.

Правило четвертое. Особую осторожность следует проявлять при использовании новых съемных носителей информации и новых файлов. Новые дискеты обязательно должны быть проверены на отсутствие загрузочных и файловых вирусов, а полученные файлы - на наличие файловых вирусов. Проверка осуществляется программами-сканерами и программами, проводящими эвристический анализ (Aidstest, Doctor Web, AntiVirus). При первом выполнении исполняемого файла применяются резидентные сторожа. При работе с полученными документами и таблицами целесообразно запретить выполнение макрокоманд средствами, встроенными в текстовые и табличные редакторы (MS Word, MS Excel), до завершения полной проверки этих файлов.

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

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

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

В особо ответственных системах для борьбы с вирусами необходимо использовать аппаратно-программные средства (например, Sheriff).

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

О наличии вируса в АС пользователь может судить по следующим событиям:

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

К неявным проявлениям наличия вирусов в АС можно отнести «зависания» системы, замедление выполнения определенных действий, нарушение адресации, сбои устройств и т.п.

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

Шаг 1-й. Выключить ЭВМ для уничтожения резидентных вирусов.

Шаг 2-й. Осуществить загрузку эталонной операционной системы со сменного носителя информации, в которой отсутствуют вирусы.

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

Шаг 4-й. Использовать антивирусные средства для удаления вирусов и восстановления файлов, областей памяти. Если работоспособность ЭВМ восстановлена, то осуществляется переход к шагу 8, если работоспособность ЭВМ не восстановлена - к шагу 5.

Шаг 5-й. Осуществить полное стирание и разметку (форматирование) несъемных внешних запоминающих устройств. В ПК для этого могут быть использованы программы MS-DOS FDISK и FORMAT. Программа форматирования FORMAT не удаляет главную загрузочную запись на жестком диске, в которой может находиться загрузочный вирус. Поэтому необходимо выполнить программу FDISK с недокументированным параметром MBR, создать с помощью этой же программы разделы и логические диски на жестком диске. Затем выполняется программа FORMAT для всех логических дисков.

Шаг 6-й. Восстановить ОС, другие программные системы и файлы с дистрибутивов и резервных копий, созданных до заражения.

Шаг 7-й. Тщательно проверить файлы, сохраненные после обнаружения заражения, и при необходимости удалить вирусы и восстановить файлы.

Шаг 8-й. Завершить восстановление информации всесторонней проверкой ЭВМ с помощью имеющихся на данный момент антивирусных средств.

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

Программные закладки и методы защиты от них

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

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

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

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

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

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

- сохранение в КС инсталлируемой по умолчанию уязвимой сетевой службы (например, telnet);

- оставление незаблокированной консоли администратора при его временном отсутствии;

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

Для внедрения закладки в атакуемой КС нарушителю требуется записать на один из ее компьютеров и запустить инсталлятор закладки (программу для ее установки). Одной из задач инсталлятора закладки является обеспечение ее автоматического запуска при загрузке операционной системы, что обеспечит возможность установки виртуального канала связи с нарушителем по протоколу TCP/IP (закладка при этом будет исполнять роль сервера).

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

Большинство известных программных закладок для операционной системы Windows характеризуются следующими особенностями:

  • ссылка на исполнимый файл программной закладки содержится в разделе реестра HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Windows\ CurrentVersion\ Run или (реже) в разделе реестра HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Run;
  • для организации виртуального канала связи с нарушителем используется протокол TCP/IP с очень большим номером порта, не используемым другими сетевыми программами;
  • после запуска программной закладки создается отдельный процесс, отображаемый в списке системных процессов;
  • после своего запуска программная закладка не выполняет никаких активных действий (в отличие от компьютерных вирусов), скрывая свое присутствие в системе.

После своего запуска программная закладка предоставляет нарушителю возможность удаленного доступа:

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

В защищенных версиях операционной системы Windows, поддерживающих ограничение прав пользователей в КС и разграничение их доступа к объектам КС, инсталляция и использование программных закладок гораздо сложнее, так как целью нарушителя является инсталляция закладки привилегированным пользователем и ее выполнение от лица администратора или псевдопользователя SYSTEM. При неправильном назначении прав доступа к разделам реестра (например, предоставления права записи в раздел HKEY_LOCAL_MACHINE обычным пользователям) инсталляция закладки может быть выполнена и пользователем с обычными полномочиями (будет обеспечена возможность автоматического запуска закладки при любой загрузке операционной системы). При правильном определении политики аудита действия закладки могут оставлять «следы» в файле аудита, которые могут быть обнаружены аудитором.

Для усложнения обнаружения присутствия закладки в КС ее инсталлятор может использовать следующие приемы:

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

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

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

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

Рассмотрим возможные модели взаимодействия нарушителя с внедренной в КС программной закладкой:

- сохранение всей вводимой или выводимой в КС информации («перехват»);

- создание условий для ознакомления с ранее накопленной закладкой конфиденциальной информацией или отключения средств защиты информации в КС («троянский конь»);

-перехват всей передаваемой по сети информации («наблюдатель»);

- создание условий для облегчения несанкционированного доступа к конфиденциальной информации по различным каналам утечки, например путем постоянного обращения, к конфиденциальным данным для последующего их перехвата по каналам ПЭМИН («компрометация»);

- искажение входных или выходных потоков данных при работе прикладного или системного программного обеспечения, инициация ошибок при его работе («искажение», или «инициатор ошибок»);

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

Примером использования модели «перехват» является замена провайдера аутентификации защищенных версий операционной системы Windows. Прототипы функций, экспортируемых этим модулем операционной системы, содержатся в файле winwlx.h, входящем в состав любой системы программирования на языке С для операционной системы Windows.

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

Примерами наиболее известных программных закладок для удаленного управления объектами атакуемой КС являются Back Orifice, Net Bus, DIRT (Data Interception by Remote Transmission), Paparazzi. Особенностью программы Paparazzi является сохранение в специальном формате, использующем сжатие данных, получаемых с задаваемой периодичностью копий экрана компьютера пользователя. Заметим, что часть из этих программ могут называться их авторами не закладками, а средствами для удаленного доступа, контроля несанкционированного использования ресурсов КС и других благовидных действий.

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

- просмотр списка активных процессов с помощью диспетчера задач операционной системы;

- просмотр состояния IP-портов с помощью системной программы netstat;

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

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

- контроль обращений процессов к объектам файловой системы, разделам реестра и используемым сетевыми программами портам (например, с помощью известных программ FileMon,RegMpn и PortMon) и др.

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

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

- минимизация времени работы в КС с полномочиями администратора;

- создание специальной учетной записи пользователя КС для выхода в сеть Интернет с минимальными полномочиями (запуск обозревателя и сохранение файлов в специальной папке);

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

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

Эффективным методом защиты от вредоносных программ является создание изолированной программной среды, обладающей следующими свойствами:

- на компьютере с проверенной BIOS установлена проверенная операционная система;

- достоверно установлена целостность модулей операционной системы и BIOS для данного сеанса работы пользователя;

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

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

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

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  


2

Сейчас читают про: