Когда антивирус бессилен: распознавание вредоносных программ методами компьютерного зрения |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2020-04-17 10:11 кибер безопасность, теория распознавания образов, свёрточные нейронные сети Любой софт, предназначенный специально для нанесения ущерба системе, похож на паразита – так или иначе, он повреждает родительскую ОС. Каждый год производятся тысячи образцов новых вредоносных программ, из которых антивирусами обнаруживаются меньше половины. Вот некоторые из традиционных методов, используемых для распознавания вредоносных программ:
Поэтому в наши дни специалисты по кибербезопасности среди различных методов обнаружения вредоносных компонентов стали применять методы компьютерного зрения и глубокого обучения. Подробно идея анализа изображений для вредоносного ПО была описана в научной публикации 2011 г. Malware Images: Visualization and Automatic Classification. Идея заключается в следующем. Бинарный файл считывается в виде 8-битного вектора целых чисел, а затем укладывается в двумерный массив. Такой массив удобно представить как изображение в оттенках серого с диапазоном На рисунке ниже показан пример изображения для распространенного трояна Dontovo A, который загружает и запускает произвольные файлы. Интересно отметить, что во многих случаях, как на рисунке, различные разделы (двоичные фрагменты) вредоносного ПО демонстрируют различные текстуры. Блок Виртуальные вирусы так же, как реальные, имеют склонность к мутации – возникают целые семейства вирусов. Сравнение показывает, что программы внутри одного семейства имеют схожую структуру. Это позволяет выявлять новые примеры вредоносных программ из уже известной группы и даже обобщать результаты на еще неизвестные семейства. В дальнейшем метод был модифицирован и позволил обнаружить и другие семейства. Ниже представлено изображение, взято из диссертации 2017 г. Malware Classification Using Image Representation. На изображении приведены «снимки» вредоносных программ различных семейств, полученные с использованием близкого подхода, в котором используется цветовое отображение. Примеры обработки данных Таким образом, для ускорения процесса обнаружения вредоносного программного обеспечения можно использовать такое простое преобразование бинарного кода в изображение и сличение с известными примерами. Этот процесс вполне можно доверить алгоритмам компьютерного зрения. Как классическим подходам, так и развившимся в последние годы неройсетевым решениям. Например, в упомянутой выше статье "Malware Images: Visualization and Automatic Classification" для вычисления текстурных признаков используется вейвлет-декомпозиция изображения с использованием фильтра Габора, а также метод k-ближайших соседей с Евклидовым расстоянием. Фильтр Габора – это линейный фильтр, анализирующий частотное содержание изображения в определенном направлении в области анализа. Он используется для обнаружения краев, анализа текстур и извлечения объектов. Авторы использовали базу данных с 9.5 тыс. вредоносными программ из 25 семейств, и получили 98% точности обнаружения. В упомянутой диссертации 2017 г. Malware Classification Using Image Representation сравнивались две модели: модель CNN с двумя слоями свертки и двумя плотными слоями (точность 95%) и модель Resnet18 (точность 98%). В работе 2016 г. Convolution Neural Networks for Malware Classification авторы обучали три модели свёрточных нейросетей с различной, довольно сложной архитектурой. Наилучшие результаты дала модель CNN 2C 1D, состоящая из входного слоя 32x32 пикселя, сверточными слоями с 64 и 128 фильтрующими картами размером 3x3, двумя max-pooling-слоями, плотно связанным слоем из 512 нейронов и выходного слоя из 9 нейронов. Точность определения составила 99.8 %. Заключение В наши дни злоумышленники используют автоматизированный подход к атакам, и антивирусам трудно защищать системы устаревшими методами, когда код вируса может переписываться «на лету». Методы компьютерного зрения могут оказать существенную помощь в обнаружении вредоносных программ, обнаруживая характерные образы и паттерны. Источники Источник: proglib.io Комментарии: |
|