安全世界观

一、安全的本质

将不同重要程度的区域划分出来,。通过安全检查的过程可以梳理未知的人或物,使其变得可信任。被划分出来的具有不同信任级别的区域,称为信任域。划分两个不同信任域之间的边界,称为信任边界。

数据从高等级的信任域流向低等级的信任域不需要经过安全检查,相反则需要。

安全问题的本质是信任问题

二、安全评估

资产等级划分、威胁分析、风险分析、确认解决方案

资产等级划分:明确目标是什么,要保护什么。划分信任域和信任边界(最简单的划分方式:网络逻辑)

威胁分析:通过威胁建模,把所有威胁找出来

                例:STRIDE模型

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

风险分析:Risk=Probability*Damage Potential

                衡量风险的模型DREAD,指导我们应该从哪些方面判断一个威胁的风险程度

等级高(3)中(2)低(1)
Damage Potential获取完全验证权限;执行管理员操作;非法上传文件泄露敏感信息泄露其他信息
Reproducibility攻击者可以随意再次攻击攻击者可以重复攻击,但有时间限制攻击者很难重复攻击过程
Exploitability初学者在短期内能掌握攻击方法熟练的攻击者才能完成这次攻击漏洞利用条件非常苛刻
Affected users所有用户,默认配置,关键用户部分用户,非默认配置极少数用户,匿名用户
Discoverability漏洞很显眼,攻击条件很容易获得在私有区域,只有部分人能看到,需要深入挖掘漏洞发现该漏洞极其困难

一个优秀的安全方案要具备:

能够有效解决问题、用户体验好、高性能、低耦合、易于扩展与升级

三、白帽子兵法

1、Secure By Default原则——白名单、黑名单思想

(1)黑名单、白名单

 制定防火墙的网络访问控制策略时,网站只提供Web服务,那么只允许网站服务器80和443端口对外提供服务,屏蔽除此之外的其他端口——白名单

不允许SSH端口对Internet开放,那么要审计SSH的默认端口:22端口是否开放了Internet——黑名单

通配符“*”代表来自任意域的Flash都能访问本域的数据,因此造成安全隐患。在选择使用白名单时,需要注意避免出现类似通配符的问题

(2)最小权限原则

系统只授予主体必要的权限,而不要过度授权

2.纵深防御原则(Defense in Depth)

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

(2)要在正确的地方做正确的事情,在解决根本问题的地方实施针对性的安全方案

3.数据与代码分离原则

广泛应用于“注入”场景。例如缓冲区溢出就是违背了这一原则,程序在栈或堆中,将用户数据当作代码执行,混淆了代码与数据的边界,导致安全问题的发生,而由“注入”引起的问题如XXS、SQL Injection、CRLF Injection、X-Path Injection等。

4.不可预测性原则

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

不可预测性的实现往往需要用到加密算法、随机数算法、哈希算法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值