GB/T 37931—2019《信息安全技术 Web应用安全检测系统安全技术要求和测试评价方法》浅析
2020-09-17施明明谢宗晓
施明明 谢宗晓
GB/T 37931—2019《信息安全技术 Web应用安全检测系统安全技术要求和测试评价方法》,于2020年3月1日开始实施,主要规定了Web应用安全检测系统的安全技术要求、测评方法和等级划分。由于这是产品测评类标准,因此与GB/T 18336.3—20151)保持了一致。
1 Web应用安全检测系统的概念
Web應用主要是指可以通过Web访问的各类应用程序,其最大好处在于用户很容易访问,只需要有浏览器即可,不需要再安装其他软件。应用程序一般分为B/S(Browser/Server,浏览器/服务器)架构和C/S(Client/Server,客户机/服务器)架构。毫无疑问,Web应用一般都是采用B/S架构。
就本质而言,Web应用与其他应用程序没有区别,只是由于基于Web,导致其采用了不同的框架和解释运行方式等。Web应用的产生带来了巨大的便利性,同时也带来了很大的安全问题。这使得传统的安全产品,例如,防火墙,从最初的网络层(OSI第3层),发展到会话层(OSI第5层),直到应用层(OSI第7层),工作在7层的防火墙,发展成为单独的门类,Web应用防火墙(WAF)。
Web应用安全检测系统原则上并不是一个单独的产品,而是一系列的功能产品的集合。
在GB/T 37931—2019 的3.1中对于“Web应用安全检测系统”的概念给出了定义和描述,其中定义如下:
对Web应用的安全性进行检测的产品,能够依据策略对Web应用进行URL发现,并对Web应用漏洞进行检测。
在第5章中,对于Web应用安全检测又进行了进一步的描述,如下:
Web应用安全检测系统采用URL发现、Web漏洞检测等技术, 对Web应用的安全性进行分析,安全目的是为帮助应用开发者和管理者了解Web应用存在的脆弱性,为改善并提升应用系统抵抗各类Web应用攻击(如:注入攻击、跨站脚本、文件包含和信息泄露等)的能力, 以帮助用户建立安全的Web应用服务。
2 标准的架构及主要内容
在实际使用场景中,Web应用安全检测系统也多以B/S或C/S架构运行,在作为一款Web应用系统安全检测产品的同时,其自身也是一个网络应用系统,因此,安全技术要求除了包含安全功能要求和安全保障要求外,还涉及其自身安全要求。在GB/T 37931—2019中所关注的安全要求也包括了上述3个方面。具体如表1所示。
表1 Web应用安全检测系统 安全技术要求
GB/T 37931—2019正文分为7章,主要内容为第6章和第7章。
标准第6章安全技术要求部分对安全功能、自身安全和安全保障3个方面提出要求。GB/T 37931—2019依据Web应用安全检测系统安全功能与自身安全的强弱, 以及安全保障要求的高低将安全技术要求划分为基本级安全技术要求和增强级安全技术要求,其中增强级安全技术要求对漏洞检测准确性、可检测的漏洞类型、漏洞检测技术等都在基本级安全技术要求基础上提出了更严格的要求。
值得指出的是,对于漏洞类型的检测,标准中还列出了最低要求,包括:
a)SQL注入漏洞,含基于Get、Post方式提交的应包括字符、数字和搜索等的注入漏洞;
b)Cookie注入漏洞,含基于Cookie方式提交的应包括字符、数字和搜索等的注入漏洞;
c)XSS漏洞,含基于Get、Post方式的跨站攻击漏洞;
d)CSRF漏洞;
e)目录遍历漏洞;
f)信息泄露漏洞,含路径泄露、备份文件、源代码泄露、目录浏览和phpinfo等信息泄露漏洞;
g)认证方式脆弱,如弱口令等;
h)文件包含漏洞,含远程、本地方式的文件包含漏洞。
标准第7章增加了对第6章列出的所有安全技术要求的测评方法、预期结果及结果判定,测试评价方法部分内容的加入,使其更适合成为第三方安全产品测评机构对Web应用安全检测系统类产品进行安全测评的参考依据。
3 Web应用安全检测系统原理及工作流程
Web应用安全检测系统的核心工作原理是通过在网络请求中加入漏洞检测用例,并通过分析网络响应来判断Web应用系统是否存在安全漏洞。
Web应用安全检测系统的主要工作流程可分为Web页面爬取、漏洞探测点获取、漏洞检测几大块。在检测任务开始后,检测系统通过检测引擎使用高速智能爬取技术获取整个Web站点结构,并从html、js、flash、ajax等Web资源中抽取用于获取探测点的链接,分析获得的链接并在请求中寻找可能的漏洞探测点,最后由扫描引擎向目标Web应用系统发送漏洞检测网络请求并根据网络响应判断漏洞是否存在。
4 安全功能要求增强级与基础级比较
在GB/T 37931—2019中,将Web应用安全检测系统的安全技术要求划分为基础级技术要求和增强级技术要求,其中安全技术要求中的安全功能要求是决定Web应用安全检测系统检测能力和效果的主要因素。
在6.2章节中,增强级技术要求对安全功能要求做了诸多额外要求,大致包括:
在6.2.1.1.1和6.2.1.1.2中:1) URL发现增加对Flex文件中内嵌的URL的解析支持;2)增加对Referrer和Cookie类型XSS漏洞的检测要求;3) 增加对登录绕过、命令执行、LDAP注入和Xpath注入以及第三方组件高危漏洞的检测要求。
通过提高URL发现能力、可检测漏洞类型数,Web应用安全检测系统可以支持更多的Web应用类型,获取到更多的漏洞探测点。
6.2.1.1.3要求支持变形检测,通过变形检测Web应用安全检测系统可绕过部分主机、网络Web应用防火墙的保护,对目标Web应用系统进行漏洞检测。
6.2.1.1.4要求支持暗链、坏链、外链以及敏感关键字的检测,使Web应用安全检测系统有了部分Web入侵监测的能力。
6.2.1.3.1要求提供自动化工具验证漏洞,该项增强级要求 Web 应用安全检测系统在设计时对部分较易复现的漏洞增加漏洞验证模块,有助于系统使用者对检测结果进行漏洞复现和误报排除。
除了上述内容,GB/T 37931—2019中的增强级安全功能要求还在检测范围、检测任务管理、检测结果分析处理等处,对检测系统的性能、易用性、实用性与基础级比较提出了更高的要求。
5 小结
GB/T 37931—2019在规范性引用文件中引用了GB/T 18336.3—2015,也就是说,后者的要求在本标准的应用中,也需要考虑。但是,GB/T 37931—2019中关注功能性描述,并没有沿用GB/T 18336.3—2015中保护轮廓(PP)和安全目标(ST)等基本概念。整体而言,通过对Web应用检测系统产品提出安全技术要求,对该类产品实现规范化和统一化管理,提升Web应用系统安全性,对于减少安全事件的发生是具有一定意义的。
(注:本文仅做学术探讨,与作者所在单位观点无关)
参考文献
[1] 董贞良. 产品测评通用准则(CC)相关标准介绍[J].中国质量与标准导报,2018(11):16-18.
[2] 谢宗晓,李宽. 通用准则(CC)与信息安全管理体系(ISMS)的比较分析[J].中国质量与标准导报,2018(7):28-32.