Легенды вирусостроения: начало войны

    image

    Конец восьмидесятых годов стал удивительным временем для страны Советов. Накопившееся и нарастающее недовольство выливается в ублюдочную «перестройку». В телевизоре — позорный вывод советских войск из Афганистана, в магазинах — опустевшие полки и продуктовые карточки. «Звезда по имени Солнце» и «Хочу перемен» звучат из каждого утюга. Тем временем в недрах ГВЦ Госплана СССР Дмитрий Николаевич Лозинский обнаруживает на одной из вычислительных машин причину ее необычного поведения, которой оказалась необычная программка. Утилита для обезвреживания была написана за один вечер и названа в честь тест-системы на СПИД, о которой примерно в это же время любили упоминать по радио, как о великом достижении медицины.

    Вирус представлял собой простую программу, код которой не подвергался никакой дополнительной обработке и легко обнаруживался с помощью специализированных программных средств. В то время еще не существовало никакой единой системы наименования вредоносных программ. Впрочем в этом отношении сегодня почти ничего не изменилось, антивирусные конторы никак не могут договориться между собой, и один и тот же вирусный «штамм» может называться в разных антивирусных пакетах по-разному. „Vienna.648“ получила имя в честь места первичного обнаружения и размера — 648 байт.

    Первыми примерно в одно и тоже время обнаружили вирус Франц Свобода и Ральф Бергер, хотя доподлинно неизвестно, кто из них это сделал первым, поскольку каждый из них говорил о том, что получил вирус от другого. Программка так и осталась бы знаменита своим первым появлением в СССР и только. Но Ральф Бергер, опубликовав исходный код в своей книге (ISBN 1557550433), открыл ларец Пандоры. Любой программист мог изменить исходный код для создания на его базе подобной программы. Лавина «форков» обрушилась на мир машин. Порой среди них встречались отпетые «мерзавцы» типа Ghostballs и Chameleon. Некоторые потомки этого вируса еще встречаются в «естественной» среде обитания (за многие годы начинающие программисты и школяры наделали более 60 вариантов этой заразы, скорей всего это число можно смело умножить на 10, и то я не уверен, что это все).

    „Vienna.648“ — типичный файловый нерезидентный вирус, после получения управления заражающий файлы, чаще всего в момент запуска зараженного носителя. Характерным свойством нерезидентов является их короткий жизненный цикл, включающий запуск, поиск и заражение своих жертв. Существует несколько распространенных алгоритмов поиска нерезидентами возможных жертв. Как многие другие старинные вирусы, был написан на ассемблере и поражал исполняемые COM-файлы (COM-программы обычно являются небольшими приложениями, системными утилитами или небольшими резидентными программами).

    Наш сегодняшний «герой» самым первым стал использовать метод поиска по «тропе», достаточно эффективный алгоритм поиска, своего рода «ноу-хау» не требующий полного обхода всех каталогов диска. В MS-DOS был предусмотрен механизм, создающий список предопределенных каталогов, чаще всего прописываемых в системном пакетном файле AUTOEXEC.BAT. Эти списки попадали в системное окружение и становились доступны для всех программ. Каталоги, содержащиеся в строке «PATH» («тропа»), всегда содержали исполняемые файлы. После запуска и нахождения вирусом строки, начинающейся с «тропы», вирус отделял каталоги символом «;» и добавлял маску поиска COM-файлов, после чего происходило заражение и передача управления.

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

    Учитывая простоту программы и безызвестность её создателя по нынешний день, можно предположить её создание «пробой пера», либо экспериментом, слегка вышедшим из-под контроля. Столь явная простота в совокупности с легко обнаруживаемыми сигнатурами говорят в пользу этой гипотезы, но окончательно её не доказывают. Несмотря на кажущуюся тривиальность, не стоит забывать, что „Vienna.648“ стал также первым вирусом, который был обнаружен и уничтожен антивирусной программой.

    Существует версия, что автором программы является Бергер, хотя он отрицал свою причастность к этому. Как бы то ни было, маятник новой цифровой войны запустил именно он. Так началось противостояние вирусов и антивирусных программ…
    Поделиться публикацией

    Комментарии 30

      +13
      Лозинский — дуб, AIDSTest — горбуха
        –6
        Для того времени — это не так.
          +2
          Вы будете смеяться, но этот лозунг — именно из «того времени».
            +1
            И сейчас не так, а это — цитата из virlist.web'а.
            +1
            у меня в лифте долго красовалась надпись: Лозинский — лось, AIDSTest — говно.
              +1
              Еще можно вспомнить более другой антивирус с кнопкой «Угу».
            0
            в ублюдочную «перестройку». В телевизоре — позорный вывод советских войск из Афганистана,

            И правда, лучше бы там и были, глядишь вас приняли бы тут грузом 200 и вы более не писали столь бесполезных заметок ни о чем.
              –1
              Я вижу у Вас масса полезных топиков, даже не знаю, что прочесть.
                +1
                Дело не в количестве и качестве топиков, а в том, что Вы пытаетесь выносить суждение о событиях, которых не застали в сознательном возрасте, и суждения Ваши очень далеки от реальности и напоминают то, что сейчас усиленно вдалбливается в головы молодого поколения СМИ.
                  0
                  Суждения всегда субъективны вне зависимости от возраста и времени.
                    +5
                    Дело не в том, что они субъективны, дело в том, что они не соответствуют действительности. Например, переменная окружения PATH всегда была «путь», а не «тропа» (это название я вообще первый раз слышу).
                      0
                      Соловьев А. «Программирование на shell», как минимум а также куча другой литературы.
                        +2
                        Соловьев А. «Программирование на shell»


                        Я нашел эту «книгу», да. Эпиграф "Язык программирования shell входит в «джентльменский набор» каждого квалифицированного Unix-администратора." меня просто убил.
                        Тем более, это «учебное пособие».

                        Я и дальше это почитал. Почему автор упорно называет prompt (приглашение системы) «промтером»? Зачем там этот суффикс "-ер"? Похоже на изобретение собственной, ненужной терминологии по аналогии с «тропой».

                        куча другой литературы.


                        Ну, раз куча, тогда хотя бы пяток ссылок еще?
                        –2
                        PATH — переменная задает последовательность файлов (ТРОПУ)...
                          0
                          Каких файлов? Какой последовательности? Список путей для поиска файлов в порядке их просмотра, а книги авторов высказываний типа приведённого я бы вообще рекомендовал обходить стороной.
                        +2
                        Трудно не согласиться, но все же есть очень большая разница между суждениями, построенными на пережитом лично и суждениями, сформированными пропагандой.
                +2
                Примерно за 5 лет эволюция создала OneHalf — крипто полиморфа элегантно модифицировавшего ваши данные ставя перед дилеммой: продолжить эксплуатацию зараженной системы или потерять все? Сколько антивирусов было продано благодаря ему?
                +2
                В свое время попасть в список Лозинского для вирусописателя было как получить признание, а если удавалось получить его едкий комментарий, так счастье было просто безмерным.

                Где-то в его списке и мое творение есть :)
                  +2
                  Столь явная простота в совокупности с легко обнаруживаемыми сигнатурами говорят в пользу этой гипотезы

                  Что за бредовые выводы? По вашему первый вирус сразу должен был быть супер-монстром-полиморфом???
                    +4
                    Статья плохая, не годная.
                    Автору надо на первый канал передачу вести или на россию 24. В нашей уютненьком интернетике ему делать нечего
                    (Метод поиска по тропе, ага)
                      +2
                      Ну, накинулись :)
                      Помню документацию, пришедшую с ЕС-1841. После перлов в ней с аббревиатурами нестандартный перевод PATH даже оскомины не вызывает. То было абсолютно нечитаемо.
                      Надо отметить, документация ЕС-1840 подобным ещё не страдала, насколько помню.
                        0
                        Жили у бабуси три весёлых гуся,
                        Лоз, Данилов и Касперский, я от них тащуся!
                          0
                          Это тоже из virlist.web'а.
                            0
                            Не спорю, мне больше всего нравилась баллада от condom-1581/Ieronim.1581
                              0
                              Если это про ихтиолога, то мне тоже понравилась. Правда, я не уверен, что вирусописатель её сам сочинил.
                          0
                          Термин PATH переводить не стоило.
                            0
                            Полностью согласен. Не специалистам, что в лоб, что по лбу — всё едино. А вот ИТ-шникам привычнее исходные оригинальные термины и их производные.
                            0
                            Какой заголовок и какое содержание поста. Я дважды перечитал(!), но так и не понял что тут относится к вирусостроению, а что к «войне». Заголовок говорит о том, что дальше будет рассказ о том, как появлялись вирусы, что мотивировало «вирусостроителей», конкретные примеры пусть и без листинга, но всё же примеры с описанием того, как происходило заражение (какие каналы), как себя вел вирус, как распространялся. Про войну конечно можно было бы написать как именно и кем были «зачаты» антивирусные продукты. Но судя по тексту я это всё должен читать между строк, видимо, на срезе 2-3 лет восьмидесятых годов прошлого столетия…
                            ЗЫЖ Может кто-нибудь пояснить почему и как такой контент появляется тут?

                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                            Самое читаемое