返回介绍

19.1 安全检测方法

发布于 2024-10-11 22:28:35 字数 1439 浏览 0 评论 0 收藏 0

安全检测方法主要包括黑盒检测和白盒检测两种类型,下面简单介绍这两种方法。

1.黑盒检测

黑盒检测是指将程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,模拟合法用户使用应用程序,检测应用程序功能是否能适当地接收和正确地输出,以发现存在的安全漏洞。

黑盒检测通常按照攻击者的思路进行测试,达到准确性与全面性。要做好黑盒检测,需要考虑以下几个方面:

·对应用系统的熟悉程度。检测之前,对应用系统进行跟踪了解,包括涉及的所有功能、与其他系统的调用关系、接口开放情况、系统架构等。

·全面的安全技术知识。因为应用系统功能的不同,所对应的应用范围也不同,有的系统涉及商城,就要了解商城系统中可能会出现的相关安全问题;有的应用系统用到 HTML5 相关技术,需要了解 HTML5 有关的安全问题。安全人员需要掌握全面的安全技术知识,才能对每个项目进行检测。

·漏洞挖掘能力和实战技能。安全检测人员需要较强的漏洞挖掘能力和漏洞感知能力,同时具备实战技能,对单个功能上发现的漏洞,能推断其他功能也是否会出现类似问题。

·安全测试标准。一般参考 OWASP 测试指南结合实战经验中的测试点,总结出安全检测标准文档,对所有可能产生影响的安全漏洞进行汇总,并详细描述检测的方法、步骤、可能用到的工具等,对项目的所有漏洞进行检测,并严格按照规定的方法进行测试。

·测试人员素质。测试功能时,需要有足够的耐心和细心,如前端发现的密钥利用、未开放的功能接口和参数、暴力破解时的字典规则、加密请求包的解密、过滤规则的绕过等,均需要测试人员有足够的耐心和细心。

·发散性思维。从多个角度去思考一个问题,以寻求得到多种假设、观点或者答案。例如,在实际案例中可以思考,是否可以通过其他方式获取用户的密码作为突破口?类似的功能是不是在其他系统中也用到过?诸如此类。

2.白盒检测

白盒检测是指检测人员在掌握系统源代码、系统业务逻辑等信息的情况下,检查程序源代码是否存在安全隐患,或者有编码不规范的地方,通过自动化工具或者人工审查的方式,对程序源代码逐条进行检查和分析,发现源代码缺陷引发的安全漏洞。白盒测试的测试方法包括代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖、程序变异等。

3.两种检测方法的比较

网上经常有关于两种检测方法优缺点的讨论,以及关于哪种检测方法技术含量更高、效率更高、覆盖更全的争论。笔者认为,两种检测方法的优缺点如下:

·黑盒检测只有通过外部探测的方式发现安全漏洞,检测的成本比较高,而且不能对系统检测全面覆盖,但能发现一些业务逻辑、隐藏性高的安全漏洞。

·白盒检测能够更全面地覆盖整个系统,可以推动建立安全开发规范,减少后期人力成本,对于业务逻辑和封装后的模块等检测漏洞的难度较大。相比黑盒检测,覆盖的检测范围更全面,但是误报率比较高。

总体来说,两种检测方式各有优缺点,没必要一定分个高下,在日常安全检测中,金融企业一般通过两种方式配合使用来弥补各自的缺陷。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文