白帽子讲Web安全

公司最近来了个SR(security architecture),推荐我们看下入门级的web安全。再加上最近刚培训了安全编码,一切也算是机缘巧合吧。不过这本书讲解的确实通俗易懂,安利给大家。

关于这本书的作者,那也是相当传奇。他在阿里面试的时候当着面试官,把阿里网络宕了...高手出手,一招致命。结果呢,阿里当场录用,并更换了网络供应商。

白帽子和黑客都是网络高手一类的头衔。黑客这个在生活中都有所耳闻,而白帽子则低调了很多,白帽子讲究的是安全防范领域的专家。黑客讲究的是搞破坏,找到一个漏洞,就能肆无忌惮的窃取“好处”,白帽子则是修复这些漏洞,不仅要fix已知的,还要防范未知的。以前国内还有网站专门科普类似网络技术,比如“红黑联盟”,“看雪学院”等,现如今可能是利益的驱使,单纯的传授经验知识的已经很少。所以这本书对于普及知识,防范漏洞还是很有帮助的。

安全三要素:机密性,完整性,可用性

机密要求保护数据内容不被泄漏,通常做法加密。

完整性要求保护数据内容的完整,没有被篡改。做法数字签名。

可用性要求保护的资源“随需而得”。

白帽子兵法:secure by default原则,纵深防御原则,数据与代码分离原则,不可预测原则

secure by default原则讲的是不要随意的更改系统的设置,比如我们经常在server开各种端口来提供服务。像ftp默认是22端口,但是有时候由于某种原因改成5222,这种。类似的中间件默认提供服务的是8080,然后为了可以提供多种服务,开了其他端口等。这种都绕开了默认的安全设置。容易被黑客攻击。

纵深防御原则好理解,设置多层关卡,每关检测不同的安全漏洞。

数据与代码分离原则适用于各种注入而引发的安全问题的场景,XSS,SQL 注入,X-path注入等。

不可预测性与上面不同,讲究的是从攻击方法的角度看问题。它的实现往往需要用到加密算法,随机数算法,哈希算法。

客户端脚本安全

1.浏览器的同源策略:限制来自不同源的document或脚本,对当前document读取或设置某些属性。

2.sandbox:chrome采用的是多进程架构的浏览器。主要进程分为:浏览器进程/渲染进程/插件进程/扩展进程。插件进程如:flash/java/pdf等与浏览器进程隔离,因此不会相互影响。多进程架构有个好处:相当于单进程,在发生崩溃时,多进程浏览器只会崩溃当前的tab页,而单进程浏览器会崩溃整个浏览器进程。

3.恶意网址拦截。攻击者会在网页上插入

你可能感兴趣的:(白帽子讲Web安全)