• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Делаем антивирус на JavaScript

Жучар

Ученик
Регистрация
19 Май 2017
Сообщения
2
Реакции
0
Баллы
0
Делаем антивирус на JavaScript

В анналах сети увековечены попытки сделать антивирус в CMD, Exel, HTML :fase:
Так чем же javascript хуже? А ни чем не хуже... И значит нужно попытаться сделать свой антивирус на нем (я кстати так и не нашел попытку реализации этой задачи на js).

Сказано - сделано :bsod:
Появился на свет простенький антивирусный сканер по хешам вирусов написанный на чистом JS (ну разве только с прикрученным HTML5 File API).
Все до ужаса просто в реализации... Имя этому безобразию BugJSAV.

Это конечно язык не поворачивается назвать антивирусом, но зато есть кучка полезных функций окормя:

Данная js-библиотека реализует возможность вычисления хеша любого пользовательского файла по алгоритму MD5, с последующим сравнением данного хеша с эталонной таблицей. Этот скрипт может быть применен для проверки валидности файлов в различных задачах.

В библиотеки используются стандартные решения на js для нахождения хеша MD5, а также HTML5 File API для чтения содержимого файла.

Но почему бы не развить тему антивируса и не попытаться реализовать и сканер по маскам (эвристика)... Собственно если есть у кого идеи - пишите.
 

Вложения

Это конечно язык не поворачивается назвать антивирусом, но зато есть кучка полезных функций окормя:
Такие упражнения, безусловно, полезны (теоретически), с одной стороны, чтобы научиться понимать логику поиска сигнатур вирусов и троянов.

Но такие методы, с другой стороны (практически), абсолютно бесполезны для поиска и идентификации реальных вирусов и троянов.
Потому что современные вирусы - мутирующие, они меняют свои сигнатуры (от поколения к поколению заражения) ... стелс-технологии.
Поиск (перебор вариантов) самошифрующихся сигнатур даже быстрым компилированным кодом с языков C, C++, Go и т.д. - это тысячи сканирований на 1 файл, и многие десятки секунд времени выполнения на 1 файл.
А скорость выполнения кода JS в сотни (а иногда и тысячи) раз медленнее C/C++, и эти скоростные характеристики ставят крест на идее создания практических антивирусных средств на таких инструментах.
 
Такие упражнения, безусловно, полезны (теоретически), с одной стороны, чтобы научиться понимать логику поиска сигнатур вирусов и троянов.

На самом деле нашел одно практическое и как показывает практика полезное применение - поиск bat-вирусов)) Вернее сказать сканер вредоносного кода полностью реализованный на JS (FileAPI). Сейчас есть проекте AntiBatVir На что-то серьезное не претендую, но люблю все изучать на практике...

Но такие методы, с другой стороны (практически), абсолютно бесполезны для поиска и идентификации реальных вирусов и троянов.
Потому что современные вирусы - мутирующие, они меняют свои сигнатуры (от поколения к поколению заражения) ... стелс-технологии.
Поиск (перебор вариантов) самошифрующихся сигнатур даже быстрым компилированным кодом с языков C, C++, Go и т.д. - это тысячи сканирований на 1 файл, и многие десятки секунд времени выполнения на 1 файл.


Вы знаете, посмотрел алгоритмы некоторых (вполне известны[) антивирусных продуктов c открытыми кодами - в основном все сводится к обычному сканированию и сравнению с БД хешей извстных вирусов. Эвристика весьма слабая и ничего особенного в ней нет (те же сигнатуры). ИМХО - эффективно, но интереснее поведенческий анализ.
 
Назад
Сверху