zoukankan      html  css  js  c++  java
  • 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并在它的控制下,一个程序每次启动时,其进程的栈基址都不相同,具有一定的随机性

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

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

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

  • 相关阅读:
    uva10152-ShellSort
    WCF问题集锦:ReadResponse failed: The server did not return a complete response for this request.
    Android动态改变布局
    Android应用性能优化
    玩转CPU之直线
    [DB][MySql]关于取得自增字段的值、及@@IDENTITY 与并发性问题
    js对象实例化的常见三种方式
    TCP协议
    [UnityUI]循环滑动列表
    Spring MVC原理及实例基础扫盲篇
  • 原文地址:https://www.cnblogs.com/liuzhiyun/p/11263328.html
Copyright © 2011-2022 走看看