Вы используете устаревший браузер!

Страница может отображаться некорректно.

  • добавить в избранное
    Добавить в закладки

Побеждает профессионал

Прочитали: 4858 Комментариев: 85 Рейтинг: 305

30 марта 2017

Для наших читателей не секрет, что злоумышленники всячески стремятся обмануть антивирусные системы. «Продвинутые» вредоносные программы не имеют даже сигнатур, изменяют свой код на лету или вообще не имеют «тела», а лишь куски чужого кода. Но как бы ни был скрытен враг, для достижения своих целей ему необходимо действовать. И в этот момент он проявляет себя, а значит – его можно поймать.

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

Начнем с исследования кода. Любая программа – это последовательность неких команд компьютеру и необходимых для работы данных. Специальные программы (их называют «отладчиками») могут анализировать последовательности команд, помогая составлять алгоритмы действий и даже восстанавливать исходный код программы.

#drweb

https://ru-sf.ru/threads/delaem-svoj-virlab-vvedenie.3162

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

Существует два типа исследования кода – статический и динамический. Статический анализ производится по доступному аналитикам коду программы – или же по его фрагменту.

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

Что же делать, когда, например, код вредоносной программы надежно зашифрован? Тут может помочь динамический анализ – он производится во время исполнения кода злоумышленников.

Как бы вредоносная программа ни скрывала свой код, для выполнения она должна его «достать» — и в этот момент она становится уязвимой для антивируса. Киберпреступники это тоже понимают и препятствуют работе программ-отладчиков. Как известно, антивирусы используют различные средства для определения наличия на компьютере вредоносной программы. Но и те могут содержать аналогичные сигнатуры.

Некоторые вредоносные программы, например банковские троянцы, при запуске определяют наличие на компьютере «конкурентов», удаляют их и закрывают уязвимости, через которые те могли проникать. Ничего личного, бизнес есть бизнес!

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

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

https://news.drweb.ru/show/?c=5&i=10003&lng=ru

Как программа может узнать о том, что ее отлаживают? Методов много. Например, можно замерить характерное время ее исполнения.

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

http://python-3.ru/page/5-metodov-antiotladki

https://xakep.ru/2013/12/04/61704

https://habrahabr.ru/company/mailru/blog/240655

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

Trojan.Ticno.1537 после запуска несколькими способами пытается определить наличие виртуального окружения и средств отладки и запускается, только если ему не удалось обнаружить на атакуемом компьютере ничего для себя подозрительного.

https://news.drweb.ru/show/?i=11082

В первую очередь Trojan.Kasidet.1 проверяет наличие в инфицированной системе собственной копии, а также пытается обнаружить в своем окружении виртуальные машины, эмуляторы и отладчики. Если Trojan.Kasidet.1 найдет программу, которую сочтет для себя опасной, он завершит свою работу. Если таких программ нет, Trojan.Kasidet.1 пытается запуститься на зараженном компьютере с правами администратора. При этом на экране демонстрируется предупреждение системы Контроля учетных записей пользователей (User Accounts Control, UAC), однако издателем запускаемого приложения wmic.exe является корпорация Microsoft, что должно усыпить бдительность потенциальной жертвы.

https://news.drweb.ru/show/?i=10127

Интересно, что операционная система Windows имеет средства защиты от отладки.

Начиная с Windows 2000, функция NtSetInformationThread получила новый флаг ThreadHideFromDebugger. Это чрезвычайно эффективный метод антиотладки, входящий в операционную систему Windows OS. Поток, для которого установлен этот флаг, прекращает отправлять уведомления процесса отладки, в частности, о точках останова, тем самым пряча себя от любого отладчика. Использование ThreadHideFromDebugger для главного потока значительно усложнит процесс прикрепления отладчика к процессу.

Windows Vista предлагает логическое продолжение этой идеи в виде функции NtCreateThreadEx. Она имеет параметр CreateFlags, позволяющий среди прочего устанавливать флаг THREAD_CREATE_FLAGS_HIDE_FROM_DEBUGGER. Процесс с этим флагом будет скрыт от отладчика.

http://python-3.ru/page/5-metodov-antiotladki

Понятно, что предназначены такие средства для защиты от взлома легальных программ, но использовать их могут и злоумышленники. #Windows #технологии_Dr.Web #вредоносное_ПО

Антивирусная правДА! рекомендует

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

Оцените выпуск

Сделайте репост

Необходимо войти на страницу выпуска через аккаунт на сайте «Доктор Веб» (или создать аккаунт). Аккаунт должен быть связан с вашим аккаунтом в социальной сети. Видео о связывании аккаунта.


Нам важно ваше мнение

Чтобы оставить комментарий, нужно зайти через свой аккаунт на сайте «Доктор Веб». Если аккаунта еще нет, его можно создать.

Комментарии пользователей


 
На страницу: