1)Сигнатурная защита - антивирус ищет совпадения кода содержащегося в файле или в памяти с антивирусной базой.
Для того чтобы это работало кто-то должен регулярно заносить сигнатуры в базу, необходимо постоянно обновлять базу. Это сложная работа - с одной стороны сигнатура должна гарантированно совпадать с вирусом, с другой стороны она не должна содержаться в обычных программах. Любая модификация вируса и сигнатура уже другая, и метод не работает. Но этот метод дает мало ошибок.
В данном контексте сигнатура это банальный хэш куска кода.
2)Поведенческая защита - антивирус анализирует поведение программ и ищет подозрительное поведение.
Например программа лезет в память чужого процесса - это подозрительно.
Есть паттерны подозрительного поведения, комплекс действий программы характерный для вирусов и не характерный для обычных программ.
Поведение программ может отслеживаться как по известным паттернам, так и с применением эвристического анализа.
Как антивирус определяет вредоносность комбинированных файлов: это документов, в которых есть программный код. например, html
А какая разница? Любой файл это набор байт - смотрим совпадение сигнатур и все.
То же самое и с поведенческим анализом - если программа исполняется контролируем поведение, если не исполняется - никакого вреда от нее нет и быть не может.