вторник, 8 октября 2013 г.

Классификация вирусов

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

Практическое определение вируса

Обязательное и необходимое свойство компьютерного вируса – возможность создавать свои дубликаты (не обязательно совпадающие с оригиналом) и внедрять их в вычислительные сети и/или файлы, системные области компьютера и прочие выполняемые объекты. При этом дубликаты сохраняют способность к дальнейшему распространению.

Вирус — программа, способная создавать свои копии (необязательно совпадающие с оригиналом) и внедрять их в файлы, системные области компьютера, компьютерных сетей, а также осуществлять иные деструктивные действия. При этом копии сохраняют способность дальнейшего распространения. Компьютерный вирус относится к вредоносным программам.

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

Вирусы

Жизненный цикл

Из-за особенности вирусов в способности к размножению в рамках одного компьютера, деление вирусов на типы происходит в соответствии со способами размножения.
Сам процесс размножения может быть условно разделен на несколько стадий:
  1. Проникновение на компьютер
  2. Активация вируса
  3. Поиск объектов для заражения
  4. Подготовка вирусных копий
  5. Внедрение вирусных копий

Проникновение

Вирусы проникают на компьютер вместе с зараженными файлами или другими объектами (загрузочными секторами дискет), и в отличие от червей, никак не влияют на процесс проникновения. Следовательно, возможности проникновения полностью определяются возможностями заражения, и классифицировать вирусы по этим стадиям жизненного цикла отдельно смысла нет.

Активация

Для активации вируса необходимо, чтобы зараженный объект получил управление. Здесь деление вирусов происходит по типам объектов, которые могут быть заражены:
Загрузочные вирусы – вирусы, заражающие загрузочные сектора постоянных и сменных носителей.
Пример: Virus.Boot.Snow.a - вредоносная программа записывающая свой код в MBR жесткого диска или в загрузочные сектора дискет. При этом оригинальные загрузочные сектора шифруются вирусом. Получив управление, вирус остается в памяти компьютера (резидентность) и перехватывает прерывания INT 10h, 1Ch и 13h. Возможные проявления вируса – на экране компьютера начинает падать снег.
Virus.Boot.DiskFiller – вирус, который также заражает MBR винчестера или загрузочные сектора дискет, остается в памяти и перехватывает прерывания – INT 13h, 1Ch и 21h. При заражении дискеты, вирус форматирует дополнительную дорожку с номером 40 или 80 (в зависимости от объема дискеты он может иметь 40 либо 80 дорожек с номерами 0-39 или 0-79 соответственно), на которую и записывает свой код, добавляя в загрузочный сектор лишь небольшой фрагмент – головную часть вируса.
При заражении винчестера Virus.Boot.DiskFiller располагает свой код непосредственно за MBR, а в самом MBR меняет ссылку на активный загрузочный сектор, указывая адрес сектора где он расположен.
Файловые вирусы — вирусы, заражающие файлы. В зависимости от среды в которой выполняется код, их можно разделить:
  • Собственно файловые вирусы — те, которые непосредственно работают с ресурсами операционной системы.
  • Макровирусы — вирусы, написанные на языке макрокоманд и исполняемые в среде какого-либо приложения. В подавляющем большинстве случаев речь идет о макросах в документах Microsoft Office.
  • Скрипт-вирусы — вирусы, исполняемые в среде определенной командной оболочки: раньше - bat-файлы в командной оболочке DOS, сейчас чаще VBS и JS - скрипты в командной оболочке Windows Scripting Host (WSH).

Вирусы, рассчитанные для работы в среде определенной ОС или приложения – неработоспособные в среде других ОС и приложений. Поэтому как отдельный атрибут вируса выделяется среда, в которой он способен выполняться. Для файловых вирусов это DOS, Windows, Linux, MacOS, OS/2. Для макровирусов – Word, Excel, PowerPoint, Office. Иногда вирусу требуется для корректной работы какая-то определенная версия ОС или приложения, тогда атрибут указывается более узко: Win9x, Excel97.

Поиск объектов для заражения

На данной стадии встречается два способа поведения вирусов.
  1. Получив управление, вирус производит разовый поиск жертв, после чего передает управление ассоциированному с ним объекту (зараженному объекту). 
  2. Получив управление и оставшись в памяти, вирус производит поиск жертв непрерывно, до завершения работы среды, в которой он выполняется
Практически все вирусы, исполняемые в среде Windows, равно как и в среде приложений MS Office, являются вирусами второго типа. И напротив, скрипт-вирусы являются вирусами первого типа.
Stealth-вирусы – вирусы, которые находясь постоянно в памяти, перехватывают обращения к зараженному файлу и на ходу удаляют из него вирусный код, передавая в ответ на запрос неизмененную версию файла. Так эти вирусы маскируют свое присутствие в системе. Для их обнаружения антивирусным средствам требуется возможность прямого обращения к диску в обход средств операционной системы. Набольшее распространение Stealth-вирусы получили во времена DOS.


Подготовка вирусных копий

Сигнатура вируса — информация, позволяющая однозначно определить наличие данного вируса в файле или ином коде. Примерами сигнатур являются уникальная последовательность байт, присутствующая в данном вирусе и не встречающаяся в других программах; контрольная сумма такой последовательности.

При создании копий для маскировки могут применяться следующие технологии:
  • шифрование — вирус состоит из двух функциональных кусков: собственно вирус и шифратор. Каждая копия вируса состоит из шифратора, случайного ключа и собственно вируса, зашифрованного этим ключом;
  • метаморфизм — создание различных копий вируса путем замены блоков команд на эквивалентные, перестановки местами кусков кода, вставки между значащими кусками кода «мусорных» команд, которые практически ничего не делают.
Сочетание этих двух технологий приводит к появлению следующих типов вирусов.
  • шифрованный вирус — вирус, использующий простое шифрование со случайным ключом и неизменный шифратор. Такие вирусы легко обнаруживаются по сигнатуре шифратора;
  • метаморфный вирус — вирус, применяющий метаморфизм ко всему своему телу для создания новых копий;
  • полиморфный вирус — вирус, использующий метаморфный шифратор для шифрования основного тела вируса со случайным ключом. При этом часть информации, используемой для получения новых копий шифратора, также может быть зашифрована.Полиморфные вирусы можно делить на классы по уровню полиморфизма.
Пик популярности полиморфных вирусов пришелся на времена DOS, тем не менее, и позднее полиморфизм использовался во множестве вирусов, продолжает использоваться полиморфизм и сегодня.

Внедрение

Внедрение вирусных копий осуществляется двумя разными методами:
  • внедрение вирусного кода непосредственно в заражаемый объект;
  • замена объекта на вирусную копию. Замещаемый объект, как правило, переименовывается.
Вирусы преимущественно используют первый метод. Второй метод намного чаще используется червями и троянами, а точнее троянскими компонентами червей, т.к. трояны сами по себе не распространяются.

Черви

Червь (сетевой червь) — тип вредоносных программ, распространяющихся по сетевым каналам, способных к автономному преодолению систем защиты автоматизированных и компьютерных сетей, а также к созданию и дальнейшему распространению своих копий, не всегда совпадающих с оригиналом, и осуществлению иного вредоносного воздействия.

Жизненный цикл

Жизненный цикл червей можно разделить на определенные стадии:
  • Проникновение в систему
  • Активация
  • Поиск «жертв»
  • Подготовка копий
  • Распространение копий

Проникновение в систему

На данном этапе черви делятся по типам используемых протоколов:

  • Сетевые черви — черви, использующие для распространения протоколы Интернет и локальных сетей. Обычно этот тип червей распространяется с использованием неправильной обработки некоторыми приложениями базовых пакетов стека протоколов tcp/ip;
  • Почтовые черви — черви, распространяющиеся в формате сообщений электронной почты;
  • IRC-черви — черви, распространяющиеся по каналам IRC (Internet Relay Chat);
  • P2P-черви — черви, распространяющиеся при помощи пиринговых (peer-to-peer) файлообменных сетей;
  • IM-черви — черви, использующие для распространения системы мгновенного обмена сообщениями (IM, Instant Messenger – ICQ, MSN Messenger, AIM и др.)

Способы активации

На этапе активации черви делятся на две большие группы, отличающиеся как по технологиям, так и по срокам жизни:
  1. Для активации необходимо активное участие пользователя
  2. Для активации участие пользователя не требуется вовсе либо достаточно лишь пассивного участия
Пассивное участие пользователя, например, просмотр писем в почтовом клиенте, при котором пользователь не открывает вложенные файлы, но его компьютер, тем не менее, оказывается зараженным.
Активация сетевого червя без участия пользователя означает, что червь использует бреши в безопасности программного обеспечении компьютера. Это приводит к очень быстрому распространению червя внутри корпоративной сети с большим числом станций, существенно увеличивает загрузку каналов связи и может полностью парализовать сеть. В итоге, эпидемии, вызванные активными червями, существеннее влияют на работу сети в целом, однако случаются значительно реже, чем эпидемии пассивных сетевых червей. Обязательной мерой защиты является своевременная установка заплат безопасности. Особенно уязвимыми для этого типа червей являются операционные системы семейства Microsoft Windows NT/2000/XP/2003.
Активное участие пользователя в активации червя означает, что пользователь был введен в заблуждение методами социальной инженерии. Основным фактором служит форма подачи инфицированного сообщения: оно может имитировать письмо от знакомого человека (включая электронный адрес, если знакомый уже заражен), служебное сообщение от почтовой системы или же что-либо подобное. Пользователь не отличает обычное письмо от зараженного и производит запуск автоматически.
От таких червей защититься заплатами невозможно. Не поможет и внесение сигнатуры сетевого червя в вирусную базу данных, т.к. разработчикам вируса достаточно изменить исполняемый файл, чтобы антивирус его не обнаруживал, и незначительно поменять текст сообщения, используя, в том числе и технологии спам-рассылок, применяемые для обхода фильтров.
В результате, эпидемии, вызванные пассивными сетевыми червями, могут быть гораздо продолжительнее и порождать целые семейства однотипных сетевых червей.

Поиск «жертв»

Поиск компьютера-жертвы полностью базируется на используемых протоколах и приложениях. Почтовый червь, производит сканирование файлов компьютера на предмет наличия в них адресов электронной почты, по которым в результате и производится рассылка копий червя.
Интернет-черви сканируют диапазон IP адресов в поисках уязвимых компьютеров. P2P черви кладут свои копии в общедоступные каталоги клиентов пиринговых сетей. Некоторые черви способны эксплуатировать списки контактов интернет-пейджеров, таких как ICQ, AIM, MSN Messenger, Yahoo! Messenger и др.

Подготовка копий для распространения

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

Трояны

Троян (троянский конь) — тип вредоносных программ, основной целью которых является вредоносное воздействие по отношению к компьютерной системе. У троянов отсутствует механизм создания собственных копий. Некоторые трояны способны к автономному преодолению систем защиты КС, с целью проникновения и заражения системы. В основном троян попадает в систему вместе с вирусом либо червем, в результате неосмотрительных действий пользователя или же активных действий злоумышленника.

Жизненный цикл

Три стадии:
  1. Проникновение на компьютер;
  2. Активация;
  3. Выполнение заложенных функций.
Троян может длительное время незаметно находиться в памяти компьютера, никак не выдавая своего присутствия, до тех пор, пока не будет обнаружен антивирусными средствами.

Способы проникновения

Существует два способа проникновения: маскировка и кооперация с вирусами и червями.

Маскировка — троян выдает себя за полезное приложение, которое пользователь самостоятельно загружает из Интернета и запускает. Иногда пользователь исключается из этого процесса за счет размещения на Web-странице специального скрипта, который используя дыры в браузере, автоматически инициирует загрузку и запуск трояна.
Внедрение злоумышленником троянского кода в код другого приложения усложняет распознавание трояна, так как зараженное приложение может открыто выполнять какие-либо полезные действия, но при этом тайком наносить ущерб за счет троянских функций.
Использование вредоносного скрипта, загружающего и запускающего троянскую программу на компьютере пользователя, используя уязвимость в веб-браузере, либо методы социальной инженерии – наполнение и оформление веб-сайта провоцирует пользователя к самостоятельной загрузке трояна.

Кооперация с вирусами и червями — троян путешествует вместе с червями или, реже, с вирусами. В принципе, такие пары червь-троян можно рассматривать целиком как составного червя, но в сложившейся практике принято троянскую составляющую червей, если она реализована отдельным файлом, считать независимым трояном с собственным именем. Кроме того, троянская составляющая может попадать на компьютер позже, чем файл червя.
При кооперации червей с вирусами, червь обеспечивает транспортировку вируса между компьютерами, а вирус распространяется по компьютеру, заражая файлы.

Активация

Приемы те же, что и у червей: ожидание запуска файла пользователем, либо использование уязвимостей для автоматического запуска.

Выполняемые функции

Трояны делятся на типы по характеру выполняемых ими вредоносных действий:
  • клавиатурные шпионы — трояны, постоянно находящиеся в памяти и сохраняющие все данные, поступающие от клавиатуры с целью последующей передачи этих данных злоумышленнику. Обычно, таким способом злоумышленник пытается узнать пароли или другую конфиденциальную информацию.
  • похитители паролей — трояны, также предназначенные для получения паролей, но не использующие слежение за клавиатурой. В таких троянах реализованы способы извлечения паролей из файлов, в которых эти пароли хранятся различными приложениями.
  • утилиты удаленного управления — трояны, обеспечивающие полный удаленный контроль над компьютером пользователя. Троянские утилиты удаленного управления никак не выдают своего реального назначения (в отличии от утилит специального назначения), так что пользователь и не подозревает о том, что его компьютер под контролем злоумышленника. Наиболее популярная утилита удаленного управления – Back Orifice.
  • люки (backdoor) — трояны предоставляющие злоумышленнику ограниченный контроль над компьютером пользователя. Обычно одними из действий являются возможность загрузки и запуска любых файлов по команде злоумышленника, что позволяет при необходимости превратить ограниченный контроль в полный.
  • анонимные smtp-сервера и прокси — трояны, выполняющие функции почтовых серверов или прокси и использующиеся в первом случае для спам-рассылок, а во втором для заметания следов хакерами.
  • утилиты дозвона — сравнительно новый тип троянов, представляющий собой утилиты dial-up доступа в Интернет через дорогие почтовые службы. Данные трояны прописываются в системе как утилиты дозвона по умолчанию и влекут за собой огромные счета за пользование Интернетом.
  • модификаторы настроек браузера — трояны, которые меняют стартовую страницу в браузере, страницу поиска или еще какие-либо настройки, открывают дополнительные окна браузера, имитируют нажатия на баннеры и т. п.
  • логические бомбы — троянские составляющие червей и вирусов, суть работы которых состоит в том, чтобы при определенных условиях (дата, время суток, действия пользователя, команда извне) произвести определенное действие: например, уничтожение данных (Virus.Win9x.CIH, Macro.Word97.Thus).

Ущерб от вредоносных программ

Черви и вирусы могут осуществлять все те же действия, что и трояны. За счет массовости, для вирусов и червей характерны также другие формы вредоносных действий:
  • Перегрузка каналов связи — свойственный червям вид ущерба, связанный с тем, что во время масштабных эпидемий по Интернет-каналам передаются огромные количества запросов, зараженных писем или непосредственно копий червя. В ряде случаев, пользование услугами Интернет во время эпидемии становится затруднительным. Примеры: Net-Worm.Win32.Slammer;
  • DDoS атаки — благодаря массовости, черви могут эффективно использоваться для реализации распределенных атак на отказ в обслуживании (DDoS атак). В разгар эпидемии, когда зараженными являются миллионы и даже десятки миллионов компьютеров, обращение всех инфицированных систем к определенному Интернет ресурсу приводит к полному блокированию этого ресурса. Примеры: Net-Worm.Win32.CodeRed.a – не совсем удачная атака на www.whitehouse.gov, Email-Worm.Win32.Mydoom.a – удачная атака на www.sco.com;
  • Потеря данных — более характерное для вирусов, чем для троянов и червей, поведение, связанное с намеренным уничтожением определенных данных на компьютере пользователя. Примеры: Virus.Win9x.CIH – удаление стартовых секторов дисков и содержимого Flash BIOS, Macro.Word97.Thus – удаление всех файлов на диске C:, Email-Worm.Win32.Mydoom.e – удаление файлов с определенными расширениями в зависимости от показателя счетчика случайных чисел;
  • Нарушение работы ПО — также более свойственная вирусам черта. Из-за ошибок в коде вируса, зараженные приложения могут работать с ошибками или не работать вовсе. Примеры: Net-Worm.Win32.Sasser.a – перезагрузка зараженного компьютера;
  • Загрузка ресурсов компьютера — интенсивное использование ресурсов компьютера вредоносными программами ведет к снижению производительности как системы в целом, так и отдельных приложений. Примеры: в разной степени – любые вредоносные программы.
Наличие деструктивных действий вовсе не является обязательным критерием для классификации программного кода как вирусного. Одним только процессом саморазмножения вирус способен причинить колоссальный ущерб. Наиболее яркий пример – Net-Worm.Win32.Slammer.

Угрозы безопасности информации

Общее число вирусов по состоянию на сегодня превосходит 198000, проанализировать угрозы со стороны каждого из них является слишком трудоемкой и бесполезной задачей, поскольку ежедневно возрастает количество вирусов, а значит, необходимо ежедневно модифицировать полученный список.
Классификация угроз по результату их влияния на информацию, а именно – нарушение конфиденциальности, целостности и доступности.


Угроза нарушения конфиденциальности
  • кража информации и ее распространение с помощью штатных средств связи либо скрытых каналов передачи: Email-Worm.Win32.Sircam – рассылал вместе с вирусными копиями произвольные документы, найденные на зараженном компьютере;
  • кража паролей доступа, ключей шифрования и пр.: любые трояны, крадущие пароли, Trojan-PSW.Win32.LdPinch.gen;
  • удаленное управление: Backdoor.Win32.NetBus, Email-Worm.Win32.Bagle (backdoor-функциональность).
Угроза нарушения целостности
  • модификация без уничтожения (изменение информации): любой паразитирующий вирус;
  • модификация посредством уничтожения либо шифрации (удаление некоторых типов документов): Virus.DOS.OneHalf – шифрование содержимого диска, Virus.Win32.Gpcode.f – шифрует файлы с определенными расширениями, после чего самоуничтожается, оставляя рядом с зашифрованными файлами координаты для связи по вопросам расшифровки файлов;
  • модификация путем низкоуровневого уничтожения носителя (форматирование носителя, уничтожение таблиц распределения файлов): Virus.MSWord.Melissa.w – 25 декабря форматирует диск C:;
Угроза нарушения доступности
  • загрузка каналов передачи данных большим числом пакетов: Net-Worm.Win32.Slammer – непрерывная рассылка инфицированных пакетов в бесконечном цикле;
  • любая деятельность, результатом которой является невозможность доступа к информации; различные звуковые и визуальные эффекты: Email-Worm.Win32.Bagle.p – блокирование доступа к сайтам антивирусных компаний;
  • вывод компьютера из строя путем уничтожения либо порчи критических составляющих (уничтожение Flash BIOS): Virus.Win9x.CIH – порча Flash BIOS;
Независимо от типа, вредоносные программы способны наносить значительный ущерб, реализуя любые угрозы информации – угрозы нарушения целостности, конфиденциальности, доступности. В связи с этим при проектировании комплексных системантивирусной защиты, и даже в более общем случае – комплексных системы защиты информации, необходимо проводитьградацию и классифицировать объекты сети по важности, обрабатываемой на них информации и по вероятности заражения этих узлов вирусами.