白帽子(1)-web世界观

基本概念

  • 安全问题本质是信任问题
设计安全方案的基础都是建立在信任关系上的,我们必须相信一些东西,必须有一些基本的假设,安全方案才能建立。
  • 安全是一个持续的过程
安全是一个持续的过程,攻击方式在变,防御方式也在变

安全要素

  • CIA
名称英文名说明
机密性confidential要求保密的数据内容不能被泄露
完整性integrity数据不能被篡改,是完整的
可用性availability保护资源可以得到,DOS
  • 扩充的一些要素:可审计性不可抵赖性

安全评估

  1. 资产登记划分
    网络安全的核心问题时数据安全,因此,我们主要对数据的等级进行划分,当然对于服务器等固有资产主要从管理,物理安全角度去考虑.
    当我们对数据安全划分后,然后就想划分信任域和信任边界。如网络逻辑:Data Store --> web_app --> internet

  2. 威胁分析

    1. 威胁(Threat:可能造成危害的来源
    2. 了解stride模型
威胁定义对应安全属性
spoofing 伪装冒充他人身份认证
Tampering 篡改修改数据或代码完整性
Repudiation否认做过的事情不可抵赖
Information Disclosure 信息泄露机密信息泄露机密性
Denial of Service 拒绝服务DOS可用性
Elevation of Privilege 提升权限未授权访问授权
  1. 风险分析

    1. 风险:可能造成的损失,公式
    Risk = Probability * Damage Potential (可能性 * 损失严重程度)
    
    1. Dread模型
等级
Damage Protential 损失严重程度提权,非法文件上传泄露敏感信息泄露其他数据
Reproducibility 可重复随意再次攻击重复,有时限很难重复
Exploitability 可利用度好利用高级黑客才能利用环境太难
Affected User所有用户,默认用户,关键用户部分用户,非默认用例匿名用户
Discoverability 暴露性很显眼需要深入挖掘发现极为困难
  1. 设计安全方案
    • 能有效解决问题
    • 用户体验好
    • 高性能
    • 低耦合
    • 易于扩展和升级

白帽子兵法

  1. Secure By Default
    黑白名单原则
    尽可能用白名单,但白名单的度必须得到控制,比如匹配字符串用了“*”,就比较危险
    最小权限原则
    减少暴露面

  2. 纵深防御原则
    考虑全面,在不同层面,不同方面实施安全方案,避免出现疏漏,方案之间关联形成整体
    原因:没有什么防御方案是万能,比如一个入侵案例中,攻击者可能经历多个攻击环节(获取权限,上传文件,提权,渗透内网等),
    如果我们攻击环节都有相关的安全措施,入侵难度就会增加
    在正确的地方做正确的事
    安全方案实施地点要有效,比如xxs只有在html显示时才能生效,过滤特殊字符串是一种常用手法,但过滤要考虑实际输出,不能任何情况都去过滤,改变用户的输入意图。也就是说,简单在系统获取输入时时就对变量过滤特殊字符,很容易误杀。最好是再拼装html时,系统获取html上下文语意后,决定需要过滤的字符串,来避免误杀情况

  3. 数据与代码分离原则
    这个是解决注入问题的基本思路。不同的注入手法,有不同的解决方式

  4. 不可预测原则

    1. 缓冲区溢出场景,我们通过ASLR技术,让程序每次启动,进程的栈基值都不相同。
    2. 序号管理将数字升序排序改为字符串随机
    3. CSRF中的token
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值