首页 > 新闻动态 > 机构动态

机构动态
工联检测实验室系列专题报道之七:源代码安全审计能力介绍
发布时间:2024-09-20 09:53:17

       2021年,工信部发布的《“十四五”软件和信息技术服务业发展规划》中要求,在安全保障方面,要强化安全服务保障,开展软件数据安全、内容安全评估审查,加强软件源代码检测和安全漏洞管理能力,提升开源代码、第三方代码使用的安全风险防控能力。

       近年来,在行业数字化加速发展和大数据、云计算和人工智能等新技术应用不断深入的大背景下,行业网络和信息安全管理能力面临更大挑战,能源、证券等多行业出台了相关政策或举措,以加强网络安全保障能力。例如,中国证券业协会组织起草的《网络和信息安全三年提升计划(2023-2025)》在“深化漏洞全生命周期管控”中,对软件研发过程提出要检测代码安全缺陷和引入的第三方组件漏洞,提升安全风险检测的全面性、准确性和效率,实现漏洞通报、修复的闭环管理,确保变更上线前已知风险全面收敛。2023年,《国家能源局关于加快推进能源数字化智能化发展的若干意见》提出增强能源系统网络安全保障能力,加强电厂工控系统网络安全防护,推进传统能源厂(站)信息系统网络安全动态防护、云安全防护、移动安全防护升级。

       应用软件和信息系统的安全问题需从底层源头出发,进行源代码安全审计,检查代码的安全缺陷,审查编写是否遵循安全编程规范,开发是否使用了不安全的第三方组件等。通过源代码安全审计,对程序源代码进行漏洞检测分析,能够发现源代码在软件设计、测试、应用部署等各阶段中可能存在的安全缺陷或安全漏洞,从源头上避免潜在的安全风险,提高源代码质量。

       在源代码安全审计标准层面,《GB/T 15532-2008 计算机软件测试规范》规定了计算机软件生存周期内各类软件产品的基本测试方法、过程和准则,包括代码审查、走查和静态分析的静态测试方法。《GB/T 34944-2017 Java语言源代码漏洞测试规范》、《GB/T 34943-2017 C/C++语言源代码漏洞测试规范》和《GB/T 34946-2017 C#语言源代码漏洞测试规范》从语言层面,规定了不同开发语言源代码漏洞测试的测试总则和测试内容,适用于开发方或者第三方机构的测试人员利用自动化静态分析工具开展的源代码漏洞测试活动。《GJB/Z 141-2004 军用软件测试指南》规定了军用软件在其生存周期内各阶段测试的方法、过程和准则,采用静态测试方法和动态测试方法对软件进行测试,指导军用软件的测试组织和实施。

       源代码审计技术可分为静态检测、动态检测及动静结合检测。静态检测是指在不运行程序代码的情况下,对程序中数据流、控制流、语义等信息进行分析,对程序代码进行抽象和建模,通过安全规则检查、模式匹配等方式挖掘程序源代码中存在的漏洞。动态检测是指向程序输入人为构造的测试数据,根据系统功能或数据流向,对比实际输出结果与预想结果,分析程序的正确性、健壮性等性能,判断程序是否存在漏洞。动静结合检测是一种将静态分析和动态分析相结合的混合式漏洞检测方法,先使用静态检测方法对大规模的软件源代码进行检测,对大规模的软件源代码进行切分,再使用动态检测方法对已划分的程序代码进行数据输入,根据数据流向来判断漏洞是否存在。依据GB/T 34944-2017、GB/T 34943-2017和GB/T 34946-2017标准,Java/C#/C/C++语言源代码漏洞包括但不限于以下分类:

图片_lanxin_20240919141949.png

       目前,代码安全审计工具主要包含静态代码分析工具、模糊测试工具、交互式测试工具等。

       静态代码分析工具:依据分析目标的不同,静态分析可分为面向源代码的静态分析和面向二进制代码的静态分析。静态分析工具有代码安全漏洞检测工具(Fority SCA、coverity-static、Checkmarx-CxSAST、奇安信代码卫士等)以及代码质量与安全检测工具(Klocwork、CoBOT等)。

       模糊测试工具:向系统发送有组织的异常数据来寻找系统软件安全漏洞。模糊测试工具有Defensics、SFuzz模糊测试平台等。

       交互式测试工具:使用插桩来收集安全信息,直接从运行中的代码发现问题漏洞。交互式测试工具有Seeker、悬镜灵脉IAST灰盒测试平台等。

       工联检测实验室(以下简称“实验室”)依据国家标准,结合客户检测需求,制定源代码安全审计实施方案。项目实施依托专业的代码安全审计工具以及人工代码结果分析,保证测试结果的准确性。实验室于2021年获得CNAS与CMA检测资质,目前CNAS/CMA批准的检测能力涵盖Java源代码、C/C++源代码等,软件品类包括通用应用软件、行业应用软件、嵌入式软件、工业软件。2024年6月,实验室参加Java源代码安全检测测量审核,结果为“满意”,证明实验室持续具备CNAS认可的源代码安全检测能力。

图片_lanxin_20240919142047.png

       实验室持续开展源代码安全审计相关技术研究,面向社会提供专业的源代码漏洞扫描、静态分析等检测服务,助力企业系统安全保障与风险防控能力的进一步提升!

       联系人:

       李女士 15011507696