LINUX.ORG.RU

Каким образом антивирус распознает зловред, прогнанный через обфускатор?

 


0

3

Например, кто-то сделает скрытый вирус, который тихо сидит до того момента, пока пользователь по какой-то причине не отключит антивирус, а потом «пускаться в пляс»?

P.S. Я не планирую ничего делать, проосто интересны принципы работы антивирусов.



Последнее исправление: kramh (всего исправлений: 1)

Антивирус запускает вирус в песочнице и смотрит, что он там делает. Анализирует каждую функцию и выносит вердикт — вирус это или нет.

CYB3R ★★★★★
()

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

CYB3R ★★★★★
()

на винфаке об этом лучше знают

superuser ★★★★☆
()
Ответ на: комментарий от CYB3R

То есть, анализирование запущенных процессов со стороны зловреда будет расценено антивирусом как признак вируса? А что если кто-то сделает софт, который «по долгу своей работы» будет анализировать процессы, и совершать какие-то манипуляции с ними?

Как я понимаю, на это никому нет дела, и в большинстве случаев решают подписи?

kramh
() автор топика
Ответ на: комментарий от CYB3R

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

kramh
() автор топика

Ладно, вопросов больше нет.

Хотя если вы еще что-то хотите рассказать - буду рад новой информации.

kramh
() автор топика
Ответ на: комментарий от beastie

бывает включишь компьютер и не понимаешь, вирус у тебя там или антивирус

anonymous
()
Ответ на: комментарий от beastie

В общем случае между вредоносным и защитным ПО разницы нет, разве что последнее в идеале не ломает всё пользователю (хотя были прецеденты).

wakuwaku ★★★★
()
Последнее исправление: wakuwaku (всего исправлений: 1)

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

anonymous
()

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

В спорных случаях используются белые списки сигнатур.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от beastie

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

arturpub ★★
()
Ответ на: комментарий от kramh

Нет, это так не работает. Антивирус всё равно проверит все функции и все ветвления.

CYB3R ★★★★★
()

Например, кто-то сделает скрытый вирус

Никто так не сделает. Последние «технарские» зловреды сдохли лет десять назад.

Щас во всю рулить концепция MaaS (Malware as a Service). Нужен тебе ботнет — берёшь и покупаешь. Техподдержка, иногда даже и SLA ;)

Ну, или нужно тебе разлить твоё творение на N машин... Дык, нет препятствий патриотам!

Можно купить готовый комплект. Можно заказать кастомную версию. За ваши деньги любой каприз.

Так и антивирусу не нужно больше быть «умным». Ему нужно быть шустрым.

А если чисто в теории, то существует три подхода: а) эвристический; б) сигнатурный; в) поведенческий.

Эвристический подход пытается принять решение по набору внешних признаков. Ну например, есть бинарник с невыровненными секциями, точка входа указывает в конец секции, а контрольная сумма не совпадает. Всё однозначно ясно: инфекция. Или например, по точке входа нет сишного рантайма, в образе только одна r/w секция. Подозрительно, врубим на полную катушку все имеющиеся параноидальные механизмы. Например, запустим статический анализатор или трассировщик.

Сигнатурный подход предполагает вычисление некого «уникального» значения — сигнатуры. Точный алгоритм вычисления, и стратегия сравнения — коммерческая тайна, ясен пень. Опять возможны варианты: «белые» сигнатуры, «чёрные» сигнатуры, или включить параноидальный режим.

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

Ясен пень, никто не применяет какой-то один подход. Всё намного более сложнее.

В принципе сейчас есть даже реально работающие системы DBI (dynamic binary instrumentation). Под линуксом — Валгринд. Под вендой — DynamoRIO (Гугл, купил с потрохами) и PIN (Интел, не опенсорс и не полностью free). Принцип работы: дизассемблируется сколько можно (обычно до первого джампа), а в конец и/или в начало получившегося т.н. базового блока вставляется инструментирующий код. Валгринд вообще перегоняет в промежуточное представление, DynamoRIO и PIN в этом плане попроще.

Инструментирующий код может делать вообще всё что угодно. Проверять утечки памяти (чем «печально знамениты» Валгринд, и теперь после покупки гуглом и DynamoRIO), оптимизировать под конкретный процессор «на лету», работать т.н. memory firewall.

Интересно что такого рода системы не требуют каких-то особенных прав: работают от самого непривилегированного юзера. Но в работе есть масса нюансов: тормоза (с этим научились бороться), работа с самомодифицирующимся кодом, работа с эксцепшенами.

Увы, что Валгринд, что DynamoRIO находятся в состоянии стагнации. Была вроде бы попытка запилить DBI систему на базе LLVM, но она вроде бы кончилась ничем.

Macil ★★★★★
()
Ответ на: комментарий от Macil

А не, насчёт DynamoRIO я ошибся: шевелятся, курилки!

Macil ★★★★★
()
Ответ на: комментарий от arturpub

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

nixbrain
()
Ответ на: комментарий от anonymous

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

Ты упоролся что-ли, snadboxie под винду была аж с 2004 года...

vasya_pupkin ★★★★★
()

функции которые ты используешьих порядок-никак не различается какбы ты не зашифровал бинарник

поэтому так ценны уязвимости в експлорере/интернетексплорере/медиаплеере(и прочем встроенном софте) которые имеют «функции»/доступ к уровню ядра в обход стандартного АПИ-ОС,тоесть к примеру могут писать файлы «функцией из своей(софта) библиотеки которая обращаяется к ядру ОС,а в ядре прописано правило и функция-что этому софту(експлореру) можно»

теже уязвимости в АПи имеют порядок вызова функций для их выполнения/возникновения-тоесть они тоже порядком выхова легко ловятся

есть также способ обхода через антивирус-анализатор бинарника может давать сбой на «некотором порядке ассемблерного кода» но бинарник при этом будет рабочим(банально будет крашитсяь анализатор антивирусника или переходит в конец файла-и будет считать что файл прошел проверку)...

вобщем ггули твой вопрос банальный

hello322
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.