基于区块链的网络安全威胁情报共享模型
2020-04-21黄克振连一峰冯登国张海霞刘玉岭马向亮
黄克振 连一峰 冯登国 张海霞 刘玉岭 马向亮
1(中国科学院软件研究所可信计算与信息保障实验室 北京 100190) 2(中国科学院大学 北京 100049)
近年来,网络技术日益翻新,同时带来了日趋复杂的网络攻击方法或手段,如零日漏洞利用、高级可持续性威胁(advanced persistent threat, APT)、社交工程等.由于信息的不对称性,安全防护方在复杂系统安全攻防的“速度之争”中处于天然的劣势(如图1所示,根据Verizon公司2018年的报告,攻击者可以在分钟级别的时间内攻陷87%企业的网络系统,而68%的企业在数月后才会发现企业的网络系统被入侵).面对复杂的攻击形式和严重的攻击后果,依靠个人或单个组织的技术力量仅能获得局部的攻击信息,无法构建完整的攻击链,更无法准确有效地预防攻击者.网络安全威胁情报共享利用作为一种“以空间换时间”的技术方式,可以及时利用其他网络中产生的高效威胁情报提高防护方的应对能力,缩短响应时间,从而形成缓解攻防对抗不对称态势的长效机制[2].
Fig. 1 2018 data breach investigations report[1]图1 2018年数据泄露调查报告[1]
信息共享可能会导致隐私信息的泄露,网络安全威胁情报共享也不例外,现实社会中已经发生因隐私信息泄露导致企业经济或名誉损失[3],进而影响企业参与网络安全威胁情报共享积极性的案例.针对网络安全威胁情报共享中的隐私保护问题,文献[4-7]从保护情报共享组织身份信息、保护情报利用成员身份信息和改进STIX(structured threat infor-mation expression)共享标准中隐私泄露等方面进行研究,在隐私保护方面取得了有效的进展.但是严格的隐私保护也阻碍了完整攻击链的推理构建工作.例如某银行IP地址为12.1.2.3的服务器被恶意代码M攻陷成为了C2(command and control)服务器,该银行为了保护隐私信息,发布了泛化的威胁情报:恶意代码M攻击银行服务器,攻陷的服务器承担C2服务器职能,那么分析人员就无法利用12.1.2.3进行攻击链的推理分析,即无法构建完整攻击链,所以需要提出一种既能满足隐私保护需求,又能利用威胁情报进行推理分析并构建完整攻击链的网络安全威胁情报共享模型.
本文针对隐私保护和威胁情报利用之间存在的矛盾点,提出一种基于区块链的网络安全威胁情报共享模型,该模型利用区块链的账户匿名性保护威胁情报共享方和利用方的身份信息;利用加密保护的威胁情报构建完整攻击链,并对攻击链中的威胁源借助区块链的回溯能力完成解密;利用智能合约对潜在攻击目标自动发出预警响应.
1 相关工作
研究人员已经在网络安全威胁情报共享框架或模型、网络安全威胁情报共享中的隐私保护、区块链在信息共享中的利用等方面开展了诸多研究,为本文工作提供了基础和借鉴.
在网络安全威胁情报共享方面,Zhao等人[8]讨论了网络安全信息共享的必要性并提供了共享信息类型指南,定义了社区网络安全威胁警报级别并讨论了不同警报级别对信息共享造成的影响,提出了一种协同的信息共享框架,进而阐述了共享过程中可能遇到的安全、可信、隐私等问题和未来的研究方向.Goodwin等人[9]借助微软在基础设施安全管理方面的经验,分析了信息共享的历史背景,阐述了信息共享在模型、方法和机制等方面的分类,最后对基于协作式的信息共享、隐私保护和交换方法提出了建议.上述研究工作都充分肯定了网络安全威胁情报共享的必要性,也提出了隐私保护的需求,但是未能给出行之有效的隐私保护方法或措施.
在威胁情报共享中的隐私保护方面,Vakilinia等人[4]为了保护共享威胁情报的组织机构的身份信息,利用可聚合的盲签名(基于BBS+签名方案)机制,提出了具有注册、共享、论证和奖励功能的网络安全信息共享框架.Badsha等人[5]为了防止威胁情报共享过程中隐私信息可能泄露给不信任的参与者或黑客,提出了基于同态加密的网络安全威胁情报共享和利用框架.Martinelli等人[6]分析了STIX网络安全威胁情报共享标准中可能的隐私信息泄露问题,并利用改进的数据共享协议尝试解决隐私信息泄露问题.上述研究工作都从单方维度起到了隐私保护作用,但不能同时保护情报共享方、情报使用方和情报涉及其他方的隐私信息.
在区块链技术与信息共享相结合方面,Peterson等人[10]将区块链应用到医疗档案共享交换方面,在保护患者隐私的同时实现了数据的共享.Kang等人[11]将区块链应用于车载边缘计算和网络数据共享中,取得了一定的效果.Rawat等人[12]提出了基于区块链的iShare框架,参与iShare框架的成员间仅可分享网络安全防护的方案或概述,并利用博弈论对框架内可能的恶意行为进行了分析.区块链技术在其他行业信息共享方面的研究工作已经取得了一定进展,但是这些研究成果无法直接应用于网络安全威胁情报的共享;而iShare框架仅能够共享网络安全防护方案,未涉及威胁情报信息的共享工作.
针对已有研究工作存在的局限性,本文构建了基于区块链的网络安全威胁情报共享模型.该模型利用区块链的账户匿名性和统一的单向加密函数,充分保护情报共享方、使用方和情报涉及其他方的隐私信息,同时,可以对加密后的威胁情报进行关联分析,构建完整攻击链,提高安全防护的效率和能力.
2 基于区块链的威胁情报共享模型
如表1所示,区块链的去中心化、账户匿名性、开放性、自治性、不可篡改性和智能合约机制等特点或功能,可以满足网络安全威胁情报共享中的隐私保护、根据贡献值进行奖励、威胁情报可追溯、自动预警响应等需求,其中:
1) 区块链的匿名性由比特币地址生成过程决定,比特币地址由一系列编码算法和散列算法对椭圆曲线的公钥进行运算生成.
2) 区块链的可追溯性由区块链构造过程决定,Block(N)=Hash(tp(N),Merkle(N),Block(N-1),nounce),其中tp(N)表示时间戳,Merkle(N)=Hash(Tx(N))表示包含已有交易的Merkle根,nounce表示随机数.
3) 智能合约在满足合约条件时可触发交易,即
Table 1 Compare Cyber Security Threat Intelligence (CTI) Sharing Requirements and Blockchain Features
鉴于此,本文提出一种基于区块链的网络安全威胁情报共享模型.
2.1 定义
在阐述本文的模型和算法之前,先给出相关的定义.
定义1.一元类网络安全威胁情报(OneCti).主要包括网络安全威胁指示器(indicator of compro-mise, IoC)或威胁对象(threat object)类型情报,如电子邮件、IP地址、域名、恶意代码、组织、域名所有者、攻击者等.使用四元组
定义2.二元类网络安全威胁情报(TwoCti).主要包括网络安全事件类型情报,使用七元组
定义3.网络安全情报共享交易(STrans).指组织机构共享网络安全威胁情报给威胁情报中心,威胁情报中心对威胁情报验证、评估后给予一定奖励(reward)并返回情报共享凭证(ticket)的过程,使用六元组
Fig. 2 Cyber security threat intelligence sharing model based on blockchain图2 基于区块链的网络安全威胁情报共享模型
定义4.网络安全威胁情报图.指使用单向加密的网络安全威胁情报元素值组成的有向图,用G=
定义5.网络安全情报分析交易(ATrans).指组织机构向威胁情报中心提出威胁情报分析需求,情报中心将组织机构提供的威胁情报与情报库中的情报关联分析后,返回分析结果或威胁处置建议(result)并收取一定情报使用费用(uf)的过程,使用六元组
2.2 模型描述
如图2所示,基于区块链的网络安全威胁情报共享模型使用八元组
1)Org表示组织机构,能够共享和使用网络安全威胁情报;模型中有N个组织机构Orgi(1≤i≤N),每个组织机构Orgi作为区块链的节点,拥有区块链账户地址Oacc,组织机构在网络安全威胁情报共享和使用过程中均以Oacc的形式出现,能够有效保护组织机构的身份信息.
2)Center表示网络安全威胁情报分析中心,具有分析网络安全威胁情报的功能,是推理构建完整攻击链不可或缺的可信第三方;拥有区块链账户地址Cacc.
3)BlockNet表示区块链网络,由Org和Center组成.
4)CtiDB表示网络安全威胁情报库,能够存储网络安全威胁情报.在该模型中网络安全威胁情报库中的情报均为加密情报Hash(Cti),能够有效防止情报中隐私信息的泄露.
5)Cti表示网络安全威胁情报(Cti∈{OneCti,TwoCti}),本文主要讨论一元类和二元类网络安全威胁情报,其他多元类网络安全威胁情报可以拆分为多个二元类或一元类网络安全威胁情报的组合.
6)Trans表示区块链上的交易信息,包括网络安全威胁情报共享交易和网络安全威胁情报分析交易,即Trans∈{STrans,ATrans}.
7)SC表示组织机构创建的智能合约,由创建者账户地址Oacc、触发条件condition、预警响应措施response、情报使用费用uf组成,使用四元组
8)Operation表示主体Org,Center,CtiDB,BlockNet间的动作操作,包括情报节点注册(regi-stry)、威胁情报共享(sharing)、情报评估(evaluate)、威胁情报分析(analysis)、交易广播(broadcast)、情报存储(store)、情报提取(get)和智能合约创建(create)等.如图3所示,组织机构Org1与Center间进行情报共享时,不同的主体间会涉及sharing,get,evaluate,store,broadcast等多种动作操作.
Fig. 3 Operations in cyber threat intelligence sharing图3 情报共享过程中主体间的动作操作
3 情报节点注册算法(INRA)
为了保证情报节点的可信度和保护情报共享、利用中的隐私信息,本文引入如算法1所示的情报节点注册算法INRA,组织机构尝试加入威胁情报区块链并成为情报节点,需要向网络安全威胁情报中心进行注册,注册过程依赖标准加密体系完成,其中,非对称加密由三元组
4 情报数据记账算法(IDAA)
为了保证情报共享社区的良性发展,避免情报节点出现只利用情报,不共享情报的“搭便车”行为[13],本文设计了如算法2所示的情报数据记账算法IDAA,该算法实现组织机构与网络安全威胁情报中心的情报共享,并将共享情报加密后记入区块链,方便后续的威胁源追溯解密,同时又引入奖励机制,鼓励情报节点积极共享情报.首先,组织机构提交加密的网络安全威胁情报SEnc(Cpub_k,Cti)(Cti=
5 基于情报图的分析交易算法(IGATA)
为了有效地使用情报节点共享的网络安全威胁情报,本文引入算法3所示的基于情报图的分析交易算法IGATA,该算法实现组织机构与网络安全威胁情报中心间的情报分析,并将情报线索和情报结果记入区块链.具体来说,首先,行②~网络安全威胁情报中心与已有的情报进行相互关联,构建网络安全威胁情报图;然后行~利用标签传播算法推理威胁情报元素的标签,行利用拓扑排序算法构建攻击链;最后根据攻击链和元素标签,借助区块链的追溯功能,解密单向加密的网络安全威胁元素值,返回分析需求发起方,并将分析交易信息写入区块链.
算法3的时间复杂度分析:算法3的主要时间消耗在情报图的构建过程中,假设构建完成的情报图节点数有n,有向边为m,CtiDB采用键值对的形式数据库存储或云存储,存取时间为O(1),那么,构建情报图的时间复杂度为O(n2),标签传播算法的时间消耗小于O(m),攻击链构造过程时间消耗为O(n+m),则总的时间复杂度接近O(n2).
6 基于智能合约的预警响应算法(SERA)
鉴于网络安全攻防对抗的时间不对称性,如何提高防护方的响应速度成为了攻防对抗的一个重点.为了提高情报区块链网络内预警响应的速度,本文模型中引入基于智能合约的预警响应机制,如算法4所示.首先,行②~④组织机构将需要重点防护的系统在区块链上创建智能合约,并广播整个区块链网络;然后,行⑥~⑨网络安全威胁情报中心在分析情报时,对与组织机构创建的智能合约相关的威胁情报进行分析,如有符合智能合约触发条件的威胁情报,模型自动触发智能合约,并执行其中的预警响应流程或措施,并将分析转化为网络安全威胁情报分析交易信息广播情报区块链网络.
7 实验评估
为了验证评估上述威胁情报共享模型的效果,本文设计了如图4所示拓扑结构的网络,其中16.1.5.20,16.1.5.23,16.1.5.26,16.1.5.29,16.1.5.30构成区块链网络,16.1.5.20承载网络安全威胁情报分析中心功能,网络安全威胁情报库存储于使用ownCloud搭建的云存储上.
Fig. 4 Topology of network example图4 网络拓扑
Fig. 5 Cyber attack data flow图5 攻击数据流
本文参照杀伤链(侦查跟踪、武器构建、载荷投递、漏洞利用、安装植入、命令与控制和目标达成)[14]设计了如图5所示的模拟攻击场景:2019-05-26T10:00:00,攻击者Alice利用IP为12.1.5.67的服务器攻陷Org0企业的IP为16.1.5.29的服务器,并投放恶意代码载荷M0,进而利用16.1.5.29作为跳板攻陷了16.1.5.30服务器,投放了恶意代码载荷M1(M0的变种);恶意代码M0利用自身的传播机制,传播至IP为16.1.5.26的服务器;在2019-05-27T01:00:00,攻击者Alice收到新的僵尸机器16.1.5.26上线后,借助该机器攻陷了企业Org3的16.1.5.23的服务器,并投放了恶意代码载荷M1.
Fig. 6 Smart contract of Org1图6 Org1智能合约
Org1在区块链网络上创建了如图6所示的智能合约,只要满足条件:ip∈{SHA256(16.1.5.23),…,SHA256(16.1.5.29)}&label=C2,就执行函数send_email(“org1_admin@163.com”)向服务器管理员发送告警信息.
为了满足模型需求,在实验评估中,本文非对称加密采用RSA算法,对称加密采用AES算法,单向加密采用SHA256算法.按照模型设计,本文中IP信息在情报共享时都以SHA256(IP)的形式出现,即如表2中SHA256(IP)的值所示,避免了情报中IP信息的泄露;同理域名、邮箱和姓名等亦采用该方法.社区内网络安全威胁情报共享时参照STIX标准,为了方便阐述,采用如表3的形式进行表示.如图7所示,首先,各组织机构Org向网络安全威胁情报中心Center注册;然后,Org1创建如图6所示的智能合约;随后,Org0向网络安全威胁情报中心共享第1条网络安全威胁情报,因为满足智能合约的触发条件SHA256(16.1.5.29)∈{SHA256(16.1.5.23),…,SHA256(16.1.5.29)}&label=C2,系统则向Org0发送威胁源请求(因SHA256(16.1.5.29)涉及隐私信息,Org0选择不解密IP地址,但返回不涉及隐私性的恶意代码M0的行为和应急处置方法)并触发Org1的智能合约执行,向16.1.5.30的管理员发送告警信息.最后,当Org3发出<2019-05-27T01:00:00,ip,SHA256(16.1.5.26),None>网络安全威胁情报分析需求时,系统借助已有的网络安全威胁情报构建情报图,并利用标签传播算法计算出SHA256(16.1.5.26)的标签为C2,同时构建可能的完整攻击链:SHA256(12.1.5.67)→SHA256(16.1.5.29)→SHA256(16.1.5.26),并利用区块链对SHA256(12.1.5.67)进行解密得到12.1.5.67.
Table 2 IP and SHA256(IP) Cross-reference表2 IP与SHA256(IP)对应表
Table 3 Cyber Threat Intelligence Sharing List表3 情报共享列表
Fig. 7 Cyber threat intelligence data flow图7 威胁情报数据流
上述过程验证了本文基于区块链的威胁情报共享模型可以在保护情报隐私的同时构建完整攻击链.为了进一步证明本文模型的有效性,本文从开源情报收集的2 010条情报信息中提取出15条完整攻击链,并将涉及的30个IP地址映射至16.1.5.10~16.1.5.29地址段内进行实验.30个IP分别为4个C2 IP、11个攻击IP、15个攻击目标IP.图8给出了在其他类型标签IP已成为情报节点的情况下,某类型标签IP成为情报节点的占比对成功构建攻击链的影响,可以看出当C2 IP成为情报节点时,威胁情报共享更有利于完整攻击链的构建.
Fig. 8 The impact of different types of IP CTI node on the successful construction of the attack chain图8 不同类型标签IP情报节点对成功构建攻击链的影响
为了进一步评估本文模型在情报共享过程中隐私保护的情况,本文从情报共享方、情报利用方、情报涉及第三方的隐私保护强度方面同已有的典型模型进行了分析和模拟实验,实验结果如图9所示,其中纵轴表示隐私保护强度,根据表4中隐私保护算法的破解难度设定隐私保护强度;横轴表示情报共享中需要保护的隐私(即情报共享方隐私、情报利用方隐私和情报涉及第三方隐私)和综合隐私保护评价指标(根据三方隐私保护各种对情报共享的重要性,采用式(1)加权平均的方法计算).
f=0.5ss+0.3su+0.2st,
(1)
其中,ss表示情报共享方隐私保护强度;su表示情报利用方隐私保护强度;st表示情报涉及第三方隐私保护强度.
图9中,文献[4]提出的方案较好地解决了情报共享方的隐私保护问题,但是该方案对情报利用方和情报涉及的第三方隐私保护不足;文献[5]保护了情报利用方的隐私,但保护强度仍低于本文对情报利用方的保护强度;文献[6]主要保护了情报涉及的第三方隐私,其采用方式与本文第三方隐私保护的方式类似,所以保护强度基本相同;从图9中可以得出本文提出的借助区块链匿名机制保护情报共享方隐私和情报利用方隐私及利用单向加密算法保护情报涉及第三方隐私的方案从综合隐私保护强度上具有明显的优势.
Fig. 9 Comparison among our model and others图9 本文模型与其他模型的比较
Table 4 Encryption Algorithm Crack Time Complexity List表4 加密算法破解时间复杂度列表
8 总 结
本文针对当前网络安全威胁情报共享过程中隐私保护和攻击链构建之间存在矛盾的问题,提出了一种基于区块链的网络安全威胁情报共享模型,利用区块链技术的去中心化和匿名性特点,既保护网络安全威胁情报共享参与组织和涉及组织的隐私信息,又便于推理分析完整的网络攻击链;利用区块链的回溯能力对攻击链中的威胁源进行追溯还原;利用智能合约机制实现针对网络威胁的自动预警响应.最后,本文通过模拟实验,验证了模型的可行性和有效性.