李 军
(北京信息科技大学 信息管理学院,北京 100192)
目前,网络空间安全防护治理形势日趋严峻。互联网的数据流中除部分应用服务采用完全加密传输(HTTPS等手段)以外,考虑成本等其他原因,大部分数据流采用获取cookie安全认证后的明文传输,包括DNS和HTTP数据流,这种数据流很容易引起网络攻击、DNS流量篡改、HTTP流量篡改和数据窃取。
2016年10月21日,Mirai僵尸网络犹如洪水般淹没了一些关键的DNS提供商,并成功地造成世界几大著名网站瘫痪,包括Twitter,Reddit,Netflix,Airbnb与GitHub。该攻击事件直接反映了以DNS和HTTP为主的互联网数据流防篡改、防攻击和防泄漏形势紧迫。本质上,DNS流量篡改主要是传输网络(电信运营商网络为主)中相关运营商在内部Local DNS 上对配置数据进行篡改。由于Local DNS对用户发出的DNS 具有优先应答权限,因此相当于给DNS 数据库投毒,对用户的后续IP访问产生了错误引导,带来DDoS攻击等网络安全隐患。传输网络中数据流被劫持和篡改的主要原因为:1) 网络缺乏对内部关键链路节点的数据流篡改行为的发现和预警机制。2)受制于传统客户端/服务器的中心化服务模式,缺乏在网络中针对数据流服务数据和认证配置数据的防篡改追溯和防护治理。
区块链技术成为解决当前互联网上DNS数据流和HTTP数据流的篡改追溯和防护管理问题的一种有效手段。本文基于区块链技术和快照索引技术,设计构建了互联网数据流实时对比跟踪防篡改平台,以加强运营商网络防篡改预警追溯能力。
1)在现有的DNS数据流安全保障服务基础上,针对传输网络中DNS服务器数据被篡改和攻击的安全防护和管理需求,利用区块链的非中心认证、只增加不删除和跨单位的分布式共识机制,设计了能有效支持跨多个传输网络(运营商网络)的DNS数据流防篡改和防攻击的共享协议和关键算法。
2)针对HTTP数据流在传输网络中被恶意篡改的发现预警和安全防护需求,在区块链的链式存储不可删除特性基础上,提出针对HTTP数据流时间、链路点、区域等多维度的篡改追溯和实时预警协议和关键算法,解决HTTP数据流被篡改后无法追溯和安全防护的问题。
在协议算法层面,重点针对DNS数据流的非法篡改和恶意攻击,设计并实现了数据共享和追溯协议及关键算法。包括:针对网络安全领域DNS数据流非法篡改和恶意攻击的安全防护需求,设计了运营商传输网络中的DNS数据流安全防护模型及建模方法;结合区块链本身的非中心化认证、分布式共识机制以及区块数据存储不可删除只能增加的特性,在现有的分布式DNS缓存集群的基础上,从防篡改、防攻击和去中心化等多个方面,设计支持跨运营商内部多级网络和跨多个运营商传输网环境的DNS分布式区块链数据库架构和关键算法。
在模型层面,主要是实现了基于区块链的HTTP数据流非法篡改发现预警及安全防护治理模型。具体包括:基于区块链的不可删除特性和非中心化共享共识机制,针对HTTP数据流非法篡改的安全防护需求,将HTTP数据流在传输网络中各关键router节点、事件回溯世间和关键业务的上下行报文集构建分布式区块链数据库,将各运营商的下行报文进行抽样对比,并与标准服务器响应集进行实验验证和对比。
综合利用HTTP区块链数据库进行非法篡改的发现预警技术和追溯技术;在此基础上,设计相应的反馈算法以便在发现非法篡改的链路节点进行实时有效的安全防护管理。
平台关键问题是如何提升针对DNS和HTTP数据流非法篡改、恶意攻击的快速发现及预警能力,并针对预警链路数据进行快速追溯定位,然后采取相应的实时防护措施来阻止篡改行为的破坏性影响。
基于此,以DNS数据流和HTTP数据流为核心,面对当前互联网数据流上的安全防护技术不具备对跨多级传输网络的链路数据篡改的发现预警和快速溯源能力,设计了与需求相匹配的互联网流数据的安全防护模型:首先,设计了数据流上恶意篡改行为的快速发现、追踪定位和实时防护算法,这种算法需要支持分布式多链路、多节点和多实体环境;其次,设计了一种非中心化的分布式认证和共享结构,来防止被攻击导致的安全防护能力丧失;最后,针对防护技术的实时有效性需求,设计并实现了关联发现技术,来支持数据流上互联网业务应用的实时防护方案。
没几天,刘建给我打来电话透露点信息,说大发厂对抛光车间的员工全部做了体检,新发了头罩口罩,质量好,工价也提了,员工工资普遍涨了几百块。我知道,一定是李霞给林老板建议了。
方案核心要素包括:
1)对互联网数据流篡改、攻击以及安全治理等基本概念进行形式化定义,对分布式安全识别预警和防护治理涉及的框架算法进行归类;对数据流在传输中上下文环境按照数据流类型、传输网络拓扑特点、应用承载协议类型、区域、时间段、传输链路节点等进行多维度划分,并定义可以按照相应维度进行索引查询的分布式区块链数据库框架。
2)在区块链分布式追加共享数据模型基础上,设计支持对DNS静态数据非法篡改溯源算法;同时,基于恶意篡改的预警结果数据,结合局部传输网络环境,设计相应的DNS动态上下行数据流的实时安全防护治理协议模型及算法。
3)定义支持多级传输网络和多业务应用的HTTP数据流上下行嗅探模型,经过校验机制的模板化、可视化定制,构建动态标准库并进行数据可视化呈现,设计支持对HTTP数据流恶意篡改的发现算法;同时,基于非法篡改的预警结果,结合分布式网络探针,设计相应的HTTP动态上下行数据流实时安全防护治理协议模型及算法。
技术路线如下:
1)平台架构如图1所示。基于以太坊技术设计面向数据流安全的区块链数据库SecChainDB,以解决传输数据网络内协议数据非法篡改问题为突破口,采用非中心化架构实现SecChainDB的初始化构建、数据管理和元素共享。具体的,基于以太坊去中心化处理/智能合约构建去中心化网络溯源数据库SecChainDB与身份协议,金融资产协议(比特币),知识产权资产协议相互补充。在数据安全性方面,基于SecChainDB实现数据的多管理入口,全冗余备份,单点被攻击不影响全局;在数据自治性方面,单点上存储的数据不是由单点单独管理,这样可规避很多局部恶意篡改数据隐患。
在图1中可以看到,防护平台以SecChainDB作为基础数据层,以满足防篡改的信息管理和读写,分布式不可篡改、完全去中心化的信息管理是SecChainDB的核心服务能力。平台大规模信息管理的部分主要集中在区块架构的查询层、合约层、网络层和数据层,其中查询层和合约层在分布式区块链信息管理系统中负责实现对数据的处理操作。
如图1所示,在基础数据层,对报文校验事务、业务区块基础结构、全局核心状态(如图2所示)、区块链单元结构、历史账本单元信息结构等开展单元化形式定义;在网络层,由于分布式去中心化读写和智能合约的机制,沿用无全局锁思想,设计并实现SecChainDB中服务器节点的无中心化交互协议和交互信息流格式,以及基础数据的异步一致性;在业务应用层,为DNS和HTTP数据流非法篡改发现提供基础的多维度查询及追溯算法。
应用接口方面,考虑兼容现有的分布式数据库架构,在架构设计中将传统SQL引擎架与state store衔接,进一步考虑将SQL引擎直接访问链内数据的可能性。在应用安全方面,针对列级行级表级以及节点级别的安全认证,设计一种支持对需要进行数字签名和共享及特殊加密处理的表项灵活可配置机制。
2)基于SecChainDB的DNS数据流篡改发现及防护治理方法。
如图1所示,在网络层SecChainDB数据库基础服务模型之上,跨各传输网络的Local DNS数据联动和全局共享,结合前期的研究[1-6]及语义工具,构建了DNS静态过滤器;在静态过滤器的基础上,针对线上实时的DNS流数据,将基于滑动窗口增量式计算方法引入DNS流数据防篡改发现算法中。在静态DNS配置数据集的基础上,基于Storm流式计算框架设计并行算法来运行DNS流数据篡改发现校验算法、流数据篡改预警追溯算法和相应的针对DNS数据流上篡改的防护治理方法;同时,在查询层,设计了领域可视化编程基础组建,实现了高效、灵活的适用于互联网安全防护治理的DNS监测服务。
3)基于SecChainDB的HTTP数据流篡改发现及防护治理方法。
在SecChainDB基础之上,设计嗅探器将HTTP服务响应报文采集后形成标准数据集,以此数据集构建HTTP过滤器[1-6];在HTTP过滤器的基础上,针对线上实时的HTTP数据流,将基于滑动窗口增量式挖掘算法引入HTTP流数据防篡改发现算法中。基于分布式弹性计算框架设计并行算法来运行HTTP流数据篡改发现校验算法、流数据篡改预警追溯算法和相应的针对HTTP数据流上篡改的防护治理方法;同时,设计领域可视化编程基础组建,最终实现高效、灵活的适用于互联网安全防护治理的HTTP监测服务。
为了验证本文设计的跟踪防护平台的有效性和可靠性,我们构建了基于Linux Centos7.0的以太坊协议数据防篡改网络仿真实验环境。分为3台虚拟主机节点,以域名和HTTP防护为例,通过后台命令行配置模式完成基础的网络配置上链操作。3台虚拟主机节点的磁盘存储空间均设置为500 G。
利用以太坊的非中心认证、只增加不删除和跨单位的分布式共识机制,部署完成的该区块链安全数据链可实现对200次/s的交互配置修改数据实时跟踪发现、预警、追溯等提供基础审计服务;在业务层,在链上构建基于DNS数据流篡改的防护治理和防攻击、基于HTTP数据流篡改的防护治理等检测服务,基本验证了平台对网络空间数据篡改问题跟踪发现水平的贡献。
根据tcpdump工具完成对网络数据流的长周期历史镜像,根据镜像数据流按照时间戳回放来模拟真实的DNS流数据和HTTP流数据,并模拟构造相应的篡改数据发送到传输网络中。针对不同的流数据防篡改和安全防护治理需求,以构造分布式区块链共享共识数据库为基础、DNS数据流实时恶意篡改和恶意攻击监测服务、HTTP数据流非法篡改和追溯服务等两种服务为例,分别就服务响应延时、服务运行开销进行实验及对比测试。
针对DNS和HTTP数据流实时恶意篡改和恶意攻击监测服务,分别与传统DNS和HTTP安全检查服务从监测预警时间、资源消耗、最大传输网络规模、防攻击稳定性等几个方面进行对比测试,以验证本文方法在规模性能方面的优势,并测试集群节点个数,以及传输网络和数据流规模等算法主要参数对响应时间的影响。
为了评估和验证本文提出的基于以太坊和快照索引防篡改的SecChainDB可行性和正确性,从防篡改、可溯源的功能出发,以DNS配置数据被篡改的情况为例,如表1所示,假设存在跨时间窗口的DNS配置数据篡改事件发生,如表1中T3和T1,T5与T2这种情况发生,以及针对同一域名Dns-1的多次指向修改。
表1 DNS服务器配置数据篡改事件
在识别精度对比实验中,选择典型的数据流滑动窗口计算方法H-Tree[6]进行基准测试,H-Tree使用了基于集成分类器的智能算法,可以实现窗口期内的事件流异常值快速发现。实验结果如图3所示。对于类似表1的跨窗口、多次频繁数据篡改的异常事件流,H-Tree发现异常的次数为2次,而SecChainDB的发现次数为4次,在异常发现精度上,SecChainDB的发现能力要强于H-Tree。
SecChainDB是本文提出的基于数据块的溯源分析算法,H-Tree是基于滑动窗口下实时配置数据比较分析算法。主要在篡改发现和分析性能上进行对比。一些主要的参数设置如表2所示。
表2 对比实验参数
综合对比实验分两组。第一组DNS篡改事件发生在滑动窗口内,这种情况H-Tree性能较SecChainDB有较大优势。如表3所示,SecChainDB时间开销大约是33倍;但是当篡改事件发生在跨多个时间窗口的情况时,即第二组事件,传统的数据流算法H-Tree虽然在性能上有12倍的优势,但是因为无法对表1中篡改情况进行溯源和跟踪,导致最坏情况下精度下降为0,因此,表3基本验证了SecChainDB平台对网络空间数据篡改问题跟踪发现水平提升具有明显的贡献。
表3 结果对比
本文引入DNS和HTTP数据流篡改问题,鉴于路由器和网络核心节点的本地化配置权限管理不完整性带来了篡改威胁和不确定性风险,确定以区块链技术为突破点,利用其分布式、高度冗余等特点,以去中心化和可追溯的完整性数据所有权的思路,提出了基于区块链和快照索引的域名和大型站点信息同步认证和防护方案,以此来解决引发的数据篡改和路由不可信局面。具体包括:采集域名配置信息和大型站下行数据流信息摘要;生成所述域名配置数据和大型站下行数据的区块快照;分布式存储和认证所述区块,并将所述区块值与区块链标准数据集中的目标值进行在线比对,通过实验验证对恶意篡改行为检测的有效性。在本文工作的基础上,下一步将基于区块链研究数据篡改的流转,力图实现数据流上下行业务生命周期中的全局可追责性。