Как вирустотал сканит файлы?

Тема в разделе "WASM.RESEARCH", создана пользователем Rel, 31 мар 2020.

  1. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Никогда не исследовали, как вирустотал сканит файлы? Понятно, что для каждого антивируса заведена отдельная виртуалочка, но меня интересует другое. Ведь он поддерживает кучу аверов и у каждого забирает текстовое значение сигнатуры/детекта. То бишь есть какой то универсальный интерфейс у всех аверов, чтобы попросить мол "мистер авер, проверь плиз этот файл и скажи, какая у него сигнатура"?
     
  2. f13nd

    f13nd Well-Known Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    1.995
    У каспарова и ole-интерфейс есть и в журнал событий виндовый он отчитывается. Скорей всего второй вариант для большинства антивирусов применим.
    --- Сообщение объединено, 31 мар 2020 ---
    Хз что мешает для каждого антивируса сделать отдельное решение, например петон-скрипт, который как надо скормит антивирусу файл и как получится заберет результат. Без универсального инструмента.
     
  3. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Пока нашел такой вариант, пишут, что многие аверы реализуют у себя такой интерфейс: https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/nn-shobjidl_core-iattachmentexecute
    --- Сообщение объединено, 31 мар 2020 ---
    Ну и как вариант можно попробовать через AMSI.
    --- Сообщение объединено, 31 мар 2020 ---
    https://github.com/colinbull/AMSI-VirusChecker/blob/master/src/VirusChecker/VirusChecker.cs
    https://github.com/jsakamoto/AntiVi...VirusScanner/COMInterop/IAttachmentExecute.cs
     
  4. Pernat1y

    Pernat1y Member

    Публикаций:
    0
    Регистрация:
    27 янв 2008
    Сообщения:
    36
    Можно загрузить Metadefender (который Core) и посмотреть, как там это реализовано. Там и окна и пингвин.
     
  5. M0rg0t

    M0rg0t Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 окт 2010
    Сообщения:
    1.576
    Rel, мне больше интересно, как работает динчек. Напомню, это сервис который проверяет малварь в динамике сразу на 30+ аверах, т.е. не просто просканил как виртотал (в таком случае можно и виртуалки поднять, и консольные аверы), а именно вот запускает и ждет до 10 минут, выводя лог. Представьте, что одновременно ресурсом пользуется, скажем, 50 человек, выходит 50 х 30 - полторы тыщи виртуалок, что слишком много и нереально. А как по-иному? ведь использовать 2 антивируса на одной виртуалке нельзя.. точнее, можно... но они будут мешать друг другу, + аверы надо обновлять еще, в общем задача сложная.

    Поскольку ко внутренностям динчека доступа нет, а проект свой они продавали за 100к, думал сам как оно может быть. Предполагаю, тут используется технология абстрактной виртуализации. Что-то типа того, что предлагает VMware horizon. Итак. у нас есть 5 разных операционок. Начнем с абстрактности их уровня. Мы создаем 5 виртуальных машин с разными операционками и имеем 5 разных файлов. Это первый уровень абстракции.. далее. эти файлы становятся рид-онли. Итак 5 файлов -образов виртуальных машин с разными операционками. Далее у нас есть 30 антивирусов. Мы запускаем 5 образов виртуалок, только они находятся в режиме рид-онли.. то есть все изменения в процессе работы, проходят в других файлах. это второй уровень абстракции.. на этих виртуалках мы инсталлируем 30 антивирусов. Таким образом у нас получаются еще 30*5=150, но уже мелких относительно файлов.. это второй уровень абстракции.. но это уровень - файловый!
    С текущего момента, мы уже можем запустить чисто теоретически 150 виртуальных машин, в которых будет 5 операционок и в каждой по 30 копий антивирусов. Далее, у нас есть 10 пользователей. у каждого есть 10 файлов
    итого, на каждого пользователя по 100 виртуалок + 5 операционок + 30 антивирусов. Звучит ужасно, а на самом деле?
    А на самом деле, мы стартуем всего 5 образов операционок, разных. + 30 образов к каждой антивирусов..
    и тут вступает в силу абстракция памяти! ведь, у нас всего 5 операционок? значит, чисто теоретически, они будут одинаково занимать память.. значит. можно использовать всего один образ памяти! а разница между 5-ю операционками будет выделяться в отдельной области памяти.. что с того? а с того, что у нас всего 5 блоков статичной памяти + 30 блоков динамических измнений в памяти.. сюда же догладываем 10 пользователей и 10 файлов, которые должны проверять 30 антивирусов.. в итоге, чем выше мы поднимаемся по уровню абстрактности вирутальной среды, тем меньше изменений что в файловой части, что в области памяти+.. есть еще такое понятие, как дедупликация.. когда в файловой системе и в памяти находят идентичные блоки. и оставляют один лишь блок, а к нему кучу индексов с тех мест, где этот блок должен быть! Вот к примеру! mfc32.dll - оно одно, так зачем 5 раз его держать в памяти? достаточно сохранить один образ, а в 5 операционок дать его ссылку.. в смсыле, это файловый блок бери там.. и считай, что он - твой. единственный.. и так, сколько нужно раз.
    Таким образом, мы имеем возможность, развернуть безумное количество виртуалок, на вполне себе вменяемых физических ресурсах.

    Хз, может там както иначе, я не спец в этом всем деле.
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    Так а где его взять то? На гитхабе только всяческие клиенты для его апи. Есть семпл, который можно зареверсить? Или есть сорсы? Я чет не понимаю.
    --- Сообщение объединено, 20 июл 2020 ---
    По хорошему нельзя, тк это не чистый тест будет.
    --- Сообщение объединено, 20 июл 2020 ---
    Я тоже. В QubesOS была некая подобная схема, насколько я помню, но на базе Xen'а. Типа ядро виртуальной оси одно, а для приложений создаются отдельные виртуальные домены над этим ядром. Но с аверами не совсем понятно, тк у авера может жить какой-то критичный компонент в ядре. И как тогда быть с одним отдельным ядром не понятно. Ну может это мне не понятно, тк я не шарю.
     
  7. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    958
    не представляю конечно какая у вас криптлаба - но с утечками семплов в вирустотал надо быть готовыми к апдейтам каждые 15 минут
    --- Сообщение объединено, 20 июл 2020 ---
    а у многих (нод, битдеф итд) еще и облако
    --- Сообщение объединено, 20 июл 2020 ---
    у богини кстати вроде тоже, но хрень из оперы касперского, которая детектит разве что злые батники
    --- Сообщение объединено, 20 июл 2020 ---
    Синтез, это баг, поправь - я себя не комментировал.