Dropbox的Web安全防护战略之一:根据内容安全战略(CSP)的陈述和过滤机制

访客6年前关于黑客接单1028

 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标头是一个比较困难的问题,不过有一个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]  黑客接单网

相关文章

黑客入门,找黑客篡改网站,黑客龙凤宝宝找爹地

其间一个就能够了各种后台地址1最终在菜单栏中挑选“Intruder/Start attack”,就能够开端暴力破解。...

上传web.config文件获取长途代码履行权限

本文叙述的是,我通过上传一个web.config文件,绕过方针测验网站的黑名单机制,打破履行权限约束,完成ASP代码运转获取长途代码履行权限。 前语 无聊的校园实习期,做完实验后无事可做,所以,在取...

怎么从新闻中辨认骗子们的小套路

电信欺诈猖狂盛行,成为国家的要点冲击目标,可是咱们身边亲朋好友上圈套的悲惨剧还在屡次发作。小作者考虑或许咱们能够从新闻中提取电信欺诈的特征信息,为家里的老一辈亲人提个醒,做到防患于为然。 小作者以某新...

怎么查看微信登录痕迹,怎么找匿名黑客,在哪里找黑客帮我盗会QQ号

sort data.txt | uniq -uroot@bt:/pentest/enumeration/web/whatweb# ./whatweb www.evilxr.com 运用元...

黑客一般怎么接单_找黑客追钱犯法吗

本文就让我议论ArrayBuffers和SharedArrayBuffers。 这是由于即便你正在运用具有主动内存办理的JavaScript,ArrayBuffers也可认为你供给一种方法来手动处理一...

网络投资被骗接单黑客联系方式_公司找黑客

在一个典型的应用程序中,一切的作业都由主线程来处理。 我之前现已谈过了这个,主线程就像一个全栈开发者。 它担任JavaScript,DOM和布局。 在安全范畴,有一些“经典”的歹意安排是众所周知的,而...