Современные антивирусы используют множество методов обнаружения и нейтрализации вредоносных программ. Самый старый и надежный из них - Сигнатурный метод. Сигнатура - в переводе означает подпись.
Принцип работы этого метода прост. Как вы знаете, каждая программа представляет собой набор байтов, причем этот набор у разных программ различается. Так вот, раньше вирусной сигнатурой называли последовательность байтов, характерную для вируса. Чтобы ее определить, необходимо было получить вирус, исследовать его в лаборатории и найти такую последовательность.
Например, возьмите вот эту строку ниже, сохраните ее в текстовый файл и запустите антивирусную проверку. Любой нормальный антивирус определит, что это вирус EICAR.
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
Время шло, вирусописатели искали способы обмануть антивирусы, и придумали такие вирусы, которые умеют запутывать свой программный код, то есть ранее найденные сигнатуры уже не совпадали. Такие вирусы назвали полиморфными.
Но и производители антивирусов не растерялись, и напридумывали кучу способов выводить на чистую воду такие вирусы, включая даже использование нейросетей.
В ходе этой гонки вооружений понятие "сигнатура" получила более широкое трактование: это характерные признаки вредоносной программы, позволяющие антивирусу ее обнаружить. У Лаборатории Касперского есть хорошая статья на эту тему.
Недостаток этого метода - чтобы поймать вредоносную программу, должно быть выполнено три условия:
- вредоносная программа уже должна быть известна производителю антивируса и исследована в специальной лаборатории;
- лаборатория должна сформировать сигнатуры, характерные признаки вредоносной программы;
- эти сигнатуры должны попасть на антивирус, установленный на нашем компьютере.
У каждого производителя антивирусов есть специальная лаборатория по исследованию вредоносных программ с большим штатом специалистов. Производители ежедневно, а иногда несколько раз в день рассылают обновления сигнатурных баз. Поэтому очень важно регулярно обновлять свой антивирус.
Качество антивируса определяется в том числе тем, насколько обширна его база сигнатур и насколько оперативно она пополняется.
Это главный недостаток метода: он не поможет против нового неизвестного вредоноса. То есть вредоносная программа может гулять свободно до тех пор, пока не попадется на глаза антивирусной лаборатории. Могла бы, если бы не существовало других способов их обнаружения. О них поговорим в следующих статьях.