УДК 343.983.2

Статический и динамический анализ как методы исследования вредоносных компьютерных программ в рамках судебной программно-компьютерной экспертизы

Украинский Денис Дмитриевич – магистрант кафедры Криптологии и кибербезопасности Национального исследовательского ядерного университета «МИФИ».

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

Ключевые слова: судебная компьютерно-техническая экспертиза, объект, метод, статический анализ, динамический анализ, вредоносные программы, исходный код, байт-код.

Судебная компьютерно-техническая экспертиза – это один из видов судебной экспертизы, относящийся к классу инженерно-технических экспертиз. Целью данного вида экспертиз является получение доступа к информации, имеющей доказательственное значение для конкретного расследуемого дела, на носителях информации, представленных эксперту, а также последующее изучение данных, полученных в ходе доступа, с целью выявления их роли в расследуемом деле. В качестве объектов исследования выступают компьютерная техника и компьютерные носители информации. Для СКТЭ специальные знания содержатся в следующих технических отраслях: электротехника, схемотехника, программирование, электроника, радиотехника. Эти знания также заключаются в умении работать с вычислительной и автоматизированной техникой, информационными и телекоммуникационными системами, оконечным оборудованием. Для эффективного расследования конкретного дела, в рамках которого была назначена судебная экспертиза, необходимо провести комплексное исследование объектов, представленных на экспертизу и имеющих доказательственное значение по данному делу, которое должно быть основано на определенном алгоритме действий с учетом специфики проведения конкретного вида и отдельных обстоятельств расследуемого дела.

Выделяют следующие виды компьютерно-технических экспертиз [6]:

  1. Аппаратно-компьютерная экспертиза;
  2. Программно-компьютерная экспертиза;
  3. Информационно-компьютерная экспертиза;
  4. Компьютерно-сетевая экспертиза.

Стремительное развитие научно-технического прогресса обусловило появления относительно нового вида экспертиз – программно-компьютерного (далее - СПКЭ), который вошел в состав компьютерно-технических экспертиз, а вслед за появлением такого вида экспертиз стали появляться и совершенствоваться различные методы исследования вредоносных компьютерных программ.

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

  1. Алгоритм;
  2. Исходный текст программы;
  3. Сама программа.

Исходя из этого, в качестве родового объекта данного вида экспертиз выступают: алгоритмы, исходные тексты программ, пакеты, исполняемые модули и файлы.

В целом под методом принято понимать некий способ, который направлен на достижение конкретной цели и применим на практике в ходе осуществления определенного вида деятельности с учетом его характерных черт и конкретных обстоятельств. «С гносеологической точки зрения он представляет собой ключевой аспект в ходе познания окружающей действительности» [1, c. 230]. Этимологически понятие «метод» восходит к греческому языку и означает – «путь исследования». В науке метод имеет важное значение и подразумевает под собой определенный способ практического и теоретического изучения объекта. Научный метод базируется на знании закономерностей и особенностей изучаемого объекта. Метод же экспертного исследования является совокупностью инструментальных и (или) логических операций поиска и сбора данных для решения тех вопросов, которые были поставлены перед судебным экспертом. «Операции, входящие в состав какого-либо метода, реализуют практическое применение знаний о закономерностях объективной действительности на практике для получения новых знаний об исследуемом объекте, представленном на экспертизу» [3, c. 82].

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

Статический анализ программного обеспечения – это процесс проверки кода программы без ее фактического выполнения. В отличие от динамического анализа, статический анализ основан на изучении и анализе исходного кода программы или байт-кода. Существуют различные подходы к статическому анализу, включая анализ сигнатур, статический анализ потока данных, статический анализ символьных выражений и другие. Наиболее распространенным в виду своей несложной технической реализации является сигнатурный анализ. Данный метод основан на использовании антивирусных средств (антивирусов). При антивирусном исследовании некоторые задачи признаны не решаемыми, точнее говоря, невозможно получить точное их решение за ограниченное время [4]. Однако в некоторых случаях антивирусы могут существенно повысить процесс исследования вредоносных компьютерных программ, поскольку при их использовании гарантируется обнаружение тех вредоносных компьютерных программ, для которых известны их сигнатуры, однако, в силу свойственных им ограничений, естественно, что они не являются панацеей, поскольку неизбежен пропуск тех вредоносных программ, сигнатуры которых сканерам пока неизвестны. Ввиду этого, не следует останавливаться на статическом анализе. Необходимо использовать альтернативные подходы к исследованию вредоносных программ.

Сегодня уже можно выделить в отдельный класс такие методы исследования вредоносного программного обеспечения, которые известны в области информационной безопасности как методы поведенческого (динамического) анализа. Динамический анализ является одним из эффективных способов исследования вредоносного программного обеспечения. Динамический анализ кода – это способ анализа программы при ее выполнении, то есть непосредственное определение функциональных возможностей программного обеспечения экспериментальным путем в рамках проведения СПКЭ. Динамический анализ применяется для анализа уязвимостей программного обеспечения, которые обусловлены высокой сложностью современного программного обеспечения, большим объемом (может доходить до нескольких миллионов строк) сходного кода, интегрированием методов обфускации (запутывания) [2]. Динамический анализ выполняется уже после того, как был проведен статический анализ. Такой подход может подразумевать как непосредственное наблюдение за самим вредоносным программным обеспечением, так и исследование его системных компонентов. Динамический анализ в отличие от статического дает возможность наблюдать в строго контролируемых условиях за поведением вредоносной программы. «Например, если мы имеем дело с кейлогером, динамические методики позволят нам найти его журнальный файл, исследовать записи, которые в нем хранятся, узнать, куда кейлоггер отправляет информацию, и т.д. Получить такие сведения с помощью статического подхода было бы намного сложнее» [7, c. 62].

Существуют следующие технологии поведенческого анализа:

  1. Эвристический анализ. По определению словаря Ожегова-Шведовой «эвристика – это совокупность исследовательских методов, способствующих обнаружению ранее неизвестного»[5]. Этот способ применим, когда не существует формальных методов их решения или такие способы слишком сложны.
  2. Эмуляция кода – это технология, которая позволяет запустить программу в среде, которая эмулирует поведение операционной системы и центрального процессора. В процессе выполнения приложения в данной среде, оно не может нанести потенциальный вред системе, а вредоносное действие, скорее всего, будет обнаружено.
  3. Анализ поведения – это технология, которая обеспечивает перехват всех наиболее важных системный событий, установку собственных фильтров, позволяющих отслеживать всю системную активность. Эта технология способна оценивать не только единичное действие, но также и всю цепочку действий. Именно на такой технологии базируется большинство поведенческих блокираторов.
  4. Виртуализация рабочего приложения – это технология, обеспечивающая с помощью специального системного драйвера перехват запросов на запись информации на НЖМД и запись этой информации на виртуальный НЖМД (временный буфер), очистка которого по умолчанию будет произведена при отключении компьютера.

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

Список литературы

  1. Аверьянова Т.В. Судебная экспертиза. - М.: Норма, 2023. – 480 c.
  2. Аветисян А. И. Современные методы статического и динамического анализа программ для решения приоритетных проблем программной инженерии: автореф. дис. ... д-ра физ.-мат. наук: 05.13.11/Аветисян Арутюн Ишханович. М., 2011. 36 с.
  3. Усов А.И., ред. Производство судебной компьютерно-технической экспертизы. Ч. III. Специализированный словарь компьютерной лексики для экспертов судебной компьютерно-технической экспертизы. М., РФЦСЭ при Минюсте РФ, 2009. – С. 82.
  4. Understanding Heuristics: Symantec’s Bloodhound Technology. ? Режим доступа: http:// securityresponse.symantec.com/avcenter/reference/heuristc.pdf (дата обращения: 05.11.2023).
  5. Ожегов С.И., Шведова Н.Ю. Толковый словарь русского языка: 72500 слов и 7500 фразеологических выражений / Рос. АН, Ин-т рус. яз., Рос. фонд культуры. – М.: Азъ, 1992. – 955 с.
  6. Предмет, объект и задачи экспертизы // РФЦСЭ [Электронный ресурс]. URL: http://www.sudexpert.ru/possib/comp.php (дата обращения: 05.11.2023).
  7. Сикорски М., Хониг Э. С35 Вскрытие покажет! Практический анализ вредоносного ПО. — Спб.: Питер,. 2018. - 768 с.: ил. — (Серия «Для профессионалов»).

Интересная статья? Поделись ей с другими: