检测恶意软件是否正在篡改网站



是否有方法检测HTML DOM是否被最终用户系统上的恶意软件修改?我有一个HTTPS保护的网站,最近遇到一个支持电话,用户在我的网站上看到广告。我的网站上没有广告,我们最终对最终用户的系统进行了抗病毒扫描,发现并清除了许多感染,之后广告消失了。不幸的是,我无法提供任何代码示例,因为我甚至不知道从哪里开始。

使用MutationObserver s(所有主要供应商都支持)可以检测DOM修改。

不过,可能很难检测出哪些修改是恶意的,哪些不是。

也许需要研究一下:根据恶意软件的工作方式,您可能能够阻止插入(或至少执行)script标记。这可能会阻止天真的恶意软件,但这是一场猫捉老鼠的游戏。

归根结底,你无法控制你无法控制的计算机上发生的事情。足够先进的恶意软件会检测到你的检测尝试,并会对你撒谎。

也就是说,你可以应用一些技术来尝试让攻击者更难对付。

  1. 编写您自己的代码,它知道您的dom应该是什么样子。攻击者将阻止您的代码运行。

  2. 更新代码,以便每隔几秒钟与应用程序服务器进行一次交互。攻击者将复制这段代码并停止运行原始检查。

    1. 更新代码以执行需要最短已知时间的复杂操作。攻击者的响应与上述相同

    2. 将您的检查代码与业务逻辑混合在一起,使所有内容都变得模糊。攻击者可以创建自己的UI来与您的服务器交互,并显示它而不是您的UI

现在,仅仅因为你在战斗中处于失败的一方,并不意味着它是无用的。这实际上取决于谁可能在攻击你的服务器,以及他们想在与你的军备竞赛上花费多少资源,而你想在与他们的军备竞赛中花费多少资源

最新更新