Web安全(白帽子讲)之第一章

安全问题的本质是信任的问题,并是一个持续的过程。

安全三要素

  Confidentiality:机密性-----要求保护数据内容不能泄密

  Integrity:完整性-----要求保护数据内容的完整,没有被篡改

  Availability :可用性----要求保护资源是“随需而得”

 

如何实施安全评估

  资产等级划分、威胁分析、风险分析、确认解决方案,这个实施过程是层层递进的,前后之间有因果关系。

      资产登记划分:该项是所有工作基础,明确目标是什么,要保护什么;

       威胁分析 :就是把所有的威胁都找出来(常用头脑风暴法)

          可能造成危害的来源称为威胁(Threat)

互联网安全的核心问题,是数据安全的问题

威胁 定义 对应的安全属性
Spoofing(伪装) 冒充他人身份 认证
Tampering(篡改) 修改数据或代码 完整性
Repudiation(抵赖) 否认做过的事情 不可抵赖性
InformationDisclosure(信息泄露) 机密信息泄露 机密性
Denial of Service (拒绝服务) 拒绝服务 可用性
Elevation of Privilege(提升权限) 未经授权获得许可 授权

 

       风险分析

          可能出现的损失称为风险(Risk)

          Risk = Probability * Damage  Potential

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

 

       安全评估的产出物,就是安全解决方案

 

二、在设计安全方案时,最基本也是最重要的原则就是“Secure by Default”。

 

Secure by Default:即“最小权限原则” -----牢记的总则

    要求系统只授予主体必要的权限,而不要过度授权,这样能有效地减少系统、网络、应用、数据库出错的机会

Defense in Depth (纵深防御)----- 更全面、更正确地看待问题

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

    在解决根本问题的地方实施针对性的安全方案

    XSS---真正产生危害的场景是在用户的浏览器上,或者说服务器端输出的HTML页面,被注入了恶意代码

数据与代码分离原则-----从漏洞成因看问题

    缓冲区溢出-------程序在栈或者栈中,将用户数据当做代码执行,混淆了代码与数据的边界,从而导致安全问题的发生

不可预测性原则-----从克服攻击方法的角度看问题

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

      微软对抗缓冲区等内存攻击:使用ASLR并在它的控制下,一个程序每次启动时,其进程的栈基址都不相同,具有一定的随机性

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

 

 

互联网本来是安全的,自从有了研究安全的人,就变的不安全了

所有程序本来没有漏洞,只有功能,但当一些功能被用于破坏,造成损失时,也就是成了漏洞

 

posted @ 2019-07-29 14:15  幻落之瞳  阅读(259)  评论(0编辑  收藏  举报