当前位置: 首页 > article >正文

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

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.kler.cn/a/450917.html

相关文章:

  • vulnhub靶场-matrix-breakout-2-morpheus攻略(截止至获取shell)
  • springboot477基于vue技术的农业设备租赁系统(论文+源码)_kaic
  • 灵当CRM getMyAmbassador Sql注入漏洞复现(附脚本)
  • 信创源代码加密的答案:信创沙箱
  • 微机接口课设——基于Proteus和8086的打地鼠设计(8255、8253、8259)
  • K8S 黑魔法之如何从 Pod 拿到节点的命令行
  • 光谱相机在农业中的具体应用案例
  • C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
  • zabbix监控山石系列Hillstone监控模版(适用于zabbix7及以上)
  • vue实现打印指定页面内容
  • 消除视野盲区,保障行车安全--叉车四路环绕AI防撞系统
  • 迈向未来:.NET技术的持续创新与发展前景
  • 【华为OD-E卷-木板 100分(python、java、c++、js、c)】
  • Naive UI 分页组件二次封装
  • Dubbo简单总结
  • 【蓝桥杯——物联网设计与开发】基础模块8 - RTC
  • GitPuk安装配置指南
  • LEC: 基于Transformer中间层隐藏状态的高效特征提取与内容安全分类方法
  • 武汉做网站优化推广效果的科学评估方法
  • redis库基础知识
  • SpringBoot开发——Spring Boot 的9大类常用注解
  • 【XR】ATW
  • LeetCode 1705.吃苹果的最大数目:贪心(优先队列) - 清晰题解
  • Python+QQ邮箱调用定时监控——以网站监测为例
  • Z轴方向二维图像插值形成三维图像的算法及其优劣分析
  • Jmeter 分布式压测部署--常见坑以及解决方案