Вирус, который слишком активно клонирует сам себя в пределах одного компьютера, будет вскоре обнаружен, потому что симптомы засорения памяти станут слишком очевидны, чтобы не обратить на них внимание. В связи с этим многие вирусные программы, прежде чем заразить систему, проверяют, нет ли их уже в этой системе. Кстати, это открывает один из путей защиты от вирусов, аналогичный прививке. В то время, когда специальные антивирусные программы еще не были доступны, я сам в ответ на раннее заражение моего собственного жесткого диска провел его грубую «вакцинацию». Вместо того, чтобы удалять замеченный мной вирус, я просто вывел из строя его закодированные инструкции, оставив нетронутой «оболочку» с его характерной «подписью» на поверхности. Теоретически представители того же вида вирусов, которые могли попасть в мою систему, должны были узнавать подпись собственного типа и воздерживаться от попыток повторно заразить тот же компьютер. Не знаю, сработала ли эта «прививка», но в то время, возможно, и правда было лучше «выпотрошить» вирус, оставив в таком виде его оболочку, чем просто удалить его вместе с потрохами. Теперь такие проблемы лучше доверять какой-нибудь профессионально написанной антивирусной программе.
Слишком вредоносный вирус будет быстро обнаружен и обезврежен. Вирус, который сразу будет наносить катастрофический вред любому компьютеру, куда он попадет, не успеет поразить много компьютеров. Он сможет произвести забавный эффект в одном компьютере, например стереть целую диссертацию или сделать еще что-нибудь столь же уморительное, но он не сможет распространяться подобно эпидемии. Поэтому некоторые вирусы делают такими, чтобы их было сложно обнаружить, чтобы их эффект был достаточно слабым, но тем не менее вредоносным. Один из типов таких вирусов, вместо того чтобы стирать целые сектора диска, атакует только электронные таблицы, производя лишь несколько случайных изменений в значениях (обычно денежных сумм) в их строках и столбцах. Другие вирусы избегают обнаружения за счет того, что включаются лишь с определенной вероятностью, например стирая все данные только на одном из шестнадцати зараженных дисков. Вирусы еще одной разновидности устроены как мины замедленного действия. Большинство современных компьютеров «знают» текущую дату, и некоторые вирусы запускались и проявляли себя по определенным числам, например в пятницу тринадцатого числа или первого апреля. Для вирусов как паразитов не имеет значения, насколько успешной окажется их атака, если прежде у вируса будет достаточно возможностей широко распространиться (здесь возникает тревожная аналогия с теорией старения Медавара — Уильямса: мы оказываемся жертвами летальных и сублетальных генов, созревающих для работы лишь после того, как нам представится достаточно времени на размножение). Чтобы защититься от таких вирусов, некоторые крупные компании доходят до того, что выделяют один компьютер из своего компьютерного парка в качестве «канарейки в шахте»[152]
и устанавливают в нем дату так, чтобы календарь спешил примерно на неделю и любой вирус замедленного действия обнаруживал бы себя задолго до дня большой атаки.Как и следовало ожидать, эпидемия компьютерных вирусов запустила настоящую гонку вооружений. Продажа антивирусных программ стала процветающим делом. В этих программах-противоядиях, таких как
Принцип вируса теоретически можно использовать и не для вредительских, а даже для полезных целей. Гарольд Тимблби[153]
предложил термин «лайв» (