WEB安全的历史

exp  ===  exploit     漏洞利用代码

中国 黑客发展的 几个阶段  启蒙时代  ,黄金时代 ,黑暗时代

 

启蒙时代  -- 大致在 20世纪 19年代 中国互联网刚起步  一些青年收外国黑客技术影响 开始研究安全漏洞  大多都是个人爱好 

黄金时代 --   这个时代是以中美黑客大战为便签  黑客这个特殊的群体引起了光大人民的关注 吸引了无数的青少年走上了这题路

黑暗时代   --  一直延续到今天 为了利息 倒卖信息  黑客间缺乏信任  再也没有了资源共享

  

 

 

黑客技术的发展过程 

 

早期   目标软件系统居多  因为这个时期的web技术还没发展起来 不够成熟 另一方面通过系统软件漏洞往往能获得很高的权限  这段时期 涌现了很多经典的exploit 

早期  web网站 不是 多数 还是以ftp pop3 smtp 这些服务占多数  还有攻击web网站往往获得权限非常小 没有直接攻击系统软件带劲

紧接着  以防火墙技术的兴起改变互联网的格局  

最终web服务开始兴起 成为了互联网的主流

 

 

 

web安全的兴起 

web安全 有分几个阶段  

web1.0时代  关注的更多是服务器端动态脚本的安全问题 

 

sql注入的出现  最早出现在1999年 并很快的成为web安全的头号大敌 

xss(跨站脚本攻击)重要性很sql注入差不多 2003年引起注意

 

 

web2.0时代的兴起  xss csrf等攻击变得更加强大  。web攻击也从服务器端撞到了客户端 转向了浏览器和用户 

同时 也新兴了很多脚本语言  如python ruby nodejs等 

手机技术 ,移动互联网的兴起 也给html带来了新的机遇和挑战 

 

 

安全的三要素  简称 CIA 

 

机密性(Confidentiality)  完整性 (Integrity) 可用性 (Availability)

 

机密性 要求保护数据内容 不能泄露 加密的实现机密性要求的常见手段 

完整性 要求保护数据内容的完整,没有被窜开。常见的保证一致性的技术手段是数字签名

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

 

拒绝是服务攻击  简称DOS(Denial of service)

 

 

 

威胁分析 

在进行 威胁分析时,要尽可能地不遗漏威胁 

 

 

风险分析  

风险的组成:Risk = Probability * Damage Potential

影响风险高低的因素,除了造成损失的大小外 ,还需要考虑到发生的可能性

DREAD   D(Damage Potentiql)R(Reproducibility)E(Exploitability)A(Affected users)D(Discoverability)

 

 

在DREAD模型中,每一个因素可以分成高中低三个等级

 

 

Secure By Default 原理

缺省安全 

 

白名单 和 黑名单 

 

最小权限原则 

Secure By Default  另一层含义 就是“最小权限原则”

给普通用户普通权限 没必要给过高的的权限 这样普通用户窃取和管理员被窃取有很大区别的

 

纵深防御原则 

与Secure By Default 一样,Defense in Depth(纵深防御)也试设计安全方案时的重要指导思想

纵深防御 在不同层面 不同方面施舍不同的安全方案 避免出现疏漏 不同方案之间进行相互配合 构成一个整体

也就是在正确的地方做正确的事

 

 

数据与代码分离原则

 

缓冲区溢出 可以认为是程序违背了这一原则的后果 

程序在栈或者栈中讲用户数据当作代码执行 混淆了代码与数据的边界 从而导致安全问题的发生

根据数据与代码分离原则  在用户可操作的地方实施过滤。编码等手段 把可能造成和数据和用户输出的内容进行混淆做处理

 

 

不可预测原则  (Unpredictable)

原理 : 克服攻击方法的角度看问题

ASLR 原理 让进程中的栈基址随机变化 从而使攻击程序无法准确的判断到内存地址 大大提高了攻击的门槛  即使无法修复code 但是可以让她攻击无效

 

在ASLR的控制下 一个程序每次启动时,其进程的栈基址都不相同,具有一定的随机值,对于攻击者来说这就是 “不可预测性‘

 

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

 

 

 

 

 

 

 

posted @ 2019-06-14 15:29  Sylon  阅读(435)  评论(0编辑  收藏  举报
Live2D