Вредоносное ПО как феномен
Окончание. Начало в КГ №№ 8, 9
Одной из проблем минувшего столетия для вирусологов была проблема полимофизма, т.е. мутации вирусов. Естественно, как таковой мутации не было — был лишь сложный алгоритм, который позволял вирусу шифроваться с определенной периодичностью. Это-то и осложняло жизнь…
Первый полиморфик-вирус появился в самом начале 90-х годов. Это был Chameleon. В те годы вирусописатели были без нынешнего чувства юмора (вспомним недалекое прошлое и всеми нами любимый Nechto.A) — особо оригинального названия ожидать не стоило. Этот экземпляр был всего лишь первой ласточкой. По-настоящему проблема встала в апреле 1991 года, когда практически весь мир был охвачен эпидемией вируса Tequila. России эта эпидемия не коснулась, насколько мне известно. Виновником первой эпидемии на территории нынешней РФ был вирус Phantom1. Популярность идеи самошифрующихся полиморфик-вирусов вылилась в появление генераторов полиморфик-кода — в начале 1992 появляется знаменитый вирус Dedicated, базирующийся на первом известном полиморфик-генераторе MtE и открывший серию MtE-вирусов. Полиморфик-генератор представлял собой объектный модуль (OBJ-файл), и для того, чтобы из самого обычного нешифрованного вируса получить полиморфик-мутанта, достаточно было лишь слинковать их объектные модули — OBJ-файл полиморфик-генератора и OBJ-файл вируса. Теперь автору вируса, если он желал создать настоящий полиморфик-вирус, не приходилось корпеть над кодами собственного за/расшифровщика. При желании он мог подключить к своему вирусу полиморфик-генератор и вызывать его из кода вируса. К счастью, первый MtE-вирус не попал в "окружающую среду" и не вызвал эпидемии, а разработчики антивирусных программ, соответственно, имели некоторый запас времени для подготовки к отражению новой напасти. Всего год спустя производство полиморфик-вирусов стало уже "ремеслом", и в 1993 году произошел их "обвал". В вирусном трафике удельный вес самошифрующихся полиморфик-вирусов становился все больше и больше. Создавалось впечатление, что одним из основных направлений в трудном деле создания вирусов становилась разработка и отладка полиморфик- механизма, а конкуренция среди авторов вирусов сводилась не к тому, кто из них напишет самый крутой вирус, а чей полиморфик-механизм окажется круче всех. Вот далеко не полный список тех из них, которые можно назвать стопроцентно полиморфичными (конец 1993): Bootache, CivilWar (4 версии), Crusher, Dudley, Fly, Freddy, Ginger, Grog, Haifa, Moctezura (2 версии), MVF, Necros, Nukeherd, PcFly (3 версии), Predator, Satanbug, Sandra, Shoker, Todor, Tremor, Trigger, Uruguay(8 версий). Для обнаружения этих вирусов приходилось использовать специальные методы, к которым можно отнести эмуляцию выполнения кода вируса, математические алгоритмы восстановления участков кода и данных в вирусе и т.д. К нестопроцентным полиморфикам (т.е. которые шифруют себя, но в расшифровщике вируса всегда существуют постоянные байты) можно отнести еще десяток новых вирусов: Basilic, Daemaen, Invisible (2 версии), Mirea (несколько версий), Rasec (3 версии), Sarov, Scoundrel, Seat, Silly, Simulation.
Параллельно полиморфик-вирусам развивались и генераторы. К концу 1993 года уже как минимум 7 генераторов активно использовались вирусописателями. С тех пор количество полиморфоф не только не росло, но стремительно падало. Это привело к их выпадению из расчетов. Как ни крути, а все таки лень — это вечный двигатель прогресса. При этом ему не нужно никакое топливо=). Чтобы облегчить свою сложную жизнь, человек способен придумывать неимоверные вещи. Вот и автоматизация производства вирусов была всего лишь еще одним этапом в развитии андеграунда. 5 июля 1992 г. объявлен к выпуску в свет первый конструктор вирусного кода для IBM-PC-совместимых компьютеров — пакет VCL (Virus Creation Laboratory) версии 1.00. Этот конструктор позволяет генерировать исходные и хорошо прокомментированные тексты вирусов, объектные модули и непосредственно зараженные файлы. VCL снабжен стандартным оконным интерфейсом. При помощи системы меню можно выбрать тип вируса, поражаемые объекты (COM и/или EXE), наличие или отсутствие самошифровки, противодействие отладчику, внутренние текстовые строки, подключить до десяти эффектов, сопровождающих работу вируса, и т.п. Вирусы могут использовать стандартный способ поражения файлов в их конец, или записывать себя вместо файлов, уничтожая их первоначальное содержимое, или являться вирусами-спутниками. И все сразу стало значительно проще: захотел напакостить ближнему — садись за VCL и, за 10-15 минут настрогав 30-40 разных вирусов, запусти их на неприятельском компьютере. "Каждому компьютеру — отдельный вирус!" — можно было спокойно делать девизом разработчиков пакета. Дальше — больше. 27 июля появилась первая версия конструктора PS-MPC (Phalcon/Skism Mass-Produced Code Generator). Этот конструктор не содержал в себе оконного интерфейса и генерировал исходные тексты вирусов по файлу конфигурации. Такой файл содержит в себе описание вируса: тип поражаемых файлов (COM или EXE); резидентность (PS-MPC создавал также и резидентные вирусы, чего не позволял конструктор VCL); способ инсталляции резидентной копии вируса; возможность использования самошифрования; возможность поражения COMMAND.COM и т.д. На основе PS-MPC был создан конструктор G2 (Phalcon/Skism's G2 0.70 beta), который поддерживал файлы конфигурации стандарта PS-MPC, однако при генерации вируса использовал больше вариантов кодирования одних и тех же функций. Имеющаяся у меня версия G2 помечена первым января 1993 года. Видимо, новогоднюю ночь авторы G2 провели за компьютерами. Лучше бы они вместо этого попили шампанского, хотя одно другому не мешает=). Итак, каким же образом повлияли конструкторы вирусов на электронную фауну? В частных коллекциях вирусов количество "сконструированных" следующее: на базе VCL и G2 — сотни; на базе PS-MPC — тысячи. Так проявилась еще одна тенденция в развитии компьютерных вирусов: все большую долю в коллекциях начинали занимать "сконструированные" вирусы, а в ряды их авторов начинали вливаться откровенно ленивые люди, которые сводили творческую и уважаемую профессию вирусописания к весьма заурядному ремеслу.
Год 1992-й принес больше, чем полиморфик-вирусы и вирус-конструкторы. В конце этого года появился первый вирус для Windows, открывший, таким образом, новую страницу в истории вирусописания. Небольшого размера (менее 1K), совершенно безвредный и нерезидентный вирус вполне грамотно заражал выполняемые файлы нового формата Windows (NewEXE) и своим появлением пробил для вирусов окно в мир Windows. Через некоторое время появились вирусы для OS/2, а в январе 1996 — и первый вирус для Windows95. В том же 1993 году появилась и первая попытка написать вирус, работающий в защищенном режиме процессора Intel386. Это был загрузочный вирус PMBS, названный так по строке текста внутри его кода. При загрузке с зараженного диска вирус переходил в защищенный режим, устанавливал себя как супервизор системы и затем загружал DOS в режиме виртуального окна V86. К счастью, вирус этот оказался "не жильцом" — его второе поколение напрочь отказывалось размножаться по причине нескольких ошибок в коде. К тому же, он "завешивал" систему, если какая-либо из программ пыталась выйти за пределы V86 — например, определить наличие расширенной памяти. Эта неудачная попытка написать вирус-супервизор так и оставалась единственной известной вплоть до весны 1997 года, когда один московский умелец выпустил вирус PM.Wanderer — вполне "удачную" реализацию вируса, работающего в защищенном режиме. Год 1995-й, август. Все прогрессивное человечество, компания Microsoft и Билл Гейтс лично празднуют выход новой операционной системы Windows95. На фоне шумного торжества практически незамеченным прошло сообщение о появлении вируса, использующего принципиально новые методы заражения — вируса, заражающего документы Microsoft Word. Честно говоря, это был не первый вирус, заражающий документы Word. До этого момента антивирусные фирмы уже имели на руках первый опытный образец вируса, который переписывал себя из документа в документ. Однако никто не обратил серьезного внимания на этот не вполне удачный эксперимент. В результате практически все антивирусные фирмы оказались не готовыми к последующему развитию событий — эпидемии макровируса — и начали спешно предпринимать полумеры. Например, несколько фирм практически одновременно выпустили в свет документы-антивирусы, действовавшие примерно по тем же принципам, что и вирус, однако уничтожавшие его вместо размножения. Кстати, спешно пришлось править антивирусную литературу — ведь раньше на вопрос: "Можно ли заразить компьютер при чтении файла?" — она отвечала: "Однозначно — нет!" — и приводила длинные доказательства. А вирус, получивший к тому времени имя Concept, продолжал победное шествие по планете. Появившись, скорее всего, в каком-то из подразделений фирмы Microsoft, Concept в мгновение ока завладел тысячами (если не миллионами) компьютеров. Это неудивительно, ведь передача текстов в формате MS Word стала де-факто одним из стандартов, а для того, чтобы заразиться вирусом, требуется всего лишь открыть зараженный документ, и все остальные документы, редактируемые в зараженном Word'e, также оказываются зараженными. В результате, получив по Internet зараженный файл и прочитав его, пользователь, сам того не зная, оказывался "разносчиком заразы", и вся его переписка (если, конечно же, она велась при помощи MS Word) также оказывалась зараженной! Таким образом, возможность заражения MS Word, помноженная на скорость Internet, стала одной из самых серьезных проблем.
Не прошло и года, как летом 1996-го года появился вирус Laroux (Лару), заражающий таблицы MS Excel. Как и в случае с вирусом Concept, новый макровирус был обнаружен "в природе" практически одновременно в разных фирмах. В 1997 году этот вирус стал причиной эпидемии в Москве. В том же 1996 году появились первые конструкторы макровирусов, а в начале 1997 появились первые полиморфик-макровирусы для MS-Word и первые вирусы для MS Office97. Плюс к тому, непрерывно росло число разнообразных макровирусов, достигшее нескольких сотен к лету 1997-го. Подходя к сегодняшнему дню, хочу сказать, что приоритеты вирусописателей меняются. Все чаще объектом охоты становятся чужие деньги, и вирусов, которые носят именно хулиганский характер, становится все меньше и меньше, а по последним данным, в 2007 году они и вовсе ушли на покой. Новый ли это поворот в разработке и реализации вредоносного ПО, покажет время. Пока же можно только предполагать, собственно, что я и делаю. На этом все, мои мысли на тему феномена компьютерных вирусов закончились.
Евгений Кучук, SASecurity gr.
Одной из проблем минувшего столетия для вирусологов была проблема полимофизма, т.е. мутации вирусов. Естественно, как таковой мутации не было — был лишь сложный алгоритм, который позволял вирусу шифроваться с определенной периодичностью. Это-то и осложняло жизнь…
Первый полиморфик-вирус появился в самом начале 90-х годов. Это был Chameleon. В те годы вирусописатели были без нынешнего чувства юмора (вспомним недалекое прошлое и всеми нами любимый Nechto.A) — особо оригинального названия ожидать не стоило. Этот экземпляр был всего лишь первой ласточкой. По-настоящему проблема встала в апреле 1991 года, когда практически весь мир был охвачен эпидемией вируса Tequila. России эта эпидемия не коснулась, насколько мне известно. Виновником первой эпидемии на территории нынешней РФ был вирус Phantom1. Популярность идеи самошифрующихся полиморфик-вирусов вылилась в появление генераторов полиморфик-кода — в начале 1992 появляется знаменитый вирус Dedicated, базирующийся на первом известном полиморфик-генераторе MtE и открывший серию MtE-вирусов. Полиморфик-генератор представлял собой объектный модуль (OBJ-файл), и для того, чтобы из самого обычного нешифрованного вируса получить полиморфик-мутанта, достаточно было лишь слинковать их объектные модули — OBJ-файл полиморфик-генератора и OBJ-файл вируса. Теперь автору вируса, если он желал создать настоящий полиморфик-вирус, не приходилось корпеть над кодами собственного за/расшифровщика. При желании он мог подключить к своему вирусу полиморфик-генератор и вызывать его из кода вируса. К счастью, первый MtE-вирус не попал в "окружающую среду" и не вызвал эпидемии, а разработчики антивирусных программ, соответственно, имели некоторый запас времени для подготовки к отражению новой напасти. Всего год спустя производство полиморфик-вирусов стало уже "ремеслом", и в 1993 году произошел их "обвал". В вирусном трафике удельный вес самошифрующихся полиморфик-вирусов становился все больше и больше. Создавалось впечатление, что одним из основных направлений в трудном деле создания вирусов становилась разработка и отладка полиморфик- механизма, а конкуренция среди авторов вирусов сводилась не к тому, кто из них напишет самый крутой вирус, а чей полиморфик-механизм окажется круче всех. Вот далеко не полный список тех из них, которые можно назвать стопроцентно полиморфичными (конец 1993): Bootache, CivilWar (4 версии), Crusher, Dudley, Fly, Freddy, Ginger, Grog, Haifa, Moctezura (2 версии), MVF, Necros, Nukeherd, PcFly (3 версии), Predator, Satanbug, Sandra, Shoker, Todor, Tremor, Trigger, Uruguay(8 версий). Для обнаружения этих вирусов приходилось использовать специальные методы, к которым можно отнести эмуляцию выполнения кода вируса, математические алгоритмы восстановления участков кода и данных в вирусе и т.д. К нестопроцентным полиморфикам (т.е. которые шифруют себя, но в расшифровщике вируса всегда существуют постоянные байты) можно отнести еще десяток новых вирусов: Basilic, Daemaen, Invisible (2 версии), Mirea (несколько версий), Rasec (3 версии), Sarov, Scoundrel, Seat, Silly, Simulation.
Параллельно полиморфик-вирусам развивались и генераторы. К концу 1993 года уже как минимум 7 генераторов активно использовались вирусописателями. С тех пор количество полиморфоф не только не росло, но стремительно падало. Это привело к их выпадению из расчетов. Как ни крути, а все таки лень — это вечный двигатель прогресса. При этом ему не нужно никакое топливо=). Чтобы облегчить свою сложную жизнь, человек способен придумывать неимоверные вещи. Вот и автоматизация производства вирусов была всего лишь еще одним этапом в развитии андеграунда. 5 июля 1992 г. объявлен к выпуску в свет первый конструктор вирусного кода для IBM-PC-совместимых компьютеров — пакет VCL (Virus Creation Laboratory) версии 1.00. Этот конструктор позволяет генерировать исходные и хорошо прокомментированные тексты вирусов, объектные модули и непосредственно зараженные файлы. VCL снабжен стандартным оконным интерфейсом. При помощи системы меню можно выбрать тип вируса, поражаемые объекты (COM и/или EXE), наличие или отсутствие самошифровки, противодействие отладчику, внутренние текстовые строки, подключить до десяти эффектов, сопровождающих работу вируса, и т.п. Вирусы могут использовать стандартный способ поражения файлов в их конец, или записывать себя вместо файлов, уничтожая их первоначальное содержимое, или являться вирусами-спутниками. И все сразу стало значительно проще: захотел напакостить ближнему — садись за VCL и, за 10-15 минут настрогав 30-40 разных вирусов, запусти их на неприятельском компьютере. "Каждому компьютеру — отдельный вирус!" — можно было спокойно делать девизом разработчиков пакета. Дальше — больше. 27 июля появилась первая версия конструктора PS-MPC (Phalcon/Skism Mass-Produced Code Generator). Этот конструктор не содержал в себе оконного интерфейса и генерировал исходные тексты вирусов по файлу конфигурации. Такой файл содержит в себе описание вируса: тип поражаемых файлов (COM или EXE); резидентность (PS-MPC создавал также и резидентные вирусы, чего не позволял конструктор VCL); способ инсталляции резидентной копии вируса; возможность использования самошифрования; возможность поражения COMMAND.COM и т.д. На основе PS-MPC был создан конструктор G2 (Phalcon/Skism's G2 0.70 beta), который поддерживал файлы конфигурации стандарта PS-MPC, однако при генерации вируса использовал больше вариантов кодирования одних и тех же функций. Имеющаяся у меня версия G2 помечена первым января 1993 года. Видимо, новогоднюю ночь авторы G2 провели за компьютерами. Лучше бы они вместо этого попили шампанского, хотя одно другому не мешает=). Итак, каким же образом повлияли конструкторы вирусов на электронную фауну? В частных коллекциях вирусов количество "сконструированных" следующее: на базе VCL и G2 — сотни; на базе PS-MPC — тысячи. Так проявилась еще одна тенденция в развитии компьютерных вирусов: все большую долю в коллекциях начинали занимать "сконструированные" вирусы, а в ряды их авторов начинали вливаться откровенно ленивые люди, которые сводили творческую и уважаемую профессию вирусописания к весьма заурядному ремеслу.
Год 1992-й принес больше, чем полиморфик-вирусы и вирус-конструкторы. В конце этого года появился первый вирус для Windows, открывший, таким образом, новую страницу в истории вирусописания. Небольшого размера (менее 1K), совершенно безвредный и нерезидентный вирус вполне грамотно заражал выполняемые файлы нового формата Windows (NewEXE) и своим появлением пробил для вирусов окно в мир Windows. Через некоторое время появились вирусы для OS/2, а в январе 1996 — и первый вирус для Windows95. В том же 1993 году появилась и первая попытка написать вирус, работающий в защищенном режиме процессора Intel386. Это был загрузочный вирус PMBS, названный так по строке текста внутри его кода. При загрузке с зараженного диска вирус переходил в защищенный режим, устанавливал себя как супервизор системы и затем загружал DOS в режиме виртуального окна V86. К счастью, вирус этот оказался "не жильцом" — его второе поколение напрочь отказывалось размножаться по причине нескольких ошибок в коде. К тому же, он "завешивал" систему, если какая-либо из программ пыталась выйти за пределы V86 — например, определить наличие расширенной памяти. Эта неудачная попытка написать вирус-супервизор так и оставалась единственной известной вплоть до весны 1997 года, когда один московский умелец выпустил вирус PM.Wanderer — вполне "удачную" реализацию вируса, работающего в защищенном режиме. Год 1995-й, август. Все прогрессивное человечество, компания Microsoft и Билл Гейтс лично празднуют выход новой операционной системы Windows95. На фоне шумного торжества практически незамеченным прошло сообщение о появлении вируса, использующего принципиально новые методы заражения — вируса, заражающего документы Microsoft Word. Честно говоря, это был не первый вирус, заражающий документы Word. До этого момента антивирусные фирмы уже имели на руках первый опытный образец вируса, который переписывал себя из документа в документ. Однако никто не обратил серьезного внимания на этот не вполне удачный эксперимент. В результате практически все антивирусные фирмы оказались не готовыми к последующему развитию событий — эпидемии макровируса — и начали спешно предпринимать полумеры. Например, несколько фирм практически одновременно выпустили в свет документы-антивирусы, действовавшие примерно по тем же принципам, что и вирус, однако уничтожавшие его вместо размножения. Кстати, спешно пришлось править антивирусную литературу — ведь раньше на вопрос: "Можно ли заразить компьютер при чтении файла?" — она отвечала: "Однозначно — нет!" — и приводила длинные доказательства. А вирус, получивший к тому времени имя Concept, продолжал победное шествие по планете. Появившись, скорее всего, в каком-то из подразделений фирмы Microsoft, Concept в мгновение ока завладел тысячами (если не миллионами) компьютеров. Это неудивительно, ведь передача текстов в формате MS Word стала де-факто одним из стандартов, а для того, чтобы заразиться вирусом, требуется всего лишь открыть зараженный документ, и все остальные документы, редактируемые в зараженном Word'e, также оказываются зараженными. В результате, получив по Internet зараженный файл и прочитав его, пользователь, сам того не зная, оказывался "разносчиком заразы", и вся его переписка (если, конечно же, она велась при помощи MS Word) также оказывалась зараженной! Таким образом, возможность заражения MS Word, помноженная на скорость Internet, стала одной из самых серьезных проблем.
Не прошло и года, как летом 1996-го года появился вирус Laroux (Лару), заражающий таблицы MS Excel. Как и в случае с вирусом Concept, новый макровирус был обнаружен "в природе" практически одновременно в разных фирмах. В 1997 году этот вирус стал причиной эпидемии в Москве. В том же 1996 году появились первые конструкторы макровирусов, а в начале 1997 появились первые полиморфик-макровирусы для MS-Word и первые вирусы для MS Office97. Плюс к тому, непрерывно росло число разнообразных макровирусов, достигшее нескольких сотен к лету 1997-го. Подходя к сегодняшнему дню, хочу сказать, что приоритеты вирусописателей меняются. Все чаще объектом охоты становятся чужие деньги, и вирусов, которые носят именно хулиганский характер, становится все меньше и меньше, а по последним данным, в 2007 году они и вовсе ушли на покой. Новый ли это поворот в разработке и реализации вредоносного ПО, покажет время. Пока же можно только предполагать, собственно, что я и делаю. На этом все, мои мысли на тему феномена компьютерных вирусов закончились.
Евгений Кучук, SASecurity gr.
Компьютерная газета. Статья была опубликована в номере 10 за 2008 год в рубрике безопасность