Когда вы предполагаете, что ваш компьютер заражен вирусом, то решение кажется довольно простым: нужно запустить антивирусную программу и посмотреть, найдет ли она что-нибудь. Если антивирусная программа ничего не обнаружила, это должно означать, что в компьютере гарантировано, нет вирусов... не так ли?
К сожалению, все не так просто. Хотя современные антивирусы весьма эффективно обнаруживают вирусы, случается, что вредоносное программное обеспечение может быть не обнаружено. Как это происходит?
Предварительная информация об определении вирусов
Обсуждая эту тему, мы будем много говорить об "определении вирусов". Поэтому, лучше сразу же оговорить, что представляет собой определение вируса, и почему оно так важно в данном контексте.
Когда антивирусная программа ищет вредоносное программное обеспечение, ей нужно определить, что является вирусом, а что – нет. Для этого программе требуются определения вирусов, говорящие о том, что именно является плохим в коде вируса. Антивирус обычно получает на регулярной основе определения вирусов от разработчиков, что позволяет программе узнавать все недавно обнаруженные вирусы и то, как они выглядят.
Можно представить, что эти определения являются антивирусным эквивалентом полицейских фотографий преступников. Эти определения говорят антивирусу, как выглядит вирус, и как с ним бороться. Поэтому сила антивируса заключается именно в библиотеке определений вирусов и в том, как используется эта библиотека.
Как вирус может обойти антивирусную программу?
Поскольку определение вируса является таким важным для антивирусной программы, разработчики вредоносных программ стремятся использовать ситуации и способы, позволяющие обойти эти определения.
1. Вирусы могут быть не замечены, если антивирус не обновлен
С самого начала, если вы не позволяете своей антивирусной программе обновляться, она не будет знать об определениях новых вирусов. Это, в свою очередь, означает, что новые вирусы могут проскользнуть мимо вашей защиты, не будучи обнаруженными.
Вот почему реально важно поддерживать антивирус в обновленном состоянии. Если нужно загрузить новые описания вирусов, не следует откладывать это на потом. Сделайте это как можно скорее, и пусть антивирусная программа выполняет свою работу, должным образом защищая ваш ПК.
2. Вирусы нулевого дня могут проникать в компьютер безнаказанно
Но даже если вы поддерживаете регулярные обновления антивирусной программы, этого недостаточно. В конце концов, существуют вирусы, с которыми антивирусные компании еще не сталкивались. И поэтому они не публикуют определения вирусов для борьбы с ними. Подобный тип вредоносных программ известен под наименованием "вирус нулевого дня".
Вирусы нулевого дня распространяются в интернете в "нулевой день" их выпуска. Этот термин говорит о том, что вирус совершенно новый, и что он только начал атаку на интернет.
Возвращаясь к нашему примеру полицейских фотографий преступников, можно считать, что вирус нулевого дня – это аналог преступника, совершившего преступление, о котором еще не сообщалось. В промежутке времени между совершением преступления и началом поиска преступника полицией, тот может перемещаться, как обычный гражданин, не опасаясь ареста.
Точно так же, для совершенного нового вируса не известно определения, потому что антивирусные компании еще даже не знают о его существовании. И пока он не будет обнаружен, подобный вирус может проникать в компьютер, не привлекая внимания антивируса.
Именно поэтому ваши антивирусные программы очень часто обновляют определения вирусов. Как только специалисты обнаруживают новый вирус, важно создать его определение и передать антивирусным программам пользователей, как можно раньше, чтобы снизить уязвимость нулевого дня.
3. Запутывание может усложнить ситуацию
Если разработчики вредоносной программы знают, что антивирусные программы идентифицируют код вируса, в их распоряжении имеются несколько тактик предотвращения обнаружения вируса.
Одна из таких тактик называется "запутывание" (обфускация).
Провести обфускацию можно тут: https://mirotools.com/javascript-deobfuscator
Разработчик вредоносной программы хитро прячет код вируса, чтобы антивирусные программы не обнаружили его. Например, распространяется программа, которая автоматически шифрует и дешифрует свои вредоносные части или изменяет код самого вируса, так что он при каждом заражении выглядит по-другому.
Изменение внешнего вида вируса затрудняет работу антивирусной программы. Она ищет конкретную "сигнатуру", идентифицирующую специфический вредоносный штамм, поэтому если разработчик вируса сможет спрятать эту сигнатуру, у вируса увеличиваются шансы ускользнуть от антивируса.
4. Вредоносные программы без вредоносного кода
Наиболее коварным вариантом вредоносных программ являются те, которые сами по себе совсем не выглядят вредоносными. Это программы действуют в качестве плацдарма для будущих заражений и нападений вирусов, но сами по себе они выглядят невинно.
Например, разработчик подобной программы может создать программу, которая способна скачивать файлы с удаленного сервера. Возможно, подобные действия маскируются как сервис обновления, или как необходимость для пользователя загрузить дополнительные файлы для своих программ.
Сама такая программа не содержит вредоносного кода, поэтому антивирус позволяет ей выполняться. Но, разработчик этой программы может затем использовать соединение с удаленным сервером, чтобы скрытно загрузить вредоносную программу. А поскольку программа выглядит невинной, то существуют значительные шансы, что антивирусные средства не обнаружат загрузку вирусов в ваш компьютер.
Как защититься от не обнаруживаемых вирусов
К счастью, несмотря на угрозы, которые несут эти не обнаруживаемые атаки, не стоит считать, что ваш компьютер, как утка на гнезде, сидит и ждет, когда на него нападут. По состоянию на данный момент наиболее мощным антивирусом является ваш здравый смысл, и если вы правильно используете его, то сможете избежать нападения.
Если вы загружаете файлы с законных источников, и не открываете подозрительные приложения к странным сообщениям, полученным по электронной почте, то вы уже делаете многое, чтобы защитить себя. Мы составили огромный список советов по безопасности, помогающим защитить себя в интернете, но даже если вы будете использовать лишь основные принципы, то все будет в порядке. Не забывайте, что срывающиеся от антивирусов вредоносные программы могут делать свое дело лишь тогда, когда вы позволите это!
Важность искусственного интеллекта в антивирусных программах
Перечисленные выше уязвимости создают серьезные проблемы, с которыми приходится сталкиваться разработчикам антивирусов. Однако все они имеют одно общее: они используют слабость, присущую модели определения вирусов.
В настоящее время антивирусная программа не способна, только просматривая код, сказать, вирус ли это или нет. Для идентификации наличия вируса ей необходимо определение. Однако развитие машинного обучения и искусственного интеллекта могут в будущем изменить эту ситуацию.
В конечном счете, мы можем получить антивирусные системы, которые не будут зависеть исключительно от определений вирусов. Конечно, они все еще могут использовать определения в качестве быстрого и удобного способа идентификации вируса, но эти системы также будут снабжены искусственным интеллектом, который сможет изучить файл или программу и определить, что это вирус на основе того, что пытается делать программа.
Умные вредоносные программы требуют более умных пользователей
В то время как такие угрозы, как атаки нулевого дня и обфускация кажутся ужасными, они ни в коей мере не являются разрушителями интернета. Лучший способ избежать скрывающихся от антивирусов вредоносных программ заключается в том, чтобы никогда не давать им проникнуть в ваш ПК. Поэтому оставайтесь бдительными и не становитесь жертвой огромного числа угроз в интернете.
Кибернетическая безопасность на основе искусственного интеллекта – это действительно интересная тема, и она стоит того, чтобы изучить ее, если вам интересно, как работают антивирусы. Кто знает, возможно, наступит день, когда скромное определение вирусов уступит дорогу интеллектуальным системам, которые смогут отлавливать вирусы на основании того, что они делают, а не на основании того, на что похож их код.