环球创业频道导航栏_fororder_WechatIMG203

    滚动   |   环球快讯   |   环球专访   |   政策解读   |   会员页面   

冯登国:网络攻防对抗中的软件安全主要技术挑战与进展

2021-04-07 11:36:50  来源:中央广电总台国际在线  责编:韩东林

  国际在线消息:4月7日,由中国软件行业协会主办的2021中国软件产业年会在北京举行,大会以"数字经济新时代——软件产业赋能高质量发展"为主题,瞄准产业变革和时代发展趋势,涤荡思想与共识,汇聚知识与力量,展示中国软件产业新成果。

  大会现场,中国科学院院士冯登国作题为“网络攻防对抗中的软件安全主要技术挑战与进展”的精彩演讲。

  以下是现场实录全文:

  冯登国:尊敬的廖湘科院士,各位领导、各位专家、各位来宾大家上午好!大家都讲软件是信息技术的灵魂,那么网络空间对抗最关键的就是软件的对抗,因此我今天报告的题目是网络攻防对抗中的软件安全问题,主要谈谈主要技术挑战与进展。进展这部分工作主要结合国内外的情况谈谈我这个团队所做的工作,这样稍微聚焦一下。   

  信息对抗24小时都在进行,大家可能看过《反恐24小时》第八季,有可能室内的安全监控系统被劫持,也有可能工业控制系统被控制,更有可能核潜艇通讯系统被劫持,还有航空管制系统被控制,以及无人机控制系统被劫持等等。这些表现都是说明信息对抗24小时都在进行。高级持续性危险攻击,就是我们讲的APT攻击是由组织实施,高技术资源支撑的高隐蔽性、高破坏性攻击,是当前网络攻击对抗的最前沿,也是国家重大的战略需求。比如说境外的情报机构可以利用国家背景的高技术手段,有组织的黑客团伙,由于高价值情报以及经济利益的驱动都可能通过突破传统的防御体系,破坏国家关键基础设施等。   

  先讲两个典型的事例。

  第一个是RSA SecurID泄漏的事件。我们看到在右边是我们通过防火墙隔离出来的局域网,左边是外网,它主要有这么四步:第一步通过发送恶意邮件。

  第二步是通过利用已知的CVE漏洞进行后的植入,来获取控制指令。

  第三步是通过入侵RSA开发用的服务器获取所要的资料包括口令,包括RSA SecurID的信息,通过获得的信息对其它系统进行访问和攻击。   

  另外一个黑客团队遭受攻击的事件。这个团队的总部在意大利的一个软件开发商,它依托政府后台大力研发销售监控软件,被受用户争议,在2015年7月份这个团队早有了大型数据的攻击泄露事件。这个事件泄漏了公司大量的重要资料和代码,包括漏洞以及它的利用,内部项目的会议资料等等,这两个典型事件表明,软件的攻击24小时都在进行。有组织的攻击利用各种技术对抗现有的华为体系是攻击的关键,也是难点。技术的对抗手段来说不断发展,包括未知漏洞的利用,像代码通用攻击这些技术手段在发展。同时我们的防御技术也是从检测、分析、追踪几个角度进行防御。即便是这样,像我们的国际顶级的RSA公司,国际顶级的攻击团队,像国家顶级的NSA下面的组织仍然受到攻击。   

  软件既是攻防对抗的主要目标,也是攻防实现的主要手段。在漏洞完成过程来看,发现软件漏洞,评估软件漏洞是否能够利用是一方面。另外一方面我们从攻击实施的过程来看,利用漏洞执行攻击代码,组合多种手段实施攻击任务,99%软件漏洞都是无法利用的,要完整分析一个软件漏洞也是非常耗时的,一个专业人员需要1-4周的时间。软件安全分析能力是制约攻防能力的关键因素,主要工作是分析漏洞是否可利用、分析漏洞具体该如何利用。还有分析软件或其运行过程是否包含恶意行为。   

  软件的复杂性,对软件安全分析提出了严峻挑战。我们看看主要有这些挑战,首先是软件大规模化的发展,像win7代码量达到5千万行,win10代码量达到10亿行。还有软件功能协同越来越复杂,OpenOffice而有200多个共享库,IE、EDGE等浏览器多进程协同运行。三是软件生态环境的多样化,包括虚拟化、云计算等各类技术的应用以及软件开发模式、分发模式的变化,都带来了复杂性。四是软件存在的问题及其可能的利用方式越来越多样化。包括栈溢出漏洞、堆溢出漏洞、信息泄露漏洞、逻辑漏洞等等这些都是可以利用的。   

  当前基于人工智能技术是解决软件安全问题的重要思路。这方面已经有大量的工作,目前正在部署大量的工作。尤其我们最近看到像美国的(英文)计划部署了这方面很多的任务。

  首先第一个工作就是在2015年出现的,就是基于十进制网络的二进制程序的函数边界识别工作,主要是通过二进制函数边界的字节序列模式进行训练,形成函数边界的识别能力。主要分两步:第一步是程序每一个字节one-hot形式编码为下量,函数边界字节做标记。第二步是基于循环的函数边界开始和结束位置进行训练。  第二步,2017年出现的,主要基于神经网络的函数类型声明识别这方面的工作。这方面的工作,这个方法主要包括三大步,第一步是函数类型声明相关数据向量化,主要基于word2vec模型。第二个是基于循环的网络模型对函数进行训练学习。包括函数的参数的个数识别和函数个数参数类型的识别。第三步基于训练得到的模型进行预测。这是2017年出现的工作。   

  第三步是物联网固件中已知漏洞的搜索,出现在2016年。主要是借鉴图像搜索识别方法中图片向量华的思路,主要包括四个步骤:第一步提取函数CFG信息(指令信息、图结构信息),二是聚类形成码利用的是Kmeans,第三类是码书加函数CFG转化向量,四是基于高危向量的距离对详细的函数进行查找。主要由Lhash的算法做这件事情。这些工作表明人工智能技术解决网络安全问题是可行的思路,也是重要的思路。   

  自动化攻防的代表出现在DARPA网络空间挑战赛,2016年出现。原来看到用人类和机器人进行象棋比赛,网络环境下进行对抗的决赛有没有可能。2016年8月份,美国国防部的DARPA计划支持了网络空间的挑战赛。这个参赛团队主要打造“自动攻击防御系统”,在无人干预条件下相互竞争查找漏洞,生成利用攻击敌方以及部署补丁抵御敌方的攻击。这个比赛充分展现了美国网络攻击对抗发展的战略,主要是以智能化软件分析为基础的自动化网络公关。大部分团队基于代码分析、污点分析、符号执行等程序分析方法来打造自动分析系统。自动攻防在学术界的研究早已开始,2008年出现了补丁比较法。这个方案主要通过对比二进制补丁程序,提取所修复的脆弱条件,实现原程序的软件漏洞自动利用。   

  第二阶段就是2011年-2013年、2014年这个期间出现面向控制流的方向,通过优化后的符号执行遍历程序的可能路径,并由此寻找脆弱点以及生成利用样本。第三个是通过分析内存错误所影响的区域,自动构造能够进行敏感数据的样板。   

  总结来看面向高级威胁,尤其是APT攻击的威胁,软件安全面临的主要技术挑战有这么几个方面:   

  一是软件安全性检测与评估非常困难。面向复杂、大规模的软件如何快速、准确的检测软件安全隐患、评估危害,这是一个非常困难的问题。虽然做了大量的工作,但是这个工作是永无止境的工作。   

  第二个方面是环境构建与攻击防御,这个对层出不穷的攻击手段创新和千变万化的计算环境,如何构建安全可信的计算环境进而构建主动防御能力也是一个非常困难的问题。   

  第三个方面是有组织攻击检测与分析难,针对APT攻击等高级威胁的高对抗性特点,如何提高攻击的发展能力、机理分析能力和追踪溯源能力,这些工作也都是值得进一步深入研究的一些工作。在围绕这几个方面,国内外做了很多工作,包括我们国外的,包括我们国内科研单位和企业做了非常多工作,我主要结合当前企业发展的技术优势,我主要介绍我们团队在这三个方面的工作。    软件安全检测与评估方面,这方面的工作的确非常难,大家在往前走推进这方面技术的进步。我们对一处漏洞的检测主要针对危害严重,广泛存在的堆溢出漏洞提出一套基于输入主动构造的堆溢出挖掘方案。基于数据流分析与动态符号执行方法,通过构造输入、直接验证堆溢出漏洞的存在,实现了堆溢出的挖掘与PoC主动构造能力,这个成果发表在USNIX Security2017的会议上。   

  堆溢出漏洞的挖掘主要做两方面的工作:一是验证已知漏洞,修改PoC文件中漏洞相关内容,测试验证了相关已知漏洞,特别是word中的CVE-2014-1761漏洞路径之后,又找出一个溢出漏洞实现了更全面的漏洞挖掘能力这是一方面。另外一方面主要是挖掘未知的漏洞,挑选具有代表性的种子文件,在不到一个月的时间内挖掘未知漏洞有47个,涵盖了像Word、MediaPlayer等多种商业软件,做了这样的工作。   

  我们在内存漏洞的挖掘方面主要是基于静态程序分析、符号执行及模糊测试,通过静态标记,动态构造输入逼近标记点,验证内存漏洞的存在,实现了内存漏洞的挖掘与PoC主动构造的能力,这个成果主要发表在RAID 2015这些会议上。累计挖掘了包括Wnidows而内核高位漏洞在内的未知漏洞有39个,我们也验证了已修复的漏洞,获得了CVE漏洞编号14个。这个工具可以支持Wnidows和Linux系统,涵盖内核、多媒体处理等多种软件。可以发现多种类型漏洞:堆/栈溢出漏洞等等,这个估计可以做这些工作。   

  这个就是在进展的时候,在自动化攻防进展的时候提到一个工作就是软件漏洞的多样性利用生成主动是自动化利用生成,我们提出一个系统工具是PolyAEG,这是我们2013年公开的,在当时来说是国内最早的漏洞制度利用的一个方案。主要是从攻击者的角度寻找漏洞利用的途径,并针对潜在的攻击路径构造不同的多样性的利用样本。这是我们在下面这个图就是它的总体架构和原理示意图。我们实现了对真实漏洞的多样性,全自动利用,最多生成4000多种利用方式,每个漏洞样本生成是10分钟左右,我们看到有一个是4724个这样的利用方式。   

  另外在堆溢出漏洞的可利用性评估做了一些工作,比如已知含有堆溢出漏洞的二进制程序以及可触发漏洞的PoC条件下,量化该漏洞的危害程度,给出评估指标、系统平台、评估方案来做这件事情。这个成果也主要是通过着下面几个步骤进行利用。这个工作在完成实验验证之后,比现在看到的微软一个工具,它做了9个堆溢出样本的实验,我们5个可利用是一样的,但是后面4个可以确定下来它的状态,这是我们工具的优越性。    同时这方面在国内参加的一些基于AI智能的攻防获得优异的成绩。   

  下面介绍一下可信环境构建与攻击防御方面的工作。首先可信计算的本原出发点就是要扼制漏洞、控制漏洞、拒绝漏洞的防御,从主动的方式来做。我们主要是基于软件的方式secure enclave体系架构我们提出叫SecTEE。这个架构与别人的架构不同点在于主要是可以防止物理攻击,比如说板级物理攻击、以及冷启动攻击这是最大的不同,这个工作实际上后来我们发表在(英文)2019的会议上,提出了这样的架构可以主动来防御病毒的入侵,漏洞的攻击、利用。   

  我们利用这个工作针对工控领域,这是大家比较关注的领域,也出了一套系统,这套系统最大的特点就是有三个:一是芯片级的安全保障,二是白名单防护机制,三是实时报警与监控具有这样的功能来实施防范,这些指标芯片是毫秒级的,白名单是微秒级,可以满足工控毫秒级的相应需求,我们用的过程中可实际部署的。   

  第三个方面是攻击检测与机理分析,这是一个非常难的问题,我们在这方面也做了一些工作,我们提出一套系统,给起了一个名字叫金刚恶意软件智能分析系统,这个系统是我们目前国内唯一在硬件层采集数据分析的动态系统,也得到了一些应用。最关键的技术是基于指令级异常的未知恶意软件检测方法,主要在破坏行为的最后阶段,我们这个工具实际可以在漏洞触发就可以介入,粒度更细,检测能力得到提升,这是我们做的实验结果。    最后讲一下网络对抗攻防是高技术的对抗,需要高技术手段的支撑。一方面是需求牵引,聚焦实际需求,直面实际问题,不能闭门造车,提高科研效率的关键。攻防对抗更是应时刻根据技术的发展,应用环境的变化、对手能力的提升而不断调整我们的思路。    第二是持续的坚持,高难度的公关工作都需要持续,深入研究既需要科学工作者的执着,也需要组织的信任和支持。软件安全人才相对培养周期长,门槛高,需要长时间的培育,我的报告到这里,谢谢!

  (声明:所有会议实录均为现场速记整理,未经演讲者审阅,国际在线登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。)

分享到:

国际在线版权与信息产品内容销售的声明:

1、“国际在线”由中国国际广播电台主办。经中国国际广播电台授权,国广国际在线网络(北京)有限公司独家负责“国际在线”网站的市场经营。

2、凡本网注明“来源:国际在线”的所有信息内容,未经书面授权,任何单位及个人不得转载、摘编、复制或利用其他方式使用。

3、“国际在线”自有版权信息(包括但不限于“国际在线专稿”、“国际在线消息”、“国际在线XX消息”“国际在线报道”“国际在线XX报道”等信息内容,但明确标注为第三方版权的内容除外)均由国广国际在线网络(北京)有限公司统一管理和销售。

已取得国广国际在线网络(北京)有限公司使用授权的被授权人,应严格在授权范围内使用,不得超范围使用,使用时应注明“来源:国际在线”。违反上述声明者,本网将追究其相关法律责任。

任何未与国广国际在线网络(北京)有限公司签订相关协议或未取得授权书的公司、媒体、网站和个人均无权销售、使用“国际在线”网站的自有版权信息产品。否则,国广国际在线网络(北京)有限公司将采取法律手段维护合法权益,因此产生的损失及为此所花费的全部费用(包括但不限于律师费、诉讼费、差旅费、公证费等)全部由侵权方承担。

4、凡本网注明“来源:XXX(非国际在线)”的作品,均转载自其它媒体,转载目的在于传递更多信息,丰富网络文化,此类稿件并不代表本网赞同其观点和对其真实性负责。

5、如因作品内容、版权和其他问题需要与本网联系的,请在该事由发生之日起30日内进行。