白帽子讲web安全 笔记(一)

第一章 我的安全世界观

  • 漏洞利用代码 英文“exploit”(开发; 剥削; 利用),通过exploit实现网络攻击获取root权限是最常见的攻击模式。
  • 早期互联网中,Web并非主流应用,相对而言,基于SMTP、POP3、FTP、IRC等协议的服务拥有绝大多数用户。早期系统软件对黑客的吸引力远大于web,防火墙、ALC(访问控制列表)等技术的兴起改变了互联网安全格局,运营商、防火墙对网络的封锁使暴露在互联网上的非Web服务越来越少,且Web技术的成熟使得Web应用功能越来越强大。黑客们的目光像Web转移。
  • Web攻击技术的发展1.0阶段(一):人们更多关注服务器端动态脚本安全,如将一个webshell(可执行脚本)传到服务器上,从而获取权限。动态脚本语言(例如php)的普及使得在早期web安全发展不完善的过去产生了很多血案,例如php至今只能以较好的代码规范来保证没有文件包含漏洞,语言本身无法杜绝此类安全问题的发生。
  • 1.0阶段(二):SQL注入和XSS跨站脚本攻击的出现是WEB安全史上的里程碑。
  • Web攻击技术的发展2.0阶段:思路由服务端转向客户端(浏览器和用户)
  • 安全的本质问题是信任问题,安全是一个持续的过程。
  • 安全三要素:机密性、完整性、可用性。机密性要求保护数据内容不泄露,常见手段为加密。完整性要求数据内容完整,没有被篡改,常见手段为数字签名。可用性要求保护资源随需而得。
  • 安全评估过程:资产等级划分->威胁分析->风险分析->确认解决方案
  • 资产等级划分:明确目标是什么,要保护什么。了解公司最重要的资产是什么,最看重的数据是什么。资产等级划分之后要划分信任域和信任边界,最简单的方式是通过网络逻辑划分。如图是一个简单网站信任模型,Internet毫无疑问不可信任,Internet通过Web应用从服务器的数据库读取数据。白帽子讲web安全 笔记(一)_第1张图片
  •  威胁分析:可能造成危害的来源称为威胁(Threat),可能出现的损失称为风险(Risk)。威胁分析就是把所有威胁找出来,一般通过头脑风暴的方法,或者建立模型(威胁建模)
  • 威胁建模:一种建模方法STRIDE模型,下面是我网上找的一个图片,后面那两个我也比较疑惑所以我把图片放在这里了,有人懂也可以解答一下

白帽子讲web安全 笔记(一)_第2张图片

  •  风险分析:Risk=Probaility*Damage Potential(可能性*损失程度)。如何科学评估风险?书中介绍了一个DREAD模型,图片如下,该图片来源:DREAD风险评估模型_dread模型_吉吉教主的博客-CSDN博客

白帽子讲web安全 笔记(一)_第3张图片

  • 设计安全方案:安全评估的产出物,就是安全解决方案。其是针对资产等级划分、威胁分析、风险分析的结果给出的。一个优秀的解决方案应具备以下特点:1.有效解决问题2.用户体验好3.高性能4.低耦合5.易于扩展和升级。  
  • 在设计安全方案时,牢记“Secure by Default”原则(白名单、黑名单思想),更多的使用白名单,系统就会更安全。Secure by Default另一层含义为最小权限原则,最小权限原则要求系统只授予主体必要的权限。
  • 与Secure by Default一样,Defense in Depth(纵深防御原则)也是安全设计之初的重要指导思想。其两层含义:首先,在各个不同层面、不同方面实施安全方案。其次,在正确的地方做正确的事。
  • 安全原则之代码与数据分离原则,适用于sql注入和缓冲区溢出的预防。
  • 安全原则之不可预测性原则,即在代码中加入随机性,让攻击者无法通过规律攻破安全防线。

第一章结束!

你可能感兴趣的:(web安全,笔记,安全)