Я размещаю это здесь, поскольку программисты пишут вирусы и антивирусное программное обеспечение. Они также обладают лучшими знаниями об эвристике и о том, как работают антивирусные системы (маскировка и т.д.).
Тестовый файл EICAR использовался для функционального тестирования антивирусной системы. Сегодня почти каждая антивирусная система отмечает EICAR как "тестовый" вирус. Для получения дополнительной информации об этом историческом тестовом вирусе нажмите здесь .
В настоящее время тестовый файл EICAR подходит только для проверки наличия AV-решения, но он не проверяет актуальность файла движка или DAT-файла. Другими словами, зачем проводить функциональное тестирование системы, которая может иметь файлы определений более чем 10-летней давности. С увеличением количества угроз "нулевого дня" нет особого смысла проводить функциональное тестирование системы с помощью EICAR.
Учитывая это, я считаю, что EICAR необходимо обновить/модифицировать, чтобы он стал эффективным тестом, который работает в сочетании с решением для управления AV. Этот вопрос касается тестирования в реальных условиях, без использования живых вирусов... что и было целью оригинального EICAR.
С учетом этого я предлагаю новый формат файла EICAR с приложением XML-блоба, который будет условно вызывать реакцию антивирусного механизма.
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-EXTENDED-ANTIVIRUS-TEST-FILE!$H+H*
<?xml version = "1.0"?>
<engine-valid-from>2010-1-1Z</engine-valid-from>
<signature-valid-from>2010-1-1Z</signature-valid-from>
<authkey>MyTestKeyHere</authkey>
В данном примере антивирусный механизм будет предупреждать о наличии файла EICAR только в том случае, если сигнатура или файл механизма равны или новее даты valid-from. Также имеется пароль, который защищает использование EICAR для системного администратора.
Если у вас есть опыт работы с "Test Driven Design" TDD для программного обеспечения, вы можете понять, что все, что я делаю, это применяю принципы TDD к моей инфраструктуре.
Основываясь на вашем опыте и контактах, как я могу реализовать эту идею?
Если бы такое решение существовало... Где здесь выгода? Просто рассуждаю как адвокат дьявола... Не может ли AV-движок просто сообщать, когда его база данных была обновлена?