一种拟态蜜罐系统的设计与研究
2021-02-27王涵卜佑军江逸茗陈博陈韵胡先君
◆王涵 卜佑军 江逸茗 陈博 陈韵 胡先君
一种拟态蜜罐系统的设计与研究
◆王涵1卜佑军2江逸茗2陈博2陈韵1胡先君1
(1.网络通信与安全紫金山实验室 江苏 211100;2.中国人民解放军战略支援部队信息工程大学 河南 450002)
互联网一直以来受到各种各样的网络安全威胁,网络攻击方式层出不穷、手段多变且攻击目标各异,特别是高级持续性攻击隐蔽性很强。在攻防过程中,即使一个微小的设计疏忽都可能产生严重的漏洞,攻击者利用这些漏洞攻击系统可能产生严重的危害。而防御者则需要将系统或者节点的防御做到万无一失,才能保证系统的安全。同时防御者对于可以来自网络中的攻击者一无所知,而系统或者节点则通过网络完全暴露在攻击者面前。在这样的攻防博弈环境中,攻击者占据着绝对优势的主动地位,而防御者只能处于被动地位。为打破攻防之间的不平衡态势,本文主要设计了一种将主动防御中的蜜罐与拟态防御技术相融合,实现攻击目标可诱捕,攻击路径可追溯,攻击数据可分析的新型拟态蜜罐威胁感知平台。
拟态蜜罐;拟态防御;异构冗余;攻击诱导
当前,网络安全的漏洞是诱发网络安全事件的主要原因[1],现有的“外挂式”为主的安全防御技术体系(如入侵检测[2]、入侵隔离[3]等),难以应对基于未知漏洞后门的网络威胁。我国在网络强国战略中提出“打破以补丁式的安全技术研发的惯性思维,加强拟态安全[4]等虚拟化异构安全体系、可信计算体系、内生安全计算机体系结构等技术体系架构创新,促进技术研发由外挂式向内生性转变”,同时指出“加快高新技术产品化、服务化、市场化,促进先进技术和最佳实践的推广应用,发展壮大安全产业体系”。
蜜罐作为一种主动防御手段,通过在网络中部署感知节点,模拟真实系统诱骗和分析攻击者行为,实时感知周边网络环境,同时将感知节点日志实时存储、可视化分析来实现对网络环境中的威胁情况感知。然而,国内外研究现状表明,现有蜜罐都是通过构建网络服务绑定到端口,模拟成网络服务的攻击目标,诱骗攻击方对其进行攻击扫描,但这种机制交互性低、可扩展性差、安全性存在隐患。例如,如果攻击者识别了该蜜罐,并且成功进入,利用相关逃逸0day对蜜罐展开攻击,那么蜜罐将会被当成跳板对业务系统展开攻击,危害巨大。
拟态防御是另一种主动防御方法,借鉴融合了移动目标防御与可靠性领域“非相似余度构造”的防御机理,主张构建多个隔离且异构空间并行工作,通过对各空间多路结果的相互验证,感知攻击行为和受感染目标,从而有针对性地应对处理。本文主要研究将主动防御中的蜜罐与拟态防御技术相互融合,实现攻击目标可诱捕,攻击路径可追溯,攻击数据可分析的新型网络攻击诱导系统。
1 拟态蜜罐系统设计
1.1 系统架构
构建传统蜜罐与拟态防御技术相融合的攻击诱导系统需要实现的核心功能为:攻击流量管理、拟态构造蜜罐、攻击威胁感知、攻击行为管理、攻击溯源取证。总体设计思路是借鉴融合了移动目标防御与可靠性领域“非相似余度构造”的防御机理,主张构建多个隔离且异构蜜罐并行工作,通过对各蜜罐多路结果的相互验证,感知攻击行为和受感染目标,从而有针对性地应对安全威胁。功能模块架构如图1所示、拟态蜜罐架构如图2所示。
图1 拟态蜜罐功能模块图
图2 拟态蜜罐构造图
攻击流量管理:入侵者威胁数据的采集,能够实时、全面的监测入侵者的攻击行为,为溯源定位入侵者的位置、手段、工具以及辅助感知入侵意图提供源数据支撑,是后期关联分析、特征提取的基础。
拟态构造蜜罐:将防御蜜罐部署在当前网络环境中,实现攻击全链路欺骗防御,对攻击者的战术、技术和过程进行检测、防御和响应,从攻击者的视角进行主动诱捕,运用拟态防御思想,对蜜罐本身进行拟态防护,防止蜜罐逃逸攻击。
攻击威胁感知:高仿真蜜罐吸引攻击者,在攻击者侦查阶段就有效感知入侵行为,引诱、迷惑攻击者,总体威胁分析展示、各类威胁分析展示以及系统运行状态的监控,有效快速识别威胁,为安全决策提供依据。
攻击行为管理:记录攻击行为,对攻击行为回放,分析攻击路径,还原攻击链,预测攻击者的意图,评估攻击者下一步将采取的技术手段,同时通过syslog服务向第三方共享威胁行为数据和审计日志信息,将日志、攻击等数据通过机器学习提取特征,向其他防御系统提供预警,用于支撑联动防御。
攻击溯源取证:定位攻击者指纹信息,如IP地址、MAC地址、操作系统版本、设备型号等,追踪攻击者。
1.2 网络架构
构建传统蜜罐与拟态防御技术相融合的攻击诱导系统主要通过网络内部署低、高交互蜜罐系统,诱使入侵者对其实施攻击,减少对实际系统造成的安全威胁;通过对攻击行为进行捕获和分析,了解入侵者使用的工具与方法,推测其攻击意图和动机;通过数据可视化展示技术清晰、直观的展示所面临的安全威胁,同时通过捕获数据的分析,与其他防御系统联动增强实际系统的安全防护能力。
对于外部的攻击流量首先通过入侵防御系统,进行可疑流量分析,阻挡可疑流量。通过入侵防御系统的流量进入内网,蜜罐因具有高甜度,可以吸引攻击者的流量,攻击流量进入蜜罐后对其活动进行跟踪记录,并对其进行特征行为分析,并将提取的特征反馈给入侵防御系统,用于阻挡同类攻击再次出现,具体网络架构如图3所示:
图3 拟态蜜罐网络架构图
2 拟态蜜罐关键子系统设计
2.1 拟态蜜罐子系统
拟态蜜罐平台中的蜜罐部分主要实现的是高交互蜜罐,基于KVM虚拟化技术,将实体硬件进行虚拟化后实现的[5]。将资源转化为虚拟机并进行蜜罐封装后,还要进行网络配置管理,并按照拟态蜜罐的技术要求,实现动态控制调度。为实现以上功能,该子系统需具备镜像管理模块、蜜罐管理模块、虚拟网络管理模块、中间人模块、输出输入裁决模块5个主要功能模块。
2.1.1镜像管理模块
镜像管理模块是基于KVM虚拟机镜像技术实现而成,主要由异构蜜罐镜像、导入导出、实例化三个主要功能构成。
(1)异构蜜罐镜像
拟态蜜罐技术的实现,首先需要制作上层应用相同而底层基础架构不同的异构蜜罐。本次设计考虑上层构建相同的Web应用,而底层采用不同的操作系统、中间件,进而实现异构。
异构蜜罐的搭建环境如下(表1):
表1 搭建环境
编号CMS运行时Web中间件数据库操作系统 ACatfish v4.8.54PHP v5.4.16IIS v8.0MySQL v5.7.31Windows Server 2012 x64 BApache v2.4.6CentOS 7.8.2003 x64 CNginx v1.19.1Ubuntu 20.04 x64
当异构蜜罐环境搭建好后,对其进行镜像化,转换成KVM技术中的qcow2镜像格式,便于复用。
以上环境中,对外统一的Web应用为CMS系统(Catfish v4.8.54版本,运行时库PHP v5.4.16)。对在蜜罐中的具体环境(操作系统、数据库、Web中间件)进行异构处理。
(2)导入导出
实现镜像的导入导出功能,用于蜜罐基础环境的修改以及多个拟态蜜罐系统间蜜罐环境的复用。
(3)实例化
制作蜜罐镜像的过程本质上属于开发阶段的工作,在系统配置、运行的阶段,需要将提前制作好的镜像进行实例化,也就是变成多个虚拟高交互蜜罐主机,并通过虚拟网络管理模块进行组网。而实例化的过程,就是将系统资源(CPU、内存、硬盘、网卡等)通过KVM转化成虚拟机。
通过实例化功能,可以将预先制作好的镜像转化为高交互蜜罐。
2.1.2蜜罐管理模块
(1)删除
实现停止蜜罐,并删除,释放其所占用资源。
(2)启动、挂起、停止
支持将挂起、停止状态的蜜罐恢复到活跃状态;
支持将活跃状态的蜜罐暂停,挂起,挂起后的蜜罐不可访问;
支持将活跃状态蜜罐关机停止。
(3)快照
对蜜罐当前的状态进行拍摄快照保存,并且可以将蜜罐重置到已保存的某个快照状态。
(4)回滚
对蜜罐已保存的某个历史快照,进行回滚操作,可以重置到历史状态。
(5)定时访问
蜜罐创建好后,如果长时间没有访问信息,攻击者登录后会更容易被怀疑。该模块提供对Web界面提供访问或对操作系统提供访问流量。
(6)蜜罐设置
对创建好的蜜罐,可以修改其设置,例如启停其上应用及其对应端口。
2.1.3虚拟网络管理模块
蜜罐系统的内部虚拟网络管理如图4所示,具体详细介绍如下:
(1)物理网卡en192,与客户的交换机或路由设备相连。
①如果客户需要使用vlan功能,需要将与物理网线相连接的端口设置为trunk属性,并允许所有分配的vlan透过。对于非vlan1的默认网段由客户交换机配置打上PVID。
②如果客户不需要开启vlan功能,即不要配置A中的任何参数,即插即用。
③支持bond配置,当宿主机存在多网卡设备时,可以充分利用物理资源,提升带宽及可靠性。
图4 内部虚拟网络架构图
(2)Openvswitch对接融合所有通用蜜罐的虚拟网卡和宿主机的物理网卡,确保通用蜜罐能够被外部访问。
(3)通用蜜罐群中每一个蜜罐节点底层都是一台虚拟机。虚拟机对应虚拟网卡接入到openvswitch中实现蜜罐网络的连通性。
①每一台虚拟机的网卡从宿主机上看都是一个tun/tap设备,一端通过驱动接入到虚拟机中即为“物理网卡”。在虚拟机中的一端即为虚拟网卡并接入到ovs中。虚拟机(蜜罐)即能够被外部访问。
②所有的蜜罐与外部交互的流量从蜜罐内的“物理网卡”到宿主机的虚拟机网卡,再通过ovs发送到物理网卡ens192上转发出去。ovs将中转所有蜜罐的流量,可以通过flow规则进行蜜罐的流量控制,防止蜜罐被攻陷后被用来进行横向扩展,有效保护客户真实资产。
(4)虚拟网桥,为拟态蜜罐群中的蜜罐节点提供内部网络连通,确保宿主机与每一个拟态蜜罐的网络能够通过内部网络通信。
(5)拟态蜜罐节点,拟态蜜罐节点之间能够通过网桥相互通信也能够与网桥所在宿主机通信,但是拟态蜜罐不会直接被外部所访问。
2.1.4中间人程序模块
中间人程序的实现要求以图5为例,详细描述如下:
(1)网络拓扑中主要资源列表:
①虚拟交换机(openvswitch),ip地址为192.168.1.123;
②虚拟网桥(bridge),ip地址为10.0.1.1;
③中间人分发程序,监听截获引擎设备192.168.1.123上的80端口流量,并对流量进行复制并分发至拟态蜜罐群中的设备。
图5 中间人程序架构图
(2)拟态蜜罐群:
①web拟态蜜罐A:IIS程序,Windows server操作系统,ip为10.0.1.100;
②web拟态蜜罐B:Apache程序,CentOS 7.8操作系统,ip为10.0.1.101;
③web拟态蜜罐C:Nginx程序,Ubuntu 20.08操作系统,ip为10.0.1.102。
(3)通用蜜罐群:
根据客户的需求可以任意部署一些欺骗蜜罐,此类蜜罐暂不具备拟态功能。
(4)工作模式:
中间人程序接收到外部的流量,将流量通过虚拟网桥分别下发至拟态蜜罐群中的所有节点。并对蜜罐内部的重要状态信息进行采集并发送至裁决器。经裁决器分析判断后,蜜罐的响应结果将在未失陷的蜜罐中随机挑选,并返回给攻击者。
当拟态蜜罐A被攻陷时(由裁决器进行分析研判),中间人程序将会切换为将拟态蜜罐B(也可能是C,切换动作取决于裁决器能够分析出不会被攻陷的蜜罐,将其结果进行切换回馈)的相应信息发送返回给攻击者,拟态蜜罐A会被快速回滚至初始状态并重新参加对攻击者请求的响应。以此类推,当拟态蜜罐B被攻陷时,中间人程序会只将将拟态蜜罐C的响应信息返回给客户,并对拟态蜜罐B进行快速回滚至初始状态。回滚后的拟态蜜罐仍回接收到中间人的分发的报文,参加对攻击者请求的执行。
这里有一个极限情况,即三个蜜罐均被裁决器认定为被攻陷,此时操作将为三个蜜罐均进行回滚操作,上下文信息将被重置。
回滚动作由输出裁决模块发起,由蜜罐管理模块执行。中间人程序进对攻击者输入指令进行分发,对反馈结果进行切换。
2.1.5输出裁决模块
对上层应用相同底层架构不同的异构蜜罐,进行实时数据采集,并对其进行分析,确定是否有可能导致蜜罐失陷的动作发生。比对中的异构蜜罐至少为3个,比对内容主要为行为记录、告警数据。分析比对后,进行判断结果,随机将未失陷蜜罐的反馈结果发送给中间人程序,并告知虚拟化管理子系统中的蜜罐管理模块进行拟态蜜罐是否需要回滚。
2.2 数据采集子系统
数据采集系统主要依靠蜜罐内部安装的采集监控程序或在蜜罐内部搭载的应用程序中埋点,实现对蜜罐的访问、命令执行、文件变动、应用变动等情况进行数据采集。另外,系统对蜜罐的所有访问流量也都实现流量分包存储,通过流量采集模块实现访问流量的封装存储,并且将原始流量数据转发给流量分析引擎对其威胁行为进行专项分析。数据采集子系统工作机制如图6所示。
2.2.1内置采集监控程序
在蜜罐中内置隐藏采集监控程序,对蜜罐中系统运行状态、系统日志、服务运气情况、文件变动、命令执行情况等信息进行采集。
2.2.2应用埋点
高交互蜜罐中需要对外开放高交互的Web应用、数据库等软件环境。为了获取最准确的应用内部运行信息,需要对其中开源的软件环境进行代码修改以及重新编译,将应用信息对接至内置采集服务中。
2.2.3流量采集程序
流量采集程序将所有访问蜜罐的原始流量采集留存下来,封装成PCAP格式的流量包,可用于回放、分析。并且,所有的原始流量,可以转发给数据分析子系统中的流量分析模块,进行恶意行为的分析。
图6 数据采集子系统工作机制示意图
2.3 数据预处理子系统
数据预处理子系统是将数据采集子系统中采集的数据,进行初步处理的板块,数据预处理子系统处理过程示意流程如图7所示。
图7 数据预处理子系统处理过程示意图
3 结语
本文针对传统蜜罐系统面临的未知漏洞、后门等网络安全威胁,设计了一种基于动态异构冗余架构的拟态蜜罐系统,从系统架构层面使其具有了拟态特性。基于该设计方案,原型系统拟实现如下研究目标:(1)入侵探测型威胁和实质型威胁数据的采集,并能够实时、全面的监测入侵者的攻击行为,为溯源定位入侵者的位置、手段、工具以及辅助感知入侵意图提供源数据支撑。(2)对网络威胁感知数据的控制,主要包括:审计日志库、攻击威胁库、内置场景库以及高甜度蜜罐库,并能够通过syslog服务向第三方安全防护系统共享威胁行为数据和审计日志信息,支撑联动防御。(3)对新型蜜罐系统分析展示,主要包括:总体威胁分析、实质型威胁分析、探测型威胁分析以及系统运行状态的监控,提供安全决策依据。
[1]SUBRAHMANIAN VS,OVEKGONN M,DUMITRAS T,et al. The global cyber-vulnerablity report[J]. Springer Int’1 Publishing,2015(10):33-64.
[2]CHUNG C J,KHATKAR P,XING T,et al.NICE:networkd intrusion detection and countermeasure selection in virtual network systems [J]. IEEE Transaction on Dependableand Secure Computing,2013,10(4):198-211.
[3]XU H,CHEN X,ZHOU J,et al. Research on basic problems of cognitive network intrusion prevention[C]//Proceedings of 9th International Conference on Computational Intelligence and Security.Piscataway:IEEE Press,2013:514-517.
[4]WU J X. Research on cyberspace mimic defense[J].Journal of Information Security,2016,1(4):1-10.
[5]崔泽永,赵会群.基于KVM的虚拟化研究及应用[J]. 计算机技术与发展,2011(06).
国家重点研发计划项目(2017YFB0803201,2017YFB0803204,2016YFB0801200);国家自然科学基金项目(61572519,61802429,61521003);上海市科学技术委员会科研计划项目16DZ1120503;中国博士后基金项目44595