浅谈基于程序分析技术的软件漏洞治理
一 软件漏洞问题日趋严重
随着数字化转型进程加速,软件系统与互联网或其他网络的连接更加普遍与密切,企业各类信息化系统、软件以及第三方组件之间的依赖关系越来越大,软件系统上线周期越来越频繁。软件资产扩大的同时,由于配置不合规、各类漏洞、弱口令等问题存在,使得软件系统隐藏的缺陷与漏洞越来越多,受攻击面不断扩大。
从美国Colonial Pipeline输油管道攻击到肉类加工公司JBS遭受破坏,从API漏洞到云安全。未知漏洞攻击增加,勒索软件变种升级,关键信息基础设施逐渐成为重点。网络环境逐渐复杂化,恶意软件呈现多样化,“大型漏洞”听起来似乎离我们很遥远,但它们正成为现代网络危机的一个常见特征。
根据国家计算机网络应急技术处理协调中心(简称“CNCERT”)《2021年上半年我国互联网安全监测数据分析报告》数据显示,国家信息安全漏洞共享平台(CNVD)收录安全漏洞数量同比增长18.2%,共计13083个,0Day漏洞收录数量为7,107个(占54.3%),同比大幅增长55.1%。
软件安全是网络安全的基础防线,美国国家标准与技术局(NIST)、国家漏洞数据库(NVD))数据显示:90%以上的网络安全问题是由软件自身的安全漏洞被利用导致的。加强漏洞治理来提高软件自身“免疫力”可以有效防治针对漏洞利用的网络攻击。
二 漏洞治理的趋势
观点1: 软件漏洞的治理的目标是100%的漏洞问题得到解决。任何一种工具方法都无法100%解决漏洞问题。
近年来漏洞治理的趋势包括:
1-更多工具方法的综合应用。其中主流的漏洞治理方法有以下两大类型
2- 在软件从开发到运行的完整软件生命周期中持续漏洞治理工作。
在软件开发阶段发现和修复漏洞的成本最低,更早的预防能减少软件上线后的风险。
网络攻击手段不断进化,需要最大程度上预防和修复漏洞。不但需要对已知漏洞打上补丁,更重要的是在开发阶段对代码缺陷可能造成的未知漏洞提前修复。
本文主要关注程序分析技术在漏洞治理中的应用。
三 基于程序分析技术的软件漏洞治理方法
程序分析技术在漏洞治理方面有着广泛多样的应用形态,各形态统一的特点都是以对程序代码信息的分析为基础。
具体基于程序分析的程序安全分析的方法分为静态和动态两大类型。
从表格中可以直观感受到静态分析方法和动态分析方法各有千秋。真正能够各取所长,互补所短的动静态结合分析方法是领域前进的方向。
四 通过动静态聚合分析形成漏洞治理体系
观点2 让静态分析和动态分析各有优缺点,发挥互补优势的动静态聚合的综合分析方法。
方法1: 通过静态分析得到的程序信息 可以有效的减少动态分析的探针数量。
方法2:动态分析提供的程序运行时信息,可以让静态分析不需要考虑程序所有的可能情况,大大提升静态分析速度和准确性。
观点3:有效动静态聚合漏洞处理体系应该在各工具之间打通,做到数据互通,算法互联,界面统一。
五 总结
1- 程序分析技术将漏洞管理工作拓展到软件开发阶段,实现了安全左移的效果,使得网络安全体系更系统更完善。
2- 程序分析技术分为动态分析和静态分析两个方向,未来两个方向将走向聚合,协同工作。也必将会逐步与其他网络安全技术走向融合协作。
六 中科天齐 漏洞治理专家
由中科院研究员李炼博士创立,以自主研究成果WuKong 静态软件安全测试工具为主打产品,团队凭借多年在程序分析领域的技术积累,致力打造安全漏洞治理领域新生态的高新技术企业。
在技术实力上,通过最新研究的深度软件分析方法及深度学习方法,精准提高软件原生安全。融合开源漏洞管理及逻辑漏洞分析,多维度自主创新研发产品协同实现漏洞治理链路闭环,为用户提供可定制化的软件安全漏洞解决方案。目前,中科天齐在国内构建完成集科研、产业、教育、投资”四位一体“的软件安全产业体系,深入服务互联网、软件开发、智慧城市、金融科技等诸多重要领域。