|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1、隔离性:隔离涉及确保一个组件中的漏洞不会影响系统的其余部分,并且有许多技术可以提供隔离性。比如说,浏览器可以通过在特殊的沙盒进程中执行所有代码来实现这一点,这些进程无法全权访问 Cookie、保存的密码、其他选项卡等。想象一下,如果每段 JavaScript 都需要由数百个正则表达式进行分析,那么整个网络体验将会有多差。除此之外,微服务在设计时就考虑到了隔离性,但我们也可以使用各种库和编程语言从整体层面上实现隔离性。 2、不变性:我们可以通过删除一些假定条件来消除整个类型的攻击,比如说部署readOnlyRootFilesystem、需要重新启动的包管理器或不可变数据备份等。 3、静态分析功能:针对SQL注入其实有一个“灵丹妙药”,即使用“预先准备好的语句”。但问题是,很多开发人员可能会忘记使用它们。CI 管道中的静态分析检查几乎可以确保代码库中SQL注入漏洞为零,此时不需要任何SQL注入WAF规则。 4、基于功能的安全性:并非每个API节点都需要对整个数据库和文件系统具有不受限制的读/写访问权限,但这正是我们现在构建API的常用方式。通过代码编程能力,我们可以准确地让“GET /api/v1/books”只需要拥有对“books”表的读取权限。或者“POST /api/v1/imageupload”只需要对特定文件夹拥有权限,同时不需要生成进程。
原文始发于微信公众号(FreeBuf):Web应用防火墙的使用效率问题与替代性技术的深入讨论
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论