学术咨询

让论文发表更省时、省事、省心

拟态通用运行环境的框架设计

时间:2019年11月15日 分类:电子论文 次数:

摘要:针对C/C++或Java开发的信息系统的安全防御,拟态通用运行环境(MCOE)以拟态化改造后的功能等价的K异构冗余信息系统应用程序、异构化的信息系统运行环境设施为对象,为N异构执行体提供面向服务请求的资源调度、分发、执行、表决、安全威胁清洗和恢复、管

  摘要:针对C/C++或Java开发的信息系统的安全防御,拟态通用运行环境(MCOE)以拟态化改造后的功能等价的K异构冗余信息系统应用程序、异构化的信息系统运行环境设施为对象,为N异构执行体提供面向服务请求的资源调度、分发、执行、表决、安全威胁清洗和恢复、管理的自动化运行支撑环境,提供了拟态产品的分发、表决统一集成接口规范。MCOE由分发、内部表决、外部表决、协同执行、管理五个服务器组成。

  本文提出基于服务请求主键驱动的N异构执行体和MCOE五个服务器协同执行的框架体系设计方法和实现技术。经拟态化改造后的信息系统在MCOE环境中的运行表明,MCOE通过对N异构执行体的动态化、异构最大化资源调度,以及对服务请求执行入口级、过程级和结果级的安全防御可以有效地阻断攻击者利用系统软硬件后门和漏洞对信息系统的安全攻击。

  关键词:拟态防御;动态异构冗余;拟态通用运行环境;分发服务;表决服务;管理服务;服务请求主键

程序设计

  1概述

  信息系统运行环境由网络通信、基础、应用支撑和应用四层软硬件组成,故而系统的运行可能受到来自四层软硬件的病毒、后门和漏洞的安全威胁攻击[1],如:对应用层HTTP协议的网页篡改、SQL注入,对应用支撑层的web容器、分布式文件系统的后门和漏洞攻击,对基础层的云容器、操作系统的后门和漏洞攻击等[2]。

  以上攻击行为可能会导致信息系统运行的功能异常或终止,核心数据受到篡改、窃取或破坏[3]。信息系统的安全防御技术分为被动安全防御和主动安全防御[4]。被动安全防御基于已知安全威胁特征规则的病毒、后门、漏洞等进行威胁诊断和清洗,如:防火墙、病毒检测、后门检测等技术[5]。

  拟态防御理论是由邬江兴院士提出的,以动态异构冗余(DynamicHeterogeneousRedundancy,简称DHR)原理[6]为基础的主动安全防御技术。信息系统的网络通信层拟态防御主要基于拟态网络通信产品来实施[7]。本文信息系统的拟态防御主要是针对基础、应用支撑和应用三层(以下简称系统三层)的拟态防御。拟态信息系统主要是对基础、应用支撑和应用三层(以下简称系统三层)的拟态化改造。通常,拟态信息系统必要的组成要素如下:

  1)拟态化改造的功能等价的K(K≥1)个冗余异构

  应用程序源代码。对系统应用程序源代码的拟态化改造体现在增加标签化的表决调用和表决前后上下文处理。标签化的表决调用包括第三方API(如oracle)参数、关键安全数据文件、库表数据结构操作、指定程序点的内在程序片段功能或内存关键数据的一致性表决调用。对此部分数据的一致性表决主要通过防止关键文件、数据库受到篡改确保关键功能正确执行,实现细粒度的安全防御。

  对源代码的拟态化改造具体分为如下三部分:①标签化表决调用(包括标签化API标识,表决主键、表决参数JSON字符串)和表决调用前后上下文程序段处理。②标签化第三方API的协同执行调用,防止因服务请求并发执行引起的N异构执行体API不一致。③API钩子函数和统一处理组件,用于识别利用后门和漏洞访问的第三方API,如识别数据窃取的通信API或SQL语句。

  2)异构软硬件构造化或拟态软件产品构建化的系统三层异构冗余的运行环境设施。

  例如异构执行体[8]基础层操作系统、云容器、虚拟机的异构,应用支撑层web容器的异构,应用层拟态存储[9]等拟态产品的异构拟态信息系统的运行支撑环境为基于系统异构应用程序源代码和运行环境设施形成异构执行体池,由基础层A冗余异构、应用支撑层B冗余异构、应用层的K冗余异构形成具有种异构执行体的异构执行体池。在受到已未知安全威胁攻击情况下,系统运行支撑环境的异构性确保系统正确可靠运行[A]。

  本文将DHR架构思想同拟态信息系统相结合,提出拟态通用运行环境(MimicCommonOperatingEnvironment,简称MCOE)。MCOE以运行拟态信息系统的异构执行体池为对象,提供了N(N≤M)异构执行体的部署、服务请求的分发、执行、表决[10]、管理和安全威胁诊断[11]等运行支撑功能,实现安全威胁攻击情景下服务请求的正确、可靠运行[12]。

  2MCOE框架体系设计

  MCOE提供面向服务请求的N异构执行体执行过程的自动化,对服务请求进行入口级、过程级、结果级三级的安全防护,并且提供了集成化的分发、表决的接口规范。

  2.1MCOE框架体系概述

  MCOE具体实现了面向C/C++、Java语言开发的C/S或B/S信息系统的拟态防御架构[13],为拟态信息系统提供了自动化的通用运行环境和拟态防御手段。MCOE的防御方法和目标包括:1)通过N个异构执行体运行节点软硬件资源异构最大化的资源调度[14],达到主动防御特定软硬件后门漏洞引起的安全威胁;2)通过异构执行体运行节点软硬件资源和资源对象(如:云容器、虚拟机)调度的随机性和动态性最大化,及时阻断由系统四层软硬件发起的安全威胁攻击;3)通过服务请求执行过程中的N异构执行体内部和服务请求响应结果的两级表决,防止关键的文件、数据库、内存数据结构映像受到篡改,确保受到安全威胁情况下系统功能能够正确运行。

  其体系组成包括分发、内部表决和外部表决、管理、协同五个服务器和部署在各个服务器上的节点代理服务进程。服务请求主键为分发服务器接收到客户端服务请求时创建的唯一标识,MOCE体系架构中的各个服务器通过服务请求主键进行关联。

  客户端服务请求驱动的MCOE各服务器间协同工作的运行场景如下:1)分发服务器接收客户端服务请求,按需进行已知特征安全威胁[15]识别和清洗,调用管理服务器的资源调度服务接口获取相应服务请求执行所需的N异构执行体、内部表决服务器、协同运行服务器的运行节点资源。2)分发服务器发送包含服务请求主键,各个服务器运行节点资源(服务器、云容器或虚拟机对象资源)的文件给相应服务器的运行节点代理服务。

  3)N异构执行体、内部表决服务器、协同运行服务器的运行节点代理接收文件后,在相应系统配置文件中创建基于服务请求主键的待处理配置记录,并向分发服务器返回应答;4)分发服务器转发服务请求到相应的N个异构执行体服务器。

  5)N个异构执行体服务器执行服务请求,当执行到关键数据操作、重要功能模块、标签化的第三方API时读取待处理配置记录中的内部表决服务器地址,调用内部表决服务器对表决内容进行一致性表决,并同时对未标签化的API进行安全威胁诊断和处理。6)内部表决服务器对于表决异常的结果,基于策略进行表决结果鲁棒性处理,上报异常到管理服务器;反馈内部表决结果(一致Y/异常E)给相应异构执行体。7)内部表决结果为一致的异构执行体继续程序的执行,对于标签化的第三方API,调用协同执行服务器进行后续处理。协同执行服务器具体驱动第三方API的执行,返回包含执行结果的参数的标签化API给调用方的相应执行体。

  8)分发服务器接收和预处理N异构执行体服务请求的响应结果,调用管理服务器的资源调度服务接口获取外部表决服务器地址,并驱动该外部表决服务器执行相应的表决;9)外部表决服务器对于表决异常的结果,基于策略进行表决结果鲁棒性处理,上报异常到管理服务器;反馈外部表决结果(一致Y/异常E)给分发服务器。

  10)分发服务器收到外部表决结果,若表决结果为一致返回正常的服务请求响应结果给客户端;否则返回异常,由客户端重新发起该请求。在内部表决和外部表决执行过程中,表决结果为异常的异构执行体节点资源和运行上下文均发给管理服务器;对于经表决鲁棒性处理后确定的异常,由表决服务器实时向管理服务器发出告警,管理服务器交互式地进行安全威胁诊断、清洗和恢复。

  2.2MCOE各服务器程序统一处理框架设计

  MCOE各个服务器及部署在各个服务器上的运行节点代理服务对服务请求的处理遵循的主程序统一处理框架。主程序统一处理框架分为初始化、主程序任务循环处理、服务请求通信和预处理线程、任务处理子线程4个部分。1)初始化部分进行服务请求处理任务队列初始化,创建服务请求任务消息包的接收和预处理线程。

  2.3MCOE框架内外部接口统一设计

  MCOE框架内外部接口设计基于以下三个方面:由分发服务器和管理服务器协同完成的服务请求预处理、资源调度和请求转发过程;N异构执行体驱动的表决和第三方API协同执行过程;由分发器和外部表决器协同完成的响应结果表决过程和客户端转发过程。MCOE服务器间接口遵循HTTP通信协议,接口定义为json格式文件,各服务器依据json库函数进行解析预处理。

  以上接口主要提供服务请求转发、服务请求响应结果接收和外部表决所需参数。其中,通过管理服务提供的拟态资源调度接口调度出随机性、动态性和异构性三性最大化的N异构执行体服务器,为拟态防御提供了异构化的基础环境。

  以上接口主要提供N异构执行体运行过程中内部表决和第三方API协同运行所需的参数。以上接口基于“管理者+代理”方式实现。部署在各个服务器上的运行节点代理服务采集各个服务器的节点运行资源状态和日志数据并将采集数据上报给运行管理服务,接收、处理运行管理服务下发的资源状态监管命令和节点清洗命令。

  3MCOE各个模块概要设计

  MCOE各个功能模块间的交互遵循HTTP通信协议,各模块的功能实现均遵循2.2中的程序统一处理框架。

  3.1分发服务概要设计

  分发服务结合传统安全防御对已知安全威胁的清洗提供了Web信息系统的入口级安全防御。分发服务提供客户端服务请求的接收、对已知威胁的清洗[16]、N冗余异构执行体服务请求分发、请求响应结果的处理以及将请求响应结果转发给客户端等功能。分发服务主要包括3个功能模块:1)请求预处理引擎:接收服务请求,定义服务请求主键;服务请求安全威胁清洗;构建N个异构执行体服务请求;2)分发处理:通过“拟态资源调度接口”获取相应节点执行资源;构建包含服务请求主键、内部表决、协同执行和N异构执行体服务器执行资源的服务器地址文件,通过“服务请求主键和处理过程所需的服务器地址接口”下发到相应的服务器;通过“服务请求转发接口”转发服务请求到相应的N异构执行体。

  3)请求响应处理:接收请求响应执行结果;通过“拟态资源调度接口”获取外部表决器执行资源;构建包含服务请求主键、外部表决服务器执行资源的服务器地址文件;基于此文件驱动外部表决的执行;接收表决服务器的反馈结果,表决一致时将服务请求最终响应结果返回给客户端,表决不一致时返回异常信息给管理服务。

  3.2表决服务概要设计

  表决服务包括内部表决服务和外部表决服务,是MCOE最为关键的组成部分[17]。内部表决服务提供了异构执行体执行过程中的安全防御,外部表决服务提供了异构执行体执行结果的安全防御。内部表决服务主要包括4个功能模块:1)表决信息接收处理:通过“内部表决调用接口”接收来自N异构执行体的内部表决内容,确定相应的表决组件;2)表决执行:对N异构执行体关键数据操作、重要功能模块和第三方API参数进行一致性表决;3)鲁棒性处理:表决异常时,针对表决对象的鲁棒性策略,按需执行鲁棒性处理过程。4)表决结果反馈:表决大多数一致时,将表决结果返回给正常的N异构执行体,若存在不一致的异构执行体调用管理服务进行异常处理。表决不一致调用管理服务进行异常处理。大部分功能模块与内部表决服务相同,不同之处在于外部表决是对N个服务请求响应的一致性表决,通过分发服务和外部表决服务之间的交互完成。

  3.3协同执行服务概要设计

  协同执行服务具体驱动第三方API的执行,确保N异构执行体的API执行结果的一致性,并提供执行协同统一框架以支持协同执行种类的扩展和配置。当对N异构执行体内的第三方API内部表决结果为一致时,N异构执行体通过异步方式调用协同执行服务器进行第三方API的统一执行。当接收到第一个协同执行调用时,完成对第三方API的协同执行、将执行结果返回给相应的执行体,并保存执行结果;当收到第2~N个执行体的协同执行调用时,将保存的协同执行结果返回给相应的执行体。

  3.4管理服务概要设计

  管理服务包括管理服务器和运行节点服务管理者和管理者服务代理主要包括的功能模块如图7所示。管理服务器主要包括3个功能模块:1)拟态应用管理:创建和部署拟态应用、汇总和处理节点上报应用资源状态日志信息、监管拟态应用执行过程;2)拟态资源管理:包括拟态资源监控、异构执行体调度和表决服务器资源调度;3)拟态安全威胁诊断:包括拟态运行过程管理、告警和环境日志信息处理、安全威胁的清洗策略执行。运行节点代理服务完成服务器节点资源状态信息的采集,并将其上报给管理服务器;执行管理服务器下发的管理命令。

  4模型实现

  基于对示例应用程序ybsapp.war的MCOE模型实现包括三个部分,第一部分是异构执行体管理和资源调度;第二部分是分发服务对各个异构执行体进行服务请求分发;第三部分是对各个异构体上的请求响应结果进行外部表决并将结果反馈管理服务。

  4.1管理过程

  首先在异构执行体的基础层(CPU类型和操作系统类型)和应用支撑层(web容器)上实现异构。管理服务使用MySQL实现对异构执行体节点和资源的管理。模型实现阶段实际部署4个异构执行体应用服务器,本实验中执行体1~4所用web容器分别为:Jboss,Tomcat8.0,Tomcat8.5,Tomcat9.0。异构执行体上的运行节点代理服务将异构执行体状态信息实时上报到管理服务器,管理服务器实时判定执行体运行状态是否正常。

  4.2分发过程

  分发服务通过改造Nginx反向代理服务[18],通过对Nginx主请求-子请求机制与Proxy反向代理机制的改造实现服务请求的异构化、服务请求的转发、外部表决服务的调用以及将外部表决结果返回给客户端。

  客户端(192.168.2.7:8080)发起示例应用ybsapp服务请求,分发服务向管理服务发出资源调度请求,管理服务通过异构最大化调度[19]和负载均衡算法[20]调度出此次执行服务请求的3个异构执行体和外部表决地址,分发服务通过“拟态资源调度接口”获取相应节点执行资源,再由分发服务构建出包含服务请求主键、异构执行体和表决服务器节点资源的地址文件。

  5结束语

  本文结合现有的拟态防御理论,为拟态信息系统的N异构执行体设计系统化的运行环境框架,实现了对应用程序后门和漏洞引发的网页篡改的安全防御。模型实现部分应用Ngnix的改造实现服务请求的分发和服务请求响应结果的处理,使用一致性校验算法实现服务请求响应结果的表决,达到了对网页篡改行为的初步防御。下一步将针对MCOE分发服务和表决服务继续展开研究,进一步提升MCOE使用场景的普适性。

  相关论文范文阅读:计算机软件开发的基础架构原理研究

  摘要:在我国的经济社会不断发展的形势下,科学技术水平与时俱进而且在计算机软件开发方面得到诸多的较好成绩。计算机技术广泛地应用于众多领域中,有效地推动社会的进步和发展,同时积极的推进了可持续性发展的重要战略实施。通过大量的普及计算机技术,人民群众关注开发计算机软件也更加广泛。