Другие языки программирования и технологии

Как антивирусы проверяют файлы на вредоностность если?

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

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

Кроме того, качественный же антивирус контролирует, что именно запущенные программы пытаются делать в системе, и блокирует опасное поведение.
Николай Нехаев
Николай Нехаев
56 069
Лучший ответ
Гриша Тинников ну, по базе ищет в файле двоичные коды (для этого нужно дизамсемблер), устанавливает связь двочного кода с другими "безобидными", если есть вред то срабатывает проактивная защита... но этого не происходит!!!
не нужно декомпилировать. Сверяют сигнатуры файлов с сигнатурами известных вирусов.
А ещё контроллируют запись в файл и сетевые операции, пресекая потенциально опасные действия
Нурлан Кабдиев
Нурлан Кабдиев
36 571
Чювак забей, это всё не для тебя!!!
SM
Sanjar Mullajanov
1 619
Они много чего делают. У них есть сигнатуры подозрительной активности; следя за каждым вызовом ядра они пытаются поймать неизвестные им вирусы запуск которых они не смогли предотвратить. Дальше есть эвристический анализатор, который запускает вирус в виртуализированной среде с целью распаковать/расшифровать и пройтись паттернами. Ещё есть паттерны, куски кода идентичные для конкретной версии вируса или даже просто подозрительные куски (почти декомпиляция между прочем), вроде явного внедрения в чужой процесс, их готовят в антивирусной лаборатории. Ну и в конце концов чексуммы известных вирусов, самый быстрый способ, периодически дающий ошибки.
во сновном они тупо проверяют по базе, но по базе они проверяют не только файл целиком, но и куски. например, чтобы сменить стартовую страницу в IE, надо задать значение определенному ключу в реестре. и вот если антивирус в каком-либо файле находит путь к этому ключу, то он его детектирует как Trojan.StartPage
компиляторы обычно строковые данные записывают в специальную область с данными, внутри файла, откуда довольно легко и быстро их все извлечь и прочесть.
обойти подобный анализ довольно легко, но после того как кто-нибудь настучит разрабам антивируса, твоя поделка тоже попадет в базу, так что нужно еще полиморфизм предусмотреть
если интересно иди на Вирустотал и экспериментируй.
а еще они могут отслеживать действия... от взаимодействия по сети до изменений в файловой системе...
поэтому хороший вирус должен внедряться в системные процессы, использовать низкоуровневые пути обхода, это ядро NT
KK
Kurt Knispel
174