┌──┬──┐          /╔════╗/╦══╗ /╔═══╗  ╔═══╗ /╔══╦══╗/╦   /╦/╦══╗ /╔═══╗ ╔═══╗
   │┬  ┌──       │║   /╩│║ /╚╗│║  /  │║  │║ // │║ //│║   │║│║ /╚╗│║  /╩│║ │/╩
   │├─┐│ ░░▒▒▒▓▓▓│║▓▓▓▓▓│║▓/╔╝│║▓▓▓▓▓╔╩═══╩╗▓▓▓│║▓▓▓│║▓▓▓│║│║▓/╔╝│║▓▓▓▓│║▓▒▒░
   ││ │├─        │║     │╠══╣ │║═   │║    │║   │║   │║   │║│╠══╣ │║═   /╚═══╗
   ││ ││         │║   /╦│║  ╚╗│║  /╦│║    │║   │║   │║   ╔╝│║  ╚╗│║  /╦ ╦  │║
   │┴ ┘└─┘       /╚════╝/╩  /╩/╚═══╝/╩    /╩   /╩   /╚═══╝ /╩  /╩/╚═══╝/╚═══╝
   │ THE CREATURES │ Computer Virus Magazine │ March 1999            issue 02
   │───────────────┴─────────────────────────┴───────────────────────────────
   │
   │                   ВИРУСЫ. КЛАССИФИКАЦИЯ ВИРУСОВ.

═══════════════════════════════════════════════════════════════════════════════

        _ЧАСТЬ ПЕРВАЯ_

                 Предположительная история появления вирусов.

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

  ЗАЧЕМ ЭТО НАДО

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

  БРЕД #1.    Вирусы - это вандализм.

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

  БРЕД #2.    Писать вирусы подло.

  почему бред:  И опять ты об этом... Писать вирусы - это _ЗАМЕЧАТЕЛЬНО_
                Если человек вместо тырканья мышой в VB занялся вирусАми,
                за него можно только порадоваться. Вирусы развивают человека
                и как программиста, и как личность! К тому же требований
                к вирусу, пожалуй, побольше, чем к любому другому ПО.
                 Это и корректная работа в непредсказуемых ситуациях,
                и удовлетворительная СКОРОСТЬ работы, и РАЗМЕР, также
                еще хорошо бы позаботиться о механизмах защиты - маскировке,
                например. А какие удивительные технологии использует вирус!
                Но об этом читай в CoreWar.

  БРЕД #3.    Вирусы пишут либо для защиты софта, либо чтоб напакостить.

  почему бред:  Начитался всяких статей, "умных", и давай рожу корчить -
                вот, это от пиратства, ну и тд..   ЮЗЕР ТЫ !!!
                 Вирмейкеры - это НЕ ПАКОСТНИКИ !
                Блин, это настолько очевидно, что мне даже стыдно об
                этом писать!..

  БРЕД #4.    Но все-таки вирусы на работе сказываются негативно.

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

  БРЕД #5.    А я читал, что один вирус вызвал ошибку в системе управления
              ядерным реактором.

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

  БРЕД #6 (цитата из газеты 'Комсомольская правда').
             "Двадцатичетырехлетнего программиста нашли мертвым перед
   включенным экраном компьютера. 'Скорая помощь' констатировала -
   кровоизлияние в мозг. Когда один из друзей погибшего глянул на монитор,
   то с трудом смог отвести взгляд: возникло ощущение, словно его затягивает
   внутрь экрана, голову будто стянули тугие обручи, а в ушах возник
   монотонный шум. Хотя перед ним на первый взгляд ничего, кроме синего
   окошка Norton Commander'а, не было. Когда же компьютер тщательно
   протестировали, то обнаружили, что он заражен вирусом, объем которого
   равнялся 666 байтам!"

  почему бред:  Без комментариев. Только обратите внимание на гребаное
                выражение "компьютер заражен вирусом" и прочую по@#ень.
                 Да, и еще - в статье сказано, что эта история хорошо
                известна людям, "профессионально занимающимся компьютерами".
                Наверно, имелись ввиду антивирусники :)

  БРЕД #....    - и еще долго можно продолжать этот список.


  ОТКУДА ЭТО ВЗЯЛОСЬ

     Уважаемые  товарищи  вирус-за-яйца-выдиратели в своих ученых литературных
 творениях  высказывались  о  причинах создания первого вируса. Кто как может.
 Пришли  к  выводу,  что  подобное  злостное деяние имеет корни в ошибке некой
 программы,  'кролика',  как  они  ее  называют,  которая ошибочно стала вдруг
 размножаться.  Ну  и  потом уже... Знаете, _подобный_ бред напоминает детские
 сказки,  типа,  почему и слона хобот длинный, ну и прочее... Первый 'кролик',
 если  такое  выражение  вообще  уместно,  был написан СОЗНАТЕЛЬНО. И было это
 сделано  с  первой  же возможностью записывать и читать информацию при помощи
 одного  и  того  же  устройства.  Это  был  _НОВЫЙ_ТИП_ПРОГРАММ_  , доселе не
 практикуемый  из-за  невозможности  подобного. И придуман он был наверняка не
 одним каким-то психом. К этой идее, вероятнее всего, подобралось одновременно
 несколько человек.
        Однако, такой СМ (саморазмножающийся механизм) был уязвим, так как
 его мог удалить ( =убить) любой оператор ЭВМ. К тому же, СМ не получал
 управление, а стало быть, не мог функционировать. И вот тогда-то и
 появилась эта гениальная идея метода parasitic. Ну, возможно, не такая уж
 она и гениальная, но все же. Итак, нас не хотят запускать? Не хотят
 распространять? А другие проги, значить, хотять?  А мы чем хуже? Дай-ка
 будем мы вселяться ПРЯМО В КОД некой проги, носителя, так сказать, чтоб и
 управление получать ежедневно, и чтоб носили нас от одного компа к другому.
        Все. Успех вирусов был предрешен. Следующим шагом была МАСКИРОВКА.
 Да-да, ведь тогда уже стали писать специальные "умные" хрени, которые
 нагло выдирали вирусный код из носителя. По возможности этот носитель
 восстанавливая. Подробнее об этом читай в Creature.005

        _ЧАСТЬ ВТОРАЯ_

                 Примерная классификация вирусов.

        1. Классификация по данилову.

   COM.virus - пожалуй, самый примитивный тип вира.Принципы работы см. в issue1
   TSR.virus - резидент. Предназначено для эффективного поиска жертвы.
   EXE.virus - вирус, заражающий EXE (это те, которые MZ и не оверлеи)
   BAT.virus - изврат, заражающий BATCH файлы
   SYS.virus - принципы похожи на COM.EXE, только жертвы - типа HIMEM.SYS
  BOOT.virus - Заражает BR, MBR. Принципиально новый тип.
 CRYPT.virus - Зашифрованный вирус. ВъЕБ говорит так, когда вроде охота
               чегой-то сказать, да нечего. Бывает, находит ЭТО сам в себе.
  HLLC.virus - High Level Lanquage Companion - вирус на ЯВУ
  HLLO.virus -  -//- overwriter
  HLLP.virus -  -//- parasitic (разъяснения в 005)
 MACRO.virus - А этот изврат "заражает" макросы приложений MSOffice :)

 возможно еще что-нибудь типа NewEXE.virus или, того хуже, PortableEXE.virus.

        2. Классификация по даниловски-лозински-мостовому.
           Принципы функционирования.
         ( Мои комментарии начинаются с :> )

Место внедрения в файл:
      ■ в начало (start);
      ■ в конец (end);
      ■ в середину (insert).  :> Это, пожалуй, принцип antiuser.

Метод заражения:
      ■ используя функции FindFirst и FindNext;
      ■ перехватывая обращения DOS к файлам;   :> см. TSR.virus
      ■ используя оба способа.

Способ внедрения в оперативную память (только для резидентных вирусов):
      ■ записывается в обычную память  по  фиксированному  адресу
        без коррекции MCB-блоков;
      ■ записывается в дисковый буфер;
      ■ записывается в область данных DOS (адрес 0060:????);
      ■ записывается в таблицу векторов;
      ■ используя прерывания DOS (INT 21h f.31 или INT 27h);
      ■ оперируя с MCB;
      ■ записывается в видеопамять.

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

Всяка хрень:
      ■ вызывает видеоэффекты (Video);         :> Да... Вот тебе и
      ■ вызывает звуковые эффекты (Music);     :> "классификация"
      ■ имеет деструктивную функцию (Harm);
      ■ содержит ошибку, которая может проявляться как
          деструктивная функция (Error);       :> Опять лажа...
      ■ изменяет служебную информацию:  метку диска, возвращает
          неверную версию DOS и т.п. (Change).

:> Также тут не перечислены многие другие феньки, например:

        3. Классификация более-менее правильная. (моя :)

COM no-TSR virus - "проба пера"
      Overwriter - вирус, написанный с единственной целью - сократить длину
                   вирусного кода (как правило).
   EXE.OVL virus - вирус заражает оверлейные EXE
         Stealth - стелс-технология. Вирус лечит файл перед его открытием.
   MemoryStealth - технология маскировки в памяти.
                    Вообще под "стелсом" можно понимать любой метод
                   маскировки и шифрования вируса.
   TSR.4Ch type  - вирус заражает файл при завершении работы носителя.
     Polymorphic - полиморфный вирус. Меняет свое тело (иногда почти полностью)
                   таким образом, что определить его по сигнатуре становится
                   невозможным.
        Phantom  - Фантомный вирус. Без этого типа вирусов предлагаемый
                   неполный список был бы еще более неполным, хотя я и
                   не знаю принципы работы фантомов :(
           WORM  - "Сетевой вирус". В основном, создается для поиска
                   определенного узла сети и внедрения туда.
               (то есть отправка COM.virus'а по E-mail'у не делает его WORM'ом)
VirusConstructor.based -
                 - лажа, скомпонованная при помощи некоего конструктора.
     ? ... ?     - Не знаю, как назвать этот тип, но он достоин уважения.
                   Дело в том, что автор вира на все сто использует гов..
                   ой,то есть,Windows! Его создание хапает SHELL-libraryes
                   виндузов для достройки тела вируса! (от 1кб до ~50КБ !!! )
     WIN95.based - Самый разрушительный вирус, написаный умельцами, называющими
                   себя "Microsoft Corporation" :)
Пока все.
                                                                  с уважением,
                                                                  ThePretender