纵深防御原则

admin 2019-8-16 205

与 Secure by Default 一样,Defense in Depth(纵深防御)也是设计安全方案时的重要指导 思想。

纵深防御包含两层含义:

首先,要在各个不同层面、不同方面实施安全方案,避免出现疏 漏,不同安全方案之间需要相互配合,构成一个整体;其次,要在正确的地方做正确的事情, 即:在解决根本问题的地方实施针对性的安全方案。 

某矿泉水品牌曾经在广告中展示了一滴水的生产过程:经过十多层的安全过滤,去除有害物质, 最终得到一滴饮用水。这种多层过滤的体系,就是一种纵深防御,是有立体层次感的安全方案。 纵深防御并不是同一个安全方案要做两遍或多遍,而是要从不同的层面、不同的角度对系 统做出整体的解决方案。我们常常听到“木桶理论”这个词,说的是一个桶能装多少水,不是 取决于最长的那块板,而是取决于最短的那块板,也就是短板。设计安全方案时最怕出现短板,木桶的一块块板子,就是各种具有不同作用的安全方案,这些板子要紧密地结合在一起,才能 组成一个不漏水的木桶。

在常见的入侵案例中,大多数是利用 Web 应用的漏洞,攻击者先获得一个低权限的 webshell, 然后通过低权限的 webshell 上传更多的文件,并尝试执行更高权限的系统命令,尝试在服务器上 提升权限为 root;接下来攻击者再进一步尝试渗透内网,比如数据库服务器所在的网段。 在这类入侵案例中,如果在攻击过程中的任何一个环节设置有效的防御措施,都有可能导 致入侵过程功亏一篑。但是世上没有万能灵药,也没有哪种解决方案能解决所有问题,因此非 常有必要将风险分散到系统的各个层面。就入侵的防御来说,我们需要考虑的可能有 Web 应用 安全、OS 系统安全、数据库安全、网络环境安全等。在这些不同层面设计的安全方案,将共 同组成整个防御体系,这也就是纵深防御的思想。 

纵深防御的第二层含义,是要在正确的地方做正确的事情。如何理解呢?它要求我们深入 理解威胁的本质,从而做出正确的应对措施。 在 XSS 防御技术的发展过程中,曾经出现过几种不同的解决思路,直到最近几年 XSS 的 防御思路才逐渐成熟和统一。

在一开始的方案中,主要是过滤一些特殊字符,比如:

<<笑傲江湖>> 会变成 笑傲江湖

尖括号被过滤掉了。

但是这种粗暴的做法常常会改变用户原本想表达的意思,比如:

1<2 可能会变成 1 2

造成这种“乌龙”的结果就是因为没有“在正确的地方做正确的事情”。对于 XSS 防御,

对系统取得的用户输入进行过滤其实是不太合适的,因为 XSS 真正产生危害的场景是在用户

的浏览器上,或者说服务器端输出的 HTML 页面,被注入了恶意代码。只有在拼装 HTML 时

输出,系统才能获得 HTML 上下文的语义,才能判断出是否存在误杀等情况。所以“在正确

的地方做正确的事情”,也是纵深防御的一种含义——必须把防御方案放到最合适的地方去解

决。(XSS 防御的更多细节请参考“跨站脚本攻击”一章。)

近几年安全厂商为了迎合市场的需要,推出了一种产品叫 UTM,全称是“统一威胁管理”

(Unified Threat Management)。UTM 几乎集成了所有主流安全产品的功能,比如防火墙、VPN、

反垃圾邮件、IDS、反病毒等。UTM 的定位是当中小企业没有精力自己做安全方案时,可以在

一定程度上提高安全门槛。但是 UTM 并不是万能药,很多问题并不应该在网络层、网关处解

决,所以实际使用时效果未必好,它更多的是给用户买个安心。

对于一个复杂的系统来说,纵深防御是构建安全体系的必要选择。


少客联盟- 版权声明 1、本主题所有言论和图片纯属会员个人意见,与少客联盟立场无关。
2、本站所有主题由该帖子作者发表,该帖子作者admin少客联盟享有帖子相关版权。
3、少客联盟管理员和版主有权不事先通知发贴者而删除本文。
4、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者admin少客联盟的同意。
5、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任。
6、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
7、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。
8、官方反馈邮箱:chinasuc@chinasuc.cn


上一篇:Linux Tsunami遇到了OS X.
下一篇:汽车之家活动(粗暴)
Whatever is worth doing is worth doing well. juvenile hacker league
最新回复 (0)
    • 少客联盟
      2
        登录 注册 QQ登录(停用)
返回