在软件开发中,管理依赖并确保第三方库的安全性是维护应用程序健壮性的关键步骤。最近发现,阿里云的两个常用组件——短信服务(Aliyun SMS)和对象存储服务(OSS)——包含一些安全漏洞,这些漏洞可能带来中危和高危的安全风险,开发者应对此保持警惕。
阿里云短信(中危)
阿里云短信API是一个在Java应用程序中广泛使用的服务,常用于发送和管理短信。经过分析,该服务默认包含了版本为1.70的**bcprov-jdk15on
库,存在中危漏洞**。
关键点:
- 库名称:
bcprov-jdk15on
- 版本:1.70
- 风险级别:中危
- 描述:
bcprov-jdk15on
是Bouncy Castle密码学库的一部分,尽管该库在密码学操作中非常强大,但1.70版本存在一些潜在的安全漏洞,需引起开发者的注意。 - 建议:建议定期更新该库至最新版本(maven仓库最新版: 1.70, 只能留意厂商是否发布升级补丁),并在应用时进行全面的安全审计,以减少潜在的安全风险。
依赖配置示例:
<!--阿里云短信服务 【SBOM检测: 默认包含bcprov-jdk15on, 属于中危组件】-->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>dysmsapi20170525</artifactId>
<version>2.0.22</version>
</dependency>
阿里云OSS(高危)
阿里云对象存储SDK(OSS SDK)作为阿里云存储和文件管理的基础设施,近期被发现包含高危漏洞。该SDK默认包含**jdom-1.1.jar
**,存在显著的安全风险。
关键点:
- 库名称:
jdom-1.1.jar
- 版本:1.1
- 风险级别:高危
- 描述:
jdom-1.1
是一个XML解析库,因存在多项安全漏洞而被列为高危组件,可能被攻击者利用进行恶意操作。鉴于OSS在重要数据存储中的广泛应用,必须立即关注并修复这一漏洞。 - 建议:目前厂商已发布升级补丁以修复漏洞,补丁获取链接:
https://github.com/hunterhacker/jdom。
依赖配置示例:
<!-- 阿里云oss依赖 【SBOM检测: 默认包含jdom-1.1.jar, 属于高危组件】-->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.8.1</version>
</dependency>
缓解策略
- 补丁:
bcprov-jdk15on
和jdom只能通过补丁的方式
修复安全问题。 - SBOM检测:在项目中实施软件物料清单(SBOM)检测,以识别存在风险的组件,并及时了解安全漏洞。
- 安全审计:定期对第三方库进行安全审计,避免生产环境中出现不可预见的风险。
- 审阅文档:密切关注依赖库维护者发布的安全公告和漏洞报告,以保持对潜在风险的了解。
结论
第三方库中的漏洞往往容易被忽视,尤其当它们属于像阿里云短信服务和OSS这样的基础服务时。作为开发者,我们有责任定期监控和更新这些组件,以确保我们的应用程序始终处于安全状态,抵御潜在的攻击。
通过保持警惕并积极应对这些漏洞,你可以帮助保护项目免受不必要的安全风险。确保安全开发之路包括常规的依赖管理、漏洞扫描和及时的缓解措施。