GB/T34944-2017 《Java语言源代码漏洞测试规范》解读——行为问题、路径错误、处理程序错误

embedded/2024/12/25 20:52:31/

GB/T34944-2017 《Java语言源代码漏洞测试规范》标准是软件测评机构开展代码测试活动的重要依据,也是软件测评机构申请代码测试CNAS/CMA资质认证时依据的重要标准方法。本系列文章将带大家解读GB/T34944-2017 《Java语言源代码漏洞测试规范》,前面的文章中我们为大家做了整体解读。从代码测试的类型、工具、过程以及测试内容方面做了解读。

本文开始,我们将重点针对代码测试的测试内容进行解读,本文解读的是行为问题、路径错误和处理程序错误这三类。

6.2.1 行为问题

6.2.1.1 不可控的内存分配

漏洞描述:内存分配的大小受外部控制的输入数据影响,且程序没有指定内存分配大小的上限。

漏洞风险:攻击者可以使程序分配大量的内存,程序可能会因为内存资源不足而崩溃。

修复或规避建议:在程序中指定内存分配大小的上限,在分配内存前对要分配的内存大小进行验证,确保要分配的内存大小不超过上限。

内存的输入数据超过规定的内存上限之后,攻击者就可以达到他想返回的一个内存地址。在新的操作系统中,这类问题已经大大降低了,但是作为代码安全规范的层面还是要提出来,要控制在程序中指定内存分配大小的上限在分配内存前对要分配的内存大小进行验证,确保要分配的内存大小不超过上限。标准中给出的规范用法是给最长的区域指定一个规定的内存大小。并且在分配的时候要进行验证。

6.2.2 路径错误

6.2.2.1 不可信的搜索路径

漏洞描述:程序使用关键资源时没有指定资源的路径,而是依赖操作系统去搜索资源。

漏洞风险:攻击者可以在搜索优先级更高的文件夹中放入相同名称的资源,程序会使用攻击者控制的资源。

修复或规避建议:使用关键资源时指定资源所在的路径。

不可信的搜索路径这个问题主要是程序当中会有一些搜索的优先级顺序,一旦搜索可以从不同目录中去找要执行的程序的时候,攻击者可以去它的上一层放一个恶意的exe。当在当前目录中找不到的时候,可能会去上一级去找,但是上一级已经被攻击者埋好了一个恶意程序,那就会去执行。这就是不可信的路径搜索的原理。

规范用法中举的例子是去判断PATH这个变量是一个常量,直接定义出来,让程序直接去这个路径下面找,不要自己去其他目录下面找,这就是该条的原理。

6.2.3 处理程序错误

处理程序错误,也只有一类,主要是未限制危险类型文件的上传。

6.2.3.1 未限制危险类型文件的上传

漏洞描述:软件没有限制允许用户上传的文件的类型。漏洞风险:攻击者可上传具有危险类型的文件,这些文件可能在产品的环境中自动被处理修复或规避建议:限制允许用户上传的文件的类型。

未限制危险类型文件的上传这个现在问题也很大。我们总结下来,在实战攻防过程中,出现问题比较多的是身份鉴别类的,口令没有保护好,弱口令之类的,或者是鉴别机制没有做好,包括有些可以重置用户口令的接口是可以任意访问的,攻击者可以直接把管理员的口令重置掉,这些都是身份鉴别方面的常见问题。

以上就是GB/T34944-2017 《Java语言源代码漏洞测试规范》中行为问题、路径错误、处理程序错误这三个方面测试内容的解读,后续会继续介绍其他方面,敬请关注。

(谢绝转载,更多内容可查看我的专栏)


http://www.ppmy.cn/embedded/148706.html

相关文章

深入了解Python模拟负载均衡器:将请求高效分发至多个服务器

深入了解Python模拟负载均衡器:将请求高效分发至多个服务器 负载均衡器是现代分布式系统中至关重要的一环,它在多个服务器间分发请求,从而确保系统的高可用性和性能优化。通过负载均衡,系统能够在处理大量请求时保持稳定性,并且最大程度上利用资源。本文将详细介绍如何使…

Rasa框架的优点和缺点

优点 1. 开源和免费 Rasa 是开源的,无需支付许可费用,可自由下载和修改源码,适合预算有限或需要定制化解决方案的团队。企业可以完全掌控自己的对话系统,无需依赖外部服务。 2. 数据隐私和安全 Rasa 支持完全本地部署&#xf…

命令手动更新 Navigator

手动更新 您还可以通过命令行界面 (CLI) 手动更新 Navigator。这可以通过 or 命令来完成:updateinstall Update 命令 打开 Anaconda Prompt(macOS/Linux 上的终端)。 如有必要,请运行以下命令来更新基本环…

菜鸟带新鸟——基于EPlan2022的部件库制作

首先,我们需要了解一些概念: Eplan的部件制作内容 以上内容是制作一个完整的部件所需要的。如果公司要求没有那么严格,我们就可以制作1-4级的内容就可以满足日常的使用啦! 部件的创建方式 部件创建方式有4类: 1、单…

户外配电柜体该怎么保持内部温湿度?

安科瑞刘鸿鹏 摘要 在户外温差较大的环境中,配电柜内部可能面临因高温、低温、湿度变化等引起的设备故障问题。WHD系列智能温湿度控制器以其温湿度调节能力,为配电柜提供了安全、稳定的运行保障。本文探讨其应用优势及实际意义。 1. 引言 配电柜广泛…

Python进程与线程:分布式进程

在Python中,当我们面临选择使用线程(Thread)还是进程(Process)时,进程往往因其更高的稳定性和可扩展性而被优先考虑。特别是,进程能够跨越多台机器进行分布,而线程则受限于同一台机器…

如何在电脑上控制手机?

在现代生活中,通过电脑控制手机已经成为一种高效的工作和娱乐方式。Total Control 是一款实用的电脑端软件,通过USB或Wi-Fi连接,用户可以在电脑上直接操作多台手机,通过电脑键盘输入文字,提高操作效率。特别适合需要大屏操作的用户…

SRAM扩展的优势

SRAM扩展通常指的是增加计算机或嵌入式系统中静态随机存储器的容量。SRAM是一种高速存储器,其读写速度快,功耗低,通常用于缓存和暂存数据。它由存储单元、地址译码器、数据输入输出寄存器和控制逻辑组成。 随着电子产品功能的增强和性能的提…