国信检测带您解读GB/T 34944-2017《Java语言源代码漏洞测试规范》
- 发布时间:2026-07-14
- 发布者: 管理员
- 来源: 本站
- 阅读量:
GB/T 34944-2017《Java语言源代码漏洞测试规范》是针对Java语言源代码安全检测的国家标准,于2017年11月1日发布,2018年5月1日正式实施。
它整体遵循GB/T 15532-2008《计算机软件测试规范》的要求,将Java源代码漏洞测试过程分为测试策划、测试设计、测试执行和测试总结四个阶段。不管是政企项目验收、等保测评、高新企业申报,还是研发内部代码安全自查,Java 系统源码检测均需遵循本标准;该标准提出了Java源代码漏洞测试的基本原则,包括全面性、准确性、可重复性和可维护性。共包含九大漏洞类型,涵盖44类具体漏洞问题,适用于开发方和第三方机构开展静态分析、动态分析和混合分析等测试活动。
1. 行为问题
行为问题是指由于应用程序的意外行为而引发的安全漏洞,这类问题通常与程序逻辑的异常处理或边界条件处理不当有关。具体漏洞为“不可控的内存分配” 。
2. 路径错误
路径错误是指不恰当处理访问路径而引发的安全漏洞,通常涉及攻击者控制路径参数,导致程序访问非预期的文件或目录。具体漏洞为“ 不可信的搜索路径”。
3. 数据处理
数据处理漏洞是指在处理数据的功能中发现的安全缺陷,包括数据输入输出、注入、信息泄露等。具体漏洞包括相对路径遍历、绝对路径遍历、命令注入、SQL注入、代码注入、进程控制、信息通过错误消息泄露、信息通过服务器日志文件泄露、信息通过调试日志文件泄露、信息通过持久Cookie泄露、未检查的输入做为循环条件、Xpath注入。
4. 处理程序错误
处理程序错误是指由于处理程序的管理不当而引发的安全漏洞。具体漏洞为“未限制危险类型文件的上传”。
5. 不充分的封装
不充分的封装是指未充分封装关键数据或功能而引发的安全漏洞,通常涉及序列化相关的问题。具体漏洞包括可序列化的类包含敏感数据、违反信任边界。
6. 安全功能
安全功能漏洞是指软件安全功能(如身份鉴别、访问控制、机密性、密码学和特权管理等)相关的安全缺陷。具体漏洞包括明文存储口令、存储可恢复的口令、口令硬编码、依赖referer字段进行身份鉴别、Cookie中的敏感信息明文存储、敏感信息明文传输、使用已破解或危险的加密算法、可逆的散列算法、密码分组链接模式未使用随机初始化矢量、不充分的随机数、安全关键的行为依赖反向域名解析、关键参数篡改、没有要求使用强口令、没有对口令域进行掩饰、依赖未经验证和完整性检查的cookie、通过用户控制的SQL关键字绕过授权、HTTPS会话中的敏感cookie没有设置安全属性、未使用盐值计算散列值、RSA算法未使用最优非对称加密填充。
7. 时间和状态
时间和状态漏洞是指在多系统、进程或线程并发计算的环境下由于时间和状态管理不恰当而引发的安全漏洞。具体漏洞包括会话固定、会话永不过期。
8. Web问题
Web问题是指Web技术相关的安全漏洞,主要涉及常见的Web层面的安全问题。具体漏洞包括跨站脚本(XSS)、跨站请求伪造(CSRF)、HTTP响应拆分、开放重定向、依赖外部提供的文件的名称或扩展名。
9. 用户界面错误
用户界面错误是指与用户界面相关的安全漏洞,主要涉及界面的劫持。具体漏洞为“点击劫持”。
GB/T 34944-2017作为Java语言源代码安全检测的专属国家标准,不仅统一了源码测试的流程、原则与漏洞判定依据,为企业研发团队代码自查、安全合规整改提供了清晰的技术指引,也为第三方检测机构开展专业化、合规化源码审计工作提供了权威判定准则。
严格遵循本标准开展源代码检测,能够精准排查代码底层安全隐患,从源头规避注入攻击、数据泄露、权限失效、Web安全缺陷等各类风险,有效提升Java软件的安全性、稳定性与合规性,全面满足等保测评、项目验收、高企申报等各类商用及政务合规需求,为软件系统安全稳定上线、长效运行筑牢标准化安全屏障。
