Перечисленные этапы не являются обязательными (за исключением этапов инфицирования и саморазмножения) и могут иметь иную последовательность. Например, вирус может сначала сообщить о своем присутствии и лишь после этого заняться заражением. Особую опасность представляет этап выполнения специальных функций, которые могут привести к катастрофическим последствиям.
   Как уже было сказано выше, любая классификация вирусов достаточно условна. Тем не менее один из вариантов классификации мы все-таки приведем.
   В соответствии с ним вирусы подразделяются на классы по следующим признакам:
   среда обитания;
   способ заражения;
   деструктивная возможность;
   особенности алгоритма вируса.
   По среде обитания компьютерные вирусы можно разделить на загрузочные, дисковые, файловые, флэш-вирусы и сетевые.
   Загрузочные вирусы внедряются в загрузочный сектор диска (boot-сектор) или в сектор, содержащий системный загрузчик винчестера.
   Дисковые вирусы замечательны тем, что способны работать с физическими секторами жестких дисков. Такой вирус захватывает свободные (или даже занятые данными) секторы диска, устанавливает для них в файловой системе признак «плохих» (такие секторы в дальнейшем не распределяются под данные) или «специальных» (не подлежащих перезаписи) и «живет» в них до прихода доктора-антивируса.
   К файловым относят вирусы, заражающие исполняемые файлы (файлы с расширениями. exe,com,bat). Особой разновидностью файловых вирусов являются так называемые макровирусы. Они «живут» в макросах – программах, написанных на языке VBA (Visual Basic Application), которые используются для расширения функциональных возможностей приложений из комплекта MS Office.
   Еще один, наиболее «современный» тип файловых вирусов – это вредоносные сценарии (скрипты), написанные на одном из популярных скриптовых языков программирования (VBScript или JavaScript) и входящие в состав HTML-страниц. Для краткости будем именовать такие вирусы сценарными (или скриптовыми).
   Флэш-вирусы обязаны своим названием микросхемам перезаписываемой энергонезависимой памяти (флэш-памяти). Как известно, в современных компьютерах такие микросхемы используются на материнских платах для хранения кода программы BIOS. Неудивительно, что компьютеры, «подцепившие» флэш-вирус, зачастую вообще оказываются неспособны загружаться.
   Сетевые вирусы для распространения активно используют протоколы и возможности локальных и глобальных сетей. Основным принципом работы сетевого вируса является возможность самостоятельно передать свой код на удаленный сервер или рабочую станцию. «Полноценные» сетевые вирусы при этом обладают возможностью запустить на выполнение свой код на удаленном компьютере или, по крайней мере, «подтолкнуть» пользователя к запуску зараженного файла.
   Помимо перечисленных, существуют и «комбинированные» вирусы – например, файлово-загрузочные, способные заражать как файлы, так и загрузочные секторы дисков. Такие вирусы, как правило, работают по довольно сложным алгоритмам и часто применяют оригинальные методы проникновения в систему.
   ПРИМЕЧАНИЕ
   По состоянию на ноябрь 2005 года почтовые и сетевые черви составляли около 78 % от всех выявленных вирусов, файловые вирусы – около 20 %, загрузочные и другие вирусы в общей сложности составляют около 2 % (по данным Лаборатории Касперского).
   По способу заражения вирусы подразделяются на резидентные и нерезидентные.
   Резидентный вирус при инфицировании компьютера оставляет в оперативной памяти (ОП) свою резидентную часть, которая затем перехватывает обращение операционной системы к объектам заражения и внедряется в них. Обычно эта процедура предусматривает проверку, не присутствует ли уже в объекте копия вируса. Если объект «чист», то вирус копируется из памяти в заражаемый объект с модификацией его первой команды. Объектами заражения в этом случае могут быть исполняемые программы на жестком диске и на гибких дисках. Резидентные вирусы находятся в памяти и активны вплоть до выключения или перезагрузки компьютера. Резидентными можно считать макровирусы, поскольку они постоянно присутствуют в памяти компьютера в течение всего времени работы приложения, использующего «вредоносный» макрос. Соответственно, все документы, созданные или просто открытые в это время, будут заражены.
   Нерезидентные (транзитные) вирусы не заражают ОП и активны ограниченное время. Транзитные вирусы не остаются в памяти после выполнения зараженной программы. Такой вирус перед передачей управления исходной программе ищет незараженный файл, пригодный для внедрения.
   По деструктивным способностям вирусы можно разделить на:
   безвредные;
   неопасные;
   опасные;
   очень опасные.
   Безвредные вирусы только уменьшают объем свободной памяти на диске в результате своего распространения.
   Влияние неопасных вирусов ограничивается также уменьшением свободной памяти на диске и дополнительно сопровождается графическими, звуковыми и другими эффектами.
   Опасные вирусы приводят к серьезным сбоям в работе компьютера.
   В результате работы очень опасных вирусов уничтожаются программы, данные, удаляется необходимая для работы информация, записанная в системных областях памяти. Особо опасны вирусы, прикрепляемые к объектной библиотеке какого-либо компилятора. Такие вирусы автоматически внедряются в любую программу, работающую с инфицированной библиотекой. Известны также вирусы, способные разрушать BIOS компьютера, что приводит к невозможности его загрузки.
   Вообще известные в настоящее время вирусы могут выполнять следующие разрушительные функции:
   изменение данных в файлах;
   изменение данных, передаваемых через параллельные и последовательные порты;
   изменение назначенного диска (запись информации производится не на диск, указанный пользователем, а на диск, указанный вирусом);
   переименование файлов;
   форматирование отдельных частей жесткого диска (гибкого диска) или даже всего диска;
   уничтожение, изменение или перемещение загрузочного сектора диска;
   снижение производительности системы из-за постоянного выполнения паразитных программ;
   отказ в выполнении определенной функции (например, блокировку клавиатуры, блокировку загрузки программы с защищенного от записи гибкого диска и т. д.).
   Вирусы могут использовать следующие алгоритмы работы:
   стелс-алгоритмы;
   самошифрование и полиморфизм;
   нестандартные приемы.
   Применение стелс-алгоритмов (от англ. stealth – «невидимка») позволяет вирусам полностью или частично скрыть себя в системе. Наиболее распространенным стелс-алгоритмом является перехват запросов OC на чтение-запись зараженных объектов. Стелс-вирусы при этом либо временно лечат их, либо «подставляют» вместо себя незараженные участки информации. В случае макровирусов наиболее популярный способ – запрет вызовов меню просмотра макросов. Один из первых файловых стелс-вирусов – вирус «Frodo», первый загрузочный стелс-вирус – «Brain».
   Самошифрование и полиморфизм (от англ. polymorphism – «многообразие») используются практически всеми типами вирусов для того, чтобы максимально усложнить процедуру обнаружения вируса. Полиморфик-вирусы – это вирусы, не имеющие сигнатур, то есть не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфик-вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика.
   Различные нестандартные приемы часто используются в вирусах для того, чтобы как можно глубже спрятать себя в ядре OC (как это делает вирус «3APA3A»), защитить от обнаружения свою резидентную копию (вирусы «TPVO», «Trout2»), затруднить лечение от вируса (например, поместив свою копию в Flash-BIOS) и т. д.

Программы-шпионы

   Почему из программных закладок уделено внимание только программам-шпионам? Дело в том, что логические бомбы – вещь достаточно сложная и дорогостоящая, и потому на уровне «домашних» компьютеров практически не встречаются. Можно привести такой пример использования логических бомб. В свое время (в начале 90-х годов прошлого века) для вооруженных сил Ирака были закуплены во Франции зенитно-ракетные комплексы. Как потом стало известно, их программное обеспечение содержало логические бомбы. Когда США начали боевые действия против Ирака (операция «Буря в пустыне»), логические бомбы были активизированы по сигналам с военных спутников. В результате практически вся система противовоздушной обороны Ирака оказалась выведенной из строя.
   Но вернемся к более «мирным» программам-шпионам. На такие программы обычно возлагаются следующие функции:
   сбор сведений о программном обеспечении, установленном на компьютере (в том числе тип и версия используемой операционной системы);
   перехват клавиатурного ввода (в частности, отслеживание вводимых паролей, сетевых имен и т. д.);
   поиск на жестком диске (дисках) персональных данных;
   выявление адресов посещаемых веб-сайтов, адресов электронной почты и т. п.;
   создание снимков экрана или окон конкретных активных приложений (некоторые «шпионы» способны также записывать целые видеоклипы о работе владельца компьютера).
   Большинство программ-шпионов умеет передавать собранные сведения своему «хозяину», то есть лицу (или организации), заславшему «шпиона».
   Наиболее простой и распространенный на сегодняшний день способ передачи «шпионом» собранных сведений – это пересылка их посредством Интернета (например, по электронной почте).
   Кому могут принести пользу собранные сведения? В первую очередь на ум приходят пресловутые спецслужбы, контролирующие личную жизнь граждан. Но это, скорее, исключение. Значительно большую заинтересованность в сборе сведений о конфигурации компьютера «рядового» пользователя проявляют производители программного обеспечения и аппаратных компонентов вычислительной техники. Конкретные цели сбора сведений могут быть разными: это и борьба с пиратским использованием программ, и исследование потребительского рынка, и конкурентная борьба, а также другие смежные направления.
   ПРИМЕЧАНИЕ
   Иногда программы-шпионыиспользуются не для нападения, а для защиты – когда владелец компьютера устанавливает такую программу сам, чтобыона следила за работой на компьютере других лиц. Частный случай подобного применения «шпионов» – контроль за действия подчиненных со стороны руководства.
   Теперь о том, каким образом программы-шпионы попадают на компьютер. Может применяться тот же способ, что и при заражении вирусами, то есть «шпион» может «прятаться» внутри файла данных или исполняемого файла. Однако это не самый популярный вариант, поскольку размер «шпиона» обычно значительно больше размера вируса, и спрятать его внутри файла-контейнера непросто.
   Значительно чаще «шпион» входит в дистрибутив какой-либо безобидной (или даже полезной) программы, приобретаемой или скачиваемой из Интернета. В процессе установки такой программы на компьютер параллельно производится также установка «шпиона». Нередко «шпион» прописывается на компьютере по всем правилам: с регистрацией в системном реестре, с созданием собственной папки, собственных типов файлов данных и т. д. Благодаря этому «шпион» зачастую продолжает «жить и работать» даже после удаления той основной программы, в которой он был спрятан.
   Таким образом, программа, обеспечивающая установку «шпиона» на компьютер, играет роль своеобразного троянского коня, в недрах которого прячется неприятный сюрприз.
   ПРИМЕЧАНИЕ
   Изначально именно программы, содержащие недекларированные возможности, получили прозвище «троянские кони», или, в сокращенном варианте, «троянцы» (ато и вовсе «трояны»). Однако со временем входившая в них шпионская начинка стала использоваться самостоятельно (или кочевала из одной программы-контейнера в другую). В результате наименование «троянец» стало применяться не к контейнеру, а собственно к вредоносной программе. Сейчас можно встретить программы-вирусы, которые называют троянцами, хотя они используют отнюдь не «троянскую» технологию распространения (например, TROJ_EVIL, распространяющийся как файловый вирус). Имя вируса, данное ему автором, далеко не всегда соответствует типу вируса. Например, если вирус называется Worm, это еще не значит, что перед вами действительно вирус-червь. Возможно, его создателю просто понравилось это словечко.
   На сегодняшний день известно несколько достаточно популярных программ, содержащих в своем составе шпионские модули, в том числе CuteFTP, Go!Zilla, ReGet.
   Известен также и перечень наиболее популярных «шпионов», услугами которых пользуются создатели программного обеспечения. Суперагентами сегодня считаются программы-шпионы Radiate, Cydoor и Web3000. Все они попадают на компьютер с довольно известными продуктами. Так, например, Radiate используют разработчики программ Gif Animator, Go!Zilla, GetRight и ReGet. Cydoor вы получаете в нагрузку к Audio CD MP3 Studio 2000, PC-to-Phone и ReGet. А Web3000 попадает на ваш компьютер вместе с NetCaptor, NetSonic и NetMonitor.
   Антишпионские программы содержат в своих базах данных сведения о 200300 программах, относящихся к классу spyware.
   Сегодня в связи с развитием сетевых технологий все большее распространение получает специфический вид программ-шпионов – так называемый бэкдор (транслитерация от англ. backdoor – «черный ход»).
   Бэкдор – это программа, позволяющая удаленно управлять компьютером. Она может, например, изменить параметры рабочего стола, скорректировать права доступа пользователей компьютера, инсталлировать или, наоборот, удалить установленное программное обеспечение и т. п. Изначально подобная технология была разработана с целью облегчения жизни системных администраторов, но.
   Каким образом бэкдор может попасть на компьютер пользователя? Так же, как и любая другая вредоносная программа.
   При первом запуске бэкдор скрытно устанавливает себя в операционную систему и затем следит за действиями пользователя, не выдавая никаких сообщений. Более того, запущенный бэкдор может отсутствовать в перечне активных приложений. В результате владелец компьютера не знает о присутствии в системе программы удаленного администрирования, в то время как его компьютером может удаленно управлять злоумышленник.
   В качестве примера относительно «свежего» бэкдора (появился в августе 2005 года) можно назвать Backdoor.Win32.Haxdoor.dw. После запуска он создает в системном каталоге Windows несколько файлов (avpx32.dll, avpx32.sys, avpx64.sys, p3.ini, qy.sys, qz.dll и qz.sys), а также изменяет системный реестр таким образом, чтобы обеспечить свой автоматически запуск при каждой последующей загрузке Windows. Будучи запущенным на выполнение, бэкдор открывает несколько портов зараженного компьютера и ожидает подключения машин-клиентов «хозяев» вредителя), которые затем могут отдавать ему команды на похищение паролей, системной информации, различных файлов и выполнение других несанкционированных действий. В частности, по команде «хозяина» бэкдор может просматривать список активных процессов, завершать некоторые из них и отсылать злоумышленнику найденную информацию.
   Небольшое отступление, косвенно связанное со сказанным выше. Многие известные программы имеют в своем составе недекларированные возможности, часто называемые пасхальными яйцами. Чтобы активизировать такую скрытую функцию, следует знать специальный «ключик». Вот лишь один пример.
   В «недрах» редактора электронных таблиц MS Excel 2000 спрятана трехмерная игра с условным названием «Автогонки» (кадр из нее приведен на рис. 1.3).
Рис. 1.3. «Шпионская» игра
   Для запуска игры требуется выполнить следующие манипуляции.
   1. Откройте MS Excel 2000, и в меню Файл выберите команду Создать ► Новая книга.
   2. С помощью команды Файл ► Сохранить как Веб-страницу откройте диалоговую панель сохранения файла, поставьте в ней переключатель выделенное: Лист и флажок Добавить интерактивность; укажите маршрут сохраняемого файла.
   3. Откройте созданный файл в браузере MS Internet Explorer (версия не ниже 5.0).
   4. Во внедренном в HTML-страницу листе Excel найдите и выделите строку под номером 2000.
   5. С помощью клавиши Tab сделайте активной ячейку этой строки в столбце WC (именно с помощью клавиши, не используя мышь).
   6. Нажав и удерживая клавиши Ctrl+Alt+Shift, щелкните левой клавишей мыши на значке MS Office в левом верхнем углу внедренного окна Excel.
   Приведенный пример наглядно демонстрирует непредсказуемость поведения всего того, что некоторые товарищи беспечно устанавливают на свои компьютеры.

Глава 2
Стратегия защиты и восстановления данных

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

Обеспечение бесперебойного электропитания

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

Виды защитных устройств

   Минимальный уровень защиты от энергетических неприятностей обеспечивают так называемые сетевые фильтры.
   Сетевой фильтр – это устройство, которое позволяет защитить компьютер только от импульсных помех, то есть от кратковременных (длительностью в несколько тысячных долей секунды) выбросов напряжения. Такие выбросы могут вызываться короткими замыканиями, молниями, коммутированием и работой мощных потребителей электроэнергии и т. д. Мощные импульсные помехи очень опасны, так как они могут полностью сжечь блок питания и даже электронные схемы компьютера, а также вывести из строя внешние устройства компьютера. Многие современные модели сетевых фильтров обеспечивают также защиту подключенных устройств от высокочастотных помех и от короткого замыкания. Однако от падения напряжения ниже некоторого допустимого уровня фильтр защитить не сможет.
   Более глубокую защиту способны обеспечить стабилизаторы. Предназначенные для компьютеров стабилизаторы сочетают в себе функции сетевого фильтра и «обычного» стабилизатора напряжения. Они не только отфильтровывают импульсные помехи, но и поддерживают на выходе стабильное напряжение при колебаниях входного напряжения на 30–40 % (как в большую, так и в меньшую сторону). Впрочем, в последнее время компьютерные стабилизаторы применяются редко, так как по стоимости соизмеримы с источниками бесперебойного питания, а по возможностям существенно им уступают. В крайнем случае вы можете подключить компьютер к сети через сетевой фильтр и бытовой стабилизатор (если таковой у вас имеется). Мощность стабилизатора должна быть не менее 200 Вт.
   Источники бесперебойного питания (ИБП), или UPS (Uninterrupted Power Supplied), обеспечивают наиболее полную защиту компьютеров от проблем электропитания. Они содержат аккумулятор, который позволяет поддерживать в течение некоторого времени (от 5 до 30 минут) работу компьютеров и других подключенных к ним устройств даже при полном отключении внешней электросети. За это время можно, по крайней мере, корректно завершить работу активных программ и сохранить обрабатываемые данные. Кроме того, многие современные ИБП способны защитить от скачков напряжения телефонную (модемную) линию.
   Источники бесперебойного питания на сегодняшний день представляют собой практически идеальное решение проблем для владельцев домашних компьютеров, поэтому рассмотрим их несколько подробнее.

Источники бесперебойного питания

   К основным характеристикам современных ИБП относятся следующие:
   способ формирования выходного напряжения;
   диапазон значений входного напряжения, для которого ИБП способен выполнять свои функции;
   время перехода на питание от аккумулятора;
   выходная мощность.
   Три первые из указанных характеристик напрямую зависят от класса ИБП. В настоящее время представленные на рынке ИБП могут быть отнесены к одному из трех классов.
   Резервные (Stand-by, либо Off-line UPS, рис. 2.1, слева) – наиболее простые ИБП; называются резервными потому, что переключаются на питание от батареи лишь при выходе напряжения питания сети за границы определенного диапазона (обычно 187–264 В). При этом напряжение может колебаться в пределах допустимого коридора. Недостатком таких ИБП является относительно большое время переключения на резервный источник (порядка 5-20 мс). Еще одним недостатком следует считать форму выходного напряжения при питании от батареи: вместо синусоиды выходное напряжение представляет собой или трапецию, или прямоугольник, что отрицательно сказывается на долговечности компьютера.
   Линейно-интерактивные ИБП (Line-interactive, или Ferroresonant UPS, называемые иногда также гибридными ИБП, рис. 2.1, справа) представляют собой дальнейшее развитие резервных ИБП в направлении улучшения фильтрации входного напряжения и улучшения формы выходного напряжения. В них используется встроенный автотрансформатор, регулирующий напряжение в заданном диапазоне (обычно в пределах 15–25 % от номинала в обе стороны). Если входное напряжение выходит за пределы этого диапазона, ИБП переключается в режим работы от батарей. К недостаткам линейно-интерактивных ИБП можно отнести все недостатки класса off-line, хотя и с некоторыми оговорками: например, время перехода на питание от батареи у линейно-интерактивных ИБП заметно ниже (1–5 мс). Кроме того, иногда, в силу наличия сложных фильтров и цепей обратной связи в линейно-интерактивных ИБП, возможно возникновение устойчивых искажений выходного сигнала, что является недопустимым в критичных областях применения компьютеров (например, в медицинском оборудовании или в качестве серверов баз данных).
   ИБП двойного преобразования (или On-line UPS) – в них энергия питающей сети до того, как поступить на выход ИБП, дважды преобразуется: сначала напряжение сети выпрямляется, затем постоянное напряжение корректируется до необходимого уровня, после чего выполняется обратное преобразование. Такой принцип работы позволяет ИБП защитить подключенную нагрузку практически от всех существующих неполадок в электросети: высоковольтных выбросов, всплесков напряжения, электромагнитных и радиочастотных помех, кратковременного повышения или понижения напряжения, искажения его формы, полного отключения электропитания и т. п. Кроме того, при переключении на аккумуляторные батареи полностью отсутствуют переходные процессы у выходного напряжения, благодаря чему такое переключение можно считать мгновенным. Единственным серьезным недостатком является стоимость онлайновых ИБП, которая заметно выше, чем у линейно-интерактивных или резервных, поэтому они редко применяются в домашних условиях.
Рис. 2.1. Источники бесперебойного питания: резервный (слева) и линейно-интерактивный (справа)
   Большинство современных моделей резервных и линейно-интерактивных ИБП поставляются вместе со специальным программным обеспечением. Как правило, такое ПО позволяет контролировать и настраивать рабочие параметры ИБП (входное и выходное напряжение, частоту, емкость аккумулятора, уровень нагрузки, рис. 2.2.), а также корректно завершать работу компьютера при длительных или чрезмерных перебоях питания. Кроме того, некоторые из управляющих программ способны при возникновении сбоев в электропитании посылать предупреждающие сообщения по электронной почте или локальной сети.