Информационная безопасность

Вирусы. Принцип действия компьютерного вируса.

ВИРУСЫ.

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

Определение компьютерного вируса — исторически проблемный вопрос, поскольку достаточно сложно дать четкое определение вируса, очертив при этом свойства, присущие только вирусам и не касающиеся других программных систем. Наоборот, давая жесткое определение вируса как программы, обладающей определенными свойствами, практически сразу же можно найти пример вируса, таковыми свойствами не обладающего.Приведу несколько формулировок определения:Хронологически наиболее раннее определение от Евгения Касперского (книга "Компьютерные вирусы"):

 

 

Определение 1: ОБЯЗАТЕЛЬНЫМ (НЕОБХОДИМЫМ) СВОЙСТВОМ КОМПЬЮТЕРНОГО ВИРУСА является возможность создавать свои дубликаты (не обязательно совпадающие с оригиналом) и внедрять их в вычислительные сети и/или файлы, системные области компьютера и прочие выполняемые объекты. При этом дубликаты сохраняют способность к дальнейшему распространению.

 

Определение по ГОСТ Р 51188-98:        
  Определение 2: Вирус — программа, способная создавать свои копии (необязательно совпадающие с оригиналом) и внедрять их в файлы, системные области компьютера, компьютерных сетей, а также осуществлять иные деструктивные действия. При этом копии сохраняют способность дальнейшего распространения. Компьютерный вирус относится к вредоносным программам. Легко заметить, что определение в ГОСТ практически полностью повторяет определение Е. Касперского.


Определения 1 и 2 в большой степени повторяют определение Ф. Коэна или уточнение, предложенное Д. Чессом и С. Вайтом, что позволяет распространить на них (определения) вывод о невозможности создать алгоритм, обнаруживающий все такие программы или даже все "инкарнации" одного из вирусов. Тем не менее, на практике оказывается, что все известные вирусы могут быть обнаружены антивирусными программами. Результат достигается в частности еще и за счет того, что поврежденные или неудачные экземпляры вирусов, неспособные к созданию и внедрению своих копий, обнаруживаются и классифицируются наравне со всеми остальными "полноценными" вирусами. Следовательно, с практической точки зрения, т. е. с точки зрения алгоритмов поиска, способность к размножению вовсе не является обязательной для причисления программы к вирусам.Другая проблема, связанная с определением компьютерного вируса кроется в том, что сегодня под вирусом чаще всего понимается не "традиционный" вирус, а практически любая вредоносная программа. Это приводит к путанице в терминологии, осложненной еще и тем, что практически все современные антивирусы способны выявлять указанные типы вредоносных программ, таким образом ассоциация "вредоносная программа-вирус" становится все более устойчивой.Исходя из этого, а также из назначения антивирусных средств, в дальнейшем, если это не будет оговорено отдельно, под вирусами будут подразумеваться именно вредоносные программы.

 

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

 

Компьютерные вирусы, трояны и черви являются основными типами вредоносных программ.       
  Вирусы

 

 

Классические определения компьютерного вируса приведены выше.

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

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

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

Особенности реализации каждой стадии порождают атрибуты, набор которых фактически и определяет класс вируса.

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

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

Активация

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

1.Загрузочные вирусы - вирусы, заражающие загрузочные сектора постоянных и сменных носителей.

2.Файловые вирусы —вирусы, заражающие файлы. Эта группа дополнительно делится на три, в зависимости от среды в которой выполняется код:

· Собственно файловые вирусы — те, которые непосредственно работают с ресурсами операционной системы.Из последних вредоносных программ, обладающих вирусной функциональностью, можно отметить Email-Worm.Win32.Bagle.p (а также его модификации .q и .r).

· Макровирусы — вирусы, написанные на языке макрокоманд и исполняемые в среде какого-либо приложения. В подавляющем большинстве случаев речь идет о макросах в документах Microsoft Office.

Макро-вирусы способны заражать не только документы Microsoft Word и Excel. Существуют вредоносные программы ориентированные и на другие типы документов: Macro.Visio.Radiant заражает файлы известной программы для построения диаграмм -Visio, Virus.Acad.Pobresito - документы AutoCAD, Macro.AmiPro.Green - документы популярного раньше текстового процессора Ami Pro.

· Скрипт-вирусы — вирусы, исполняемые в среде определенной командной оболочки: раньше - bat-файлы в командной оболочке DOS, сейчас чаще VBS и JS - скрипты в командной оболочке Windows Scripting Host (WSH).Отдельно стоит отметить тот факт, что вирусы, рассчитанные для работы в среде определенной ОС или приложения, оказываются неработоспособными в среде других ОС и приложений. Поэтому как отдельный атрибут вируса выделяется среда, в которой он способен выполняться. Для файловых вирусов это DOS, Windows, Linux, MacOS, OS/2. Для макровирусов - Word, Excel, PowerPoint, Office. Иногда вирусу требуется для корректной работы какая-то определенная версия ОС или приложения, тогда атрибут указывается более узко: Win9x, Excel97.

 

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

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

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

Внедрение

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

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

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

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

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

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

Наличие деструктивных действий вовсе не является обязательным критерием для классификации программного кода как вирусного. Следует также отметить, что одним только процессом саморазмножения вирус способен причинить колоссальный ущерб. Наиболее яркий пример - Net-Worm.Win32.Slammer.

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

Рассмотрим угрозы безопасности информации с точки зрения вирусов. Учитывая тот факт, что общее число вирусов по состоянию на сегодня превосходит 100000, проанализировать угрозы со стороны каждого из них является слишком трудоемкой и бесполезной задачей, поскольку ежедневно возрастает количество вирусов, а значит, необходимо ежедневно модифицировать полученный список. Будем считать, что вирус способен реализовать любую из угроз безопасности информации.Существует множество способов классификации угроз безопасности информации, которая обрабатывается в автоматизированной системе. Наиболее часто используется классификация угроз по результату их влияния на информацию, а именно - нарушение конфиденциальности, целостности и доступности.Для каждой угрозы существует несколько способов ее реализации со стороны вирусов.

Угроза нарушения конфиденциальности

· Кража информации и ее распространение с помощью штатных средств связи либо скрытых каналов передачи: 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Как несложно было убедиться, для каждого из приведенных выше способов реализации угроз можно привести конкретный пример вируса, реализующего один или одновременно несколько способов.

Заключение

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