THE CREATURES #08


      На своём веку :) мне приходилось слышать много определений понятию
"компьютерный вирус", начиная с хижняковской "вредной программы" и
 заканчивая определением в УК РФ, которое, кстати, тоже не идеально. Вот
 тов Касперский например вообще отказался давать вирусу чёткое определение,
 говоря, что из всех правил есть исключения, и вирусы зачастую очень похожи
 на не-вирусы по функциональности.
      Хотя отделить понятие "вирус" всё же возможно, и отделить очень чётко.
 Правда, я не буду пытаться формулировать его (хотя можно попробовать). Я
 хотел расширить понятие "вирус", разобрать понимание его в разных ситуациях.
 Ведь для кого-то и глюки винды - вирус, а кто HLLP за вирусы не считает.
      Но вирус - вещь более мощная и теоретически намного более страшная,
 нежели реальные ординарные представители. Это действительно УНИКАЛЬНЫЙ тип
 ПО, к тому же не имеющий аналогов вне компьютера.
      Подумайте - во-первых, никогда нельзя быть уверенным, что на данном
 компьютере не обитает вирус, если только комп не отключён от каких-либо
 носителей данных. То есть не представляется возможным хоть как-то
 контролировать вирус, тем более обычным пользователям. Вирус АБСОЛЮТНО
 независим. Если, допустим, та же винда зачастую делает вещи, о которых
 пользователь не догадывается, то он может её снести нахрен, и хоть таким
 образом как-то управлять ею. Не говоря уж о том, что обычно системы всё-же
 не так скрытны в своих операциях, и если пользователь не знает о них точно,
 то по крайней мере догадывается об их общих предназначениях. "Ну а трояны?" -
 скажете вы. Да, троян довольно независим от пользователя "заражённого" компа,
 но ведь по сути он является просто инструментом, инструментом обдуривания
 бедных юзеров, особенно если это троян не собственный, а откуда-то взятый.
      Так можно сказать, что вирус - это единственная по-настоящему НЕЗАВИСИМАЯ
 программа?
      Нет, это нечто более сильное... ведь единственный, кто может хоть как-то
 контролировать вирус - это тот, кто знает его строение, а на первых порах это
 единственный человек - создатель вируса. Как вам мысль, что кто-то посторонний
 теоретически может контролировать ваш собственный компьютер, как бы вы не
 старались этого избежать..?
      Но суть ещё и в том, что вирус для создателя вируса вовсе не троян
 какой-нибудь, и его могут делать вовсе не для того, чтобы поиметь чей-то
 комп (хотя зачастую именно для этого). Проблема в том, что вирусом не так-то
 просто управлять. Получается, он САМ хозяйничает на вашем компе! :)
      Так что же такое вирус для создателя вируса? Итак, мы вернулись к вопросу
"зачем люди пишут вирусы". Вообще этот вопрос довольно широк, вы не находите?
      Кроме всего прочего, компьютерный вирус - действительно наиболее удачная
 имитация жизни, созданная человеком. По сути это и есть жизнь, только не
 физическая (биологическая), а кибернетическая, виртуальная. И не беда, что
 пока её ещё далеко даже до примитивнейших прокариотов, технологии развиваются,
 и возможно в скором будущем появятся функционально полиморфные вирусы, либо
 колониальные вирусы (кстати, смотри файлик номер три)

      Ну и под конец всё же попробую вывести сухое определение вируса (так, для
 понта - чтоб всякие там хижняки не путали). Итак,

      ВИРУС - это

                  исполняемый код, способный к саморазмножению по собственной
"инициативе", то есть без старта его пользователем. Почти обязательным
 признаком является какая-либо маскировка в местах, дающих возможность
 автозапуска вирусного кода.
 отсюда следует, что:
                  * вирус маскируется ПОД ЧТО-ТО, запускаемое системой,
 программами или самим пользователем.
(так как если программу приходиться запускать саму по себе, это уже НЕ ВИРУС)

      ОПЦИОННЫЕ ПРИЗНАКИ:

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

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

      ПОЯСНЕНИЯ:

 Саморазмножение - это способность (кода) производить собственные копии.

      ТО ЕСТЬ:

 Саморазмножающиеся макросы на каком-либо HLL (даже bat)  -  вирусы.
 Программа, спрашивающая "а можно я поселюсь в таком-то файле" - вирус
                                 (правда, это скорее отладочная версия).
*ВНИМАНИЕ!* Разница - он хоть и спрашивает ползователя, но запустился-то
 сам, без юзерского участия. Поэтому и вирус.

 Просто копирующий сам себя код - НЕ вирус (смотри определение после звёздочки)


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