密码开源生态深析(第四期)
随着信息技术的飞速发展,密码技术作为保障信息安全的核心技术,重要性日益凸显。密码开源作为一种新型的软件开发协作模式,正逐渐受到业界的广泛关注。然而,密码开源生态的复杂性和多样性也带来了诸多问题和挑战,如何构建健康、可持续的密码开源生态,成为当前信息安全领域亟待解决的重要问题。
《密码开源生态研究报告(2024年)》全面剖析了密码开源生态发展现状、面临的问题和挑战,探索未来发展趋势,提出密码开源生态发展建议。依据报告研究内容,开展“【商密科普】密码开源生态研究”系列分享。
本期分享内容为密码开源生态面临的问题和挑战(一)。
密码开源生态发展较为缓慢
首先,密码开源生态较为分散,缺乏一个统一的、具有领导性的力量来协调和推动整个生态的发展。当前,虽然存在多个密码开源项目和社区,但它们之间往往孤立运作,缺乏统一的标准和规划,这种分散状态不仅导致资源重复投入和浪费,也使得整个生态难以形成合力,推动技术进步和应用推广。
其次,密码开源政策支持力度不够,制约了密码开源生态发展。尽管近年来国家出台了一系列有关密码的法律法规,但在开源治理、知识产权保护、人才培养等方面的具体规范和细则仍显不足,导致密码开源生态发展不够规范,影响了密码开源生态快速发展。
另外,密码开源生态人才缺乏且人才培养体系尚未健全,制约了密码开源生态发展。由于密码技术具有一定专业性,一定程度上限制了更广泛人群的参与,且高校相关专业设置和教学内容不够完善,缺乏高水平的开源人才培养师资,导致开源人才供给不足,难以满足密码开源生态发展需求。
最后,由于缺乏足够的商业支持和密码开源生态整合,导致密码开源项目的商业化应用和推广受到限制。商业支持是推动开源生态发展的重要力量,由于目前缺乏成熟的密码开源商业模式和盈利途径,导致开发者缺乏持续投入的动力,难以形成良性发展生态;并且开源密码技术缺乏与其他开源项目或商业产品的有效整合,限制了开源密码技术的应用场景和范围。
密码开源标准体系待制定
首先,在开源领域缺乏统一的、被广泛认可的密码开源标准体系,导致开发者在设计和实现时缺乏统一的指导和参考。标准体系的缺乏不仅增加了开发的难度,同时也影响了密码技术的推广和应用效率。
其次,目前大量国际协议标准及软件均不支持我国商密算法,限制了国产密码技术的发展。由于历史原因和技术壁垒等多种因素,目前大量国际协议标准未采用商密算法,大量开源软件也不支持商密算法,且部分商密算法和协议未被主流开源密码套件接纳,导致密码算法和套件生态存在割裂现象。这不仅增加了技术集成的难度和成本,也降低了整个生态的安全性和稳定性。
最后,开源密码实现尚缺乏相关的合规性检测标准,增加了密码误用的风险,制约了开源密码应用的推广。信息系统开发人员由于对密码应用缺乏技能和经验,不了解密码算法类型、协议参与方角色要求、关键参数类型等基本知识,错误调用密码技术(如密码应用程序接口API),导致产生密码应用安全缺陷/漏洞,而目前尚缺乏针对开源算法实现的合规性认定规范,导致开发者和用户难以评估开源密码实现是否符合特定法律法规要求,限制了开源密码软件推广和应用。
密码开源面临供应链安全风险
密码开源的广泛应用同时伴随着一系列供应链安全风险,根据参考文献统计显示,开源密码软件供应链的漏洞事件普遍存在。如下图所示,开源密码软件供应链相关漏洞事件的发展趋势,2008年之前针对密码软件的攻击目标主要还是以传统密码算法为主,而当前开源密码软件供应链的上下游产品已成为攻击的目标。
图表 7 开源密码软件供应链相关漏洞事件
密码开源面临的供应链风险不容忽视,主要集中在供应链断供风险、供应链依赖风险以及供应链恶意预留后门风险几个方面。
3.1供应链依赖风险
开源密码软件的供应链通常包含多个环节,从代码编写、测试、发布到集成应用,每一个环节都可能引入安全风险。由于开源软件的高度复用性,一个项目中可能集成了多个第三方库和组件,这些组件之间的依赖关系错综复杂。一旦某个组件存在安全漏洞或不稳定因素,就可能通过依赖链传播到整个项目中,甚至影响到整个供应链。此外,由于开源软件的开放性和透明度,攻击者可能更容易找到并利用这些漏洞进行攻击,进一步加剧了供应链依赖风险。如BIGNUM作为多精度算术库,广泛应用于开源密码库和安全协议,该算术库二进制文件的分发工具被第三方恶意占用,用户在安装BIGNUM的同时,也会下载恶意二进制文件,这些恶意软件会从用户计算机中窃取数据,BIGNUM作为OpenSSL软件依赖组件之一,该恶意代码存在通过密码软件依赖向上游产品传播的风险。
3.2供应链断供风险
在当前复杂的国际政治环境下,供应链断供风险成为密码开源生态面临的重大挑战。
首先,由于国际制裁、政治冲突、贸易限制等原因可能导致关键技术及软件被限制或禁止出口,从而导致开源项目无法获取必要的更新或支持,一旦发生供应链断供,可能导致项目停滞、业务中断,甚至整个生态系统的崩溃。如目前OpenSSL 作为目前全球最广泛使用的开源密码库之一,为众多应用程序和系统提供加解密功能,如果因为制裁等原因无法继续使用,将对依赖该库的众多应用和服务造成严重影响。脱离 OpenSSL 后,开发者需要寻找替代方案并进行大量的代码重构和测试,这不仅增加了开发成本,还可能引入新的安全漏洞。
此外,代码托管平台的访问问题也是供应链断供风险中不容忽视的问题。目前许多开源项目都托管在Github、Gitlab等国外开源代码托管平台上,这些平台为开发者提供了代码托管、版本控制、协作开发等功能,如果这些平台由于政治压力、法律问题等原因而无法访问,则开源项目的开发和维护都可能受到严重影响。国内密码开源社区已经认识到这个问题的严重性,已经开始将存储于国外的代码转移到国内平台。另外,如果代码托管平台的安全性不足,可能会导致源代码泄露或被恶意篡改,从而影响整个供应链的安全。
3.3供应链恶意预留后门风险
开源密码软件因开放性和广泛使用的特点,面临着被恶意预留后门的风险,攻击者可能通过贡献代码的方式在开源项目中预留后门,利用植入的后门进行攻击。尤其是在开源项目的代码审查不够严格或开发者安全意识不足的情况下,后门代码可能长期未被发现,一旦后门被激活,可能会使攻击者能够绕过正常的安全措施,获取敏感数据或控制系统。例如,XZ 库的供应链安全事件 (CVE-2024-3094)就是一个典型案例,揭示了供应链恶意预留后门的严重性。
目前,开源密码软件供应链恶意预留后门风险主要分为主观故意和客观约束两方面。主观故意即开发人员出于经济利益、间谍活动或其他恶意目的在软件开发阶段有意设置后门漏洞,将其作为绕过安全控制以获取对系统访问权限的手段;客观约束即开发人员由于技术限制、资源限制等原因而导致后门风险,这可能包括开发者在不知情的情况下引入了安全漏洞,或者由于缺乏足够的安全测试和审计,未能及时发现和修复潜在的安全问题。
目前客观约束和主观故意行为之间的界限仍非常模糊,难以明确进行定义,因此较难通过法律法规对该类漏洞进行规范,为了有效应对这类风险,需要采取全面的安全措施,包括加强代码审查、实施严格安全测试流程、提升开发者安全意识等措施以提升开源密码软件供应链安全。
后续将持续分享密码开源生态研究内容,
请关注“CAICT密码应用研究”
——— 往 期 推 荐 ———
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...