近日,CCF上海分部联合CCF CTO Club(上海)和星环科技举办了“数据安全与流通技术”闭门研讨会。
研讨会围绕 “谁来保护数据安全”、“企业如何依法进行数据安全加固及创新” 以及 “数据经济如何健康发展” 等热点话题,邀请了来自知名高校、科技企业和律所等50多位业内专家们共同交流探讨。CCF CTO Club(上海)成员、星环科技联合创始人刘汪根主持了论坛。
复旦大学大数据研究院研究员陈平博士做了“数据安全与内生安全”的主题演讲。(以下为演讲速记整理,一切为现场信息为准)
1.静态防御系统不能抵抗网络攻击
近几年来网络攻击越来越猖獗,目标不仅是我们的个人电脑,也包括国家重要的网络基础设施。例如2017年臭名昭著的 Wannacry 勒索蠕虫攻击,在短短的三天时间内,至少100多个国家和地区上百万电脑设备遭受攻击,并且造成全世界40亿美元的损失。
今年5月,美国最重要的燃油管道运营商 Colonial Pipeline 受到了勒索病毒攻击,导致 Colonial Pipeline 关闭其美国东部沿海各州供油的关键燃油网络,美国也因此宣布进入国家紧急状态。
影响恶劣的还有著名的心脏滴血攻击和震网攻击。2014年,一个名为 “心脏滴血” 的 OpenSSL 漏洞,可能导致大量用户名和密码泄露。三年后2017年,依然有接近20万个服务器和设备依然笼罩在心脏滴血的恐怖之中。
作为世界上首个网络 “超级破坏性武器”,震网病毒Stuxnet 的计算机病毒已经感染了全球超过45000个网络,伊朗遭到的攻击最为严重,60%的个人电脑感染了这种病毒。计算机安防专家认为,该病毒是有史以来最高端的 “蠕虫” 病毒。
目前的安全防御系统为什么没有能阻止这些攻击的发生呢?传统的静态防御系统不能抵抗网络攻击。
信息安全一直伴随着信息技术的发展而发展。安全人员为了防御黑客的攻击,采用很多安全措施,如设计防火墙阻止恶意连接,设计入侵检测系统捕捉恶意行为;设计反病毒来防止系统被恶意软件感染;下载补丁修复漏洞等等。
但是这一切传统防御都是静态的、被动的,针对的是一些已知的安全漏洞或者攻击,一旦遇到未知的漏洞攻击,传统的方法体系就很快会被突破,因此传统的静态防御系统不能抵抗网络攻击。
2.如何化解数据安全管理面临的挑战?
那么应该如何保护数据核心资产安全是摆在企业以及安全人员面前的一道难题。
我想先从数据安全管理的角度谈一谈对数据安全的认识。我认为,数据安全是以合规管理为驱动,数据资产管理为抓手,根据数据安全生命周期进行治理。
首先,核心抓手数据资产管理。
具体的,在数据资产管理中,需要知道数据资产是什么,数据资产如何管理。这两个问题引发4个子问题,即要解决敏感数据是什么,在哪里,谁负责以及要与谁共享。
对于 “重要敏感数据有哪些” 这一问题挑战是如何用有限的人力,抓企业最关心的数据资产;对于 “数据在哪里,谁负责,给谁用”,我们面临的挑战是企业业务发展、系统迭代,人员变迁,导致数据流动性大,人员管理成本高,管理覆盖容易有遗漏。
为了应对挑战,我们应该有一套系统自动化梳理的方法,来自动发现和管理数据资产,分别从系统侧和大数据侧进行数据资产的识别。
在系统侧,找出敏感数据与接口,并一一落到责任人。具体的,应该从流量中检测发现有哪些敏感数据,发现哪些后端接口流出了该敏感数据,定位到后端负责人;再发现哪些前端系统使用了这些后端敏感接口,定位系统负责人。
在大数据侧,则是找到敏感字段与表,并在敏感字段变化时保留最初的敏感标签。库/表数据通过自动化识别+人工打标的方式进行分级分类管理,对于衍生表,可以通过大数据血缘管理,确保敏感字段计算演化时不丢失敏感标签。
为此,重点的治理方向是数据分级分类和敏感数据&接口识别。在分级分类中,需要各个部门共同梳理,包括共享数据分类、公开数据分类、业务数据分类,以及重要程度分级等。
其次,数据全生命周期管控。
在数据分级分类基础上,要对数据安全生命周期管理,按照数据采集、传输、存储、处理、共享以及销毁来进行。
为此,重点的治理方向是权限治理、终端管控、员工行为基线分析以及安全意识培训。
在权限方面,不仅要提供权限管理的系统和方法,而且也要增强人员参与时的安全意识,例如权限过大的问题。因此需要业务部门共同参与;
在终端DLP上,安全牵头落地,各业务部门、内审、法务、HR帮助持续运营;
在员工行为分析和基线上,主动发现员工的敏感数据获取异常行为;
在安全意识培训方面,指定安全行为标准规范,多元化信息安全培训教育等。
3.发展自动化漏洞挖掘
除了数据安全管理面临的问题,我们还面临着未知漏洞威胁。自动化漏洞挖掘,可以帮助企业在一定程度上确保信息资产的安全。
首先是检测漏洞的挑战。一般来说,程序是一个有向图,我们称之为控制流图。在控制流图上,奔溃点是一个节点,任何一个函数调用都是连接一对节点的箭头。程序存在漏洞,会在某种条件输入下奔溃,并终止于 Crash 点。在自动化测试时候,我们要考虑所有的可能执行路径。而路径的数目是指数爆炸的,因此,自动化漏洞检测的挑战是如何有效地构造输入触发程序Crash。
经过对自动化漏洞挖掘十多年的研究,设计出一套针对源代码/二进制的漏洞挖掘框架,包括代码适配、漏洞挖掘以及漏洞定位。
代码适配是指,给定一个程序,通过语言适配器将其转化为中间语言,在中间语言基础上进行插桩。所谓插桩是指在程序中插入检测代码。在程序插桩后,通过模糊测试工具结合符号执行进行输入构造,触发漏洞。当程序奔溃时,再通过漏洞定位分析,找到漏洞点。
在程序插桩方面,提出了一种轻量级的系统的静态插桩工具。该文章发表在JCS、TIFS 上。该插桩工具与现有插桩工具不同,避免了插桩引起的额外跳转开销,以及利用虚拟机化执行的开销。
其次,我们设计了一种轻量级的中间语言,该中间语言是对底层指令的封装,支持 Address+Link、Definition-Use 分析。
程序插桩提供两个功能:一是路径覆盖的计算;二是程序漏洞检测的代码。
接着,我们在程序转换和分析基础上,构建混合测试。与传统的 Fuzzer 不同,我们的 Fuzzer 采用符号执行技术指导 Fuzzing 的输入构造,加快 Fuzzing 的效率,增加 Fuzzing 的覆盖。
传统的 Fuzzer 采用经验假设或者随机的路径探索,而我们的方法基于符号执行的结合不同的漏洞特征来进行输入求解,指导 Fuzzer 的路径探索,减少不必要的探索,效率提升44.3%。
我们的混合测试属于 Code Coverage Driven Hybrid testing,在 Fuzzer 输入探索路径时,通过符号执行找到新的路径分支。
基于 Coredump 的漏洞定位。在漏洞被触发后,我们进一步的进行漏洞定位,在我们的方法出现以前,漏洞定位仍然停留在人工定位漏洞的阶段,非常耗时。针对人工定位漏洞非常耗时的问题,我们研究了基于 Coredump 的漏洞定位,这一过程是自动化的。较以往人工方法,不仅效率从数天提升到数分钟,而且准确率达到100%,漏报率16%。漏洞定位范围平均30行代码以内。
基于PT和逆向执行的漏洞定位技术。为了支持二进制程序漏洞定位,并且提升漏洞定位的性能和准确性,我们利用 Intel CPU 的新特性——Intel PT 技术,可以在微小开销记录程序动态执行的控制流,并在软件奔溃时集成至Core Dump 中。
我们采用的是逆向执行来恢复程序数据流。从奔溃点开始,我们逆向执行每一条语句,并以此重构程序的数据流。通过对两个方法的比较,可以看到,使用硬件加速的方法效率明显得到提升。
4. 拟态防御应对内生安全挑战
邬江兴院士提出了内生安全的概念。内生安全是指事物都是两面性的。有功能就有缺陷,未知的漏洞后门是不可避免的。邬院士指出传统的安全包括入侵防御和漏洞挖掘,都是封门堵路的方式,不能从根本上解决网络安全问题。即使现有的一些热点方法,如可信计算、主动防御、零信任等,也存在其自身的漏洞后门问题。
如大数据内生安全问题,分析结论的不可解释性;人工智能内生安全问题,分析结果的不可解释性、不可判识性、不可推理性;5G网络内生安全问题,云和边缘计算支撑等平台中的漏洞后门、病毒木马等;动态/主动防御内生安全问题,无法防护基于调度环节宿主环境内的漏洞后门攻击等。
内生安全有很多安全共性问题,如何才能证明这种叠罗汉式的附加安全防护是安全可信的?如何才能证明叠上去的每一个罗汉其自身是安全可信的?由于内生安全问题的存在,所有的安全技术怎样才能自证清白?能否在联网条件下避免触发或隔离内生安全共性问题?
无论采用外挂式还是内嵌(Embedded)或内置(Built-in)式的安全部署方案,也不论使用何种动态防御或主动免疫或认证加密等技术,都无法彻底摆脱内生安全共性问题带来的恐怖梦魇。
到目前为止,没有任何商家敢保证 “自主可控产品” 不存在安全漏洞;没有任何安检机构敢为送检设备/装置做无漏洞安全担保。因此我们亟待软硬件架构技术与数据安全发展范式的根本转变。
为此,邬院士提出了拟态防御,利用了动态异构冗余,即动态的变化系统的构造,使得系统每一时刻的状态都在变化,达到动态异构的效果。这个变化是通过控制器进行的,再通过冗余的方法确保系统的弹性。
邬院士在其著作中介绍,基于内生安全理论的拟态防御核心机理,将网络攻击问题转化为动态异构冗余(OER)环境内应对广义差模/共模干扰的问题,使得网络安全可以借鉴成熟的可靠性理论和方法来设计与度量,使Safety & Security问题能够用一体化方法处理。