42 | 纵深,代码安全的深度防御
范学雷
该思维导图由 AI 生成,仅供参考
前面我们聊了保持代码长治久安的两个策略,代码规范和风险预案。这一次,我们接着聊代码安全管理的另外一个策略:纵深防御。
说起纵深防御(Defence-in-Depth),我们最常想到的是军事战略。在军事上,这个概念指的是通过层层设防,以全面深入的防御来延迟敌人的进攻,通过以空间换时间的方式来挫败敌方的攻击。这有别于一战定胜负的决斗思维。决斗思维需要集中所有的优势资源在最前线,一旦前线失守,整个战争基本就宣告结束了。
信息安全的攻防,有一个很重要的特点,就是不存在没有漏洞的防线。按照决斗思维部署的信息安全防御体系,也许仅仅只能是个心理安慰。事实上,现代网络安全防御体系和应用架构,不管你是否意识到,已经在广泛使用纵深防御的思想了,或多或少,或明或暗。
评审案例
我们一起来看一段 OpenJDK 的代码修改。其中 wrap() 方法的传入参数 key 是一个不能泄露的密钥,而 key.getEncoded() 导出这个密钥的编码,以便进行下一步的加密操作。有时候,密钥的编码可以等同于密钥,也是不能泄露的。你知道这样修改的必要性吗?
这个代码变更,是对临时私密缓冲区的更积极的管理。
案例分析
我们知道,如果一段存储空间不再使用,一般而言,操作系统或者应用程序仅仅是“忘记”或者“删除”这段存储空间的索引,并不清理存储空间里的具体内容。我们常说“释放”一段内存空间。我觉得“释放”这个词使用很贴切。释放后,那段内存空间还在,模样也没有变化,内容也没有什么变化,只是被释放了,被丢弃了。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了代码安全管理的纵深防御策略,以OpenJDK的代码修改为例,阐述了对临时私密缓冲区更积极的管理的必要性。作者分析了敏感数据释放后可能被未授权的用户获取的风险,并探讨了敏感数据归零的意义和局限性。强调了纵深防御体系的重要性,并通过“八道防线”的防御场景形象地阐述了纵深防御的概念。文章还提到了防线机制的设置和防护的多样性,以及纵深防御的重要性和实施方法。总体而言,本文通过实例和理论分析,为读者提供了深度的技术思考和实践指导。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《代码精进之路》,新⼈⾸单¥59
《代码精进之路》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(6)
- 最新
- 精选
- wind纵深防御指南的链接点过去是page not found
作者回复: 新的链接: https://www.oracle.com/database/technologies/security.html 还有一个中文版: https://www.oracle.com/technetwork/topics/security/sol-home-084333-zhs.html
2019-09-295 - 天佑核电站通用设计准则,访问不了,显示不允许访问。。
作者回复: 😯
2019-04-102 - 松花皮蛋me老师我觉得专栏的安全方面内容太多,但是技巧类的太少了
作者回复: 😄,技巧类的太多了,而且我懂得极少,所以写的也少。
2019-04-102 - hua168我们怎么防止还是会有想不到位的地方,那么我们可不可以做一点监控或者一些策略。 1.做监控是为了方便跟踪,知道对方是怎么进来的 2.做策略是补防守不周全的情况,比如前面再加多一层安全过滤层,做一些行为判断 比如定义一些异常访问,如包括一些特殊字符,异常行为 但这些会加大工作量吧,是不是等公司壮大的时候再重做?
作者回复: 有些公司的商业模式安全很重要,早做的好。 工作量这个标尺,太耽误事!没有工作的工作量最小。做最简单的事情,把简单的事情做好。别做大量的事情,把事情做的闹心。不需要现在就做的事情不去做,我们就有时间把少量的事情做好了。
2019-04-101 - 拉可里啦那么问题来了,怎么将敏感数据归零?2020-01-0921
- ifelse没有防御纵深的信息系统,其安全性是堪忧的;一个防御体系,需要考虑纵深和多样性,更需要确保防御体系良性运转。--记下来2022-08-03归属地:浙江
收起评论