面向5G移动通信平台打造软件安全体系

发布于 2019-12-31 14:13:23

2019年6月6日,工信部对四家运营商发放了5G商用牌照,标志着中国即将正式进入5G商用元年。5G标准是全球产业界共同参与制定的统一国际标准,中国声明的标准专利占比超过30%。5G商用牌照的发放将进一步推动运营商加快5G网络建设;芯片和射频器件等5G器件企业将首先收益;5G的终端设备、信息技术服务也将成为5G的重点。国内外企业必将积极参与5G网络下的应用建设,中国信通院发布的报告显示,预计2020至2025年期间,我们5G商业直接带动的经济总产出达10.6万亿元,直接创造的经济增加值达3.3万亿元。其中软件占比可能超过60%以上份额,庞大的5G软件运用市场,必将对移动通信平台的稳定性、可靠性、安全性等提出更高质量要求。这成为我们未来几年不得不重点研究的工作方向。

一、移动应用源代码安全检测需求分析

与4G技术相比,5G数据传输的速率和网络时延提高了10倍,而传输时间间隔(TTI)却从1ms降到了0.2ms,网络的容量和基站的密度也都大幅增加。这就要求5G的基站数据处理能力要大幅提高,对5G基站软件处理的实时性提出了更为严苛的要求;同时伴随着网络功能虚拟化技术NFV的出现,5G基站的软硬件结构和4G对比也需要重新构架。4G向5G技术演变的过程中基站的硬件和软件结构需要更加灵活多变以适应不同业务场景的需求。数据传输间隔的时间缩短,这就要求基站的处理速度要大幅度提升,对软件的实时性要求有了极大的增强。基站负载动态变化范围增大,这要求基站对操作系统有非常强的实时处理能力以及极高的软件处理性能。当然,更重要的基于5G技术,我们生活、工作、学习中更离不开网络,对其安全性要求会更高。

通过上述简单的分析可以看出,5G为通讯行业带来发展契机的同时,也对移动通信平台的软硬件质量提出了更高的要求。今天我们不谈硬件设备的质量,虽然说硬件设备参数指标影响通讯平台质量,但是相对于软件来说,选型后可控性相对较好。通过近些年缺陷归零统计分析来看,软件问题显得尤为突出。面向5G的应用可能会呈爆炸式增长,移动互联、车联网、物联网业务的增长,例如无人驾驶汽车、无人机等会为移动通信业务带来巨大的市场。作为移动通信行业,为上述业务提供基础服务保障,保证提供持续、稳定、可靠的通信服务,是所有工作的重点。另外,就是通信安全问题,保证移动通信的安全,也是重点工作。我今天通过软件质量保证,尤其是移动通信的安全保证提供了一些研究思路。

面向5G移动通信平台的安全体系建设问题。移动通信平台包括了众多的软件,体系复杂,涉及到多种开发语言和开发技术。各种服务器上运行的操作系统、数据库、中间件以及各种应用软件构成,这些操作系统和软件的安全性构成了整个移动通信平台的安全性。如何保证这些软件的安全性呢?软件系统的安全性外在表现形式,是由于软件内在因素决定的,也就是由源代码的安全性组成,Gartner研究表明,80%安全问题来自于软件中代码漏洞。

二、源代码安全检测技术简介

安全行业中开源组织OWASP每隔2-3年发布一次OWASP TOP ten,其中包括SQL注入、跨站XSS、不安全的对象直接引用、伪造跨站请求(CSRF)、应用已知脆弱性的组件、敏感信息暴露等,大多数安全漏洞都是由于软件源代码本身存在漏洞引起的。传统保证系统安全的方法是通过渗透工具扫描软件系统,找到有安全脆弱的点,在从部署上、采取的协议上、软件本身上进行修复,修复后再做渗透测试,这个周期相对比较长,因为渗透测试往往是针对部署好的整个系统或网站进行扫描,如果我们能够缩短测试周期,就能加快测试速度,降低安全风险,减少测试成本。现阶段源代码的安全检测的技术主要有下面4种:

(一)数据流和模式匹配技术

数据流和模式匹配分析技术早期静态分析工具经常采用的技术,包括达到定值分析、支配分析、活跃变量分析、静态单赋值技术等,这类分析技术的优点是效率高、算法复杂度低。但是这种分析技术最大的缺点是路径不敏感,无法实现跨函数分析,往往需要再借助函数内联、摘要技术等补充分析,导致复杂度增加。采用数据流分析的精度偏低,市场上Fortify SCA、Testbed、C++ test主要采用这种分析技术。

(二)符号执行的分析技术

符号执行是将软件源代码中的变量的值采用抽象化符号形式表示,并模拟执行,分析中是基于路径敏感的。符号执行算法的复杂度会非常高,对于代码量比较大的软件会发生状态爆炸。为了做到精度与效率的折中,研究领域提出了很多改进,采用较多是Saturn,采用布尔可满足性的方式对缺陷进行计算求解,函数内是路径敏感分析,函数间采用摘要的方式分析。缺点是函数内检测精度还可以,但是跨函数分析精度较差。分析效率上,基本上可以实现10-100万行/小时。国外代码检测工具中Klocwork Insight、Coverity Prevent采用了符号执行技术。

(三)抽象解释的分析方法

以抽象解释为主的分析方法,会将被检测代码中的每一条语句的影响简单模型化为一个抽象及其的状态变化,使分析更简易,但是代价是丧失了一定程度上分析完备性。抽象解释本质上是在计算效率与精度之间取得平衡,通过损失部分计算精度以保证计算可行性,再通过多次迭代计算以增强计算精度的一种抽象逼近方法。抽象解释通过多面体、区间分析以及八面体技术实现。抽象解释为主的分析方法,主要缺陷是效率较低。代表性工具是Polyspace,虽然基本上不会出现漏报,但是对于1000行/小时的检测效率来说,很难在工程实践中运用。

(四)值流分析为主的分析方法

以值流分析为主的分析方法,值流分析模型结合了控制流分析、数据流分析中的定值使用以及调用关系分析构建值流图。通过点与点之间的连线表达变量的定值使用关系,每个值流子图表达了某个变量到其值发生改变之前的生命周期。在值流模型基础上衍生出值依赖分析模型,通过结合指向分析、区间分析等方法,使程序模型能够更加精确地表达变量值之间的依赖关系,为缺陷检测提供了更为精化的模型,但是精度与效率还有提高的余地。FastCheck采用值流分析进行内存泄露检测。Saber采用全稀疏值流模型,在FastCheck基础上进行了改进,通过引入指向分析和修改影响分析技术,提高检测精度。

三、国内技术情况

值得我们欣慰的是国内有一款工具采用值依赖分析方法—CoBOT,是由北京大学软件工程国家研究中心与北京北大软件工程股份有限公司合作团队研发的一款源代码静态检测工具,打破了国外检测工具的垄断,运用了多项创新专利技术,具有自主知识产权,早在2015年就获得了CWE认证,是国内第一家通过认证的软件代码检测工具。目前在军工、互联网、科研院所使用较多。该检测工具支持C、C++、Java、C#、VB等主流10多种开发语言,能够检测超过170种缺陷模式,实现在研发环节边开发、边检测、边修复的闭环防止安全漏洞的工作流程。

通过针对源代码的静态检测分析后,能够发现和修复软件代码中的大部分缺陷和安全漏洞,这样流转到交付阶段时,安全风险较小,但是还是需要通过渗透测试、安全审计等安全保障手段进行验证。安全审计可以更多关注流程、文档、系统等浅层次的安全风险。而渗透测试,则可以关注系统级的安全问题,例如通信协议、端口开放权限、操作系统和数据库、中间件等漏洞。

随着美国与中国进行的科技战的深入,高科技领域产品有可能对中国禁售。目前一些高科技领域的正常学术交流活动也受到了影响。中国面临着前所未有的研究形势,而决定国家实力和长期生存的是一个国家的科技领域。开展自主研发芯片、操作系统、数据库、开发工具、测试工具等已成必然。尤其是安全领域,我们不能寄托于国外工具能够保证我们系统的安全,尤其是涉及到重大生命财产损失的国家重点工程、项目等,不能全部依赖国外工具,尤其是超大工程的安全检测,一旦出现对中国禁售,出现卡脖子情况,到时候无检测工具可用,系统安全不得不面临严峻挑战。5G通信技术,中国的华为站在了世界的前沿,我们基于5G技术建立的移动通信平台,更应该要注重系统安全的研究,综合运用各种安全检测手段,保证系统的安全。
————————————————
版权声明:本文为CSDN博主「manok」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/manok/article/details/96645053

0 条评论

发布
问题

官网
微信

官方微信