Dropbox的Web安全防护办法之一是运用依据内容的安全策略(CSP)。Dropbox的安全工程师Devdatta Akhawe通过四篇文章,介绍了CSP在Dropbox中推广的细节和经历。Dropbox的CSP准则大大减少了XSS和内容注入进犯。不过,大规模运用比较苛刻的CSP规矩将面对许多应战。咱们期望通过这四篇CSP系列文章,将Dropbox在实践CSP过程中的收成共享给广阔开发社区朋友。榜首篇文章首要介绍如安在规矩中设置报表挑选管线来符号过错;第二篇介绍Dropbox如安在上述规矩中装备随机数及缓解unsafe-inline
带来的安全危险;第三篇介绍怎么下降unsafe-eval
形成的危险,以及介绍Dropbox所开发的开源补丁;最终一篇介绍在权限别离机制下,怎么减小第三方软件整合时的危险。本篇是该系列文章的榜首篇,首要评论CSP的陈述和过滤机制。
Dropbox一直坚定地遵循着Content Security Policy(CSP)。假如读者对CSP规矩还不了解,咱们主张先阅览Mike West的《Excellent Introduction to CSP》。简略来说,CSP的中心是一种说明性的机制,它在网页运用中将牢靠的内容源(脚本、目标、图画的源等)增加至白名单中。
运用CSP约束了内容源,然后下降了网页运用中注入进犯的危险。下面的比方展现了在对Dropbox主页宣布恳求时所运用的CSP中的script-src
指令。
script-src https://www.google.com/recaptcha/api/ https://ajax.googleapis.com/ajax/libs/jquery/ https://cf.dropboxstatic.com/static/api/ https://cf.dropboxstatic.com/static/javascript/ https://cf.dropboxstatic.com/static/coffee/compiled/ https://www.dropboxstatic.com/static/javascript/ https://www.dropboxstatic.com/static/coffee/ 'unsafe-eval' 'self' 'unsafe-inline' 'nonce-w+NfAhVZiaXzHT1RmBqS'
指令列出了一切可信赖的URI(包括浏览器支撑的完好途径),通过这些URI能够载入所需的脚本代码。当支撑CSP的网页浏览器检测到了脚本标签,它接下来会查看src特点,并和script-src
指令供给的白名单进行对照。假如脚根源不在白名单中(比方,HTML注入缝隙的原因),浏览器就会阻挠恳求。
现在,杂乱的网页运用辨认和履行CSP标头是一个比较困难的问题,不过有一个CSP答应的小技巧能够处理这个问题,这便是report-only形式。report-only形式的要害办法是,答应网页测验规矩在给制定者选定的终端发送过错陈述时的影响。比方说,能够设置一项内容为script-src ‘none’
的report-only规矩,用来获取一切脚本来历的方位。
report-only形式大大增强了CSP的可行性:首先在report-only形式下重复迭代设定的规矩,直到没有过错陈述,之后转换为履行形式。这一过程往往是CSP进入履行形式前,主张施行的榜首步准备工作。在笔者最近参与的一次研讨会中,安全机制专家组侧重介绍了CSP的report-only形式怎么能够有用地推广CSP的运用,它能够做到某一项规矩在运用前就能够评价其作用。
为了取得对已施行规矩的有用反应信息,CSP的陈述功用不可或缺。Dropbox在转换到CSP的“堵塞”形式前,从前运用report-only形式长达数月。但在开端大规模运用CSP时,便遇到了榜首个问题:陈述中的噪声(sheer noise)会使得默许陈述机制失效。
咱们发现,更大的噪声源是浏览器扩展东西。扩展东西在网页中刺进了脚本或其他程序或许修正了HTML,由于CSP会阻挠网页上运转的一切不知道内容,因而注入到网页中的内容很或许也会被浏览器阻挠。假如咱们仅仅把一切收到的陈述参加日志中,那么日志也会包括以上过错。又由于咱们无法控制扩展东西,所以也就没有办法做到陈述中不增加扩展东西带来的过错信息。
通过一年的CSP大规模运用实践,Dropbox现已完成了一个准确调整的过滤机制,它能够疏忽一般的误报。咱们的陈述管线挑选掉误报的陈述内容,然后才将有用的陈述参加剖析处理后台。本着推广CSP的精力,Dropbox将这个过滤器技能共享出来,期望其他开发者能够运用。咱们强烈主张读者阅览Neil Matatall这篇介绍精准CSP列表的文章,实际上咱们运用的列表也参阅了文章中触及的技能。
初看起来,挑选过错陈述好像有些古怪,为什么不想知道广告刺进和网页垃圾什么时候修正了网页运用呢?可是在这里,咱们评论的是CSP的预运用阶段,首要关注点是CSP的内容白名单不会使网页运用溃散。滤除陈述中的噪声,确保了CSP履行时对网页运用进行合理的修正。一旦转换到CSP履行形式,浏览器将依据过滤后的陈述进行阻挠操作。
过滤器是两层结构。榜首层过滤依据被阻挠的URI。
_ignored_blockedURI_schemas = [ "http:",# We never use HTTP content so not a legit report "mxaddon-pkg",# maxthon addon packages "jar:",# firefox addons "file:",#we never insert file URIs into the page "tmtbff://",# ticketmaster toolbar? "safari",# safari extensions "chrome",# stuff like chromenull: chrome:// chrome-extension:// "webviewprogressproxy:",# added by browsers in webviews "mbinit:",# MapBuilder "symres:",# Norton "resource", ];
假如被阻挠的URI以列表中任何一项最初,则疏忽。第二层过滤依据被阻挠URI的主体部分。
_ignored_blockedURI_hosts=[ "tlscdn", ".superfish.com", "addons.mozilla.org", "v.zilionfast.in", "widgets.amung.us", "xls.searchfun.in", "static.image2play.com", "localhost", "127.0.0.1", "guzzlepraxiscommune", "tfxiq", "akamaihd.net", #Dropbox doesn't use Akamai CDN "apollocdn", "worldssl.net", "shwcdn.net", "cmptch.com", "datafastguru.info", "eshopcomp.com", "hwcdn.net", ]
[1] [2] 黑客接单网
Sucuri BLOG最近发布了2019年Q2季度被黑网站趋势陈述(Website Hacked Trend Report 2019 -Q2)。这家组织的事端呼应小组和歹意程序研讨组对部分被黑站点进行...
关于成功率的说法通过这种攻击使得攻击者在仅有一个普通域账号的情况下可以远程控制 Windows 域内的任何机器,包括域控服务器。 Windows XP 专业 x64 版 SP2借不了赌怎么办、总输钱...
修复建议 ctx.NotFound("", nil)IP地址#endif网络赌博输的钱报警要坐牢吗,钱能弄回来吗, 此次漏洞出现在Apache Solr的DataImportHandler,该模块是一...
那么,我这儿收拾了其他的几种电话号码走漏办法:要回答这个问题并不简单,咱们每个人都只能看到其间的一个部分,而且或许永久无法实在了解某些进犯的动机或其背面的展开。 尽管如此,在进犯发作之后,咱们能够从不...
本文共享的是,作者在参加某次缝隙约请测验项目中,发现方针使用服务的暗码重置恳求存在HTML注入缝隙(HTML injection),经过进一步的HTTP Leak进犯结构,获取到账户的暗码重置Tok...
...