《白帽子讲WEB安全》学习笔记之第1章 我的安全世界观

第1章 我的安全世界观

1.1 web安全简史

1.1.1 中国黑客简史

现在中国乃至全世界的黑客或者说是骇客已经进入了“黑暗时代”,因为互联网存在这大量的利益。

1.1.2 黑客技术的发展历程

1.1.3 web安全的兴起

web安全是信息安全领域的一个重要的分支,但是中国目前对web安全的重视程度远远不足。

为什么要攻击Web应用,我认为主要有以下几个原因:

q  web应用无处不在。

q  相比较与操作系统等的安全防御能力,攻破web更容易一些。

q  攻击web可以来无影去无踪,具有匿名性。

q  编写web应用的人的水平和安全意识良莠不齐,漏洞很多。

q  Web应用安全技术不成熟。

q  最重要的是攻击web应用会获得金钱的等利益。

 

web的攻击与防御手段是在交替的发展。

1.2 黑帽子,白帽子

研究安全的人多了,世界就不再安全了。

1.3 返璞归真,揭秘安全的本质

书中多次提到“安全的本质是信任问题”,但是我认为安全的本质是权限问题。

1.4 破除迷信,没有银弹

安全技术是在攻与防中得到提升的。

1.5 安全三要素

书中只要讲解了安全的基本三要素,但是安全不止是三要素。

可用性(Availability):得到授权的实体在需要时可访问资源和服务。可用性是指无论何时,只要用户需要,信息系统必须是可用的,也就是说信息系统不能拒绝服务。网络最基本的功能是向用户提供所需的信息和通信服务,而用户的通信要求是随机的,多方面的(话音、数据、文字和图像等),有时还要求时效性。网络必须随时满足用户通信的要求。攻击者通常采用占用资源的手段阻碍授权者的工作。可以使用访问控制机制,阻止非授权用户进入网络,从而保证网络系统的可用性。增强可用性还包括如何有效地避免因各种灾害(战争、地震等)造成的系统失效。

完整性(Integrity):信息不被偶然或蓄意地删除、修改、伪造、乱序、重放、插入等破坏的特性。只有得到允许的人才能修改实体或进程,并且能够判别出实体或进程是否已被篡改。即信息的内容不能为未授权的第三方修改。信息在存储或传输时不被修改、破坏,不出现信息包的丢失、乱序等。

可靠性(Reliability):可靠性是指系统在规定条件下和规定时间内、完成规定功能的概率。可靠性是网络安全最基本的要求之一,网络不可靠,事故不断,也就谈不上网络的安全。目前,对于网络可靠性的研究基本上偏重于硬件可靠性方面。研制高可靠性元器件设备,采取合理的冗余备份措施仍是最基本的可靠性对策,然而,有许多故障和事故,则与软件可靠性、人员可靠性和环境可靠性有关。

保密性(Confidentiality):保密性是指确保信息不暴露给未授权的实体或进程。即信息的内容不会被未授权的第三方所知。这里所指的信息不但包括国家秘密,而且包括各种社会团体、企业组织的工作秘密及商业秘密,个人的秘密和个人私密(如浏览习惯、购物习惯)。防止信息失窃和泄露的保障技术称为保密技术。

不可抵赖性(Non-Repudiation):也称作不可否认性。不可抵赖性是面向通信双方(人、实体或进程)信息真实同一的安全要求,它包括收、发双方均不可抵赖。一是源发证明,它提供给信息接收者以证据,这将使发送者谎称未发送过这些信息或者否认它的内容的企图不能得逞;二是交付证明,它提供给信息发送者以证明这将使接收者谎称未接收过这些信息或者否认它的内容的企图不能得逞。

 

1.6 如何实施安全评估

1.6.1 资产等级划分

价值越高需要的安全等级越高。资产等级的划分依据——资源的价值。

在生产实践中对于互联网而言数据的价值是最高的。

1.6.2 威胁分析

分析现有的制度或防御措施,找出可能会造成威胁的漏洞。

1.6.3 风险分析

对找到的漏洞,按其发生概率、危害程度等进行排序,表示其优先级

1.6.4 设计安全方案

安全方案的设计依据是安全的评估,而不是没有调研的想象。

安全与成本需要达到一个平衡。需要说明的是这里的成本不仅仅是指金钱,还有业务的效率,业务的逻辑等。

一个好的安全方案,应符合用户的使用习惯,应人性化、智能化、高效简单

1.7 白帽子兵法

1.7.1 secure bydefault原则

安全就像接口设计一样,只给用户需要的。所以“白名单”模式更加好一些。

安全最为重要的是安全意识.安全意识比任何安全防范更加有用。

还有就是最小获取原则,在此之前,我写判断用户是否存在的SQL代码时,一般为“select* from admin where name=qiang andpassword=123456’”。这是不安全的,我以后要写为“select count(*)from admin where name=qiang andpassword=123456’”

 

1.7.2 纵深防御原则

含义:一、在各个层面,各个不同方面实施安全,避免出现疏漏,不同安全方案需要相互配合,构成一个整体;二、安全方案需要治本。

对于富文本的xss防御,我目前可以实现的处理方式是使用"白名单".但是白名单还是会出现一些较为严重的漏洞.所以我还需要继续关注富文本的XSS攻击

 

1.7.3 数据与代码分离原则

该原则主要应用与“注入”场景。

1.7.4 不可预测性原则

对于不可预测的使用,我之前也有过思考.我在使用猎豹浏览器的时候发现,百度的广告被过滤了.所以我认真的看了一下,发现,原来百度的广告都是写在一个Id=content_rightdiv之中,这就给浏览器过滤的机会了。应该把这个div的属性id或其他的属性随机化,让浏览器无法知道它的确切位置。

1.8 小结

我是非常赞成,安全是一种平衡艺术的说法,因为我们需要做到的是安全与成本的平衡。



本文转自 梦朝思夕 51CTO博客,原文链接:http://blog.51cto.com/qiangmzsx/1859544

上一篇:常见虚拟主机目录对照


下一篇:jQuery.Validate表单验证校验-说明