码迷,mamicode.com
首页 > Web开发 > 详细

《白帽子讲Web安全》——第一篇 第一章 我的安全世界观

时间:2015-10-08 23:07:56      阅读:589      评论:0      收藏:0      [点我收藏+]

标签:

前些日子定的书单,下放给各淘宝卖家,今天来的第一本就是这本,是一个我完全陌生的领域,然而强烈的好奇心,催使我看完了第一章,其实就是个概述。

 

1.1 Web安全简史

exploit:黑客们使用的漏洞利用代码。

Script Kids:只对攻击本身感兴趣,没有动手能力,对计算机原理和各种编程技术略知一二,因而只能编译别人的代码的黑客,即“脚本小子”。

1. Web安全的兴起

(1)SQL注入

(2)XSS

(3)CSRF

http://blog.csdn.net/dyllove98/article/details/8759910

1.2 黑帽子、白帽子

1. 研究安全的心态对比

       (1)黑帽子:只要能够找到系统的一个弱点,就可以达到入侵系统的目的;

       (2)白帽子:必须找到系统的所有弱点,不能有遗漏,才能保证系统不会出现问题。

2. 对待问题的角度:

       (1)黑帽子:为了完成一次入侵,需要利用各种不同漏洞的组合来达到目的,是在不断地组合问题。

       (2)白帽子:在设计解决方案时,在不断地分解问题,再对分解后的问题逐个予以解决。

3. 工程师与安全领域

       (1)工程师:No Patch For Stupid.

       (2)安全领域:最大的漏洞就是人。

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

       安全问题的本质是信任的问题。

1.4 破除迷信,没有银弹

       安全是一个持续的过程。

1.5 安全三要素

       1. 机密性(Confidentiality):要求保护数据内容不能泄露,常用加密来实现。

       2. 完整性(Integrity):要求保护数据内容是完整、没有被篡改的,常用数字签名来实现。

       3. 可用性(Availability):要求保护资源是“随需而得”。(常见攻击有DoS)

       4. 可审计性

5. 不可抵赖性

1.6 如何实施安全评估

       1. 资产等级划分:是所有工作的基础,明确目标。(互联网安全的核心问题,是数据安全的问题。)

       2. 威胁(Threat)分析:使用头脑风暴法或威胁建模把所有的威胁找出来。

       (1)威胁:可能造成危害的来源。

       (2)微软提出的STRIDE模型

      

威胁

定义

对应的安全属性

伪装(spoofing)

冒充他人身份

认证

篡改(tampering)

修改数据或代码

完整性

抵赖(repudiation)

否认做过的事情

不可抵赖性

信息泄露(informational disclosure)

机密信息泄露

机密性

拒绝服务(DoS: denial of service )

拒绝服务

可用性

提升权限(elevation of privilege)

未经授权获得许可

授权

       (3)进行威胁分析时,要尽可能地不遗漏威胁,头脑风暴的过程可以确定攻击面(attack surface),而且很多时候还需要经常回顾和更新现有的模型。

       3. 风险(Risk)分析

       (1)风险:可能会出现的损失。

       (2)微软提出的DREAD模型

等级

高(3)

中(2)

低(1)

Damage potential

获取完全验证权限;执行管理员操作;非法上传文件

泄露敏感信息

泄露其他信息

Reproducibility

攻击者可以随意再次攻击

攻击者可以重复攻击,但有时间限制

攻击者很难重复攻击过程

Exploitability

初学者在短期内能掌握攻击方法

熟练的攻击者才能完成这次攻击

漏洞利用条件非常苛刻

Affected users

所有用户,默认配置,关键用户

部分用户,非默认配置

极少数用户,匿名用户

Discoverability

漏洞很显眼,攻击条件很容易获得

在私有区域,部分人能看到,需要深入挖掘漏洞

发现该漏洞极其困难

 

       4. 确认解决方案

       没有不安全的业务,只有不安全的实现方式。

       一个优秀的安全方案具备以下特点:

(1)   能够有效解决问题

(2)   用户体验好

(3)   高性能

(4)   低耦合

(5)   易于扩展与升级

1.7 白帽子兵法

1. Secure by Default原则(最基本最重要的总则):白名单、黑名单思想

(1)黑名单、白名单

       在Web安全中,对白名单思想的运用比比皆是。而且,信任白名单是安全的。但是,如果这个信任基础不存在了,那安全就荡然无存,白名单也就不一定安全了。(选择使用白名单时,需要避免出现类似通配符的问题。)

(2)最小权限原则

2. 纵深防御(Defense by Depth)原则(更全面、更正确地看待问题)

(1)在各个不同层面、不同方面实施安全方案,避免出现疏漏,不同安全方案之间需要相互配合,构成一个整体。

(2)在正确的地方做正确的事情,在解决根本问题的地方实施针对性的安全方案。

3. 数据与代码分离原则(从漏洞的成因上看问题)

适用于各种由于“注入”而引发安全问题的场景,以及缓冲区溢出。

4. 不可预测性(Unpredictable)原则(从克服攻击方法的角度看问题)

有效对抗基于篡改、伪造的攻击

       其实现需要用到加密算法、随机数算法、哈希算法

1.8 总结

       安全是一门朴素的学问,也是一种平衡的艺术。

《白帽子讲Web安全》——第一篇 第一章 我的安全世界观

标签:

原文地址:http://www.cnblogs.com/freescale/p/4862375.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!