logo
Lektsii_IT_sborka_v_1

Живой вирус, макровирус, полиморф

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

Наиболее часто вирусом заражаются загрузочный сектор диска и исполняемые файлы, имеющие расширения .EXE, .COM, .SYS, .ВАТ. Редко заражаются текстовые файлы.

При заражении компьютера вирусом важно его обнаружить. Для этого следует знать об основных признаках проявления вирусов. К ним можно отнести:

> прекращение работы или неправильная работа ранее успешно функционировавших программ;

> медленная работа компьютера;

> невозможность загрузки операционной системы;

> исчезновение файлов и каталогов или искажение их содержимого;

> изменение даты и времени модификации файлов;

> изменение размеров файлов;

> неожиданное значительное увеличение количества файлов на диске;

> существенное уменьшение размера свободной оперативной памяти;

> вывод на экран непредусмотренных сообщений или изображений;

> подача непредусмотренных звуковых сигналов;

> частые зависания и сбои в работе компьютера.

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

Программы борьбы с компьютерными вирусами

Несмотря на то что общие средства защиты информации очень важны для защиты от вирусов, все же их недостаточно. Необходимо применение специализированных программ для защиты от вирусов. Эти программы можно разделить на несколько видов: ДЕТЕКТОРЫ, ДОКТОРА (ФАГИ), РЕВИЗОРЫ, ДОКТОРА-РЕВИЗОРЫ, ФИЛЬТРЫ И ВАКЦИНЫ (ИММУНИЗАТОРЫ).

ПРОГРАММЫ-ДЕТЕКТОРЫ позволяют обнаруживать файлы, зараженные одним из нескольких известных вирусов. Эти программы проверяют, имеется ли в файлах на указанном пользователем диске специфическая для данного вируса комбинация байтов.

ПРОГРАММЫ-РЕВИЗОРЫ имеют две стадии работы. Сначала они запоминают сведения о состоянии программ и системных областей дисков (загрузочного сектора и сектора с таблицей разбиения жесткого диска). Предполагается, что в этот момент программы и системные области дисков не заражены. После этого можно в любой момент сравнить состояние программ и системных областей дисков с исходным.

Есть очень полезные гибриды ревизоров и докторов, т.е.

ДОКТОРА-РЕВИЗОРЫ, — программы, которые не только обнаруживают изменения в файлах и системных областях дисков, но и могут в случае изменений автоматически вернуть их в исходное состояние. Такие программы гораздо более универсальные, чем программы-доктора, поскольку при лечении они используют заранее сохраненную информацию о состоянии файлов и областей дисков. Это позволяет им вылечивать файлы даже от тех вирусов, которые не были созданы на момент написания программы. Но они могут лечить не от всех вирусов, а только от тех, которые используют «стандартные», известные на момент написания механизмы заражения файлов.

Существуют также ПРОГРАММЫ-ФИЛЬТРЫ, которые резидентно располагаются в оперативной памяти компьютера и перехватывают те обращения к операционной системе, которые используются вирусами для размножения и нанесения вреда, и сообщают о них пользователю. Пользователь может разрешить или запретить выполнение соответствующей операции.

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

ПРОГРАММЫ-ВАКЦИНЫ, или ИММУНИЗАТОРЫ, модифицируют программы и диски таким образом, что это не отражается на работе программ, но тот вирус, от которого производится вакцинация, считает эти программы или диски уже зараженными. Эти программы неэффективны.

Специализированные системы аппаратной и программной защиты можно разделить достаточно условно на три большие области:

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

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

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

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

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

Такие доказательства - это или вариации на тему парольной защиты, или различные биометрические системы. Для удаленных пользователей сейчас наиболее распространены системы "обратного вызова". Эти устройства при первом доступе к ним внешнего пользователя не дают контакта с вызываемым компьютером, а требуют назвать пароль или еще каким-нибудь образом идентифицировать себя. Если пароль назван правильно или идентификация пользователя успешна, ему возвращается номер телефона, ассоциированный с этим пользователем. Устройство обратного вызова запрашивает указанный номер телефона для подключения и выполнения нормальной процедуры login. Такие устройства выпускает, например, фирма B&B Electronics в Оттаве. Схемы "раздачи" паролей или обмен ключами легальных пользователей в развитых сетях могут быть очень изощренными и обеспечивать самые разные потребности пользователей в безопасном общении (телеконференции). Реализации таких схем приводят к появлению в сети специализированных серверов паролей (проект CERBERUS). В то же время парольная защита характеризуется определенными недостатками, связанными с особенностями человеческой психики, поэтому фирмы пытаются найти другие способы идентификации пользователя, не связанные с указанием пароля. Эти аппаратно-программные системы проверяют самые разные биометрические характеристики (подпись, узор линий на пальце, узор сосудов на глазном дне, манеру работы на клавиатуре) для того, чтобы обеспечить эффективные гарантии идентификации локального или удаленного пользователя. Одной из популярных в правительственных учреждениях США является карта COMSPEC-11 фирмы American Computer Security, которая обеспечивает интерфейс с самыми различными биометрическими устройствами типа электронных подписей, идентификаторов кожного узора, а также контроль доступа к каналам больших компьютеров, шифрование архивных и резервных копий данных, защиту от копирования локальных файлов. Эта плата стоит довольно дорого, однако программное обеспечение в комплекте с этой платой - на порядок дороже. К сожалению, более подробная информация об особенностях этого интересного оборудования и программного обеспечения автору неизвестна.

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

Фирма Electronic Signature Lock из Орегона поставляет пакет программ ESL, который анализирует манеру пользователя работать на клавиатуре во время набора своего имени и пароля (парольная защита не исключается полностью!). Конечно, эта манера изменяется со временем или зависит от состояния здоровья и т.д. Утверждается, что используемые статистические алгоритмы столь изощренны, что позволяют учитывать эти неизбежные вариации. Фирма утверждает, что вероятность неверной идентификации пользователя, если он знает правильный пароль, менее 10-6. Существует более совершенный вариант пакета CESL, который непрерывно отслеживает манеру пользователя работать на клавиатуре и может определить, когда за клавиатурой оказался не тот человек, что предъявлял полномочия на доступ. К сожалению, информация об этом пакете недостаточно подробна: нет даже намеков на то, во что выливается это слежение по части машинных ресурсов, насколько это усложняет работу пользователя, насколько пакет совместим с другим программным обеспечением.

Разработка фирмы Datamedia. Серия ее компьютеров Netmate оборудована специальным устройством Securecard reader считывателем карт безопасности. Применение таких считывателей довольно популярно на Западе, например, в РС-Watchmane используется считыватель обычных кредитных или ID-карт для авторизации пользователя в дополнение к паролю. Карты безопасности по исполнению - вариант кредитных карт; на них на магнитном носителе с помощью специальной аппаратуры, которая имеется только в распоряжении администратора, делается запись о пользователе: его имя, пароль и описываются все полномочия, которые он получает при входе в систему. В частности, на карте записано, сколько раз пользователь может пытаться указать пароль при входе. Таким образом, случайная потеря карты безопасности или ее кража не позволяет злоумышленнику получить доступ к компьютеру: если имя пользователя еще можно узнать не привлекая внимания, то пароль ему неизвестен. Только сознательная передача карты безопасности кому-то одновременно с разглашением пароля может открыть доступ к компьютеру постороннему лицу.

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

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

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

Большинство фирм, однако, защищают свое оборудование с помощью одного из вариантов парольной защиты более или менее интегрированной с оборудованием. К их числу относятся, например, фирмы Compaq и Hewlett-Packard. Правда, для них этот вид деятельности не является основным, и те варианты защиты, которые фирмы предоставляют клиентам, не слишком совершенны (особенно это относится к компьютерамм Vectra фирмы Hewlett-Packard). Разработка Compaq упоминается здесь лишь из уважения к фирме и потому, что похожие элементы защиты часто встречаются в компьютерах различных фирм. Compaq разработала для своик моделей DeskPro специальную версию BIOS, содержащую элементы защиты от несанкционированного использования компьютера. Так, при загрузке компьютера при включении питания еще во время процедуры POST требуется указать правильный пароль, чтобы машина продолжала работу (такую возможность защиты компьютера предоставляют многие фирмы, более того, часто возможность реализована в BIOS, но не описана в документации, некоторые вирусы могут записывать в поле пароля случайную информацию, и однажды пользователь обнаруживает, что его машина неплохо защищена от него). Сам пароль хранится в области CMOS и при большом желании, безусловно, может быть стерт (фирма Hewlett-Packard предусматривает хранение в специальной области CMOS предыдущей конфигурации компьютера, и по нажатию кнопки эта конфигурация может быть восстановлена в обычной области CMOS), но для затруднения доступа к "внутренностям" компьютера фирма снабжает корпус качественным замком (физический уровень защиты). Кроме этой возможности в BIOS реализованы программы, поддерживающие следующие области разделения доступа: возможность быстрого запирания компьютера, защита серверного состояния компьютера, защита жесткого диска, гибкого диска, последовательного и параллельного портов (и эти возможности защиты реализованы только в BIOS фирмы Compaq). Запуск защитных программ из BIOS регулируется переключателями на плате компьютера (аппаратный уровень защиты).

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

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

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

Система разграничения доступа NetWare - чисто программная, очень продуманная как с точки зрения администратора: легко и удобно вводить нового пользователя в систему, создавая для него систему полномочий и областей доступа; так и с точки зрения пользователя: разграничение доступа достаточно "прозрачно" во время работы и, к тому же, надежно разделяет пользователей. О степени продуманности системы разграничения доступа говорит, например, следующая возможность: закрыть для определенной категории пользователей часть файловой системы в некоторое время суток, дни недели и т.д. Так естественно решается проблема игр: хочешь играть - задерживайся после работы. Эта система разграничения доступа довольно долго "держалась" под напором хакеров, что, видимо, связано с относительно малой популярностью NetWare (по сравнению с DOS) и относительной неразвитостью локальных сетей под управлением NetWare (сети UNIX компьютеров соединяют десятки, сотни и тысячи серверов; для NetWare количество серверов в локальной сети редко превышает несколько штук).

Другой системой разграничения доступа, является WATCHDOG, изготавливаемая фирмой Fisher International Systems из Флориды.

Система претендует на некую универсальность, во всяком случае фирма рассматривает в документации возможности применения WatchDog в средах UNIX, OS/2, Windows, DOS, в дополнении к NetWare. Существуют варианты системы, поддерживаемые аппаратно.

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

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

Продуманность секретности, однако, не сочетается с удобством работы для пользователя, хотя фирма и предлагает использовать ее генератор меню. Кстати, многие системы разграничения доступа пытаются как-то компенсировать неудобства, причиняемые пользователю системой разграничения, с помощью разнообразных меню. Этим пользуются и WatchDog, и PC-Watchman, и NetWare, и Disk Oganaser, и многие другие изготовители программ для разграничения доступа.

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

Поэтому в системе предусмотрена и более серьезная мера защиты информации: некоторые области могут быть зашифрованы с применением DES-алгоритма.

Аппаратные средства, которые могут быть использованы вместе с WatchDog, состоят из одной платы WatchDog ArmorTM. Все, что обеспечивает это оборудование, сводится к следующему:

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

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

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

Следует отметить, что при всей привлекательности и трудности преодоления защита с помощью шифрования обладает некоторыми негативными чертами, которые в нашей стране особенно существенны. Применение этого уровня защиты означает для персонала (видимо, это персонал, ответственный за обеспечение секретности) новую жизнь, полную жестко регламентированных предопределенных действий. Необходимо обеспечить ежедневную службу backup, поскольку ошибки в чтении отдельных секторов или кластеров защищенной шифрованием области могут приводить к потере информации из всей области. Отсюда повышенные требования к качеству дисков, на которых расположена шифрованная область; абсолютные требования к качеству и регулярности службы backup; повышенный риск, по меньшей мере, дополнительные потери времени на восстановление информации в случае сбоев. Эти факторы существенны при работе с любым программным обеспечением или аппаратурой, обеспечивающей криптографический уровень защиты данных, и не связаны с особенностями пакета WatchDog. Рекомендовать применение такой защиты можно только при наличии качественного, надежно работающего оборудования, и желательно организовать надежную, автоматическую службу backup и наличии действительной потребности в столь сложной защите данных.

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

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

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

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

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

Обычный вопрос при построении таких систем "хорошей" защиты: как обеспечить независимое функционирование оборудования, легкость монтирования и размонтирования. Первоначально такая аппаратура размещалась внутри компьютера. Так, ранние версии Novell защищались с помощью keycard, вставлявшейся в разъем шины сервера. Такое решение нельзя признать очень удачным: для монтирования-размонтирования нужно открывать компьютер; понапрасну теряется дефицитный разъем.

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

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

Переходя к специализированным аппаратным средствами защиты от вирусов, червяков и прочего вредоносного программного обеспечения, хотелось бы отметить следующее: все эти средства рассчитаны на борьбу с системными вирусами и, к сожалению, информация скудна, а та, которая есть, - вся о защите от вирусов в DOS. Между тем, возможно написание вирусов и на языке прикладных программ; известны вирусы в среде Lotus 1-2-3, на языке BAT-файлов в DOS; известны вирусы на языке Shell в Unix (Xenix). То, что это исследовательские вирусы, - существа дела не меняет, настолько они просты и естественны. То есть могут легко появиться и в результате сознательных действий, и в результате неосознанной ошибки. Аппаратуры для борьбы с такими вирусами, конечно, никто никогда не создавал и, если аппаратные средства как-то защищают от такого рода вирусов, то это побочный результат работы соответствующей защиты.

Речь идет о том, что мы называем "проблемой копирования". Любая программная система должна включать какие-то средства для копирования текстов, файлов, данных... Естественно стремление к тому, чтобы указанное средство было удобным, это немедленно порождает вирусные ситуации. Задача саморепликации любого текста сильно упрощается, если имеется доступ к этому самому тексту. Практически для всех современных операционных систем стандартом является передача в самом первом параметре имени исполняемого файла, то есть доступ к тексту! Если для DOS имеются осложнения технического характера, связанные с соглашениями об именах исполняемых файлов, которые не позволяют написать коротенький универсальный самореплицирующийся код, то для Unix - эта задача тривиальна. Например, код cp $0 $1 прекрасно вставляется в любой командный файл и делает этот файл при запуске с параметром размножающимся, то есть вирусным. Какое оборудование может препятствовать размножению таких командных файлов?! С точки зрения системы все совершенно корректно, единственно, что может вызвать какие-то возражения у системы, - место в файловой системе, куда указано записать копию командного файла.