Security Isn';是否专门针对官方引导CDN使用integrity属性*是多余的?

Security Isn';是否专门针对官方引导CDN使用integrity属性*是多余的?,security,cdn,Security,Cdn,我了解完整性属性的用途,并引用: […]使用CDN也有风险,因为如果攻击者获得CDN的控制权,攻击者可以将任意恶意内容注入CDN上的文件[…] 但让我们说实话,在官方引导式CDN的情况下,攻击者“控制CDN”的可能性有多大 攻击者在任何时间内控制这3个CDN中任何一个的可能性有多大 我理解,一般来说,使用integrity属性是有意义的。但对于官方引导使用的3个CDN来说,这真的有意义吗 《孙子兵法》教导我们不要依赖敌人不来的可能性,而要依赖我们自己是否准备好迎接敌人;不是因为他没有进攻的

我了解完整性属性的用途,并引用:

[…]使用CDN也有风险,因为如果攻击者获得CDN的控制权,攻击者可以将任意恶意内容注入CDN上的文件[…]

但让我们说实话,在官方引导式CDN的情况下,攻击者“控制CDN”的可能性有多大

攻击者在任何时间内控制这3个CDN中任何一个的可能性有多大

我理解,一般来说,使用integrity属性是有意义的。但对于官方引导使用的3个CDN来说,这真的有意义吗

《孙子兵法》教导我们不要依赖敌人不来的可能性,而要依赖我们自己是否准备好迎接敌人;不是因为他没有进攻的机会,而是因为我们已经使我们的位置无懈可击。
-孙子,中国古代的将军


依靠敌人(本例中为黑客)的不情愿或残疾来攻击您的资源,这永远都是不明智的。你需要保证。如果你是正确的,你是安全的,并且你使用了额外的安全层,那么你正在使用该层,然而,如果你没有额外的安全层,那么你关于你的安全的声明将受到真正的考验。而且,如果出于任何原因,测试将显示您是错误的,那么这对您和您的客户来说可能是灾难性的。

CDN为黑客提供了一个一对多的途径:如果他们能够破坏(例如)jQuery的CDN,他们会突然访问成千上万(如果不是更多的话)网站来传播恶意代码。可能性是无关的;这是关于额外的安全层。我认为,任何潜在的攻击者改变一个框架css文件的内容都是没有价值的,该文件被提供给数千个不同的网站。因此,完整性检查绝对是多余的。当然,JavaScript是另一回事。CSS可能不会提供与JavaScript劫持相同的危险范围,但它肯定会在100000多个依赖Bootstrap框架的网站上造成混乱。完整性确保在CSS受损的情况下,至少您没有提供意外的服务;想象一下,如果有人劫持了Bootstrap并修改了每一个
.col
来提供色情的背景图像?当涉及到JavaScript文件时,是的,保证文件完整性是一件好事。更改提供给数千个不同网站的CSS文件的内容对任何攻击者来说都是完全无用的,因此完整性检查是多余的。至少在框架css文件的情况下。如果攻击者能够访问js CDN,他仍然可以通过JavaScript更改任何css。仅更改css(不使用JavaScript)对攻击者来说是无用的。任何能够成功破解主要CDN的攻击者都不会在更改网站背景颜色上浪费该能力。@WebDevBooster让我们假设您有一个非常受欢迎的网站,并且您使用的CSS“出于某种原因”被以非常不希望的方式修改,更改颜色,隐藏关键元素,在这种情况下,你会有一些损失,在你的网站的知名度,可能是财务损失。例如,如果背景图像路径更改为色情图像,则您是垃圾邮件攻击的受害者,但会在途中丢失AdSense广告…*只是一个暂时的小麻烦,不再是。*。。。我不确定这是一个如何反对完整性的论点?如果你能用一个属性声明来防止这种情况,那么反对这样做的理由是什么?@WebDevBooster我认为我没有资格对黑客的心理发表意见,首先,也是最重要的,因为我不是心理学家,其次,因为每个黑客都是不同的人。所以我会避免这样做。然而,当涉及到完整性时,重要的是确保不存在进行破坏的可能性,而不是留下安全漏洞并争论可能使用这些漏洞的人的心理健康问题。如果一个大阴茎成为每秒数百名访客的香水网站的背景,那么它将在2分钟内失去一些用户……CSS可以将任何URL链接为资源(例如,背景图像)。只要有能力为一千个网站做到这一点,就意味着你拥有一个庞大的DDoS网络。甚至不要把这当作一个明确的答案-这只是一个例子。。。即使是看似最无害的东西也可以通过一些创意变成武器。