2014-11-10 11 views
0

Есть ли способ определить, изменяется ли HTML DOM вредоносным ПО в системе конечного пользователя? У меня есть веб-сайт, защищенный HTTPS, и недавно столкнулся с призывом поддержки, когда пользователь просматривал рекламу на моем веб-сайте. У меня нет рекламы на моем сайте, и мы закончили антивирусную проверку системы конечного пользователя, которая обнаружила и очистила многие инфекции, после чего реклама исчезла. К сожалению, я не могу предоставить какие-либо образцы кода, потому что я даже не знаю, с чего начать.Обнаруживать, вредит ли вредоносное ПО веб-сайту

+1

Нет никакого способа сделать это. Вы можете попробовать, но вы потерпите неудачу. Также это не ваша проблема. – PeeHaa

+0

@PeeHaa - Это было мое предположение. Тем не менее, я видел, что в некоторых статьях рассказывается об обнаружении изменений с помощью javascript, и поэтому я подумал, что я проверил бы с сообществом переполнения стека. https://www.usenix.org/legacy/events/nsdi08/tech/full_papers/reis/reis_html/index.html –

+0

Да, вы можете наблюдать изменения в DOM. Это не говорит вам ничего о вредоносном ПО, действиях пользователя, плагине браузера/независимо от того, как – PeeHaa

ответ

2

Возможно обнаружение изменений DOM с использованием MutationObserver s (поддерживается всеми основными поставщиками).

Возможно, будет сложно обнаружить, какие модификации являются злонамеренными, а какие нет.

Возможно, что-то задуматься: в зависимости от того, как работает вредоносное ПО, вы можете предотвратить вставку (или, по крайней мере, выполнение) тегов script. Это может остановить наивное вредоносное ПО, но это игра в кошки и мышки.

+0

Я думаю, что я буду использовать наблюдателя на странице входа и отключить форму, если обнаружу какие-либо изменения. Страница входа достаточно проста, и я могу использовать наблюдателей за мутацией. –

+0

принят через 10 минут? у меня нет лучшего ответа, но 10 минут немного поспеш ... – dandavis

+0

@dandavis - предоставленный ответ дает мне хорошее место для начала, а затем настраивает мой сценарий по мере необходимости. Моя страница входа в систему - это буквально два поля с несколькими строками javascript, которые используются для очень простой проверки. Я должен легко обнаруживать изменения DOM на этой странице. –

0

Когда дело доходит до этого, вы не можете контролировать то, что происходит на компьютере, который вы не контролируете. Достаточно передовое вредоносное ПО обнаружит вашу попытку обнаружить его и будет лгать вам о результатах.

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

  1. напишите свой собственный код, который знает, что знает, что должно знать ваш дом. злоумышленник остановит ваш код.

  2. обновите код, чтобы взаимодействовать с вашим сервером приложений каждые несколько секунд. злоумышленник продублирует этот фрагмент кода и прекратит выполнение первоначальной проверки.

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

    2. смешать ваш код проверки с вашей бизнес-логикой и запутать все. злоумышленник может создать свой собственный пользовательский интерфейс, который взаимодействует с сервером и показать, что вместо того, чтобы ваш пользовательский интерфейс

сейчас, только потому, что вы на стороне проигравших битвы, это не означает его бесполезно. это действительно зависит от того, кто может атаковать ваш сервер, и сколько ресурсов они хотят потратить на гонку вооружений с вами по сравнению с тем, сколько ресурсов вы хотите потратить на них.