通过安全默认设置与明智选择将漏洞类别降至近乎零
图片来源:Joe Basirico
“如果你能挥动魔法棒做任何事来减少漏洞,你会做什么?”
一些常见的答案包括培训教育、强制渗透测试、更好的工具和更聪明的用户,但这些都没有真正触及问题的核心。漏洞的“花园”在哪里?这些漏洞在哪里“种植”?我们能否让这片土壤对漏洞“不友好”,而对良好的编码实践“肥沃”?
我们可以。答案是从一开始就尽可能难以引入漏洞。实现这一目标的最佳方式是为开发人员提供库、框架、默认设置和封装器,让每位开发人员都能轻松“落入成功的陷阱”。
选择具有良好ORM(减少SQL注入)、模板引擎(减少XSS)、认证系统和其他安全控制的更好框架,可以大幅降低漏洞的可能性。通过这些明智的选择,你可以减轻整个类别的漏洞。
安全团队可以通过以下方式将这一点提升到新的水平:选择默认安全的优秀库、通过设置或策略设定安全默认值,以及为现有库创建封装器,将安全最佳实践注入现有库中。
但关键在于,你必须让做安全的事情比做不安全的事情更容易。如果你要求开发人员妥协或采用耗时的新方式,你会失败。开发人员希望构建安全软件,但他们面临着交付功能和按时完成的巨大压力。发布和产生收入的压力几乎总是会胜过花费时间和金钱创建更安全软件的必要性。毕竟,这是现实世界。
让它变得容易,让他们落入成功的陷阱。
这篇迷你文章部分受到Clint Gibler的这篇文章的启发,他有一个优秀的博客和通讯。
特别是这篇优秀的 mega-post:What I Learned Watching All 44 AppSec Cali 2019 Talks - tl;dr sec。