PRO вирусы. Версия 4.0 (Холмогоров) - страница 28



Рис. 1.Пример классификации вредоносных программ по степени опасности поведения


Почему такая система классификации является наиболее распространенной? Дело в том, что многие современные вредоносные программы являются многофункциональными и обладают формальными признаками сразу нескольких классов. Например, некий поступивший на анализ в вирусную лабораторию образец наделен способностью заражать файловые объекты (признак файлового вируса), но при этом может распространяться, создавая свои копии в общедоступных сетевых папках (признак сетевого червя), а также умеет выполнять поступающие от злоумышленников команды (признак бэкдора). В этом случае перед вирусным аналитиком возникает нелегкая задача: к какой категории отнести такой сложный экземпляр? Здесь на помощь приходит принцип поглощения классов, проиллюстрированный на представленной выше схеме, который позволяет отделить второстепенные по уровню опасности признаки от первостепенных. На указанной схеме мы видим, что наиболее опасное поведение находится в верхней части иерархии, а наименее опасное — в нижней. Так, способность предоставлять злоумышленникам несанкционированный доступ для управления зараженной машиной (бэкдор) менее опасна, чем умение самостоятельно распространяться без участия пользователя (червь). А оно, в свою очередь, представляет примерно равную опасность со способностью заражать файловые объекты (вирус): обе эти функции находятся в верхней части иерархической цепочки. Таким образом, аналитик скорее всего отнесет этот образец к классу файловых вирусов с признаками червя. Однако возможна ситуация, при которой основная опасность данной конкретной угрозы будет заключаться как раз в способности быстро и бесконтрольно распространяться по сети путем создания собственных копий, в то время как заложенный в программу механизм заражения файлов может срабатывать только при наступлении строго определенных условий или в ряде конкретных случаев. Тогда вирусный аналитик может отнести указанный образец к классу сетевых червей, и мы получим, ради разнообразия, червя, обладающего функцией заражения исполняемых файлов.

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