Об особенностях сканирования исполняемых файлов антивирусами и доверии результатам VirusTotal +54




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

Часть 1. Бредово-ностальгическое вступление


В моей жизни многое поменялось. Мне стала интересна (местами — до недосыпов) моя текущая работа, в моём регионе четвёртый год идёт война, многое изменилось и переосмыслилось в личной жизни.

Многие взгляды и мнения изменились.

Лет 15-20 назад мне была интересна тема взлома и написания вредоносного кода, потом интересы сменились на прямо противоположные — защиту от этого дела, а потом я понял, что всем правят деньги и личные интересы, а вовсе не альтруизм и желание помочь.

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

Лет 10 назад я написал в очень узком кругу про возможность снятия детекта антивируса с помощью самораспаковывающихся архивов. Тогда это было, кажется, на Virusinfo, потом кое-кто это перепостил под своим ником на DrWeb — так сказать, без копирайтов и со своим авторством, потом даже скандал был — но то тоже давно и неправда.

А недавно я вспомнил старое. Многое прошло, многие вещи обновились и угнаться за прогрессом, не варясь в теме, оказалось сложно.

Но суть осталась та же: сенсации, деньги и личные интересы. И игра на незнаниях — которые доходят иногда до того, что уязвимости Meltdown/Spectre ищут в телевизорах и бортовых компьютерах автомобилей )))

Но довольно этого неинтересного бреда. Итак, я решил вспомнить старое, а поскольку вспомнилось мало — то решил по старинке снять детекты с нескольких вирусов.

Нам потребуется:

  1. знания командных bat-скриптов Windows на уровне школьника.
  2. Quick Batch File Compiler (далее — QBC)
  3. 7za.exe из пакета 7z1800-extra.7z (далее — 7Z)
  4. upx.exe из пакета upx394w.zip (далее — UPX)
  5. файл eicar.com, скачать можно, например, тут (далее — Eicar)
  6. cамый базовый компьютер с выходом в интернет под управлением любой ОС Windows

Часть 2. Совсем немного теории


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

При этом зачастую рядовой пользователь даже не понимает, что антивирус — это не просто сканер, это и резидентная защита, и эвристик, а зачастую — и проактивная защита, файервол и песочница.

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

Этот компонент не позволит предотвращать соединения с вредоносными сайтами, он не будет ловить вредоносный код на лету, но он позволяет проверить файл и дать ответ: стоит его хранить — или лучше удалить сразу и навсегда.

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

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

Именно по этой причине ниже я не буду давать ссылки на страницы с результатами сканирования, а предоставлю скриншоты с этими результатами, полученными в ходе работы. Очевидно (и я хочу в это верить!) после этой статьи результаты улучшатся.

Авторы вредоносного кода чрезвычайно часто используют упаковщики и протекторы, которые не только сжимают вредоносный файл, но и затрудняют его детектирование по сигнатурам, а также его последующий анализ. При использовании ворованных лицензий протекторов типа WinLicense и Themida обычно антивирусные лаборатории не затрудняют себя распаковкой, а просто добавляют сигнатуры протектора с ворованным ключом в детект (знаменитые детекты типа Trojan:?W32/Black.A). Это приводит к появлению ложных срабатываний — аналогичными ворованными лицензиями пользуются авторы генераторов ключей, патчеров и некоторых программ, которые по сути вредоносными не являются, но тем не менее защищаются от реверсинга.

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

Итак, приступим.

Часть 3. Практика


Итак, как сейчас детектируется Eicar на VirusTotal


Признаться честно, увиденное меня несколько поразило, потому что два антивирусных движка — Comodo и Malwarebytes почему-то решили не следовать общим стандартам и проигнорировать детект. Тем не менее результат очевиден — файл имеет детект, близкий к 100%.

Как мы договаривались в самом начале, мы — полная школота, а потому не будем изобретать свои методы упаковки, а просто упакуем файл в архив с помощью 7Z:

7za a eicar.7z eicar.com

Проверим полученный файл на VirusTotal


Да, детектов стало поменьше, поскольку не все антивирусные движки включают распаковщик архивов 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 и запускает его.

Смотрим итог проверки этого файла на VirusTotal


Забавно, детект уменьшился с 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

Если делать это для самого первого нашего кода - который был вообще без проверок, то по детектам отвалился Antiy-AVL


Для последней же версии файл уменьшился, суть не изменилась, а вот детектов прибавилось


Детекты добавили китайцы, а вот украинский Zillya благополучно провалил тест.

Часть 4. Выводы


А можно без них? ;) Ну ладно.

Безусловно, описанное выше — это примитивно, просто и в жизни всё не так. Хотя бы потому, что в реальности выполнение нашего файла сначала вызовет срабатывания проактивки, а потом будет заблокировано резидентным модулем, который увидит итоговый файл Eicar.

Но дело не в том.

Дело в том, что современные антивирусные сканеры так и остались барахлом, которым были десяток-два лет назад, абсолютно пасующим перед простейшими видами упаковки кода. Решения в виде тестовых сред — «песочниц», эвристических анализаторов и т.д. только добавили неразберихи, ложных срабатываний, но по сути не защищают от реальной угрозы. Со старым, открытым и разжёванным до потрохов UPX как был бардак — так он и остался. А ведь я вполне мог упаковать не файл, вызывающий вредоносную активность, а непосредственно код, работать не с файлами на диске в %temp%, а в памяти, использовать не свободно доступные утилиты, а собственные или закрытые разработки — и таким образом обойти срабатывание резидентной защиты. Я вполне мог добавить интересные элементы интерфейса или скопировать таковой из распространённой программы — и обойти проактивку у неискушённого пользователя, который просто будет соглашаться с любыми запросами, доверяя тому, что запустил.

То, что мы сделали выше — примитивный способ обмануть антивирус, который может понять и реализовать практически любой. И он сработал. Что говорить про искушённых специалистов!



Архив с файлами, скриптами и результатами можно скачать здесь.

В архив не вошло следующее (не войдёт и не будет предоставлено по любой просьбе по понятным причинам): файлы, обработанные по выше изложенному механизму и содержащие:

  • Файловый инфектор Sality.aa

    Результаты сканирования самого инфектора


    Позор джунглям


    Результаты сканирования 'упаковки'

  • Довольно громко нашумевший совсем недавно локер Petya

    Результаты сканирования самого инфектора


    Дважды позор джунглям


    Результаты сканирования 'упаковки'



Если Вы дочитали всё это до конца - нажмите здесь


Искренне надеюсь, что я был не скучен и ещё могу ясно излагать мысли по теме, как было когда-то раньше.

Вы можете помочь и перевести немного средств на развитие сайта



Комментарии (112):

  1. imbasoft
    /#10612320

    Интересная статья, спасибо.

    Подскажите, проверяли ли вы обнаружение антивирусами «вредоносного кода» упакованного более серьезными утилитами, например msfencode?

    Если да, то насколько изменился процент обнаружения?

    • gjf
      /#10612382 / +1

      Спасибо за спасибо. Рад, что понравилось.
      Отвечая на Ваш вопрос — msfencode вроде ж как с 2015 года уже не разрабатывается?
      Как показала практика, движки нормально распаковать упырь не смогли, так что думаю, что всё более серьёзное будет детектится просто по сигнатуре упаковщика. Что по сути даст гору фалсов на любой код, упакованный этим упаковщиком (epic).
      На самом деле целью статьи было вовсе не расписание поэтапно процедуры полноценного снятия детекта — при запуске всё равно eicar вылезет и сработает резидент. Так что молодые вирусописатели могут успокоиться )))
      Целью было показать, что на настоящий момент проблема детектирования упакованного кода так и не решена даже на уровне базовых, опенсорсных упаковщиков.
      Я понимаю, что аналитики-специалисты по распаковке кода — самые редкие и ценные в любой антивирусной лаборатории, я понимаю, что распаковка сопряжена с тратой ресурсов системы — но я не понимаю, почему антивирусы обрастают свистоперделками, жрущими эти самые ресурсы, лицензии дорожают — а качество выполнения прямых обязанностей остаётся на уровне, который был 10-15 лет назад.

    • gjf
      /#10612416 / +3

      Вот Вам, кстати, ситуацию из жизни.
      Свеженький кейлоггер. Файл абсолютно вредоносен. Вот итог скана на Virustotal:


      Как видим, Касперский его не видит :) Ну как не видит…


      То есть — опасность есть, но рисков нет :)

      Ещё про детекты из реальной жизни с реально хорошо упакованными файлами продолжать? )))

      • Holmogorov
        /#10612680

        >То есть — опасность есть, но рисков нет :)

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

        • gjf
          /#10612690 / +2

          Ну так пример выше показал, что на клиенте семпл не вызывает рисков )))
          Смешно не отсутствие детекта на ВТ — с кем не бывает, смешна трактовка на Kaspersky Application Advisory.

        • Nagh42
          /#10613292 / +1

          Я перестал пользоваться касперским, как раз после того, как обнаружил, что он ничего не обнаруживает в явно подозрительных вложениях с xls-файлами, содержащими vba-скрипт. Базы у локального антивируса были наипоследнищие. При этом проверка этого файла через сервис в тот же момент на их сайте успешно обнаруживала вирус. Локальный антивирус начинал детектить эти файлы через 3-10 дней (вирусописатели продолжали слать подобные письма с разными, но однотипными файлами, так что материала для проверки мне хватало).
          Тех.поддержка не смогла ни решить эту проблему, ни дать какой-либо вразумительный ответ почему это происходит. После месяца переписки с тех.поддержкой мне надоело, и я выкинул антивирус в корзинку.

          Да, все эти файлы через какое-то время начинали обнаруживаться антивирусом. Но вирусописатели к этому моменту уже успевали прислать как минимум пару новых версий. Эта статья прекрасно дополнила мой опыт общения с антивирусами.

      • nidalee
        /#10614112

        Если я правильно помню, детектор кейлоггеров и программ удаленного доступа включается в настройках отдельно. Не знаю правда, почему он по умолчанию выключен…

        • gjf
          /#10614616

          Неправильно помните. То, что Вы помните — это настройка проактивной защиты. А то, о чём написал я — детект файловой сигнатуры, которая всегда включена.

      • forcam
        /#10614608

        Любой кейген обязан жить только в песочнице, если не требуется лезть в файлы)

        • gjf
          /#10614610

          Ну во-первых — использование кейгенов незаконно.
          А во вторых — чистых их становится всё меньше в свете проверок ключей на серверах, а потому они дополняются патчами.

          • linux_art
            /#10614752

            Использование самих кейгенов вполне законно. Не законно использование ключей полученных с помощью кейгенов для получения полнофункционального ПО.

        • Lennonenko
          /#10618294

          так то кейген, а тут-то кейлоггер

    • digreen
      /#10612458 / +1

      Msfencode не упаковщик, строго говоря. А про upx автор написал.

  2. vesper-bot
    /#10612498

    *нажимает на последний кат*… ой… а о чем я только что читал?

    • gjf
      /#10612506 / +3

      Извините, но меня заставили сделать это в обмен на публикацию )))

    • LoadRunner
      /#10612526 / +2

      Свет с Венеры отразился от верхних слоёв атмосферы и вызвал взрыв болотного газа.

  3. Kobalt_x
    /#10612530

    я не очень понял а в чём смысл, virustotal тестирует только сканнер файлов. Неочевидно то что у кого детекта нет дадут запустить файл т.к тот же oas на распаковке скорее всего зарежет eicar. Почему вы считаете что эмулятор антивируса должен догадываться о том какой пароль у содержимого распаковывать самому и детектить eicar? Вполне резонно, что всё это ведет к эвристическуму детекту?

    • gjf
      /#10612662

      Потому что резидент работает по тому же движку, что и сканер.
      И суть не распаковывает содержимое.
      Итог я Вам сейчас покажу.
      Вот детект страшного вируса — исполняемого файла foobar2000, сжатого NSPack. Пароля там нет.
      То есть вирусом является не код, а тот факт, что антивирусный движок не смог этот код распаковать? Вам это не кажется странным?
      И я скажу Вам по секрету: эвристики в последних редакциях представляют собой не какие-то мифические угадыватели, а эмуляторы кода. И эмулируя код в моих примерах из статьи пароль очень даже известен )

      • Kobalt_x
        /#10612876

        ну в предложенный ссылки детекты в основном китайских ав. В av comparatives я их имена не видел.
        Про эвристики да они в основном на эмуляторе, но вроде акцентируется в основном на системные вызовы и вызов тех или иных системных компонентов. Вот оно и будет эмулироваться с точки зрения их, а никак не искать что это за бинарь не 7za ли, да это же опция password, надо срочно эту область с ним распаковать и просканировать

        • gjf
          /#10612902

          Да уж. Sophos, F-Prot, Yandex и Vipre — явно китайские антивирусы :)
          Простите, но AV Comparatives не является окончательной инстанцией и абсолютной истиной.
          К тому же у Вас несколько неполные знания о работе эвристического эмулятора кода.

  4. lostpassword
    /#10612570 / +3

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

    примитивный способ обмануть антивирус
    на самом деле таковым не является. В моём понимании «обмануть антивирус» (если навскидку) — это «успешно выполнить вредоносный код на ПК с корректно настроенным и работающим антивирусом, включенными защитными механизмами и актуальными базами». А у вас приведена ситуация «как протащить на ПК пользователя контейнер с вредоносным кодом», ну или «как обмануть файловый сканер антивируса». Пфф, да протащите вы хоть миллион таких файлов — и будут они там лежать до скончания века, пока не запустятся. Вот в момент запуска и начинается самое интересное — а этого в вашей статье нет. ?\_(?)_/?

    Заголовок у статьи хороший, не жёлтый — а вот про выводы я такого, увы, сказать не могу. Если бы вы взяли несколько популярных антивирусов, установили их на стенд и успешно выполнили бы вредоносную нагрузку — тогда вывод про «обманули антивирус» я бы признал. Охотно верю, что при желании и такой эксперимент вам по силам — но это уже, согласитесь, всё-таки заметно более трудоёмкое мероприятие, чем упаковка исполняемого файла в 7z или однократное применение UPX)

    Сканеры, конечно, далеко не идеальны. Но антивирус на ПК всё же штука полезная, так как
    в реальности выполнение нашего файла сначала вызовет срабатывания проактивки, а потом будет заблокировано резидентным модулем

    • gjf
      /#10612608

      Выше я уже указал реальную ситуацию с реальным зловредом и детектом.

      Как уже говорил неоднократно — статья представляет собой РоС. Для обхода резидента достаточно перевести распаковку в область памяти, для обхода проактивки — ещё несколько штрихов. Но каждый дополнительный «штрих» добавляет специфичности к продукту, объёма работы и т.д. Подобные доклады, равно как и найденные решения — это уже немного не тот масштаб.

      Но Ваше мнение принимается.

      • lostpassword
        /#10612634

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

        А «штрихи» — это и есть самое интересное. Цель-то — это выполнить нагрузку; протащить её — только часть дела, хоть и тоже по-своему непростая.

        • gjf
          /#10612670

          Но проактивная защита является пользователь-зависимой, не так ли? Как поступит простая домохозяйка, когда у неё появится алерт, что процесс Х желает запустить процесс У?

          • lostpassword
            /#10612698

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

            • gjf
              /#10612712

              Проверял. Домохозяйка = хороший пример, она регулярно сталкивается с таким поведением при установке любой программы или выполнением любого обновления. Поэтому лишний раз такой алерт её напугает.
              Мне неизвестно ни одного надёжного полностью автоматического проактивного механизма, который бы нравился пользователям. Либо он напрочь отрежет любую активность, подозревая её во вредоносности — и бедный сисдамин такой организации! — либо защитит постольку поскольку.

              Если Вам известен пример обратного — сообщите о таком решении и его настройках.

        • gjf
          /#10612704

          А по поводу сигнатур: на Sality и Petya она была.
          Почему же эта сигнатура сбивалась простым UPX? Почему считанные эвристические эмуляторы проверили выполнение кода с распаковкой по моему сценарию и обнаружили угрозу?

          • lostpassword
            /#10612724 / -1

            Так скорее всего сигнатуры и были не эвристическими, а файловыми. Файл поменялся — сигнатура сбилась.
            Внедрение в сканер эвристики вообще довольно затратная штука: слишком большие расходы времени / ресурсов на проверку. Тоже, кстати, хороший вопрос, какие антивирусы это делают и какие настройки движков применены на VirusTotal.

            • gjf
              /#10612818

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

              ОК, возьмём проверенный вариант — Petya. Детекты выше были, их было 61 — хороший, надёжный детект.

              Накрываем его UPX — старый, известный и опенсорсный упаковщик:

              Осталось 47 детектов. Кто с файлового сменился на эвристический — не буду комментировать, разбирайтесь. Кстати, UPX — это уже нормальный пакер, такой пройдёт резидентную защиту, если сканер ничего не обнаружил, это уже не детский сад на пальцах, описанный в моей статье.

              Едем дальше — NSPack 3.7 2006 года выпуска:

              41 детект.

              ASPack 2.28 2011 года:

              27 детектов.

              Поверьте, я могу поиграть ещё немного и сделать Петю безопасным, как блокнот Windows — но моя цель не показать это и заразить полмира (а чего, амбициозно!), я просто хочу сообщить о проблеме, доступно изложить её детали. Этого я и добивался.

              • Kobalt_x
                /#10612894

                [zanuda mode]Сделать на уровня блокнота windows не сможете — у вас нет цифровой подписи от microsoft
                Вы не показали, получится ли полученную нагрузку выполнить на ПК. То что сканнер рапортует что ок, это не значит что ав продукт даст вам что-то запустить, даже если распаковывать в память будете скорее всего будет детект проактивкой. Понятное дело что можно написать vm protection на бинарь который обломает уровень эмуляции hipsа, но это будет совершенно не такой уровень.

                • gjf
                  /#10612958 / +2

                  [zanuda mode off] А с каких пор на блокноте Windows стоит цифровая подпись?

                  • Cayp
                    /#10613514 / -1

                    Если кому-то кроме меня стало интересно как так происходит, что на некоторых файлах в комплекте ОС отсутствует цифровая подпись: blog.didierstevens.com/2008/01/11/the-case-of-the-missing-digital-signatures-tab

                    • vesper-bot
                      /#10616350

                      С учетом того, что для SHA1 подобрали-таки коллизию, можно считать, что на нотепаде цифровой подписи больше нет.

                      • Cayp
                        /#10616744

                        Подобрать к уже существующему хешу файл с таким же хешем и подобрать два произвольных документа с одинаковым хешем — разные вещи. (вот тут разъясняют 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
                          /#10618068

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

                          • Cayp
                            /#10618474

                            Давайте ещё раз.

                            атака подменой исполняемого файла выглядит вполне реализуемой

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

                            Поэтому само по себе подменить один заданный файл на второй файл с таким же хешем пока не выйдет.

                            Основная проблема с SHA1 коллизией, в том, что этим алгоритмом хеширования пользуются CA для подписи сертификата (digital signature). Т.е. возможно при определённых условиях получить сертификат с подписью идентичной подписи уже ранее выпущенного сертификата (только подпись, не закрытый ключ) и, например, подписать им код, и ему будут доверять, т.к. поддельный сертификат будет проходить проверку на валидность (это верная цепочка доверия до корневого CA плюс проверка на отзыв), хоть при этом и не будет являться идентичным сертификатом. Одно из этих определённых условий — предсказуемость полного содержимого сертификата (того сообщения, которое будет подвергнуто хешированию самим CA). CA с этим борется путём увеличения энтропии этого сообщения, т.е. делая его непредсказуемым и исключая известные векторы атаки в содержимом запросов. Плюс ужесточая проверку в реальном мире(документы, юрлица, звонки) при получении Code Signing сертификатов.
                            Такую подмену смогли сделать пока только для MD5.

                            Поэтому как раз подмена файла на файл с таким же хешем выглядит маловероятно.
                            На данный момент гораздо более вероятной выглядит угроза компрометации сертификатов. Поэтому CA так торопятся уйти от SHA1 одними из первых.

                            Это справедливо и для файлов, которые заверены подписью в PE заголовке или отдельно, через catroot.

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

                            Диалог начался с того предположения, что подписи нет вообще. По факту она есть, просто не в PE заголовке.

    • Loki3000
      /#10612612 / +1

      Пфф, да протащите вы хоть миллион таких файлов — и будут они там лежать до скончания века

      Можно протащить через корпоративный почтовый сервер с антивирусным сканером, а у пользователей антивируса может вообще не быть. Да и чего беспокоиться — в письме же стоит пометка что антивирусом проверено. Так что не залежаться:)

      • lostpassword
        /#10612640 / -1

        у пользователей антивируса может вообще не быть
        О_О
        Ну это уже клинический случай какой-то совсем спорный подход к обеспечению корпоративной безопасности.

        • teecat
          /#10612726 / +1

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

          • lostpassword
            /#10612776 / -1

            Ну если менеджмент считает, что закрывать эти риски нецелесообразно — пожалуйста. Жизнь покажет, правы они или нет. Возможны оба варианта.)

          • yosemity
            /#10613802

            Есть бесплатные для коммерческого использования антивирусы. И я сейчас не о MSE даже.
            Вероятность словить заразу у такиз ребят очень высока. Не, ну если у них там везде всё круто, многоуровневая защита периметра, правильные SecPol и прочие SRP, то есть возможность работы без антивируса на станциях. Только вот что делать с флешками? у меня, например нет возможности лочить их, это часть бизнес-процесса

            • gjf
              /#10613824

              Обычно они запрещаются на уровне отключения портов.

              • yosemity
                /#10613846

                Я знаю как запретить доступ к внешним накопителям, но написал, что лично у нас это, как минимум, очень затруднительно. Мы — медиа, штат — 79 рабочих мест, на 23:42 2018.01.12. Нужен как минимум один живой отдельный человек, которому бы все сотрудники приносили бы устройства для проверки. Это сильно усложняет и задерживает процесс. Пришел клиент с роликом на флешке, а ему — «пррройдемте», а там уже такой же стоит и ждет. Да, весь диск сканировать не надо, достаточно переписать, но это лишнее время. К тому же неизвестно что делать с запароленными архивами. Юзер точно забьет болт, сам скачает, сам распакует. SRP тут выручит, почти в 100% случаев, конечно. Хм, пока писал, тут подумал, так и флешки не при чем, получаются. Один фиг, не запустится ничего. Ну тогда, пожалуй, да. Есть смысл жить без антивирусов при очень хорошей защите периметра. Я даже задумался. Ведь в детектах на клиентах я вижу только срабатывания на сайтах и закачанных из разных источников файлах. Есть повод изменить стратегию АВ-защиты. Ну и пускай лежат себе Пети с ВаннаКраями. Такой интересный будет рассадник заразы, ни разу не запущеной )) Есть вариант, когда юзер обойдет SRP злонамеренно и тогда ничего не спасет контору от утомительного простоя и рекавери данных.

                • gjf
                  /#10613854

                  Ещё один вариант: полный возврат системы к исходному состоянию после перезагрузки. Пользователям доступна только сетевая папка, которая не стирается.
                  Ну и конечно политика ограничения прав.

                  • yosemity
                    /#10613876

                    Опять не наш случай. Возврат системы никак не поможет, когда зараза уже сидит и портит файлы на сетевых ресурсах. Видеоматериалы очень много весят. Многие юзеры обязаны иметь права на запись в соответствующие каталоги с медиа-контентом. Имея несколько десятков ТБ, я имею очень ограниченные ресурсы по их бекапу. Конечно, юзер не может заразить всё, только куда есть доступ 660, но опять же это простой. Я действительно сильно задумался о дополнительных мерах защиты периметра, посмотрим, что это даст.

                    P.S. вдруг, через полтора года тут будет статья типа «как мы год живем без антивируса», интерейсный кейс я щас себе придумал.

                    • gjf
                      /#10613898

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

                      • yosemity
                        /#10613902

                        Хорошо, я не слишком люблю ссылаться на свои же статьи, но тут не обойтись — habrahabr.ru/post/269531
                        Можете просто пробежаться по заголовкам. Всё упомянутое на момент публикования статьи, естественно, реализовано. Сейчас еще кое-что накручено сверху.

                        • gjf
                          /#10614004

                          Ну так вполне нормальная статья. Всё в принципе известное и очевидное собрано воедино и приправлено реальными примерами.

                          Я не лезу в Ваш монастырь со своим уставом, просто озвучиваю идеи применительно к Вашей проблеме. Если «папа сам с усами» — ОК, умолкаю.

                    • yosemity
                      /#10613900

                      Я наврал, не будет такой статьи. Сам же упомянул злонамеренный обход SRP и успешно про него забыл в предыдущем комментарии.

          • Areso
            /#10613884

            Наблюдал более интересное поведение.
            На клиентских ПК стоят антивирусы (платные, лицензия, все дела), а на серверах — нет. А знаете почему нет, хотя данные на 1 сервере стоят столько же, сколько на всех клиентах вместе взятых? Да потому, что любой из этих ммм программных продуктов, уже в 2018 году, не умеет правильно соразмерять свои возможности по захвату ресурсов и эти самые ресурсы. Антивирус, которому взбрело вдруг что-нибудь проверить, вполне в состоянии парализовать работу 1000 человек на несколько минут (если повезет). Если не повезет, и будут дэдлоки — до нескольких часов. Почему из эдцати ядер надо сожрать все эдцать, несмотря на любые настройки, и начать при этом с первого (нулевого?) ядра, я не понимаю. Я уж не говорю о том, что внеплановая проверка может поставить дисковую подсистему в неудобное положение.
            Прямо как 1С. Шел 2018-ый год, а построение отчета наглухо вешает процесс.

            • yosemity
              /#10613890

              На каспере не встречал такого, живут АВ там и там. На FS, естественно не Endpoint. У них же там типа технология «интеллектуальной проверки», если один сканер проверил, другой не трогает.
              Опять 1с приплели черт знает зачем.

              • Areso
                /#10614186

                Затем, что 1С тоже не умеет адекватно пользоваться ресурсами, в результате GUI тупо фризится и все. К сожалению, мне сейчас неудобно предоставить пруфы к моему высказыванию выше, но поверьте на слово — на текущей работе у нас есть 1 маленький сервер с Касперским, на предыдущей работе на сервере стоял DrWeb. И оба продукта вели себя почти одинаково плохо.

            • teecat
              /#10616506

              Есть такое дело, а почему? Антивирус он же в общем вещь тупая и делает добрые дела так как он понимает. Если кто-то дергает постоянно базу данных скажем и таймаут (не суть какой, их много) на проверку истек, то файлы начнут перепроверяться. Именно поэтому та же Майкрософт размещает рекомендации, какие файлы и базы данных нужно исключать из проверки. Естественно настроив запреты доступа в эти места, что бы в них не размещали всякие трояны
              И антивирусная система защиты — это не только антивирус. Это набор мер, которые вы выбираете на основании рисков. Можно обойтись запретом доступа, изоляцией подсетей и процессов, введением терминального доступа и тд. Это тоже антивирусная защита. Вон скажем Касперские продвигают для банкоматов и встраиваемых систем продукт на основе контроля целостности и периодических проверок — постоянной антивирусной защиты не предполагается.
              Я лично не сторонник использования только контроля доступа — при таком подходе свои минусы, но если есть проблемы с производительностью — это один из вариантов

      • gjf
        /#10612676

        Спасибо, чуть не забыл — именно так проходило заражение Петей на предприятиях Метинвест-холдинга на Украине. Довелось быть свидетелем, кстати )))

    • teecat
      /#10612696 / +1

      Наоборот. Сначала файловый монитор (проверяет до старта), потом поведенческий анализатор (смотрит, что делает после запуска)

      Но на самом деле проверок еще больше. Если брать самый общий случай, то:
      проверка на доступ к ресурсу на наличие в списке невредоносных — проверка трафика на вирусы — проверка скачанных скриптов на подозрительность/проверка письма на спам и отсечение писем с вложениями — запрет на старт по белому списку/правам запуска — проверка при старте файловым монитором — контроль проактивкой — проверка руткитом

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

    • gjf
      /#10612870

      Кстати, а с заголовком-то что?
      Сканирование файлов антивирусами рассмотрели — сигнатуры сбиваются упаковкой, эвристики больше дают ложных срабатываний, чем пользы.
      Доверие результатам VirusTotal вроде как в статье набросал кучу и в комментариях вторую — нет его, доверия, любой безопасный файл можно обставить как вредоносный и наоборот.

      В чём желтизна-то?

      • lostpassword
        /#10612970

        Заголовок хороший, мне понравился — я же так и написал)
        Только с выводами не согласен.

        • gjf
          /#10612976 / +1

          Я понял, извините, спутал «не» с «но».
          Много вопросов и комментариев получилось.

  5. Herhen
    /#10612820 / -1

    Немного личного опыта: заметил, что с завидной регулярностью ВирусТотал ругается программы отечесвенной разработкой, причём среди списка баз фигурируют только иностранные, а отечественный отмалчиваются. К чему бы это?

    • gjf
      /#10612884 / +1

      Правильно ли я понял Ваш ломаный русский: Вы утверждаете, что ВирусТотал ругается на отечественные программы, при чём в этом случае ругаются зарубежные антивирусы, а отечественные отмалчиваются?

      Если я правильно понял, то эта информация неверная.

      • Herhen
        /#10614190

        Вот пример такой проги www.defacto-com.ru/demo.html

        • Herhen
          /#10615230

          Зачем минусите? Вот пруфы:
          (Как видно, Symantec и McAffee ругаются, а Dr. Web и Kaspersky молчат…)
          P. S. Прога реально используется отделом «К», если надо кого-то обвинить в установке ворованного ПО







      • Herhen
        /#10615236

        Скинул пруфы (см. выше)

  6. athacker
    /#10613218 / +1

    У сканеров нет другой возможности детектить вирусы, кроме как по сигнатурам. Открою страшную тайну — практически все системы анализа трафика или дискового содержимого делают это по сигнатурам. И SIEM'ы многие на сигнатурах работают.

    Поэтому обеспечение безопасности — это комплексный процесс. От обучения пользователей не кликать на посторонние ссылки в левых письмах, до антивирусов, песочниц, DPI и SIEM.

    Всем известно, что детект по сигнатурам полон недостатков, но пока никому ничего лучше придумать не удалось. Если у вас есть какие-то идеи, которые позволят выкинуть сигнатурный анализ на свалку истории — так поделитесь :-)

    • gjf
      /#10613244 / +1

      Когда-то давно — ещё до того, как Invincea приобрела Sandboxie, существовал аддон Buster Sandbox Analyzer.
      Аддон позволял выполнять исследование исполняемых и не только файлов с среде песочницы с выводом логов активности.
      То есть файл реально выполнялся, однако изменения не вносились в систему, однако все API-вызовы журналировались, равно как и другая активность.
      Понятно, что в случае, если анализируемый файл проявлял сетевую активность, то подобный анализ усложнялся, также понятно, что в случае защиты от выполнения в тестовой среде тоже всё было непросто, но тем не менее анализ получался довольно интересный, более того — имелись некоторые идеи по его автоматизации.
      Я об этом даже писал когда-то давно.
      К сожалению, проект умер вместе с изменениями в самой Sandboxie. Однако, как мне помнится, сейчас во многих решениях есть песочницы — в чём проблема сделать в них аналогичный обнюхиватель?

      Идея не нова, что касается революционных решений — извините, а с каких пор идеи генерирует пользователь, платящий за лицензии, а не разработчик, получающий зарплату? ;)

      • athacker
        /#10613628

        Вам не кажется, что это несколько не логично? Вы предъявляете претензии к СКАНЕРАМ, а в качестве альтернативы сигнатурному анализу рекомендуете песочницы. Но песочницы — это уже другая технология из комплекса мер противодействия угрозам ИБ. И свои минусы у неё тоже есть — например, большое время обработки файла по сравнению со сканером по сигнатурам.

        Песочницы, разумеется, есть уже если не во всех, то в большинстве современных антивирусов: safe.cnews.ru/news/top/kasperskij_obzavelsya_pesochnitsej

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

        Идея не нова, что касается революционных решений — извините, а с каких пор идеи генерирует пользователь, платящий за лицензии, а не разработчик, получающий зарплату? ;)

        Ну так если идея действительно окажется революционной, то вы можете неплохо поправить материальное благосостояние :-)

        • gjf
          /#10613708

          Всё предельно логично.

          1. Сигнатуры должны быть верными и действительно отвечать реальным угрозам, а не «угрозам без риска» (см. выше). Кстати, сигнатуры добавляют тоже отнюдь не быстро.
          2. Эвристическому анализатору, который, как показал эксперимент, одинаково сообщает как о ложный угрозах, так и молчит о настоящих, вполне можно заменить «обнюхивателем» — да, он будет медленным, но согласитесь — в распоряжении пользователя не так часто бывают неизвестные исполняемые файлы. Не путайте ту ситуацию с песочницами, что существует, с моим предложение — насколько мне известно, песочницы в текущий момент не выполняют анализ вредоносности, а просто изолируют среду выполнения.
          3. Интернет-угрозы и жабаскрипты вполне можно отключать проактивкой и аддонами к браузерам.

          По поводу «материального благосостояния» — ну уж если бы я чувствовал, что выдаю нагора нечто революционное — уж точно не кричал бы об этом всем и каждому ;) Я не претендую на гениальность, просто имею своё мнение, пытаюсь его донести и отстоять.

          • teecat
            /#10616528

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

            • gjf
              /#10616574

              Простите, но Вы немного кривите душой.
              Я ещё ни разу не слышал про то, как убирают «ложняки» пиратской Themida и ASProtect. При этом:

              1. Посыл про «борьбу с пиратством» звучит смешно — это не задача антивируса.
              2. Посыл «пусть сам автор программы обратится к нам» выглядит странно — проблема у меня с антивирусом, а не у автора программы.
              3. Посыл «в настоящий момент все наши ресурсы заняты более важными делами» выглядит непрофессионально — кому я тогда плачу за лицензию?

              Я знаю про тесты на стендах, да, что-то они убирают — но как видите, остаётся всё равно много.

              • teecat
                /#10616618

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

                2. Лично наблюдаю в тестинге исправления ложняков. В том числе не по тикетам, а с форумов. Если есть претеннии — просьба привести номера тикетов. Если вас необоснованно и грубо послали — разберемся
                3. Вас точно послали именно с такой формулировкой?

                • gjf
                  /#10616646

                  Претензии связаны с работой по ложным срабатываниям.
                  На форумах уже давно не общаюсь, более того — практически не пользуюсь антивирусами. Потому что задолбали HackTools и not-a-virus.
                  Указанные претензии описал так сказать из прошлого.
                  Последний п.3 — это заявление одной именитой лаборатории в эпоху эпидемии TDL3. Тогда все очень были озабочены детектированием буткита, у каждого был свой подход и всем было плевать на фалсы Black.a.

      • Frankenstine
        /#10614420

        К сожалению, проект умер вместе с изменениями в самой Sandboxie. Однако, как мне помнится, сейчас во многих решениях есть песочницы — в чём проблема сделать в них аналогичный обнюхиватель?

        Допустим, у нас есть вредоносная программа класса «троян-дроппер». При запуске, отрисовывает фейковое лицензионное соглашение, с которым надо согласиться установкой галочки, и нажать «Далее», после чего троян скачивает и устанавливает полезную софтину + бекдор (например преднастроенный легитимный radmin) и прописывает последнего в автозагрузку.
        Расскажите мне,
        1) сколько времени займёт у антивируса анализ в песочнице,
        2) что с результатом анализа;
        3) ну и нафиг оно надо?

        • gjf
          /#10614592

          1. Думаю, от силы минуту.
          2. Да легко спалится — по сетевым соединениям, по автозагрузке без спроса и т.д.
          3. Вам — не знаю. А пользователь не установит бекдор. Это плохо и не воспадает с Вашими желаниями?

          У меня тоже вопросы:
          1. Как часто Ваши пользователи устанавливают новые файлы без цифровых подписей?
          2. Какие Вам видятся альтернативы предложенной мной проверке?

          • Frankenstine
            /#10614674 / -1

            1. Анализ в песочнице каждого запускаемого файла в целую миниту — пользователь деинсталлирует ваш софт спустя десять минут тормозов при запуске игрушки.
            2. То есть ваш софт не даст работать любимой игрушке юзера, скачивающей карты и игровые скрипты? Ваш софт обречён.
            3. Пользователь не сможет установить и какой-нибудь репак майнкрафта и выбросит фтопку ваш продукт.

            По вашим вопросам — 1. Каждый день, можно сказать, открывают, например пдф загружающие шрифты или отправляющие заполненные формы.
            2. Ничего нового — сигнатурный анализ. Именно он спасает от вашего сокрытия путём создания архива: при распаковке архива сигнатура будет обнаружена, и этого достаточно. Для upx и всего такого — аналогичное обнаружение, но уже не на диске, а в памяти приложений (т.е. сработает после запуска, при распакове в памяти). Это быстро и эффективно, именно так и работает большинство продвинутых антивирусов.

            • gjf
              /#10614680

              Секунду. То есть любимая игрушка пользователя (а в Вашем описании — любимая пиратская игрушка пользователя) загружает исполняемый файл каждый раз перед запуском?
              Я повторюсь: сканировать по предложенному мной механизму нужно только недоверенные файлы и один раз. Если файл — чистый, то нет смысла сканировать его каждый раз перед запуском. Многие антивирусы так же поступают даже с имеющейся защитой, некоторые ставят метки в ADS, некоторые — ведут свою базу.

              Касательно скана в памяти приложений — спасибо, поржал ))) Равно как и касательно

              именно так и работает большинство продвинутых антивирусов

              • teecat
                /#10616536

                Если файл — чистый, то нет смысла сканировать его каждый раз перед запуском.

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

                • gjf
                  /#10616592

                  В описанном мной выше механизме не участвуют базы. Там больше поведенческий анализ.

                  • teecat
                    /#10616624

                    Перед новым годом как раз собирал информацию по поведенческому анализу файлов. Увы не панацея. Пропуски тоже возможны

                    • gjf
                      /#10616640

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

                      • teecat
                        /#10616702

                        Я пробовал для себя облачные анализаторы типа Вирустоталовского и для интереса засылал вредоносные файлы. Как правило файлы определяются как опасные. Но не всегда.

                        По настройкам все грустно. По опыту простые пользователи не настраивают свой антивирус на строгую защиту. Наоборот отключают скажем проверку на внедрение эксплойтов или контроль целостности систем

                        • gjf
                          /#10616712

                          При чём здесь облачные анализаторы? Я говорил хоть слово про облака?

                          • teecat
                            /#10616750

                            Идея та же самая, разница в подробности вывода информации. Анализируется сам файл и его поведение путем запуска в изолированной среде

                            Если говорить о локальной проверке, то отличный пример обхода песочниц — Андроид. Задержка вредоносного поведения в целях маскировки там очень распространенное явление

                            • gjf
                              /#10616762

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

                              Ещё раз: я не пишу, что это — панацея, но пишу, что эффективность данного подхода куда выше, чем существующая ситуация с эвристикой.

                              • teecat
                                /#10616782

                                Не буду спорить. Хороший пример — Wannaa Cry. Доктор Веб поймал его эвристикой. Касперский — облачным детектом. То есть и существующие механизмы позволяют ловить неизвестные угрозы. Почему не внедряются новые механизмы? Сложный вопрос.

                                Причин много (не на работе портянку писать), но вот скажем еще одна в копилку. Сейчас одна из проблемищ — скрипты. Загружается их при загрузке каждого сайта вагон. Что с ними делать? Каждого в песочницу? Так у многих явного вредоносного поведения нет. Ну добавляют скажем пару окошек с запросами или блок с текстом или за запускают некое вычислительное действие

                                И просто поверьте, что поведенческие анализаторы они в плане косяков похуже тех же сигнатур. Постоянно находятся программы влетающие под признаки вредоносного поведения

                                И чтобы понять меня. Я ни в коем случае не против идей песочниц или проактивки. Я просто добавляю аргументов на другую сторону, так как все сложно. Если бы та же песочница или проактивка могла заменить антивирус — думаете антивирусные компании не забили бы гвозди в сигнатурные методы? Их также не устраивают тормоза и потребление ресурсов.
                                Сигнатуры раздувают базы, потребляют ресурсы, их нужно периодически перетряхивать…

                                • gjf
                                  /#10616802

                                  Тоже не вся правда :)
                                  Если антивирусные компании так заботятся о потребляемых ресурсах — к чему добавлять «защиту банковских операций», зачем мне родительский контроль и к чему вешать тонны телеметрии и прочие навороты? Последний дистрибутив KIS потребляет 875 Мб на диске и требует наличия .NET — Вы считаете это нормой для антивируса? Я — нет, хотя ЛК — первое, что пришло на ум, у других ситуация не лучше.

                                  • teecat
                                    /#10616930

                                    — как вы отмечали — ни один из модулей защиты не дает 100% обнаружения. Поэтому один из путей увеличения эффективности — дописывание модулей
                                    — Пользователи ведутся на громко-модные слова. Вы не представляете как было сложно продавать в эпоху модности облаков. «Мы будем использовать только облачный антивирус!». «Вы понимаете, что тем самым вы подписываетесь на… риски?» Тишина в ответ.
                                    Поэтому если компания хочет продавать — увы и ах маркетинговые слова желательны. Даже просто потому, что рассказать математику анализа зашифрованных файлов — сложно и непонятно

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

                                    • gjf
                                      /#10617052

                                      Ну я оставляю маркетинговые детали за скобками. Потому что в таком случае мы вообще говорим не о содержимом, а об упаковке.

                                      Да, продукт нужно продавать, но это не тема данной статьи.

                                      Спасибо за интересные дебаты.

                        • gjf
                          /#10616728

                          Погуглите: Buster Sandbox Analyzer. Можете ещё — ZeroWine, хотя это уже совсем не как компонент антивируса, слишком громоздко, да и забросили проект давно. Ну и для полного просветления: REMnux, SIFT Workstation.

                          Есть ещё очень интересные работы: тут и тут. Погуглите ещё OmniUnpack (от авторов Lorenzo Martignoni, Mihai Christodorescu и Somesh Jha).

                          Да куча на самом деле работ!

          • teecat
            /#10616530

            Больше, чем минута. Хорошая песочница должна запускаться уникально, чтобы не иметь характерных признаков. Если держать стандартную песочницу запущенной постоянно, то время проверки конечно будет небольшим, но уверенности в проверке будет мало

            И еще проблема. Песочница косячит. Лично видел опасные файлы пропущенные с вердиктом чистых

      • teecat
        /#10616518

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

    • demimurych
      /#10613910

      Минутку. Когда я последний раз занимался этой темой, а это был 1995 год, уже тогда, как минимум, эвристический анализатор dr.web проводил анализ файлов с эмуляцией их исполнения. Я это могу гарантировать.
      Очень сомневаюсь, что с тех пор, это решили выпилить из сканера, уже хотя бы потому, что уже тогда, сканирование по сигнатурам, для большинства вирусов, было бессмысленным.

      • yosemity
        /#10613916

        Не берусь отвечать за dr.web и других вендоров, но могу предположить, что выполнение и анализ работы в песочнице, вероятно ведет к сверхчрезмерным накладным расходам. Конечно, может быть и стоит добавить пункт «paranoid» в настройках эвристики «low-middle-hard»

        • gjf
          /#10613996

          Я не понимаю, про какие накладные расходы речь. Компания пришлёт счёт за сканирование?
          Если речь о машинных ресурсах — они сейчас более чем достаточны.
          К тому же речь о проверке эмулятором единичного файла перед запуском, который пользователь подозревает, а не сканирование всего и вся. Да и будем откровенны: после запуска одного файла в случае, если заражение стало активным — дальше на такой системе в активном состоянии полностью удалить серьёзное заражение крайне затруднительно.

          • yosemity
            /#10614026

            Я привел свои догадки, почему фулл эвристику не применяют в реальной среде текущие вендоры. Не более чем. И да, естественно я имею ввиду не сканирование вирустоталом, а работу в реальной среде.

        • teecat
          /#10616550

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

      • gjf
        /#10613984

        Я это тоже слышал, но мне тут рассказывают про накладные расходы — видимо системы здорово ослабли с тех пор :)
        Но если эмулятор есть — то почему снялся детект моим абсолютно простым способом упаковки? Уж эмулятор должен был код «запустить» и обнаружить, что в результате распаковывается вредоносный файл.

      • Frankenstine
        /#10614676 / -1

        Эмуляция исполнения в антивирусах делается не в полном объёме, это не прямое выполнение — было бы слишком затратно. Там упрощённый анализатор по типу дизассемблера.

      • teecat
        /#10616544

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

  7. ingegnere
    /#10613726

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

    • gjf
      /#10613728

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

  8. NOSS68
    /#10613822

    Для последней же версии файл уменьшился, суть не изменилась, а вот детектов прибавилось

    Интересная статья, всё сформулировано очень доходчиво. Порадовала Avira, оставшись последней из наиболее известных вендоров по результатам проверок, указанных в данном случае.

  9. Lord_Ahriman
    /#10614188

    Помнится, что-то подобное было у покойного Касперски в «Компьютерные вирусы и защита от них», там тоже использовался UPX, ASPack и ЕМНИП WinRAR.

  10. forcam
    /#10614330

    На самом деле успех биткоина и лихорадка на майнинге приведет к тому, что через пару лет все мы сядем под песочницы, ибо по другому вход в Инет будет равнозначен вирусному заражению. К слову статистика за 2017 уже аховая, при том, что биткоин взлетел во второй половине года — «ягодки» (бум вирусов-майнеров) начнут расти в 2018 и видится мне — пандемия будет, другого тут не дано.

    • gjf
      /#10614606 / +1

      Просто процитирую одного умного человека.
      ""

  11. GutenMorg
    /#10614596 / +1

    С интересом прочитал статью. Автору — благодарность. Я не специалист по информационной безопасности, больше сисадмин — эникейщик. И тем не менее было понятно и интересно. Мало того, уважаемый автор смог меня удивить. Оказалось, что белорусский антивирус VBA32 реально неплох в части выявления описанных угроз. Ранее приходилось сталкиваться с этим отечественным (для меня) продуктом, было это уже достаточно давно, но на фоне разработок Касперского, DrWEba и прочих norton internet security как-то не воспринимал этот антивирус всерьёз. Не сочтите за рекламу, но заставляет задуматься.

    • gjf
      /#10614604 / +1

      Зря Вы так — VBA32 всегда был не плох. Это было понятно ещё в эпоху появлений TDL2/TDL3 и их подхода к выявлению этой угрозы.

    • yosemity
      /#10614830

      Не берусь говорить за VBA32, не знаю что он из себя представляет, но тот же каспер стал комбайном, в нем тебе и управление доступом к устройствам и проверка на уязвимости и деплой апдейтов на ОС и софт, и админка, и отчеты и, фактически, инвентаризация. Хорошо это или плохо — каждый решит сам, но я считаю, что лично мне стало удобнее. Это комплекс по обеспечению мер безопасности, хоть и использую далеко не все.

      • gjf
        /#10614900

        Я считаю, что плохо.
        По факту это «подсадка» на одного производителя.
        Вы сами используете не весь функционал, так зачем за него платить и тратить системные ресурсы?
        К тому же песочница хороша у Sandboxie, проактивка + файервол — у Comodo (имхо) — чего я всё должен брать у ЛК? От них я хочу качественный антивирус, а вот с этим как раз затык.

  12. Yugoslavskiy
    /#10617540 / +1

    Уморительная стать по теме от ребят из BLACK HILLS Information Security: How to Bypass Anti-Virus to Run Mimikatz

  13. Sabbaot
    /#10618634

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