白帽子选择,是克服某种攻击方法,而并非抵御单次的攻击。
安全问题的本质是信任问题,通过安全检查(过滤、净化)的过程,划分信任域。
(数据从高等级的信任域流向低等级的信任域,是不需要经过安全检查的,数据从低等级的信任域流到高等级的信任域,需要经过信任边界的安全检查)
安全是一个持续的过程,而不是一个一劳永逸的解决办法
安全三要素:
安全评估过程:
资产等级划分
威胁分析:威胁(可能造成危害的来源),风险(可能会出现的损失)
威胁建模方法:STRIDE模型 p13页
风险值判断:DREAD模型 p14页
按照模型的等级D\R\E\A\D,每一项的评分,计算总和判定
优秀方案的特点:
风险分析
确认解决方案
Secure By Default原则:
白名单、黑名单
白名单优于黑名单,黑名单的受攻击面要大一些
最小权限原则
最小权限原则要求系统只授予主题必要的权限,而不要过度授权,这样能有效的减小系统、网络、应用、数据库出错的机会
纵深防御原则:
在不同层面,不同方面实施安全方案
例:在设计方案时,考虑到web应用安全、os系统安全等不同层面,共同组成防御体系。
在解决根本问题的地方实施有效的针对性方案
不是解决单次攻击问题。如<>过滤,而是通过对攻击方法解决,例:从语法树上分析
数据与代码分离:
用户不管输入什么数据,都不能当做代码执行。
例:
<body>
$var;
</body>
<body>
<script>
alert("$var");
</script>
</body>
不可预测性原则(随机性):
让一些数据具有随机性,使攻击者攻击成功但无效。
例:1. id、tonken令牌等等(设置随机变化,不规律)
? 2. 进程的栈基地址变化等
原文:https://www.cnblogs.com/kbhome/p/12819292.html