Обнаружение троянских коней с помощью анализа поведения системы

Автор: Садыков Е.Б.

Журнал: Форум молодых ученых @forum-nauka

Статья в выпуске: 5 (33), 2019 года.

Бесплатный доступ

Троянский конь считается одной из самых серьезных угроз компьютерной безопасности. Троянский конь - это исполняемый файл в операционной системе Windows. Этот исполняемый файл будет иметь определенные статические и динамические характеристики. Несколько системных процессов в ОС Windows будут вызываться всякий раз, когда троянский конь пытается выполнить какую-либо операцию в системе. В этой статье описывается новый метод обнаружения троянских коней с использованием динамических библиотек Windows для идентификации системных вызовов троянских коней. Process Explorer используется для идентификации вредоносных исполняемых файлов и определения того, являются ли они троянскими программами или нет.

Еще

Троянский конь, антивирусные средства

Короткий адрес: https://sciup.org/140286369

IDR: 140286369

Текст научной статьи Обнаружение троянских коней с помощью анализа поведения системы

В наши дни атаки на компьютеры и сети растут с угрожающей скоростью. Сегодня наблюдается множество атак, и каждая атака имеет разные мотивы и использует разные стратегии для использования систем. Это делает обнаружение и предотвращение атак чрезвычайно трудным. Несмотря на то, что у нас есть несколько типов атак на компьютеры, такие как вредоносные программы, вирусы и черви, троянские кони используются наиболее широко, и их популярность в области безопасности растет с каждым днем. Троянские кони похожи на любую компьютерную программу, которая работает на наших компьютерах. Они делают вид, что делают авторизованные действия пользователем; однако он выполняет действия, указанные хакером для использования системы. Троянский конь в основном предоставляет удаленный доступ к компьютеру, на котором развернут Троянский конь. Троянский конь не может работать без того, чтобы пользователь системы не дал первоначального разрешения, поскольку это исполняемый файл, для его работы необходимо запустить его в своей системе. Таким образом, троянский конь создан для того, чтобы воспринимать пользователя как законное программное обеспечение. Если пользователь не запустил исполняемый файл в системе, хакер не сможет получить доступ к системе.

Алгоритмы обнаружения троянских программ подразделяются на две категории. Наиболее часто используемые методы обнаружения вредоносных программ в большинстве антивирусных приложений основаны на сигнатурных технологиях [1]. Технология, основанная на сигнатурах, неэффективна для обнаружения троянских коней из-за свойства полиморфизма.

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

Троян описывается как простой исполняемый файл в операционной системе Windows. Однако у него есть некоторые свойства, которые сильно отличают его от обычных исполняемых файлов. Мы можем использовать эти свойства, чтобы обнаружить присутствие троянских коней. Трояны изначально молчат в системе, прежде чем она активируется клиентом [2]. Затем троян начинает выполнять работу для эксплойтера, такую как отправка данных слушателю и предоставление удаленного доступа.

Обнаружение с помощью PROCESS EXPLORER

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

Можно использовать различные инструменты для мониторинга процессов в системе. Также можно использовать Wireshark для анализа пакетов через сеть или для внедрения (dll) какой-либо формы в системный процесс, чтобы мы получали уведомления всякий раз, когда сторонний процесс пытается получить контроль над собственными системными процессами. Троянский конь состоит из раздела программных кодов. Если он работает на целевом компьютере, он должен вызывать различные функции API. Поэтому мы можем использовать неортодоксальную методологию технологии API Hook для мониторинга и перехвата троянов. Основной девиз - кодирование функции, которая вызывается каждый раз, когда запускается определенный системный процесс в Windows. Microsoft распространяет хуки преимущественно для того, чтобы помочь программистам исправлять ошибки своих приложений, но их можно использовать по-разному. Тем не менее, использование перехвата API и внедрения DLL для обнаружения того, что делает какой-то посторонний вредоносный процесс в нашей системе, является сложным делом, потому что каждый раз, когда мы внедряем (dll) в процесс, мы накладываем системную память, которая в противном случае всегда резервируется. для этого конкретного процесса. Это может привести к нескольким проблемам при одновременном использовании системы [3]. Самым простым способом мониторинга системного процесса является использование обозревателя процессов с помощью SysInternals, как показано на рисунке 1. Это инструмент, похожий на Windows Task Manager, с большей свободой в получении информации. Это может быть очень полезно при анализе и обнаружении любого вредоносного процесса / кода, запущенного в системе. Он отображает любой текущий процесс, запущенный в системе, его дочерние элементы, идентификатор процесса, описание и различную другую полезную информацию, связанную. Это может быть отличным инструментом для обнаружения троянов и вредоносных программ в системе.

Рисунок 1: Process Explorer от SysInternals

Всякий раз, когда мы ищем какие-либо вредоносные процессы, запущенные в нашей системе, мы обычно следим за процессами, которые не имеют подлинных цифровых подписей, значка / описания или названия компании. Он может жить в пользовательском каталоге или профиле пользователя. Он может содержать странные URL-адреса и иметь открытые конечные точки TCP / IP. Следовательно, в основном при использовании инструмента Process Explorer нужно искать следующие вещи: (1) если процесс упакован или нет, (2) если процесс находится в месте автозапуска, временная шкала процесса, (3) если Процесс проверяется цифровым способом и (4) содержит ли процесс какой-либо (dll), внедренный в процессы базовой системы. Упакованный означает, является ли процесс сжатым или зашифрованным. Вредоносные программы обычно используют упаковку (с использованием распространенных методов, таких как UPX), чтобы сделать антивирусную сигнатуру более трудной для сопоставления. Указание на то, упакован процесс или нет, дается определенным выделением цвета в Process Explorer. Обычно выделение фиолетовым цветом означает, что изображение процесса упаковано, как показано на рисунках 2 и 3.

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

Также трояны и вредоносные программы обычно находятся в системном пути, который используется для автоматического запуска приложений / процессов, или они присоединяются к процессам, которые запускаются при загрузке системы. Они часто прячутся за Svchost, Rundll32 и DLL Host. Любой подозрительный процесс можно проверить, если он находится в месте автозапуска с помощью Process Explorer.

Process Explorer также показывает время жизни процесса с момента загрузки системы. Некоторые из процессов имеют естественное время жизни. Они легко запускаются с момента загрузки системы. Таким образом, используя Process Explorer, мы можем найти те, которые были запущены позже. В большинстве случаев бэкдор и вредоносные коды начинаются позже.

Проверка изображений является одним из важных инструментов, которые могут помочь в обнаружении вредоносных программ и троянов. Проверка изображения - это процесс проверки цифровой подписи на файле. Большинство легитимного программного обеспечения имеют цифровую подпись, то есть имеется защищенное от несанкционированного доступа изображение, которое идентифицирует продукт и компанию. Любой процесс, работающий в системе, можно проверить, нажав кнопку «Проверить», чтобы проверить наличие подписей. Все коды Microsoft имеют цифровую подпись, т.e. Хэш файла подписывается закрытым ключом Microsoft. Подпись проверяется путем расшифровки подписанного хэша с открытым ключом. Программы, которые не являются подлинными, не могут быть проверены, и они могут быть поставлены под подозрение.

Рисунок 3. Подозрительный файл был проверен на VirusTotal (Выделено красным).

Другая функция, которую обеспечивает Process Explorer - это представление DLL. Вредоносные программы и трояны могут скрываться внутри любого законного процесса. Как правило, такие процессы загружаются через автозапуск. Вредоносные программы присоединяются к таким процессам с помощью внедрения DLL, так что всякий раз, когда процесс запускает связанную с ним DLL, вредоносные коды запускаются. Мы также можем увидеть dll, связанные с процессами, и обнаружить любое необычное поведение.

Тестирование и анализ вредоносного программного обеспечения при помощи Антивирусных средств

Для исследования уязвимостей Антивирусных средств (АС) был взят 1 опытный образец вредоносного программного обеспечения (ВПО). И оно будет подвергнуто следующим этапам тестирования:

  •    анализу ряда АС

  •    модификации с использованием стороннего ПО

  •    повторному анализу после любого изменения файла

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

Для тестирования АС мной было выбрано совершенно случайный образец ВПО. Результаты анализа мы можем увидеть на рис. 4.

(26/70)

26 engines detected this file

SHA-256          5dd327dd34ea771aa7bb6033bf8feb2768faab64d64f5466ceb13a0ba2579fdb

Filename           razorVirus Builder

File size             1001.43 KB

Last analysis 2019-05-01 10:50:12 UTC

Community score +32

Рисунок 4. Результат проверки ВПО без модификаций

Как мы можем видеть из отчета онлайн сервиса - данный образец хорошо узнаваем в лабораториях специалистов, занимающихся борьбой с ВПО и разработкой антивирусных программ. Изучив отчет более детально можно сделать вывод о том, что большинство АС действительно хорошо знакомы с предложенным им, в качестве подозрительного, продуктом. В итоге 26 из 70 тестируемых АС распознали в нашем файле угрозу при прохождении теста. (рис.4)

Ad-Aware

A Application.Hacktool.FQ

AegisLab

A Trojan.Win32.Generic.4ic

Alibaba

A HackTool:Win32/RazorCreate.1 ffSfcac

Area bit

A Application.Hacktool.FQ

Avast

A FileRepMetagen [DRP]

AVG

A FileRepMetagen [DRP]

BitDefender

A Application.Hacktool.FQ

Cybereason

A malicious.06c5b3

Cylance

A Unsafe

eScan

A Application.Hacktool.FQ

ESET-NOD32

A Win32/HackTool.Delf.NEL

FireEye

A Application.Hacktool.FQ

GData

A Application.Hacktool.FQ

Jiangmin

A Trojan/Delf.pnb

K7 AntiVirus

A Hacktool ( 005201 dd )

K7GW

A Hacktool (005201 dd )

MAX

A malware (ai score=77)

MaxSecure

A Trojan.Malware.11136416.susgen

McAfee

Artemis!B2Fl 9E906C5B

McAfee-GW- Ed ition

A BehavesLike.Win32.BadFile.fc

Рисунок 5. Подробный отчет проверки ВПО без модификаций

Далее, произведем модификацию опытного образца ВПО посредством криптования и подвергнем его повторному анализу.

(l7/7l)

17 engines detected this file

SHA-256      e860fe0e56dc03b3c43573c76aef8393af02e0b7727f83fc80f5ff6e98ec9964

Filename      razorVirus Builder

File size        2.71 MB

Last analysis 2019-05-01 14:35:17 UTC

Рисунок 6. Результат проверки упакованного первого образца ВПО

Наблюдая повторный отчет (рис.6) в глаза сразу бросается снижение результативности АС. На этот раз лишь 17 антивирус из 71 смог распознать угрозу. Изучим отчет подробнее и выясним какие образцы АС не смогли справится с модифицированным файлом. (рис.7)

Acronis

A suspicious

AVG

A FileRepMalware

Avira

A TR/Patched.Ren.Gen

Comodo

Д Packed.Win32.MUPX.Gen@24tbus

Crowdstrike Falcon

A win/malicious_confidence_80% (W)

Cylance

A Unsafe

Endgame

A malicious (moderate confidence)

F-Secure

A Trojan.TR/Patched.Ren.Gen

FireEye

Generic mg.2697ea673c01cd8e

Jiangmin

A Trojan/Delf.pnb

Kaspersky

A Packed.Win32.Dico.gen

Microsoft

A Trojan:Win32/Fuery.A!cl

Palo Alto Networks

A generic.ml

Rising

A TroJan.Fueryl8.EAFB (CLOUD)

SentinelOne

A DFI - Malicious PE

Sophos ML

A heuristic

ZoneAlarm

A Packed.Win32.Dico.gen

Ad-Aware

ф Clean

Aegis Lab

ф Clean

AhnLab-V3

ф Clean

Рисунок 7. Первый подробный отчет проверки упакованного образца ВПО

На этот раз мы не увидели в списке обманутых АС продукта лаборатории Касперского, что не может не радовать пользователей этого

антивируса.

Alibaba

ф Clean

ALYac

Q Clean

Antiy-AVL

Q Clean

Arcabit

Q Clean

Avast

Ф Clean

Avast Mobile Security

Q Clean

Babable

Q Clean

Baidu

Q Clean

BitDefender

ф Clean

Bkav

ф Clean

CAT-QuickHeal

Q Clean

ClamAV

Q Clean

CMC

ф Clean

Cybereason

Q Clean

Cyren

ф Clean

DrWeb

^ Clean

Рисунок 8. Второй подробный отчет проверки первого упакованного образца ВПО

При дальнейшем изучении отчета мы видим, что помимо малоизвестных названий АС стали появляться довольно известные продукты. Avast, DrWeb – широко известные бренды достаточно авторитетных производителей. Их удалось обмануть и это не может не настораживать.

Заключение

Анализируя поведение системы введенной с помощью с помощью Process Explorer, эта статья предлагает новый алгоритм для обнаружения троянских коней. Анализ показывает, что этот метод более выгоден, чем использование статических методов с использованием цифровых подписей.

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

Список литературы Обнаружение троянских коней с помощью анализа поведения системы

  • Т. Шуган, «Обнаружение троянского коня на основе интеллектуального анализа данных», «Нечеткие системы и обнаружение знаний», 2009. FSKD '09. Шестая международная конференция, 2009, стр. 311-314.
  • Дж. Конг, В. Сяо-Ян и Т. Хуа-Йонг, «Дерево динамических атак и его приложения для обнаружения троянских коней», в «Мультимедиа и информационные технологии» (MMIT), Вторая международная конференция 2010 г., 2010 г., С. 56-59.
  • L. Shicong, Y. Xiaochun, Z. Yongzheng, X. Jun и W. Yipeng, «Общая структура обнаружения троянских коммуникаций на основе сетевых трасс», в Networking, Architecture and Storage (NAS), 2012 IEEE 7-я Международная конференция, 2012, с. 49-58.
Статья научная