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

ops/2024/12/29 1:56:44/

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/ops/145795.html

相关文章

QT集成intel RealSense 双目摄像头

最近一个小项目,用到了双目相机,选用了Intel的RealSense双目相机。功能很简单,就是识别某一个物体,然后对对这个物体进行操作。具体功能随后再说,这里只介绍QT如何集成IntelRealSense相机,就是下面这个。 首…

linux、mysql日常工作备忘录

Mysql ==mysql8远程授权访问========================================== use mysql; mysql8不再允许直接对root用户授权远程访问,需要新建一个用户。 CREATE USER root@% IDENTIFIED BY password; GRANT ALL PRIVILEGES ON *.* TO root@% WITH GRANT OPTION;mysql8数据备份=…

亚马逊云科技 | Amazon Nova:智能技术新势力

在2024年亚马逊云科技re:invent大会上,Amazon Nova 系列自研生成式 AI 多模态模型重磅登场,新一代的AI产品-Amazon Nova,隶属于 Amazon Bedrock,一共发布6款大模型,精准切入不同领域,解锁多元业务可能&…

IOS safari 播放 mp4 遇到的坎儿

起因 事情的起因是调试 IOS 手机下播放服务器接口返回的 mp4 文件流失败。对于没调试过移动端和 Safari 的我来说着实费了些功夫,网上和AI也没有讲明白。好在最终大概理清楚了,在这里整理出来供有缘人参考。 问题 因为直接用 IOS 手机的浏览器打开页面…

国标GB28181设备管理软件EasyGBS:P2P远程访问故障排查指南(设备端)

在现代安防监控系统中,国标GB28181协议已成为连接和管理视频监控设备的重要标准。EasyGBS作为一款遵循该协议的设备管理软件,为用户提供了强大的视频监控和设备管理功能。然而,在实际应用中,用户可能会遇到P2P远程访问故障的问题&…

AI Agent案例全解析:百度营销智能体(8/30)

引言:在当今这个科技飞速发展的时代,AI技术呈现出爆发式的增长,正以前所未有的态势改变着众多行业的发展轨迹,营销领域也不例外。随着市场竞争的日益激烈,传统营销模式逐渐显露出疲态,对于变革的需求愈发迫…

MinIO服务器文件复制(Windows环境Linux环境)

一、下载 Windows环境:https://dl.min.io/server/minio/release/windows-amd64/minio.exe Linux环境: > curl https://dl.min.io/client/mc/release/linux-amd64/mc \ --create-dirs \ -o $HOME/minio/mc > chmod x $HOME/minio/mc > expo…

14: curl#6 - “Could not resolve host: mirrorlist.centos.org; 未知的错误“

出现这个错误是因为使用的 CentOS 7 仓库已经被归档,当前的镜像地址无法找到所需的文件。CentOS 7 的官方支持已经结束,部分仓库已被移至归档库。这导致了你的 yum 命令无法找到所需的元数据文件。CentOS 7 的官方仓库在 2024 年 6 月 30 日之后已经停止…