当今,开源软件已经成为软件世界的重要组成部分。根据 Gartner 统计,99% 的组织在其 IT 系统中使用了开源软件。更关键的是,开源软件的安全不仅关系自身,而且影响整个现代软件开发。“可以说,现代软件大多数是被‘组装’出来的,不是被‘开发’出来的”。事实上,现代软件开发越来越像工业生产和制造,原材料就是开源软件,加上自己写的业务代码,最后“组装”出一个软件系统。
安全领域一直在强调安全需要成为产品的内置属性,而不是在产品完成之后再加上安全的能力。因此,安全需要贯穿整个产品的开发周期。然而,即使完全遵守了安全的开发流程,人在编写代码的时候因各种问题难免会产生一些漏洞;尽管可以在开发的每个进度点进行安全测试,但是一旦检测出问题,再重新审阅代码进行修改无疑会减缓开发的速度。
因此,在软件开发上,无论是技术方面,还是流程和管理方面,任何一点疏忽都会导致开源软件出现安全问题。具体说来,有如下三方面的原因:
一,开源软件开发者自身的技术能力和安全开发知识存在问题,导致开发的代码中有安全缺陷;
二、大多数开源项目的开发缺少 SDL(安全开发生命周期)的流程和工具。并且,很多开源项目能使用的资源很有限,缺乏专业的代码安全分析工具,而大部分专业的代码安全分析工具都是收费的,价格昂贵;
三、攻击者对开源生态的攻击,比如向开源库中注入恶意代码、向包管理器仓库投放恶意组件等。
那么如何提高开源软件的安全性呢?从技术上来说,可以使用源代码静态分析、动态安全测试、交互式安全测试等工具,并对开源项目开发者提交的代码进行全面的安全测试等。中科天齐WuKong源代码静态检测工具是中科院计算所计算机体系结构国家重点实验室团队多年科研攻关的成果。支持安全编码标准、运行时缺陷、安全漏洞等多种类型检测,并通过多项国产环境兼容适配测试,可支持多种国产环境,包括:中标麒麟、银河麒麟、鲲鹏龙芯、飞腾等国产软硬件,能够检测到大量已有软件安全测试工具无法检测的深层安全漏洞并有效消除大量误报。
软件安全 网络安全的最后一道防线
中科天齐公司是在中科院计算技术研究所的大力推动下
以中科院计算所国际领先的自主研究成果
为基础组建的高新技术企业