在浏览器中执行 Javascript 数学函数获得的信息

信息安全 javascript 铬合金 火狐
2021-09-09 05:34:29

我在几个网站上发现了一段有趣的 javascript。它正在执行 Javascript 数学函数,例如 abs、acos、random 等数千次——在我的例子中是四千次,尽管迭代次数似乎在变化或随机。

有问题的网站是有信誉的网站。该代码正在收集执行这些功能并将数据发送到服务器而不是第三方所需的持续时间。

从执行数学函数中可以收集到什么样的信息?基于文件中的其他函数,他们试图收集有关执行环境的信息 - 即浏览器,但我无法弄清楚通过执行数学函数和计算执行这些函数的持续时间可以收集哪些信息。

虚拟机处理这些功能会比普通桌面慢吗?

1个回答

好吧,他们确实在对用户代理进行基准测试。

执行仅需要 CPU 马力的数学函数所需的时间是衡量 CPU 性能的指标。CPU 性能越高,指标越高(或完成周期的时间越短)。

一个基准。现在的问题是:如何在安全/隐私范围内使用基准?

  • 指纹识别或许。

我反复查看了amunique.org,它们作为一个开源项目,详细描述了幕后的内容。事实是,Canvas 指纹识别是一种测量系统性能的技术,用于渲染画布以添加到浏览器的指纹中。该站点可能正在使用性能指标将其添加到服务器端指纹例程中。谁知道不审核服务器。有趣的是,Mozilla 会提示(或计划这样做,无论如何它适用于 Tor 浏览器)画布图像,因此数学函数可以用作画布的解决方法

  • 访客统计? 非常可能

信誉良好的站点可能只想收集有关其访问者 CPU 的信息。如果他们想了解前端更改的影响或在性能有限的机器上执行浏览器测试,则尤其如此。通常,Web 开发人员拥有具有大量 RAM 和大屏幕的强大机器。他们可以轻松地在多种浏览器、分辨率和连接速度上进行测试。但是限制 CPU 呢?该网站是否继续显示良好?有了这样的指标,他们可以绘制图表并找到测试用例

  • 有针对性的分析谁知道...

我在这里变得有创意,不要让我太认真。广告公司可以使用这些信息来了解您的硬件有多强大。然后,您可以获得可能在您的机器上运行的最新 3D 超性能游戏的广告,或者如果他们发现您的 CPU 不够强大,则可以获得一些旧经典游戏。

请不要把最后一个当回事。我本来想开个玩笑的。