APP下载

一种拟态身份认证网关防御方案

2020-09-02王丹阳冯四风

小型微型计算机系统 2020年9期
关键词:拟态异构攻击者

高 岩,王丹阳,冯四风,顾 青

1(河南理工大学 计算机科学与技术学院,河南 焦作454000)2(普华诚信信息技术有限公司,上海201403)

E-mail:616446361@qq.com

1 引 言

身份认证网关是在检测用户身份真实性基础上进行访问控制的重要设备,是网络资源访问控制和安全防护的重要抓手,其重要性不言而喻.随着网络空间安全技术的飞速发展,身份认证网关安全防御技术水平日益提高,也出现了很多恶意攻击行为,特别是未知的安全风险和漏洞后门,给身份认证网关的发展带来了更多的挑战.

目前身份认证网关自身的安全防御手段是基于现有的攻击行为和漏洞缺陷进行安全设计和防护,只能对于特定目标进行局部防御,在应对未知攻击手段甚至是难以检测到的攻击和未知漏洞时存在一定的局限性.正常而言用户发送请求后,由网关对用户进行认证和鉴权,并将通过认证的身份信息发送给待访问的应用服务,用户才能正常的访问应用系统.攻击者一旦对关键路径发动攻击、植入未知后门,以窃取用户敏感信息,则会给整个身份认证网关都带来安全隐患.

容错技术[1]是在冗余技术的基础上形成,通过引入多个相同资源来减少系统故障发生的概率,当对象目标遭受攻击,系统具有容侵能力[2].美国国防部高级研究计划局启动研究入侵容忍技术,该研究称为有机保障与生存信息系统(Organically Assure & Survival Information System,OASIS)计划,形成的典型技术有适用于分布式服务的可扩展入侵容体系结构(A Scalable Intrusion Tolerant Architecture for Distributed Services,SITAR)[3]、分布式在线安全认证机构(A Secure Distributed On-line Certification Authority,COCA)[4]、不可预测的自适应性分布式在线安全认证机构(A Secure Distributed On-line Certification Authority,COCA)[4]、不可预测的自适应性容侵(Intrusion Tolerance by Unpredictable Adaptation,ITUA)[5].SITAR是一种用于分布式服务可扩展的入侵容忍架构,使用容错计算技术,提供对商用成品(Commercial Off-The-Shelf,COTS)服务器以及内部组件的检测机制来获取错误信息,确定潜在危险源.COCA是第一个将拜占庭表决与主动恢复集成的系统,并开发了新的主动恢复协议,为协议的有效性给出定量评估.ITUA是一套基于冗余技术的拜占庭容错和自适应中间件机制,将这些机制集成在自适应入侵容忍系统的框架中,ITUA仍属于被动防御的范畴,但是为主动防御技术的推动与发展提供了思路.

邬院士在文献[6,7]中对当前计算机网络的安全现状及防御体系的脆弱性做了概述,给出了拟态防御架构的相关概念、原理及方法,并对该防御原理做了评估测试.文献[8]介绍了软硬件多样化防御的主要技术手段,对比分析主流防御技术,并将拟态防御与多种主动防御手段相结合,为拟态身份认证网关体系架构的开发与设计提供了解决方法.文献[9]提出一种新型混淆技术来实现程序多样性变化,为拟态技术的发展提供了新的防护策略.文献[10]分析了漏洞后门对网络空间的威胁,对动态异构冗余系统建立了数学模型,通过对该模型的求解证明其具有良好的抗攻击能力,但并未在具体场景中分析特定异构部件下执行体调度的安全性问题.在路由器的防御方面,文献[11,12]将拟态安全理念运用到路由器当中,并对DHR路由器的实现架构给出了测试验证方法,提高路由器的在抗恶意攻击方面的主动防御能力,但对于感知决策部分未给出相应的算法解决方案,不能有效捕捉执行体内部发生的入侵行为.文献[13,14]分析了web服务器的安全现状,并对其在拟态防御机下进行了可行性验证与实现,为拟态技术的研究和发展提供了新的思路.文献[15,16]讨论了与入侵容忍系统安全属性有关的各类问题,通过随机建模技术捕获攻击者的入侵行为以及系统对该行为的响应,并对入侵容忍能力进行安全量化分析,提出一种种安全度量计算方法,可以在很大程度上减少入侵容忍系统中出现的常见漏洞,对于提升拟态认证身份网关容侵能力具有指导意义.

目前针对拟态防御的研究主要集中在方法原理、安全分析以及路由器、web服务器等相关领域,而身份认证网关在拟态防御方面的安全问题,缺少相关模型研究与分析.本文针对身份认证网关存在的未知安全威胁,将拟态防御技术引入要身份认证网关中,改变传统身份认证网关被动防御局面,变被动防御为主动防御,提高网关自身的防御能力及抗攻击能力.在不改变原有网关架构和服务功能的基础上,构建拟态身份认证网关系统架构,利用多个执行体构建出一种不确定的、复杂的执行环境,提高身份认证网关对抗入侵风险的能力,增大攻击难度,提升拟态身份认证网关的安全性,达到一种“以不变应万变”的防御效果.

2 基于拟态身份认证网关防御总体架构

2.1 拟态身份认证网关

拟态身份认证网关作为一种防御机制,不依赖于外在的防护手段,便可有效提高系统的内生安全性.在拟态防御中异构性是实现系统多样化的基础,冗余性是提升系统容侵能力的保证,动态性是实现系统不确定性的关键.

异构执行体要保证两个功能等价的执行部件具有差异性,这样执行体同时失效的概率才会进一步降低.拟态身份认证网关可从多样化编译、编程语言、服务器软件等不同的层面实现异构性,能多方面多角度共同抵御恶意攻击.

冗余性在拟态防御中要求至少三个执行体同时执行,才能判断异构执行体最终输出结果的正确性.如果仅有两个执行体,当执行体受到攻击时,就很难判断出哪个执行体遭到破坏.在拟态身份认证网关中冗余性具有良好的容侵容错能力.

动态性作为拟态身份认证网关主动防御的一种策略,可以根据系统运行情况进行策略性的调度,以此增加系统的不确定性,降低攻击者恶意分析系统漏洞的概率,提高系统的安全性.

原理架构如图1所示,拟态身份认证网关主要由消息分发、异构执行体以及多模判决三个功能模块组成.该模式的核心是通过功能等价的异构执行体,执行等价的业务功能,有效避免同构模块中出现的相同安全漏洞.

图1 拟态身份认证网关原理架构图Fig.1 Architecture of mimic identity authentication gateway

消息分发:通过反向代理服务建立内外网的连接请求,将用户的请求通过消息分发接口发送至各异构执行体,发送的请求消息使用消息中间件可以较好地兼容异构环境下消息格式标准的差异性问题,使消息在传输中降低数据间的耦合度,提升消息传输的安全性.在整个消息传递的过程中,会根据用户访问量生成一张规则控制表,为访问量大的用户提供快速的服务通道,也能方便有效地检测用户的访问行为.

异构冗余执行体:采用不同的构件,实现相同的功能,最大程度确保执行体的异构性足够大,异构数量足够多,这样异构执行体之间拥有相同或相似的安全漏洞的概率大大降低,攻击者很难对各执行体的安全漏洞逐个攻击.身份认证网关执行体所具备的异构性和冗余性是实现拟态防御的基础.对异构冗余执行体内各功能部件在1.2节将进行详细设计及分析.

多模判决:对异构执行体产生的结果进行一致性判决,即对于用户的访问请求得到的响应结果应当是一致的,若不一致则说明某个执行体受到攻击.判决结果不能感知到执行体哪个环节出现异常,但能够检验出哪个异构执行体输出的结果是否被篡改或破坏.统计执行体输出结果的异常状态,分析对应的问题场景,对异常消息进行预警处置.多模判决作为拟态身份认证网关中关键的组成部件,是拟态防御中最后一道安全防线.

2.2 异构执行体功能单元设计

2.2.1 身份认证

身份认证是拟态身份认证网关中至关重要的核心部分,基于数字证书来实现强身份认证,能够有效的解决网络环境中系统用户身份的真实性问题,保证用户身份的安全性.身份认证结构如图2所示,主要由身份认证通信接口、用户验证服务和密码运算三个功能模块组成.

图2 拟态身份认证结构模型Fig.2 Structural model of mimic identity authentication

在拟态身份认证网关中,这三个功能模块可构成一个完整的功能执行体,且执行体个数不少于三个,用户身份信息的正确性验证就需要在异构执行体中完成,各执行体都有一套功能等价的执行环境,这些异构执行体之间相互独立地进行用户身份信息的验证,有效保证身份信息的真实性.

1)通过通信接口接收用户认证请求,并获取用户证书及签名值.

2)用户验证模块根据接收到的用户签名值及生成的随机数等信息,验证用户授权信息的签名值以及用户拥有的权限,防止授权列表的篡改伪造.

3)密码运算模块是身份认证的核心部分,拟态身份认证网关为了提高身份认证的正确性,每个执行体中都含有一个密码运算模块,认证用户的签名和证书.密码运算模块采用已通过国家密码管理局安全审查的密码卡,为拟态身份认证网关提供快速、高效的密码运算和密钥管理服务.

2.2.2 访问控制

访问控制是基于身份认证层产生访问规则在网络层实现IP数据包进出的控制,从而实现访问的可管可控.

拟态身份认证访问控制位于身份认证和授权管理之间,接收身份认证层形成的规则信息,根据生成的规则信息首先要在规则控制表中比对IP数据包协议、端口、流量等信息,判断用户请求能否通过.在比对过程中若规则控制表中无相应信息,则在身份与权限数据库中查找,若查到对应信息则用户访问请求通过,若无相关信息则表示用户没有该访问权限,请求失败返回错误信息.

在发出访问请求之后,且该请求在抵达目的访问地址之前,只要发现向异构执行体发送的请求消息存在异常,访问控制层可先行截取该异常消息,并取得对该消息的控制权限,此时访问控制层对截取到的消息进行拦截,阻止该消息向后传递.能有效过滤非授权用户请求,同时也能避免非法的恶意接入行为.

2.2.3 授权管理与数据库访问

拟态身份认证网关除了提供身份认证、访问控制之外,还需要为用户建立一个安全的管理模块,在不同的功能层面提供相应的管理服务,形成一套可靠、可信的拟态身份认证网关的管理机制.拟态身份认证授权管理模型如图3所示,该模型提供管理服务以及数据库代理检测,确保消息传输的内容不被篡改破坏,保证在管理过程中各项信息的安全性、完整性.

授权管理服务主要包括:用户管理、规则管理、安全审计、权限管理等内容,各模块之间都存在相应的联系,任何一个管理服务执行体模块中的信息出现异常,都会影响其它模块相关内容的配置和管理.系统管理负责网关系统的高可用性(High availability,HA)配置、模式配置和IP地址管理.用户管理是对用户的相关信息进行集中配置和管理,方便验证用户所拥有的访问级别以及证书信息的真实性,因此在权限管理中主要包括允许用户访问的目标IP地址或IP地址段、网络端口以及使用的网络协议等,根据用户权限生成对应规则,包括时间、协议、目标IP地址等一系列相应的控制参数.证书管理验证授权期内的用户证书的合法性,确认证书内容未被篡改,只有经过授权验证且符合控制规则才能访问特定资源.上述所有的相关配置及行为,安全审计都会进行跟踪、统计和分析,一旦发现非法用户需上报系统管理员进行处理.

以上管理服务都存在大量的读写操作,且重要信息都要通过用户与权限数据库进行交互,攻击者会通过sql注入对数据库进行恶意篡改、破坏.因此在存取数据之前需要添加数据库代理设备,用于接收并监听各端口传送的sql语句,通过判决模块判断sql语句是否被攻击,若判定sql语句遭到注入攻击,则要对sql语句进行丢弃并向系统管理员发出异常警报.这种方法既能有效屏蔽攻击者对数据库的恶意攻击行为,也能避免系统管理员对数据的误操作产生的不良后果,从而保护数据库的安全.

根据拟态安全防御原理,无论是执行体自身还是执行体部件,都要尽量避免执行架构“同宗同源”的问题,因此在异构环境下对异常或是错误信息具有一定的容忍度.这样可使其他管理服务继续开展后期一系列工作,而不影响后续功能的执行,从而提高整个管理层的工作效率.

3 拟态身份认证网关防御方案

3.1 安全防御体系

拟态身份认证网关使用多层架构,在不改变网关服务功能的基础上,构建功能等价的、多样化的异构执行体,使身份认证网关执行体能够在不同的攻击场景下有效抵御多种方式的入侵和病毒的植入,增大攻击者的攻击难度,保证拟态身份认证网关的高安全性和可靠性.

图3 拟态身份认证授权管理结构模型Fig.3 Structural model of authorization management

根据攻击表面理论,攻击者可通过特定环境对系统漏洞进行持续性攻击(Advanced Persistent Threat,APT),只要在同构环境下,都存在相同或相似的安全漏洞,针对这些漏洞进行攻击,则攻击都是可达的.为弥补这样的防御缺陷,需缩小被攻击表面,通过系统对外界攻击的扰动,提高攻击难度,使攻击成功率成为一个低概率问题甚至成为一个不确定性问题.身份认证网关在整个网络中对用户发出的访问请求及身份的合法性校验有着重要作用,一旦遭到恶意破坏,整个网关就会失效.针对这一安全隐患,需要结合异构冗余的防御机制在多元环境下提升自身的可信性、可靠性与安全性.

图4拟态身份认证网关系统防御架构自下而上主要由计算设备、网络硬件和密码卡等硬件层面,和数据库存储、操作系统、服务器软件、多样化编译等软件层面组成,多层次防御为用户的信息安全提供了基本保障,安全增益效果也得到良好的提升.

图4 拟态身份认证网关防御架构Fig.4 Defense architecture of mimic gateway

在异构执行体中,通过多样化编译技术将功能相同的函数编译成不同的变体,使用C/C++、JAVA、Python等语言实现出不同版本的可执行文件,放入各个执行体中实现软件的多变体化,增大攻击者对关键代码的解析难度,提高攻击成本.在不同的操作系统中有不同的开发环境,因此服务器软件、开发工具存在相应的差异,Apache、IIS、Scrinchy等服务器软件在扩展性、开放性、安全性等方便各有优劣,且存在相同漏洞的概率很低,共同运行能够优势互补,使系统在运行过程中的更加安全稳定.

用户数据信息的泄露、窃取和篡改是身份认证网关亟需解决的问题之一,保护用户信息的安全性,需提高拟态身份认证网关在数据信息防护方面的可信度.在数据存储方面,使用多种不同数据库的存储数据,在系统中使用DM、Postgresql、Gbase等数据库软件,并为多种编程语言提供接口,方便异构数据库对数据的校验和存储.

拟态身份认证网关防御中不可避免地也会出现单点防御漏洞问题,消息分发、多模判决存在一定的安全隐患,针对单点防御漏洞问题,可将消息分发、多模判决等程序逻辑简单的功能模块通过硬件实现,如集成电路,能有效的控制单点防御的安全问题,降低安全威胁.

3.2 流程设计

整个拟态身份认证网关工作流程如图5所示,假设在异构执行体集中选取中n个执行体在系统中运行,当用户发送请求时,消息分发器将请求复制分发给n个执行体{S1,S2,…,Sn},并对用户身份进行有效性验证,只有验证通过才能获取用户权限信息,生成相应的访问规则.

正常状态下,n个执行体生成的访问规则是一致的,将规则信息与执行体中的访问规则表进行匹配,只有规则匹配成功才能获取用户的权限信息,响应用户的访问请求.访问规则表中若无相关信息,读取用户与权限数据库进行规则匹配,匹配成功将访问规则写入访问规则表并响应用户的请求资源,若匹配不成功,将失败信息反馈至用户.

3.3 代码实现

根据上述工作流程图,用户想要获取访问权限的具体操作伪代码:

Req=Client_Sent(UserId,UserAddr);

//用户发送请求

distribute(Req,n);

//将用户请求分别发送给n个网关执行体

C=Cer_Identify(cer);

//获取用户证书唯一标识符

Vi=Verification(C,Sign);

//各执行体验证用户证书和签名值

if(Vi==True)

//验证通过

Ri=get_ permission(UserId,UserAddr);

//获取用户相关访问规则

else

Vi=null;

return error; //验证不通过,返回错误信息.

图5 工作流程图Fig.5 Work process

假设选取3个网关执行体{S1,S2,S3}用来接收用户信息UserId、地址信息UserAddr与证书独有的标识信息C,验证其证书与签名的有效性,V1,V2,V3中至少有两个验证结果相同才能在执行体中输出用户的规则信息{R1,R2,R3},产生的规则信息也需要两两比较才能得出一个正确的结果,多模判决在这个环节对结果的产生就显得尤为重要.

网关执行体只有将最后的运行结果完全输出至判决模块,判决模块才可以对输出结果与访问规则表中信息进行逐个比对,num负责记录比对结果相同的个数,如果最后记录的数值大于n/2+1,说明输出结果多数相同,返回最终判决结果,客户端得到访问资源,多模判决伪代码基本流程为:

For i in 1…n //n个执行体的输出结果

if compare(Ri,R)==True

//各执行体输出的访问规则与访问规则表中的数据进行对比

then num++; //num记录比较结果相同的个数

end if

end for

if num > n/2+1;

//若num大于n/2+1,则大多数相同

then return true

//返回正确结果

else

return false; //多数都不相同

一般来讲,多异构执行体输出结果正确性的概率要大于单执行体,因为攻击者很难在一定的时间内同时分析出这些异构执行体存在的安全漏洞,无法实施有效的攻击行为,因此判决模块最终输出结果的可信性比单执行体直接输出结果的可信性更强.

4 实验分析

4.1 抗攻击性分析

本节对拟态身份认证网关架构的抗攻击能力进行安全性分析,结合文献[2]中的策略及思路,建立拟态身份认证网关受攻击成功概率的数学模型,证明拟态身份认证网关防御的有效性.

假设有限集S为异构执行体集,存在n个异构执行部件{A1,A2,…,An}∈S,异构执行部件Ai(1≤i≤n)中存在漏洞V={v1,v2,…,vn},攻击者C只要有一次对系统中的消息记录起到破坏作用,就视为攻击成功,当攻击者C对身份认证网关异构执行体中存在的漏洞∀vi∈V发起k次攻击并成功攻破执行体1次,则攻击成功的概率为:

(1)

设传统身份认证网关受到攻击时系统失效概率为Pt,拟态身份认证网关受到攻击时系统失效概率为Pd,则两者在面对系统攻击时所得安全增益为:

(2)

根据拟态防御原理特性可知,拟态身份认证网关各异构执行体是相互独立工作的,当两个异构执行体vi、vj都存有不同的漏洞,攻击者C必须分别对二者同时进行攻击,则两个异构执行体同时失效的概率为Pd(vi,vj)=pi·pj.进一步讨论,当异构执行体集S同时运行,只有攻击至少「m=(n+1)/2⎤个执行体才能对系统起到破坏作用,则拟态身份认证网关系统失效的概率为:

(3)

为方便运算,假设系统中各执行体失效率相同,那么Pd的失效率随执行体n的个数及执行体失效率P的变化而产生变动,图6中系统失效率与选取执行体个数、攻击成功概率的数量关系对比.

根据图6数据显示结果可知,与传统身份认证网关相比,拟态身份认证网关抗攻击能力明显提升了将近50%.同时,

图6 身份认证网关失效概率Fig.6 Failure probability of identity authentication gateway

网关执行体个数越多,系统失效概率更快地趋近于0.另外,单个网关执行体失效概率越低,整个拟态身份认证网关的失效概率也越低.因此,提高单个异构执行体的防御能力来降低整个系统被攻击成功的概率,也是提升拟态身份认证网关安全性的重要因素之一.

4.2 抗攻击性测试

下面针对拟态身份认证网关架构的防御效果展开安全性测试,验证系统对于常见攻击类型的防御能力.

软硬件配置环境如表1所示.

表1 测试环境配置Table 1 Test environment configuration

为证明本方案在遭受恶意攻击下系统的容侵能力,将配置3组实验对象.拟态身份认证网关(Device Test1,D_1)由3种不同的操作系统与服务器软件组成,且每一个操作系统中都不增加安全防护工具.为了使测试结果更准确有效,加安全防护工具的传统身份认证网关(Device Test2,D_2)与不加安全防护工具的传统身份认证网关(Device Test3,D_3)都使用相同的操作系统与服务器软件,因此本实验在D_2和D_3中使用Windows7操作系统与Apache服务器软件来进行容侵性测试.

表2 防御能力测试Table 2 Defense test

根据表2测试结果显示,拟态身份认证网关D_1对于常见的攻击手段具有较为全面的防御效果,D_2仅能对植入性攻击手段产生防御作用,而D_3对于大部分攻击几乎没有任何抵抗能力.其中,D_1对于预设后门这样的内部入侵行为具有很好的防护能力,D_2与D_3无法有效应对漏洞后门展开的攻击.因此,与仅能进行被动防御的传统身份认证网关相比,对于具有主动防御能力的拟态身份认证网关,在对各类攻击手段,有更好的容侵能力和抗风险能力.

5 结 束

本文根据邬江兴院士提出的网络空间拟态防御机制为理论指导,提出了一种身份认证网关的异构冗余架构模型,并对该模型的多个应用层面进行详细分析与设计;通过系统架构的改变提升拟态身份认证网关的整体防御能力,并通过数学模型分析与测试,结果表明,与传统身份认证网关相比,拟态身份认证网抗攻击能力得到了明显提升,为拟态身份认证网关的进一步研究和发展提供理论依据与指导.

拟态身份认证网关在系统能耗和运行效率方面是下一步值得讨论的问题,在降低系统资源消耗,提高单位时间运行效率的同时如何保障系统更好的稳定运行.资源异构到何种程度才能既保证系统健壮性,又能改变身份认证网关在现今网络攻防中的安全态势,提高身份认证网关自身的主动防御能力.以上这些问题将在今后的工作中进一步研究和解决.

猜你喜欢

拟态异构攻击者
ETC拓展应用场景下的多源异构交易系统
基于贝叶斯博弈的防御资源调配模型研究
试论同课异构之“同”与“异”
章鱼大师的拟态课堂
多源异构数据整合系统在医疗大数据中的研究
吴健:多元异构的数字敦煌
模仿大师——拟态章鱼
正面迎接批判
正面迎接批判
关于拟声拟态词的考察