Технический форум

Технический форум (http://www.tehnari.ru/)
-   Форум программистов (http://www.tehnari.ru/f22/)
-   -   Делаем антивирус на JavaScript (http://www.tehnari.ru/f22/t253812/)

Жучар 19.05.2017 15:38

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

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

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

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

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

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

Olej 15.01.2018 16:39

Цитата:

Сообщение от Жучар (Сообщение 2488477)
Это конечно язык не поворачивается назвать антивирусом, но зато есть кучка полезных функций окормя:

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

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

Жучар 24.04.2018 13:40

Цитата:

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

Цитата:

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

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


Часовой пояс GMT +4, время: 01:52.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.