Security By Default

资产等级划分

资产等级划分是安全工作的基础,它能够让我们明确目标是什么? 要保护什么?

资产等级划分其实可以理解为数据等级划分,那些数据对我们来说是私密的,那些信息是可以公开的,根据侧重点的不同,做资产等级的划分。

这个过程需要安全部门和各个业务部分交流,熟悉公司的业务、数据、以及其重要程度,为后续的安全工作的重心指明方向。

信任域和信任边界:

  • 信任域:通常是用网络逻辑来分割信任域,例如安全区、DMZ区。
  • 信任边界:不同域间数据交互的边界,如果两个应用在不同的域,同时无法确保双方数据是可信的,就可以在这个信任边界对双方的数据交互做安全检查等工作。

威胁分析

微软提出了一个威胁建模方法,叫做STRIDE模型,STRIDE是由六个于安全相关的单词组成的

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

伪装

  • 客户端伪装:XSS盗取cookie,以被害者身份登录系统
  • 服务端伪装:钓鱼网站

篡改

  • HTTP: 中间人篡改传输数据

抵赖

  • 操作可Track(追踪):what、who、when、how

信息泄露

  • IDE注释(编写者信息,名称,邮箱,时间等)
  • SQL注入

拒绝服务

  • DDos:通过大量的请求让服务方无法提供服务
  • CC:通过发送大量消耗性能的请求来使服务器方无法提供服务

提权

  • 数据库:读取mysql库
  • 系统:普通用户提升到root

风险分析

等级 高(3) 中(2) 低(1)
Damage Potential 获取最高权限,执行管理员操作,上传Webshell 敏感信息泄露 泄露其他信息
Reproducibility 攻击者可以随意再次攻击 攻击可重复 攻击条件苛刻
Exploitability 攻击门槛低(人狗都会用) 攻击门槛较高 攻击门槛极高,极少数人能够攻击
Affected users 所有用户、关键用户 部分用户 极少用户,匿名用户
Discoverability 漏洞极容易被发现,攻击条件容易获得 发现难度中,需要深入挖掘 发现难度高

从上面的表格可以总结几个关键点,漏洞暴露程度攻击的实施门槛攻击可重复性攻击后影响面积

Security By Default

黑、白名单

黑名单

常见的例子:

  • 现实社会中:没交作业名单上的同学都不允许进教室上课!
  • 计算机世界:限制特定IP不允许访问服务器,带有木马病毒特征的禁止运行

白名单

常见的例子:

  • 现实社会中:只有本校学生才能入内
  • 计算机世界:限制特定IP允许访问服务器,仅允许运行信任列表中的程序

黑白优缺对比

黑名单:

  • 优点:可以通过已知的信息禁止(解决)一些隐患,例如过滤XSS,SQL注入等
  • 缺点:仅能针对已知的隐患和威胁,不能防御新的威胁,例如0day

白名单:

  • 优点:解决0day,相较于黑名单更轻量

黑白适用场景

  • 黑名单:信任域大的适合用黑名单,例如接入层的WAF根据某些IP的恶意请求禁止此IP
  • 白名单:信任域小的适合用白名单,例如数据库服务器仅允许特定IP地址、网段的客户端来连接它

纵深防御

安全贯穿整条全链路,从客户端发出请求到落地入库,再到返回数据

不可预测性

不可预测性

建模

Microsoft Threat Modeling Tool 2016 通过这个工具可以构建出简单的架构模型,并且生成架构中的安全隐患

results matching ""

    No results matching ""