Всем привет. Ниже будет много глупого текста, ностальгических воспоминаний и школотного кода. Кроме того будет рассмотрена эффективность сервиса VirusTotal, а также антивирусных движков в отношении исполняемых файлов.
Часть 1. Бредово-ностальгическое вступление
В моей жизни многое поменялось. Мне стала интересна (местами — до недосыпов) моя текущая работа, в моём регионе четвёртый год идёт война, многое изменилось и переосмыслилось в личной жизни.
Многие взгляды и мнения изменились.
Лет 15-20 назад мне была интересна тема взлома и написания вредоносного кода, потом интересы сменились на прямо противоположные — защиту от этого дела, а потом я понял, что всем правят деньги и личные интересы, а вовсе не альтруизм и желание помочь.
Но то такое. В любом случае ИТ оказалось частью даже моей настоящей работы, хотя вовсе не относится к исходной специализации.
Лет 10 назад я написал в очень узком кругу про возможность снятия детекта антивируса с помощью самораспаковывающихся архивов. Тогда это было, кажется, на Virusinfo, потом кое-кто это перепостил под своим ником на DrWeb — так сказать, без копирайтов и со своим авторством, потом даже скандал был — но то тоже давно и неправда.
А недавно я вспомнил старое. Многое прошло, многие вещи обновились и угнаться за прогрессом, не варясь в теме, оказалось сложно.
Но суть осталась та же: сенсации, деньги и личные интересы. И игра на незнаниях — которые доходят иногда до того, что уязвимости Meltdown/Spectre ищут в телевизорах и бортовых компьютерах автомобилей )))
Но довольно этого неинтересного бреда. Итак, я решил вспомнить старое, а поскольку вспомнилось мало — то решил по старинке снять детекты с нескольких вирусов.
Нам потребуется:
- знания командных bat-скриптов Windows на уровне школьника.
- Quick Batch File Compiler (далее — QBC)
- 7za.exe из пакета 7z1800-extra.7z (далее — 7Z)
- upx.exe из пакета upx394w.zip (далее — UPX)
- файл eicar.com, скачать можно, например, тут (далее — Eicar)
- cамый базовый компьютер с выходом в интернет под управлением любой ОС Windows
Часть 2. Совсем немного теории
Для того, чтобы двигаться дальше, давайте разберёмся, о чём пойдёт речь. В настоящий момент, как, впрочем, и ранее, активно продвигается тема антивирусов. Дескать, антивирусы помогают не допустить потери важных данных, антивирусы спасают от уязвимостей, антивирусы — то, антивирусы — сё и так далее.
При этом зачастую рядовой пользователь даже не понимает, что антивирус — это не просто сканер, это и резидентная защита, и эвристик, а зачастую — и проактивная защита, файервол и песочница.
Каждому из этих компонентов мы можем посвятить не то что статью — книгу, но остановимся на самом базовом: сканере.
Этот компонент не позволит предотвращать соединения с вредоносными сайтами, он не будет ловить вредоносный код на лету, но он позволяет проверить файл и дать ответ: стоит его хранить — или лучше удалить сразу и навсегда.
Ниже мы протестируем разные движки антивирусов и посмотрим, насколько они справляются с этой задачей хорошо.
Отдельно хотелось бы отметить ресурс VirusTotal — он позволяет не только проверить файл различными движками антивирусов, но и представляет собой некую песочницу по тестированию вредоносного (и вообще любого) кода. Плюс платформы — бесплатность, минус — все образцы, которые высылаются на VirusTotal впоследствии передаются всем антивирусным лабораториям.
Именно по этой причине ниже я не буду давать ссылки на страницы с результатами сканирования, а предоставлю скриншоты с этими результатами, полученными в ходе работы. Очевидно (и я хочу в это верить!) после этой статьи результаты улучшатся.
Авторы вредоносного кода чрезвычайно часто используют упаковщики и протекторы, которые не только сжимают вредоносный файл, но и затрудняют его детектирование по сигнатурам, а также его последующий анализ. При использовании ворованных лицензий протекторов типа WinLicense и Themida обычно антивирусные лаборатории не затрудняют себя распаковкой, а просто добавляют сигнатуры протектора с ворованным ключом в детект (знаменитые детекты типа Trojan:?W32/Black.A). Это приводит к появлению ложных срабатываний — аналогичными ворованными лицензиями пользуются авторы генераторов ключей, патчеров и некоторых программ, которые по сути вредоносными не являются, но тем не менее защищаются от реверсинга.
Поскольку всё, описанное в этой статье, ниже будет предоставлено читателю для ознакомления, я не работал с реальным вредоносным кодом (хотя ниже предоставлю и его результаты сканирования), а использовал файл Eicar, популярный при тестировании антивирусов: это — своеобразная заглушка, на которую любой антивирус должен давать стойкий детект.
Итак, приступим.
Часть 3. Практика
Признаться честно, увиденное меня несколько поразило, потому что два антивирусных движка — Comodo и Malwarebytes почему-то решили не следовать общим стандартам и проигнорировать детект. Тем не менее результат очевиден — файл имеет детект, близкий к 100%.
Как мы договаривались в самом начале, мы — полная школота, а потому не будем изобретать свои методы упаковки, а просто упакуем файл в архив с помощью 7Z:
7za a eicar.7z eicar.com
Да, детектов стало поменьше, поскольку не все антивирусные движки включают распаковщик архивов 7Z (ну либо это настройка не включена в VirusTotal по умолчанию) — но всё равно детект высок.
Усложняем задачу: пакуем файл в архив с паролем. Пусть пароль будет fun:
7za a -mhe=on -pfun eicar-fun.7z eicar.com
Файл — чист, поскольку даже имея процедуру распаковки антивирус не знает пароль на файл.
Детект снят — но мы не получили исполняемый файл.
В реальных пакерах решение бывает достаточно сложным и мы не будем вдаваться в эти подробности. Воспользуемся услугами QBC и напишем простейший скрипт:
7za e -pfun eicar-fun.7z
start eicar.com
Скрипт просто распаковывает архив и запускает полученный файл. QBC позволяет не только сформировать простейший исполняемый файл на основе этого скрипта, но и включить в этот файл необходимое (7za.exe и архив eicar-fun.7z), доступ к которому выполняется через переменную %myfiles%.
Полученный выполняемый файл может быть без открытия окна терминала (так называемый «Ghost»), а это нам как раз и надо:
Итоговый код выглядит следующим образом:
cd %myfiles%
7za e -pfun eicar-fun.7z
start eicar.com
После компиляции полученный файл dumb_bat.exe распаковывает Eicar и запускает его.
Забавно, детект уменьшился с 60 для неупакованного файла и 41 для архива до 17 — при этом ни один из антивирусных движков не обнаружил Eicar, детекты явно имеют эвристический характер, а в ряде случаев напоминают ложное срабатывание (DrWeb, Baidu и др.)
Пойдём дальше — добавим в наш скрипт защиту от исполнения в тестовой среде — простейшую проверку, что файл выполняется в реальной системе. Для этого запустим распаковку только при условии, что в системе есть диск D и на нём есть хотя бы один файл:
cd %myfiles%
if exist d:/* (7za e -pfun eicar-fun.7z)
start eicar.com
Особое внимание — на низ таблицы, я его выделил отдельно, потому что на одну картинку всё не влезало:
Итак, проверка диска D «отломала» детекты китайцев, россиян и украинцев: Baidu, DrWeb, Zillya. При этом указанные движки, как и ряд других, были остановлены по таймауту (!)
Однако в этом случае эксперимент нельзя считать «чистым», поскольку прошло значительное время после первой проверки.
Мне эта ситуация показалась любопытной — и я изменил строчку в коде на следующую:
...
if <b>not</b> exist d:/* (7za e -pfun eicar-fun.7z)
...
Налицо разница в работе эвристиков ряда антивирусов (AegisLab и Baidu почему-то не обнаружили ничего во втором случае), а также налицо проблема в сканировании в случае проверки на наличие диска D. Впрочем, возможно это совпадение, хотя в ходе всего исследования я больше ни разу не наблюдал «отвала» такого количества движков сразу.
Движемся дальше — добавим нашему файлу интерактивности, которой точно не будет ни в одной тестовой среде. Изменим скрипт — сделаем его полноценным консольным (не «Ghost»), а также добавим команду pause:
@cd %myfiles%
@pause
@if exist d:/* (7za e -pfun eicar-fun.7z) > nul
@start eicar.com
Вот как выглядит итог выполнения такого файла:
Я не хочу наговаривать на пользователей, но кажется мне, что практически каждый нажмёт клавишу в этом случае :) В любом случае перед нами простой пример, который может быть завернут куда в более яркую обёртку социального инжениринга.
6 детектов из 67. Шесть, Карл! Все — эвристические. И скорее всего ничего не подозревающий пользователь посчитает файл безопасным.
Интересный итог я получил после сжатия итогового файла с помощью UPX командой:
upx --best --ultra-brute --8086 --backup --compress-icons=3 dumb_bat3.exe
Детекты добавили китайцы, а вот украинский Zillya благополучно провалил тест.
Часть 4. Выводы
А можно без них? ;) Ну ладно.
Безусловно, описанное выше — это примитивно, просто и в жизни всё не так. Хотя бы потому, что в реальности выполнение нашего файла сначала вызовет срабатывания проактивки, а потом будет заблокировано резидентным модулем, который увидит итоговый файл Eicar.
Но дело не в том.
Дело в том, что современные антивирусные сканеры так и остались барахлом, которым были десяток-два лет назад, абсолютно пасующим перед простейшими видами упаковки кода. Решения в виде тестовых сред — «песочниц», эвристических анализаторов и т.д. только добавили неразберихи, ложных срабатываний, но по сути не защищают от реальной угрозы. Со старым, открытым и разжёванным до потрохов UPX как был бардак — так он и остался. А ведь я вполне мог упаковать не файл, вызывающий вредоносную активность, а непосредственно код, работать не с файлами на диске в %temp%, а в памяти, использовать не свободно доступные утилиты, а собственные или закрытые разработки — и таким образом обойти срабатывание резидентной защиты. Я вполне мог добавить интересные элементы интерфейса или скопировать таковой из распространённой программы — и обойти проактивку у неискушённого пользователя, который просто будет соглашаться с любыми запросами, доверяя тому, что запустил.
То, что мы сделали выше — примитивный способ обмануть антивирус, который может понять и реализовать практически любой. И он сработал. Что говорить про искушённых специалистов!
Архив с файлами, скриптами и результатами можно скачать здесь.
В архив не вошло следующее (не войдёт и не будет предоставлено по любой просьбе по понятным причинам): файлы, обработанные по выше изложенному механизму и содержащие:
- Файловый инфектор Sality.aa
Результаты сканирования самого инфектора
Позор джунглям
Результаты сканирования 'упаковки'
- Довольно громко нашумевший совсем недавно локер Petya
Результаты сканирования самого инфектора
Дважды позор джунглям
Результаты сканирования 'упаковки'
Искренне надеюсь, что я был не скучен и ещё могу ясно излагать мысли по теме, как было когда-то раньше.
Комментарии (112)
vesper-bot
12.01.2018 14:14*нажимает на последний кат*… ой… а о чем я только что читал?
LoadRunner
12.01.2018 14:27+2Свет с Венеры отразился от верхних слоёв атмосферы и вызвал взрыв болотного газа.
Kobalt_x
12.01.2018 14:28я не очень понял а в чём смысл, virustotal тестирует только сканнер файлов. Неочевидно то что у кого детекта нет дадут запустить файл т.к тот же oas на распаковке скорее всего зарежет eicar. Почему вы считаете что эмулятор антивируса должен догадываться о том какой пароль у содержимого распаковывать самому и детектить eicar? Вполне резонно, что всё это ведет к эвристическуму детекту?
gjf Автор
12.01.2018 15:05Потому что резидент работает по тому же движку, что и сканер.
И суть не распаковывает содержимое.
Итог я Вам сейчас покажу.
Вот детект страшного вируса — исполняемого файла foobar2000, сжатого NSPack. Пароля там нет.
То есть вирусом является не код, а тот факт, что антивирусный движок не смог этот код распаковать? Вам это не кажется странным?
И я скажу Вам по секрету: эвристики в последних редакциях представляют собой не какие-то мифические угадыватели, а эмуляторы кода. И эмулируя код в моих примерах из статьи пароль очень даже известен )Kobalt_x
12.01.2018 15:59ну в предложенный ссылки детекты в основном китайских ав. В av comparatives я их имена не видел.
Про эвристики да они в основном на эмуляторе, но вроде акцентируется в основном на системные вызовы и вызов тех или иных системных компонентов. Вот оно и будет эмулироваться с точки зрения их, а никак не искать что это за бинарь не 7za ли, да это же опция password, надо срочно эту область с ним распаковать и просканироватьgjf Автор
12.01.2018 16:05Да уж. Sophos, F-Prot, Yandex и Vipre — явно китайские антивирусы :)
Простите, но AV Comparatives не является окончательной инстанцией и абсолютной истиной.
К тому же у Вас несколько неполные знания о работе эвристического эмулятора кода.
lostpassword
12.01.2018 14:41+3Очевидно, вы проделали достаточно большую работу — это вызывает уважение. Но с формулировкой выводов я не согласен.
примитивный способ обмануть антивирус
на самом деле таковым не является. В моём понимании «обмануть антивирус» (если навскидку) — это «успешно выполнить вредоносный код на ПК с корректно настроенным и работающим антивирусом, включенными защитными механизмами и актуальными базами». А у вас приведена ситуация «как протащить на ПК пользователя контейнер с вредоносным кодом», ну или «как обмануть файловый сканер антивируса». Пфф, да протащите вы хоть миллион таких файлов — и будут они там лежать до скончания века, пока не запустятся. Вот в момент запуска и начинается самое интересное — а этого в вашей статье нет. ?\_(?)_/?
Заголовок у статьи хороший, не жёлтый — а вот про выводы я такого, увы, сказать не могу. Если бы вы взяли несколько популярных антивирусов, установили их на стенд и успешно выполнили бы вредоносную нагрузку — тогда вывод про «обманули антивирус» я бы признал. Охотно верю, что при желании и такой эксперимент вам по силам — но это уже, согласитесь, всё-таки заметно более трудоёмкое мероприятие, чем упаковка исполняемого файла в 7z или однократное применение UPX)
Сканеры, конечно, далеко не идеальны. Но антивирус на ПК всё же штука полезная, так как
в реальности выполнение нашего файла сначала вызовет срабатывания проактивки, а потом будет заблокировано резидентным модулем
gjf Автор
12.01.2018 14:52Выше я уже указал реальную ситуацию с реальным зловредом и детектом.
Как уже говорил неоднократно — статья представляет собой РоС. Для обхода резидента достаточно перевести распаковку в область памяти, для обхода проактивки — ещё несколько штрихов. Но каждый дополнительный «штрих» добавляет специфичности к продукту, объёма работы и т.д. Подобные доклады, равно как и найденные решения — это уже немного не тот масштаб.
Но Ваше мнение принимается.lostpassword
12.01.2018 14:59Нет, не указали))
Очевидно, на этот файл нет отдельной сигнатуры. Вместе с тем, будет ли он заблокирован антивирусом на ПК — совершенно непонятно (вполне может сработать проактивная защита).
А «штрихи» — это и есть самое интересное. Цель-то — это выполнить нагрузку; протащить её — только часть дела, хоть и тоже по-своему непростая.gjf Автор
12.01.2018 15:07Но проактивная защита является пользователь-зависимой, не так ли? Как поступит простая домохозяйка, когда у неё появится алерт, что процесс Х желает запустить процесс У?
lostpassword
12.01.2018 15:13Вы проверяли?
По-моему, это уже от конкретного антивируса зависит. Скорее всего, часть поведенческих сигнатур отрабатывает и без взаимодействия с пользователем. Особенно явная жесть типа модификации всех подряд исполняемых файлов (пример совершенно абстрактный; какое именно поведение отлавливать — это уже вопрос к разработчикам сигнатур).gjf Автор
12.01.2018 15:16Проверял. Домохозяйка = хороший пример, она регулярно сталкивается с таким поведением при установке любой программы или выполнением любого обновления. Поэтому лишний раз такой алерт её напугает.
Мне неизвестно ни одного надёжного полностью автоматического проактивного механизма, который бы нравился пользователям. Либо он напрочь отрежет любую активность, подозревая её во вредоносности — и бедный сисдамин такой организации! — либо защитит постольку поскольку.
Если Вам известен пример обратного — сообщите о таком решении и его настройках.
gjf Автор
12.01.2018 15:13А по поводу сигнатур: на Sality и Petya она была.
Почему же эта сигнатура сбивалась простым UPX? Почему считанные эвристические эмуляторы проверили выполнение кода с распаковкой по моему сценарию и обнаружили угрозу?lostpassword
12.01.2018 15:18-1Так скорее всего сигнатуры и были не эвристическими, а файловыми. Файл поменялся — сигнатура сбилась.
Внедрение в сканер эвристики вообще довольно затратная штука: слишком большие расходы времени / ресурсов на проверку. Тоже, кстати, хороший вопрос, какие антивирусы это делают и какие настройки движков применены на VirusTotal.gjf Автор
12.01.2018 15:42Ну это означает, что Вы совершенно невнимательно прочитали мою статью, а также не понимаете, как выглядит файловая сигнатура и эвристическая.
ОК, возьмём проверенный вариант — Petya. Детекты выше были, их было 61 — хороший, надёжный детект.
Накрываем его UPX — старый, известный и опенсорсный упаковщик:
Осталось 47 детектов. Кто с файлового сменился на эвристический — не буду комментировать, разбирайтесь. Кстати, UPX — это уже нормальный пакер, такой пройдёт резидентную защиту, если сканер ничего не обнаружил, это уже не детский сад на пальцах, описанный в моей статье.
Едем дальше — NSPack 3.7 2006 года выпуска:
41 детект.
ASPack 2.28 2011 года:
27 детектов.
Поверьте, я могу поиграть ещё немного и сделать Петю безопасным, как блокнот Windows — но моя цель не показать это и заразить полмира (а чего, амбициозно!), я просто хочу сообщить о проблеме, доступно изложить её детали. Этого я и добивался.Kobalt_x
12.01.2018 16:02[zanuda mode]Сделать на уровня блокнота windows не сможете — у вас нет цифровой подписи от microsoft
Вы не показали, получится ли полученную нагрузку выполнить на ПК. То что сканнер рапортует что ок, это не значит что ав продукт даст вам что-то запустить, даже если распаковывать в память будете скорее всего будет детект проактивкой. Понятное дело что можно написать vm protection на бинарь который обломает уровень эмуляции hipsа, но это будет совершенно не такой уровень.gjf Автор
12.01.2018 16:20+2[zanuda mode off] А с каких пор на блокноте Windows стоит цифровая подпись?
Cayp
12.01.2018 20:09-1Если кому-то кроме меня стало интересно как так происходит, что на некоторых файлах в комплекте ОС отсутствует цифровая подпись: blog.didierstevens.com/2008/01/11/the-case-of-the-missing-digital-signatures-tab
vesper-bot
15.01.2018 10:31С учетом того, что для SHA1 подобрали-таки коллизию, можно считать, что на нотепаде цифровой подписи больше нет.
Cayp
15.01.2018 13:18Подобрать к уже существующему хешу файл с таким же хешем и подобрать два произвольных документа с одинаковым хешем — разные вещи. (вот тут разъясняют blog.cloudflare.com/why-its-harder-to-forge-a-sha-1-certificate-than-it-is-to-find-a-sha-1-collision )
Пишут, что second-preimage attack даже на MD5 ещё не найдена.
Статья хоть и 2015 года, но всё ещё соответствует реалиям, SHA1 уже в то время считался не самым стойким алгоритмом хеширования.
Плюс найденные(опубликованные) векторы коллизии в SHA1 известны и нормальные CA не должны выдавать сертификаты в которых замечают подобное, таким образом компенсировать этот риск (ещё там энтропия и непредсказуемость).
(пример github.com/cr-marcstevens/sha1collisiondetection)
Поэтому провести атаку с подменой файла, подписанного SHA1, всё ещё выглядит нереальным. Скорее, более уязвимыми в этом плане являются сами сертификаты, при помощи которых осуществляется подпись, т.е. CA, которая их выдаёт.vesper-bot
16.01.2018 08:40Если я правильно понимаю эти каталоги безопасности в виндах, то подписывается сертификатом там не файл, а список хэшей, т.е. для того, чтобы программа считалась подписанной, нужно, чтобы её хэш был в списке, и вероятно, чтобы путь к ней совпадал с указанным в каталоге (я не увидел, хранит ли каталог безопасности путь к файлу, или что-либо ещё). Таким образом, атака подменой исполняемого файла выглядит вполне реализуемой.
Cayp
16.01.2018 12:25Давайте ещё раз.
атака подменой исполняемого файла выглядит вполне реализуемой
В такой ситуации, это то, что называется preimage attack, т.е. у вас есть известный хеш, вам надо создать файл с таким же хешем.
Это для SHA1 пока-что не реализуемо (не нашли такую уязвимость в алгоритме, которая позволит понизить требуемую вычислительную мощность для перебора и уйти от прямого brute-force).
Поэтому само по себе подменить один заданный файл на второй файл с таким же хешем пока не выйдет.
Основная проблема с SHA1 коллизией, в том, что этим алгоритмом хеширования пользуются CA для подписи сертификата (digital signature). Т.е. возможно при определённых условиях получить сертификат с подписью идентичной подписи уже ранее выпущенного сертификата (только подпись, не закрытый ключ) и, например, подписать им код, и ему будут доверять, т.к. поддельный сертификат будет проходить проверку на валидность (это верная цепочка доверия до корневого CA плюс проверка на отзыв), хоть при этом и не будет являться идентичным сертификатом. Одно из этих определённых условий — предсказуемость полного содержимого сертификата (того сообщения, которое будет подвергнуто хешированию самим CA). CA с этим борется путём увеличения энтропии этого сообщения, т.е. делая его непредсказуемым и исключая известные векторы атаки в содержимом запросов. Плюс ужесточая проверку в реальном мире(документы, юрлица, звонки) при получении Code Signing сертификатов.
Такую подмену смогли сделать пока только для MD5.
Поэтому как раз подмена файла на файл с таким же хешем выглядит маловероятно.
На данный момент гораздо более вероятной выглядит угроза компрометации сертификатов. Поэтому CA так торопятся уйти от SHA1 одними из первых.
Это справедливо и для файлов, которые заверены подписью в PE заголовке или отдельно, через catroot.
В любом случае, если злоумышленник хозяйничает в каталоге ОС, то уже поздно. Это просто плюс один способ дольше оставаться незамеченным.
Диалог начался с того предположения, что подписи нет вообще. По факту она есть, просто не в PE заголовке.
Loki3000
12.01.2018 14:55+1Пфф, да протащите вы хоть миллион таких файлов — и будут они там лежать до скончания века
Можно протащить через корпоративный почтовый сервер с антивирусным сканером, а у пользователей антивируса может вообще не быть. Да и чего беспокоиться — в письме же стоит пометка что антивирусом проверено. Так что не залежаться:)lostpassword
12.01.2018 15:01-1у пользователей антивируса может вообще не быть
О_О
Ну это ужеклинический случайкакой-то совсем спорный подход к обеспечению корпоративной безопасности.teecat
12.01.2018 15:18+1Наблюдал неоднократно.
— мы бедные и никому не интересны
— а докажите нам на цифрах, что ваш продукт гарантированно снизит наши расходы на восстановление потерянной информации
— у нас пользователи умные и ходят только по необходимым по работе ресурсамlostpassword
12.01.2018 15:30-1Ну если менеджмент считает, что закрывать эти риски нецелесообразно — пожалуйста. Жизнь покажет, правы они или нет. Возможны оба варианта.)
yosemity
12.01.2018 23:23Есть бесплатные для коммерческого использования антивирусы. И я сейчас не о MSE даже.
Вероятность словить заразу у такиз ребят очень высока. Не, ну если у них там везде всё круто, многоуровневая защита периметра, правильные SecPol и прочие SRP, то есть возможность работы без антивируса на станциях. Только вот что делать с флешками? у меня, например нет возможности лочить их, это часть бизнес-процессаgjf Автор
12.01.2018 23:33Обычно они запрещаются на уровне отключения портов.
yosemity
12.01.2018 23:48Я знаю как запретить доступ к внешним накопителям, но написал, что лично у нас это, как минимум, очень затруднительно. Мы — медиа, штат — 79 рабочих мест, на 23:42 2018.01.12. Нужен как минимум один живой отдельный человек, которому бы все сотрудники приносили бы устройства для проверки. Это сильно усложняет и задерживает процесс. Пришел клиент с роликом на флешке, а ему — «пррройдемте», а там уже такой же стоит и ждет. Да, весь диск сканировать не надо, достаточно переписать, но это лишнее время. К тому же неизвестно что делать с запароленными архивами. Юзер точно забьет болт, сам скачает, сам распакует. SRP тут выручит, почти в 100% случаев, конечно. Хм, пока писал, тут подумал, так и флешки не при чем, получаются. Один фиг, не запустится ничего. Ну тогда, пожалуй, да. Есть смысл жить без антивирусов при очень хорошей защите периметра. Я даже задумался. Ведь в детектах на клиентах я вижу только срабатывания на сайтах и закачанных из разных источников файлах. Есть повод изменить стратегию АВ-защиты. Ну и пускай лежат себе Пети с ВаннаКраями. Такой интересный будет рассадник заразы, ни разу не запущеной )) Есть вариант, когда юзер обойдет SRP злонамеренно и тогда ничего не спасет контору от утомительного простоя и рекавери данных.
gjf Автор
12.01.2018 23:52Ещё один вариант: полный возврат системы к исходному состоянию после перезагрузки. Пользователям доступна только сетевая папка, которая не стирается.
Ну и конечно политика ограничения прав.yosemity
13.01.2018 00:02Опять не наш случай. Возврат системы никак не поможет, когда зараза уже сидит и портит файлы на сетевых ресурсах. Видеоматериалы очень много весят. Многие юзеры обязаны иметь права на запись в соответствующие каталоги с медиа-контентом. Имея несколько десятков ТБ, я имею очень ограниченные ресурсы по их бекапу. Конечно, юзер не может заразить всё, только куда есть доступ 660, но опять же это простой. Я действительно сильно задумался о дополнительных мерах защиты периметра, посмотрим, что это даст.
P.S. вдруг, через полтора года тут будет статья типа «как мы год живем без антивируса», интерейсный кейс я щас себе придумал.gjf Автор
13.01.2018 00:11Ну дерзайте, никто лучше Вашу специфику не знает, чем Вы.
Но вот что мне ещё пришло в голову.
Ваши пользователи работают с медиа — софт стоит в одном месте, прав на запись там у пользователей нет, только выполнение.
Запись есть в единой папке, но при отобрать права на запись исполняемых файлов, только медиаконтент.
В итого зараза просто не сможет быть запущенной.
Есть ещё вероятность проникновения извне через уязвимости — но это совсем другая история.yosemity
13.01.2018 00:13Хорошо, я не слишком люблю ссылаться на свои же статьи, но тут не обойтись — habrahabr.ru/post/269531
Можете просто пробежаться по заголовкам. Всё упомянутое на момент публикования статьи, естественно, реализовано. Сейчас еще кое-что накручено сверху.gjf Автор
13.01.2018 01:44Ну так вполне нормальная статья. Всё в принципе известное и очевидное собрано воедино и приправлено реальными примерами.
Я не лезу в Ваш монастырь со своим уставом, просто озвучиваю идеи применительно к Вашей проблеме. Если «папа сам с усами» — ОК, умолкаю.
yosemity
13.01.2018 00:11Я наврал, не будет такой статьи. Сам же упомянул злонамеренный обход SRP и успешно про него забыл в предыдущем комментарии.
Areso
13.01.2018 00:04Наблюдал более интересное поведение.
На клиентских ПК стоят антивирусы (платные, лицензия, все дела), а на серверах — нет. А знаете почему нет, хотя данные на 1 сервере стоят столько же, сколько на всех клиентах вместе взятых? Да потому, что любой из этих ммм программных продуктов, уже в 2018 году, не умеет правильно соразмерять свои возможности по захвату ресурсов и эти самые ресурсы. Антивирус, которому взбрело вдруг что-нибудь проверить, вполне в состоянии парализовать работу 1000 человек на несколько минут (если повезет). Если не повезет, и будут дэдлоки — до нескольких часов. Почему из эдцати ядер надо сожрать все эдцать, несмотря на любые настройки, и начать при этом с первого (нулевого?) ядра, я не понимаю. Я уж не говорю о том, что внеплановая проверка может поставить дисковую подсистему в неудобное положение.
Прямо как 1С. Шел 2018-ый год, а построение отчета наглухо вешает процесс.yosemity
13.01.2018 00:07На каспере не встречал такого, живут АВ там и там. На FS, естественно не Endpoint. У них же там типа технология «интеллектуальной проверки», если один сканер проверил, другой не трогает.
Опять 1с приплели черт знает зачем.Areso
13.01.2018 08:50Затем, что 1С тоже не умеет адекватно пользоваться ресурсами, в результате GUI тупо фризится и все. К сожалению, мне сейчас неудобно предоставить пруфы к моему высказыванию выше, но поверьте на слово — на текущей работе у нас есть 1 маленький сервер с Касперским, на предыдущей работе на сервере стоял DrWeb. И оба продукта вели себя почти одинаково плохо.
teecat
15.01.2018 11:40Есть такое дело, а почему? Антивирус он же в общем вещь тупая и делает добрые дела так как он понимает. Если кто-то дергает постоянно базу данных скажем и таймаут (не суть какой, их много) на проверку истек, то файлы начнут перепроверяться. Именно поэтому та же Майкрософт размещает рекомендации, какие файлы и базы данных нужно исключать из проверки. Естественно настроив запреты доступа в эти места, что бы в них не размещали всякие трояны
И антивирусная система защиты — это не только антивирус. Это набор мер, которые вы выбираете на основании рисков. Можно обойтись запретом доступа, изоляцией подсетей и процессов, введением терминального доступа и тд. Это тоже антивирусная защита. Вон скажем Касперские продвигают для банкоматов и встраиваемых систем продукт на основе контроля целостности и периодических проверок — постоянной антивирусной защиты не предполагается.
Я лично не сторонник использования только контроля доступа — при таком подходе свои минусы, но если есть проблемы с производительностью — это один из вариантов
gjf Автор
12.01.2018 15:09Спасибо, чуть не забыл — именно так проходило заражение Петей на предприятиях Метинвест-холдинга на Украине. Довелось быть свидетелем, кстати )))
teecat
12.01.2018 15:13+1Наоборот. Сначала файловый монитор (проверяет до старта), потом поведенческий анализатор (смотрит, что делает после запуска)
Но на самом деле проверок еще больше. Если брать самый общий случай, то:
проверка на доступ к ресурсу на наличие в списке невредоносных — проверка трафика на вирусы — проверка скачанных скриптов на подозрительность/проверка письма на спам и отсечение писем с вложениями — запрет на старт по белому списку/правам запуска — проверка при старте файловым монитором — контроль проактивкой — проверка руткитом
Естественно все это при соответствующей настройке системы. А обойти именно анализ антивирусным ядром на основе информации в антивирусных записях естественно можно
gjf Автор
12.01.2018 15:58Кстати, а с заголовком-то что?
Сканирование файлов антивирусами рассмотрели — сигнатуры сбиваются упаковкой, эвристики больше дают ложных срабатываний, чем пользы.
Доверие результатам VirusTotal вроде как в статье набросал кучу и в комментариях вторую — нет его, доверия, любой безопасный файл можно обставить как вредоносный и наоборот.
В чём желтизна-то?lostpassword
12.01.2018 16:26Заголовок хороший, мне понравился — я же так и написал)
Только с выводами не согласен.gjf Автор
12.01.2018 16:29+1Я понял, извините, спутал «не» с «но».
Много вопросов и комментариев получилось.
Herhen
12.01.2018 15:43-1Немного личного опыта: заметил, что с завидной регулярностью ВирусТотал ругается программы отечесвенной разработкой, причём среди списка баз фигурируют только иностранные, а отечественный отмалчиваются. К чему бы это?
gjf Автор
12.01.2018 16:01+1Правильно ли я понял Ваш ломаный русский: Вы утверждаете, что ВирусТотал ругается на отечественные программы, при чём в этом случае ругаются зарубежные антивирусы, а отечественные отмалчиваются?
Если я правильно понял, то эта информация неверная.Herhen
13.01.2018 08:57Вот пример такой проги www.defacto-com.ru/demo.html
Herhen
14.01.2018 02:17Зачем минусите? Вот пруфы:
(Как видно, Symantec и McAffee ругаются, а Dr. Web и Kaspersky молчат…)
P. S. Прога реально используется отделом «К», если надо кого-то обвинить в установке ворованного ПО
athacker
12.01.2018 17:52+1У сканеров нет другой возможности детектить вирусы, кроме как по сигнатурам. Открою страшную тайну — практически все системы анализа трафика или дискового содержимого делают это по сигнатурам. И SIEM'ы многие на сигнатурах работают.
Поэтому обеспечение безопасности — это комплексный процесс. От обучения пользователей не кликать на посторонние ссылки в левых письмах, до антивирусов, песочниц, DPI и SIEM.
Всем известно, что детект по сигнатурам полон недостатков, но пока никому ничего лучше придумать не удалось. Если у вас есть какие-то идеи, которые позволят выкинуть сигнатурный анализ на свалку истории — так поделитесь :-)gjf Автор
12.01.2018 18:01+1Когда-то давно — ещё до того, как Invincea приобрела Sandboxie, существовал аддон Buster Sandbox Analyzer.
Аддон позволял выполнять исследование исполняемых и не только файлов с среде песочницы с выводом логов активности.
То есть файл реально выполнялся, однако изменения не вносились в систему, однако все API-вызовы журналировались, равно как и другая активность.
Понятно, что в случае, если анализируемый файл проявлял сетевую активность, то подобный анализ усложнялся, также понятно, что в случае защиты от выполнения в тестовой среде тоже всё было непросто, но тем не менее анализ получался довольно интересный, более того — имелись некоторые идеи по его автоматизации.
Я об этом даже писал когда-то давно.
К сожалению, проект умер вместе с изменениями в самой Sandboxie. Однако, как мне помнится, сейчас во многих решениях есть песочницы — в чём проблема сделать в них аналогичный обнюхиватель?
Идея не нова, что касается революционных решений — извините, а с каких пор идеи генерирует пользователь, платящий за лицензии, а не разработчик, получающий зарплату? ;)athacker
12.01.2018 21:37Вам не кажется, что это несколько не логично? Вы предъявляете претензии к СКАНЕРАМ, а в качестве альтернативы сигнатурному анализу рекомендуете песочницы. Но песочницы — это уже другая технология из комплекса мер противодействия угрозам ИБ. И свои минусы у неё тоже есть — например, большое время обработки файла по сравнению со сканером по сигнатурам.
Песочницы, разумеется, есть уже если не во всех, то в большинстве современных антивирусов: safe.cnews.ru/news/top/kasperskij_obzavelsya_pesochnitsej
Реализованы по-разному — что-то пытается разматывать потенциально вредоносные файлы локально, что-то — отправляет в облака вендора, и решение о рисках принимается уже там. Но факт в том, что они есть. Правда, не очень понял, почему вы считаете, что там нет «обнюхивателя» :-) Для чего же тогда песочница вообще нужна, как не для этого самого?
Идея не нова, что касается революционных решений — извините, а с каких пор идеи генерирует пользователь, платящий за лицензии, а не разработчик, получающий зарплату? ;)
Ну так если идея действительно окажется революционной, то вы можете неплохо поправить материальное благосостояние :-)gjf Автор
12.01.2018 22:26Всё предельно логично.
1. Сигнатуры должны быть верными и действительно отвечать реальным угрозам, а не «угрозам без риска» (см. выше). Кстати, сигнатуры добавляют тоже отнюдь не быстро.
2. Эвристическому анализатору, который, как показал эксперимент, одинаково сообщает как о ложный угрозах, так и молчит о настоящих, вполне можно заменить «обнюхивателем» — да, он будет медленным, но согласитесь — в распоряжении пользователя не так часто бывают неизвестные исполняемые файлы. Не путайте ту ситуацию с песочницами, что существует, с моим предложение — насколько мне известно, песочницы в текущий момент не выполняют анализ вредоносности, а просто изолируют среду выполнения.
3. Интернет-угрозы и жабаскрипты вполне можно отключать проактивкой и аддонами к браузерам.
По поводу «материального благосостояния» — ну уж если бы я чувствовал, что выдаю нагора нечто революционное — уж точно не кричал бы об этом всем и каждому ;) Я не претендую на гениальность, просто имею своё мнение, пытаюсь его донести и отстоять.teecat
15.01.2018 11:49Уточню, что с сигнатурами все не так просто. Файлов на анализ в день приходит до миллиона и более. Поэтому вручную их просто нереально обработать. В связи с этим обработка потока и добавление сигнатур автоматизировано. И делается это быстро. Но оборотная сторона — возможны ложняки, хотя конечно все и тестируется на стендах.
gjf Автор
15.01.2018 12:06Простите, но Вы немного кривите душой.
Я ещё ни разу не слышал про то, как убирают «ложняки» пиратской Themida и ASProtect. При этом:
- Посыл про «борьбу с пиратством» звучит смешно — это не задача антивируса.
- Посыл «пусть сам автор программы обратится к нам» выглядит странно — проблема у меня с антивирусом, а не у автора программы.
- Посыл «в настоящий момент все наши ресурсы заняты более важными делами» выглядит непрофессионально — кому я тогда плачу за лицензию?
Я знаю про тесты на стендах, да, что-то они убирают — но как видите, остаётся всё равно много.teecat
15.01.2018 12:26Высказанные претензии никак не связаны с методикой обработки потока файлов, поступивших на анализ. Если вы лучше знаете процедуру обработки — с удовольствием узнаю новое для себя
2. Лично наблюдаю в тестинге исправления ложняков. В том числе не по тикетам, а с форумов. Если есть претеннии — просьба привести номера тикетов. Если вас необоснованно и грубо послали — разберемся
3. Вас точно послали именно с такой формулировкой?gjf Автор
15.01.2018 12:38Претензии связаны с работой по ложным срабатываниям.
На форумах уже давно не общаюсь, более того — практически не пользуюсь антивирусами. Потому что задолбали HackTools и not-a-virus.
Указанные претензии описал так сказать из прошлого.
Последний п.3 — это заявление одной именитой лаборатории в эпоху эпидемии TDL3. Тогда все очень были озабочены детектированием буткита, у каждого был свой подход и всем было плевать на фалсы Black.a.
Frankenstine
13.01.2018 12:43К сожалению, проект умер вместе с изменениями в самой Sandboxie. Однако, как мне помнится, сейчас во многих решениях есть песочницы — в чём проблема сделать в них аналогичный обнюхиватель?
Допустим, у нас есть вредоносная программа класса «троян-дроппер». При запуске, отрисовывает фейковое лицензионное соглашение, с которым надо согласиться установкой галочки, и нажать «Далее», после чего троян скачивает и устанавливает полезную софтину + бекдор (например преднастроенный легитимный radmin) и прописывает последнего в автозагрузку.
Расскажите мне,
1) сколько времени займёт у антивируса анализ в песочнице,
2) что с результатом анализа;
3) ну и нафиг оно надо?gjf Автор
13.01.2018 15:151. Думаю, от силы минуту.
2. Да легко спалится — по сетевым соединениям, по автозагрузке без спроса и т.д.
3. Вам — не знаю. А пользователь не установит бекдор. Это плохо и не воспадает с Вашими желаниями?
У меня тоже вопросы:
1. Как часто Ваши пользователи устанавливают новые файлы без цифровых подписей?
2. Какие Вам видятся альтернативы предложенной мной проверке?Frankenstine
13.01.2018 16:08-11. Анализ в песочнице каждого запускаемого файла в целую миниту — пользователь деинсталлирует ваш софт спустя десять минут тормозов при запуске игрушки.
2. То есть ваш софт не даст работать любимой игрушке юзера, скачивающей карты и игровые скрипты? Ваш софт обречён.
3. Пользователь не сможет установить и какой-нибудь репак майнкрафта и выбросит фтопку ваш продукт.
По вашим вопросам — 1. Каждый день, можно сказать, открывают, например пдф загружающие шрифты или отправляющие заполненные формы.
2. Ничего нового — сигнатурный анализ. Именно он спасает от вашего сокрытия путём создания архива: при распаковке архива сигнатура будет обнаружена, и этого достаточно. Для upx и всего такого — аналогичное обнаружение, но уже не на диске, а в памяти приложений (т.е. сработает после запуска, при распакове в памяти). Это быстро и эффективно, именно так и работает большинство продвинутых антивирусов.gjf Автор
13.01.2018 16:13Секунду. То есть любимая игрушка пользователя (а в Вашем описании — любимая пиратская игрушка пользователя) загружает исполняемый файл каждый раз перед запуском?
Я повторюсь: сканировать по предложенному мной механизму нужно только недоверенные файлы и один раз. Если файл — чистый, то нет смысла сканировать его каждый раз перед запуском. Многие антивирусы так же поступают даже с имеющейся защитой, некоторые ставят метки в ADS, некоторые — ведут свою базу.
Касательно скана в памяти приложений — спасибо, поржал ))) Равно как и касательноименно так и работает большинство продвинутых антивирусов
teecat
15.01.2018 11:55Если файл — чистый, то нет смысла сканировать его каждый раз перед запуском.
Вы не знаете, что он чистый. Предыдущая проверка сказала вам, что он чисты на основе записей и правил. Но через пять минут прошло обновление и пришли записи в базу с детектом. Вспоминаем случае распространения зараженных флешекgjf Автор
15.01.2018 12:10В описанном мной выше механизме не участвуют базы. Там больше поведенческий анализ.
teecat
15.01.2018 12:28Перед новым годом как раз собирал информацию по поведенческому анализу файлов. Увы не панацея. Пропуски тоже возможны
gjf Автор
15.01.2018 12:35Можно ознакомиться с результатами?
Не принимайте лично, но в комментах мне уже многое рассказали, но когда дело дошло до фактов — молчок.
В поведенческом анализаторе основная проблема — его настройки. Если логи разбираются вручную вероятность детекта очень высока, а фалсов — низка, но мы говорим про автоматическую работу для рядового пользователя — а потому настройки весьма важны.teecat
15.01.2018 13:02Я пробовал для себя облачные анализаторы типа Вирустоталовского и для интереса засылал вредоносные файлы. Как правило файлы определяются как опасные. Но не всегда.
По настройкам все грустно. По опыту простые пользователи не настраивают свой антивирус на строгую защиту. Наоборот отключают скажем проверку на внедрение эксплойтов или контроль целостности системgjf Автор
15.01.2018 13:08При чём здесь облачные анализаторы? Я говорил хоть слово про облака?
teecat
15.01.2018 13:20Идея та же самая, разница в подробности вывода информации. Анализируется сам файл и его поведение путем запуска в изолированной среде
Если говорить о локальной проверке, то отличный пример обхода песочниц — Андроид. Задержка вредоносного поведения в целях маскировки там очень распространенное явлениеgjf Автор
15.01.2018 13:25Идея совершенно разная. В облаке Вы не можете контролировать параметры запуска и взаимодействовать с программой. Облако — суть виртуальная среда, которая легко ловится. Облако обслуживает Ваш файл в порядке очереди — и это очень долго в ряде случаев.
Ещё раз: я не пишу, что это — панацея, но пишу, что эффективность данного подхода куда выше, чем существующая ситуация с эвристикой.teecat
15.01.2018 13:38Не буду спорить. Хороший пример — Wannaa Cry. Доктор Веб поймал его эвристикой. Касперский — облачным детектом. То есть и существующие механизмы позволяют ловить неизвестные угрозы. Почему не внедряются новые механизмы? Сложный вопрос.
Причин много (не на работе портянку писать), но вот скажем еще одна в копилку. Сейчас одна из проблемищ — скрипты. Загружается их при загрузке каждого сайта вагон. Что с ними делать? Каждого в песочницу? Так у многих явного вредоносного поведения нет. Ну добавляют скажем пару окошек с запросами или блок с текстом или за запускают некое вычислительное действие
И просто поверьте, что поведенческие анализаторы они в плане косяков похуже тех же сигнатур. Постоянно находятся программы влетающие под признаки вредоносного поведения
И чтобы понять меня. Я ни в коем случае не против идей песочниц или проактивки. Я просто добавляю аргументов на другую сторону, так как все сложно. Если бы та же песочница или проактивка могла заменить антивирус — думаете антивирусные компании не забили бы гвозди в сигнатурные методы? Их также не устраивают тормоза и потребление ресурсов.
Сигнатуры раздувают базы, потребляют ресурсы, их нужно периодически перетряхивать…gjf Автор
15.01.2018 13:45Тоже не вся правда :)
Если антивирусные компании так заботятся о потребляемых ресурсах — к чему добавлять «защиту банковских операций», зачем мне родительский контроль и к чему вешать тонны телеметрии и прочие навороты? Последний дистрибутив KIS потребляет 875 Мб на диске и требует наличия .NET — Вы считаете это нормой для антивируса? Я — нет, хотя ЛК — первое, что пришло на ум, у других ситуация не лучше.teecat
15.01.2018 14:33— как вы отмечали — ни один из модулей защиты не дает 100% обнаружения. Поэтому один из путей увеличения эффективности — дописывание модулей
— Пользователи ведутся на громко-модные слова. Вы не представляете как было сложно продавать в эпоху модности облаков. «Мы будем использовать только облачный антивирус!». «Вы понимаете, что тем самым вы подписываетесь на… риски?» Тишина в ответ.
Поэтому если компания хочет продавать — увы и ах маркетинговые слова желательны. Даже просто потому, что рассказать математику анализа зашифрованных файлов — сложно и непонятно
Кроме этого
— за лк не скажу, но в нашем дистрибутиве основное место — черные списки сети интернет. Скорее всего и у них так же
— не все компании оптимизируют антивирусные записи. Жутко накладно переписывать всю базу. В прошлый раз нам это обошлось в полгода работы. Но потребление ресурсов конечно сильно упало и по родительскому контролю и по базамgjf Автор
15.01.2018 15:23Ну я оставляю маркетинговые детали за скобками. Потому что в таком случае мы вообще говорим не о содержимом, а об упаковке.
Да, продукт нужно продавать, но это не тема данной статьи.
Спасибо за интересные дебаты.
gjf Автор
15.01.2018 13:13Погуглите: Buster Sandbox Analyzer. Можете ещё — ZeroWine, хотя это уже совсем не как компонент антивируса, слишком громоздко, да и забросили проект давно. Ну и для полного просветления: REMnux, SIFT Workstation.
Есть ещё очень интересные работы: тут и тут. Погуглите ещё OmniUnpack (от авторов Lorenzo Martignoni, Mihai Christodorescu и Somesh Jha).
Да куча на самом деле работ!
teecat
15.01.2018 11:53Больше, чем минута. Хорошая песочница должна запускаться уникально, чтобы не иметь характерных признаков. Если держать стандартную песочницу запущенной постоянно, то время проверки конечно будет небольшим, но уверенности в проверке будет мало
И еще проблема. Песочница косячит. Лично видел опасные файлы пропущенные с вердиктом чистых
teecat
15.01.2018 11:46Проблем много
1. Вредоносные файлы научились распознавать запуск в песочнице
2. Песочницы имеют уязвимости
3. Вредоносные программы стали делать задержки на запуск вредоносного функционала
4. Вредоносные программы стали подгружать вредоносный функционал после установки
В общем не панацея. И самая большая проблема — так называемые простые пользователи, которые не хотят ждать и запускают все по ссылкам.
demimurych
13.01.2018 00:21Минутку. Когда я последний раз занимался этой темой, а это был 1995 год, уже тогда, как минимум, эвристический анализатор dr.web проводил анализ файлов с эмуляцией их исполнения. Я это могу гарантировать.
Очень сомневаюсь, что с тех пор, это решили выпилить из сканера, уже хотя бы потому, что уже тогда, сканирование по сигнатурам, для большинства вирусов, было бессмысленным.yosemity
13.01.2018 00:27Не берусь отвечать за dr.web и других вендоров, но могу предположить, что выполнение и анализ работы в песочнице, вероятно ведет к сверхчрезмерным накладным расходам. Конечно, может быть и стоит добавить пункт «paranoid» в настройках эвристики «low-middle-hard»
gjf Автор
13.01.2018 01:38Я не понимаю, про какие накладные расходы речь. Компания пришлёт счёт за сканирование?
Если речь о машинных ресурсах — они сейчас более чем достаточны.
К тому же речь о проверке эмулятором единичного файла перед запуском, который пользователь подозревает, а не сканирование всего и вся. Да и будем откровенны: после запуска одного файла в случае, если заражение стало активным — дальше на такой системе в активном состоянии полностью удалить серьёзное заражение крайне затруднительно.yosemity
13.01.2018 02:17Я привел свои догадки, почему фулл эвристику не применяют в реальной среде текущие вендоры. Не более чем. И да, естественно я имею ввиду не сканирование вирустоталом, а работу в реальной среде.
teecat
15.01.2018 11:59Тестирование показало, что как ни крути, но есть возможность выхода вредоносной программы за пределы защищенной среды
gjf Автор
13.01.2018 01:35Я это тоже слышал, но мне тут рассказывают про накладные расходы — видимо системы здорово ослабли с тех пор :)
Но если эмулятор есть — то почему снялся детект моим абсолютно простым способом упаковки? Уж эмулятор должен был код «запустить» и обнаружить, что в результате распаковывается вредоносный файл.
Frankenstine
13.01.2018 16:10-1Эмуляция исполнения в антивирусах делается не в полном объёме, это не прямое выполнение — было бы слишком затратно. Там упрощённый анализатор по типу дизассемблера.
gjf Автор
13.01.2018 16:15Да что Вы говорите ))
Это Ваше видение или можете предоставить пруфлинк?
Symantec, например, не согласен с Вами...
teecat
15.01.2018 11:58Это не песочница, хотя название звучит похоже. Это часть антивирусных баз, пошагово эмулирующая исполнение инструкции за инструкцией. Нужно против изменяющих свое тело вредоносных программ, чтобы собрать его в ходе проверки и потом определить уже по известным признакам
Появилась в базах вместе с появлением полиморфных вирусов
ingegnere
12.01.2018 22:31познавательно, но механизмы обфускации выглядят немного сложнее а кот например касперский на андройде больше напоминает антивирус Попова
gjf Автор
12.01.2018 22:32Безусловно они выглядят сложнее.
Но я не хотел грузить техническими деталями.
А потому показал «на пальцах».
К сожалению, «на пальцах» тоже оказалось действенным.
NOSS68
12.01.2018 23:32Для последней же версии файл уменьшился, суть не изменилась, а вот детектов прибавилось
Интересная статья, всё сформулировано очень доходчиво. Порадовала Avira, оставшись последней из наиболее известных вендоров по результатам проверок, указанных в данном случае.
Lord_Ahriman
13.01.2018 08:55Помнится, что-то подобное было у покойного Касперски в «Компьютерные вирусы и защита от них», там тоже использовался UPX, ASPack и ЕМНИП WinRAR.
forcam
13.01.2018 11:53На самом деле успех биткоина и лихорадка на майнинге приведет к тому, что через пару лет все мы сядем под песочницы, ибо по другому вход в Инет будет равнозначен вирусному заражению. К слову статистика за 2017 уже аховая, при том, что биткоин взлетел во второй половине года — «ягодки» (бум вирусов-майнеров) начнут расти в 2018 и видится мне — пандемия будет, другого тут не дано.
GutenMorg
13.01.2018 15:18+1С интересом прочитал статью. Автору — благодарность. Я не специалист по информационной безопасности, больше сисадмин — эникейщик. И тем не менее было понятно и интересно. Мало того, уважаемый автор смог меня удивить. Оказалось, что белорусский антивирус VBA32 реально неплох в части выявления описанных угроз. Ранее приходилось сталкиваться с этим отечественным (для меня) продуктом, было это уже достаточно давно, но на фоне разработок Касперского, DrWEba и прочих norton internet security как-то не воспринимал этот антивирус всерьёз. Не сочтите за рекламу, но заставляет задуматься.
gjf Автор
13.01.2018 15:19+1Зря Вы так — VBA32 всегда был не плох. Это было понятно ещё в эпоху появлений TDL2/TDL3 и их подхода к выявлению этой угрозы.
yosemity
13.01.2018 18:49Не берусь говорить за VBA32, не знаю что он из себя представляет, но тот же каспер стал комбайном, в нем тебе и управление доступом к устройствам и проверка на уязвимости и деплой апдейтов на ОС и софт, и админка, и отчеты и, фактически, инвентаризация. Хорошо это или плохо — каждый решит сам, но я считаю, что лично мне стало удобнее. Это комплекс по обеспечению мер безопасности, хоть и использую далеко не все.
gjf Автор
13.01.2018 19:40Я считаю, что плохо.
По факту это «подсадка» на одного производителя.
Вы сами используете не весь функционал, так зачем за него платить и тратить системные ресурсы?
К тому же песочница хороша у Sandboxie, проактивка + файервол — у Comodo (имхо) — чего я всё должен брать у ЛК? От них я хочу качественный антивирус, а вот с этим как раз затык.
Yugoslavskiy
15.01.2018 19:25+1Уморительная стать по теме от ребят из BLACK HILLS Information Security: How to Bypass Anti-Virus to Run Mimikatz
Sabbaot
16.01.2018 13:45Пакуете свой код вируса во что-то полезное (кряк, бот для ммо, взломанная версия программы), что-то, что явно написано не для хороших целей. Пишете где-то мелким шрифтом что скорее всего сработает антивирус и его, возможно, нужно отключить, запустить от имени администратора… ну и какое-то человеческое объяснение, почему ругается на упаковщик. профит. ибо эти программы скорее всего будут работать на взломанных виндах с отключенным брандмаузером и обновлений, без антивирусника и под учеткой админа.
тот же meltdown/spectre — очень много людей не парятся, говоря, что на компьютере не хранят ничего ценного, терять производительность не хотят и потому не обновляются.
imbasoft
Интересная статья, спасибо.
Подскажите, проверяли ли вы обнаружение антивирусами «вредоносного кода» упакованного более серьезными утилитами, например msfencode?
Если да, то насколько изменился процент обнаружения?
gjf Автор
Спасибо за спасибо. Рад, что понравилось.
Отвечая на Ваш вопрос — msfencode вроде ж как с 2015 года уже не разрабатывается?
Как показала практика, движки нормально распаковать упырь не смогли, так что думаю, что всё более серьёзное будет детектится просто по сигнатуре упаковщика. Что по сути даст гору фалсов на любой код, упакованный этим упаковщиком (epic).
На самом деле целью статьи было вовсе не расписание поэтапно процедуры полноценного снятия детекта — при запуске всё равно eicar вылезет и сработает резидент. Так что молодые вирусописатели могут успокоиться )))
Целью было показать, что на настоящий момент проблема детектирования упакованного кода так и не решена даже на уровне базовых, опенсорсных упаковщиков.
Я понимаю, что аналитики-специалисты по распаковке кода — самые редкие и ценные в любой антивирусной лаборатории, я понимаю, что распаковка сопряжена с тратой ресурсов системы — но я не понимаю, почему антивирусы обрастают свистоперделками, жрущими эти самые ресурсы, лицензии дорожают — а качество выполнения прямых обязанностей остаётся на уровне, который был 10-15 лет назад.
gjf Автор
Вот Вам, кстати, ситуацию из жизни.
Свеженький кейлоггер. Файл абсолютно вредоносен. Вот итог скана на Virustotal:
Как видим, Касперский его не видит :) Ну как не видит…
То есть — опасность есть, но рисков нет :)
Ещё про детекты из реальной жизни с реально хорошо упакованными файлами продолжать? )))
Holmogorov
>То есть — опасность есть, но рисков нет :)
Нужно учитывать, что при сигнатурном детектировании ВТ использует вирусные базы, загружаемые с серверов вендора, иногда — с некоторым лагом. То есть, детект уже добавлен в базу, но движок на ВТ еще не успел ее обновить. Отсюда возникают подобные ситуации: на клиентах семпл детектится, на ВТ — еще нет.
gjf Автор
Ну так пример выше показал, что на клиенте семпл не вызывает рисков )))
Смешно не отсутствие детекта на ВТ — с кем не бывает, смешна трактовка на Kaspersky Application Advisory.
Nagh42
Я перестал пользоваться касперским, как раз после того, как обнаружил, что он ничего не обнаруживает в явно подозрительных вложениях с xls-файлами, содержащими vba-скрипт. Базы у локального антивируса были наипоследнищие. При этом проверка этого файла через сервис в тот же момент на их сайте успешно обнаруживала вирус. Локальный антивирус начинал детектить эти файлы через 3-10 дней (вирусописатели продолжали слать подобные письма с разными, но однотипными файлами, так что материала для проверки мне хватало).
Тех.поддержка не смогла ни решить эту проблему, ни дать какой-либо вразумительный ответ почему это происходит. После месяца переписки с тех.поддержкой мне надоело, и я выкинул антивирус в корзинку.
Да, все эти файлы через какое-то время начинали обнаруживаться антивирусом. Но вирусописатели к этому моменту уже успевали прислать как минимум пару новых версий. Эта статья прекрасно дополнила мой опыт общения с антивирусами.
nidalee
Если я правильно помню, детектор кейлоггеров и программ удаленного доступа включается в настройках отдельно. Не знаю правда, почему он по умолчанию выключен…
gjf Автор
Неправильно помните. То, что Вы помните — это настройка проактивной защиты. А то, о чём написал я — детект файловой сигнатуры, которая всегда включена.
forcam
Любой кейген обязан жить только в песочнице, если не требуется лезть в файлы)
gjf Автор
Ну во-первых — использование кейгенов незаконно.
А во вторых — чистых их становится всё меньше в свете проверок ключей на серверах, а потому они дополняются патчами.
linux_art
Использование самих кейгенов вполне законно. Не законно использование ключей полученных с помощью кейгенов для получения полнофункционального ПО.
Lennonenko
так то кейген, а тут-то кейлоггер
digreen
Msfencode не упаковщик, строго говоря. А про upx автор написал.