APP下载

一种支持迁移的Web服务安全防护机制

2014-09-17廖方圆

通信技术 2014年5期
关键词:代理状态节点

廖方圆

(中国电子科技集团公司,北京100846)

0 引言

SOA面向服务架构是为了解决网络中心环境下业务集成和信息交互的需要,通过组件间的动态连接和协同完成特定任务的分布式软件系统架构。服务间通过定义良好的接口和策略产生联系,这些接口的实现是独立硬件平台、操作系统或者编程语言的,使得SOA架构下承载功能单元的Web服务能够以统一的方式进行交互。功能的服务化适应了信息系统演进、集成和发展的趋势,促进了信息资源的共享,提升了业务交互的能力,保障了功能重组和编排的灵活性,为构建面向任务的信息保障体系提供了有力支撑[1]。

与传统终端-服务器的运行方式相比,应用系统功能的抽象和服务化极大提升了系统组件的兼容性和灵活性,但也引入了新的安全风险,安全问题成为制约信息系统集成和资源共享发展的瓶颈。在网络化服务环境中用户、资源都可能是动态的,网络域的边界逐渐消失,服务运行的动态性、复杂性和跨组织的松耦合性使服务系统的可认证性、机密性、完整性和可用性面临严重的攻击威胁。现有的安全解决方案包括两类,一种是通过加固来增强服务自身的安全防护能力来抵御攻击;另一种是利用服务环境的灵活重构、动态组合的优点,在服务面临风险时通过主动迁移来规避入侵,从而确保服务交付的连续性[2-3]。从服务全生命周期安全防护的角度出发,将这两类方式有机结合,可以预期实现Web安全防护体系的进一步完善。

1 简介

SOA由于其分布、松耦合和高度互操作性的特点,非常适于成为实现网络中心性和信息共享的关键技术,服务通过动态组合可以支援不同种类的应用业务,保证信息顺畅流动,按需使用。但传统业务系统由面向流程向面向服务转化的过程中,不可避免地会因机制不成熟或外部原因导致安全问题。

安全威胁首先来自于攻击者对服务体系了解的不断深入。攻击者在服务体系、实现接口、消息格式、通信协议等方面进行漏洞挖掘,攻击的目标包括但不限于终端系统、网络安全设备、应用服务和管理平台等,攻击手段包括身份仿冒,可用性攻击,非法授权和系统入侵等,其存在对网络设施的正常运行、管理和各类业务系统的功能实现造成了严重威胁。

另一方面,服务环境下特有的消息传递、服务管理、服务发现、服务提供和数据存储等都存在新的防护需求,安全防护的难度加大,进行有效安全防护的复杂性空前提升。除原有的身份鉴别、权限分配、安全审计、入侵检测等传统安全机制以外,必须根据Web服务运行特点和应用模式设计针对性的防护手段,使合法用户能够在安全访问策略的控制下访问所需资源,隔离恶意用户,提供端到端的可靠信息交互能力。

2 Web服务安全防护手段

在分布式环境中,面向服务的Web应用程序依靠本地或远程服务器实现功能的交付,它们通常架设在局域网或环境复杂的广域网中,从而带来明显的安全问题。由于Web服务的开放性,必然会导致恶意服务请求的攻击和潜在的安全隐患不断出现,其应对手段包括访问安全、消息安全、网络入侵防护、安全监测审计和服务容灾几个方面[4]。

2.1 访问安全

访问安全的目标是对服务关键资源进行保护,防止服务和数据被非法用户访问。访问安全的关键要素是对Web服务的用户进行身份认证和权限鉴别,在认证方面通过采用PKI安全架构,屏蔽底层的认证机制差异,提供独立于服务具体技术实现的信任关系管理机制,实现证书签发、验证、更新、吊销服务与时间戳机制,解决面向服务应用环境中访问请求者的身份认证问题。用户必须使用数字证书证明其身份后才能使用服务,并以此为基础提供单点登录、合作登录、联合认证和全局退出等附加功能;在鉴权方面通过策略描述服务的控制规则,将用户、角色与允许访问的对象进行绑定,实现细粒度的访问控制,将业务细节与策略管理分离,降低了访问安全实现的复杂性。

2.2 消息安全

Web服务可被各种程序和数据存储访问,确保相关信息在生成、传输、处理过程中的安全成为迫切需求。并且在网络中心环境下,复杂的Web服务可能会牵涉到多个动态网络的位置,这些位置有可能被组合为更大的交互场景(例如构成一个服务调用链)。这些位置间可能会以服务化的方式传递敏感信息,因此需要为整个服务访问流程提供端到端的消息安全。

在用户与Web服务与进行通信和信息交互时,在传输层面通过HTTP/SSL技术进行双向传输保护;在消息层使用用XML签名和加密机制确保消息接收者的消息安全,使服务在通信过程中和消息转发过程中确保机密性和完整性。对于服务链的使用场景,除在用户和服务之间建立安全通信隧道外,在所有相关的服务之间也应建立安全通信隧道,从而使参与服务交互流程的所有节点位于安全的通信平面中,确保消息传递的完整性和机密性。

2.3 网络入侵防护

由于Web服务的开放性,必然会导致恶意服务请求的攻击和潜在的安全隐患不断出现。Web服务高峰期大量的XML文档也会增加网络资源的开销,增加访问的延迟时间,未受保护的服务很容易超负荷运转,与传统的二进制通信协议相比,XML最高可以消耗高达50倍的带宽,这不仅会导致交互系统性能下降,而且会为分布式拒绝服务攻击提供可趁之机。在这种情况下,如果没有攻击检测、流量过滤、负载均衡等防护手段,SOA服务将很容易受到此类攻击,服务器被来自黑客的大量SOAP消息所“淹没”,影响服务的正常运行,甚至宕机。

采用消息拦截转发技术,对用户的服务请求和服务器的应答进行检查和验证,针对HTTP应用模式和WEB service的进行网络层和应用层攻击防护,实现SQL注入、跨站脚本攻击、SOAP消息合规性检查、XML攻击安全防护等能力。

2.4 安全监测审计

Web服务的安全审计通过数据的采集、分析、识别,实时动态监测通信内容、行为和流量,发现和捕获各种敏感信息、违规行为,实时报警响应,全面记录Web服务中的各种会话和事件作为审计线索,实现对信息的智能关联分析、评估及安全事件的准确全程跟踪定位,有助于发现安全漏洞、违规操作、欺骗以及试图规避安全措施的行为,从而能够进行服务安全状态的确认。

2.5 服务容灾

通过备份与恢复技术实现系统的高可用性,基于服务的分布式部署、安全性检测和数据、状态的一致性同步机制,为Web服务提供风险评估、异地恢复、容灾运行功能,保障服务环境在遭受人为攻击、自然灾难等情况下的服务连续性,提高系统的生存能力。

3 可迁移服务安全机制

Web服务结构日益复杂,可以预期软件错误和系统风险将进一步增加,同时在面向服务的环境Web服务频繁调用、密集访问和恶意攻击者的持续入侵将对服务交付造成巨大的压力。建立能抵抗恶意攻击、弹性灵活、抗毁顽存的可迁移服务安全机制是保障服务化环境中服务的安全性、可靠性和可用性的重要手段。

3.1 服务节点状态生命周期

Web服务在运行过程中面临各种各样的攻击威胁及风险,受其影响,服务在初始化完成后并不是始终处于受保护的运行状态,根据通常情况下Web服务可能进入的状态及状态间的转移关系,可以构建出服务节点状态生命周期以明确服务安全状态迁移的作用时机。

将服务安全的生命周期以状态机的形式描述。如图1所示,服务在初始化完成后即进入稳定的受保护运行状态,服务节点如未受到攻击破坏,则进行定期维护;在攻击入侵来临时,服务自身的状态检测及安全防护机制发挥作用,在攻击强度未到达防护的阈值范围内时依然对外提供服务,并在攻击因素消除后返回至受保护运行状态;如果攻击强度过大,即将导致服务瘫痪,Web服务出于自我保护的目的,会进入中止状态并向周边运行正常的服务节点发起迁移请求,待迁移完成后重启进入初始化状态;此外,正常运行的服务节点在自身资源允许的情况下,可以接受来自受攻击节点的迁移请求,在完成状态和数据的同步后准备就绪,加载安全防护机制并进入受保护的运行状态。

图1 服务节点生命周期状态转移Fig.1 State transition graph of service node life cycle

3.2 可迁移服务安全功能结构

可迁移服务安全功能结构基于服务安全状态生命周期设计,使服务节点具备可迁移的服务安全防护能力。可迁移服务安全功能结构如图2所示,安全功能位于服务层和业务层之间,由安全防护模块、服务风险检测模块、服务迁移代理模块、服务资源同步模块和安全迁移守护模块构成。

图2 可迁移服务安全功能结构Fig.2 Structure of migration-supported service security function

(1)安全防护模块

安全防护模块实现用户的身份验证、权限判决和攻击检测能力。模块通过对服务交互的内容进行协议解析,获得SOAP请求的具体信息,包括URL、主机名称、用户地址、用户证书和身份信息等,在通过有效性验证和数字签名验证之后,调用服务访问控制策略接口取得相关的访问控制策略,将服务请求者与请求的资源间的访问关系进行判决,如果不符合规则就拒绝服务的调用。在攻击检测方面,模块通过编解码标准化对服务请求内容各种编码格式的数据进行解码处理,转化为可识别数据格式。在解码后,对数据进行攻击检测,通过基于规则的检测方式发现各种有效的服务注入攻击,通过基于会话的检测方式来发现攻击试探行为和DOS攻击行为。

(2)服务风险检测模块

服务风险检测模块实现服务运行安全性、正确性和可用性的监控。通过对服务节点、Web服务运行状态的各项指标数据进行收集和统计,来综合评定服务节点和承载服务面临的安全风险,相关指标包括资源的占用情况、服务响应时间、服务结果的正确性、服务节点遭受到的攻击类型以及攻击程度。在计算得出的服务风险大于一定阈值的情况下,节点将主动发起迁移请求,试图将所承载的所有服务和相关安全防护措施迁移至另一节点上。

(3)服务迁移代理模块

服务迁移代理模块实现服务迁移的发起,服务迁移过程的管理、服务迁移请求的接收等功能。在服务风险检测模块感知服务风险偏高,功能水平已经即将下降至不可接受的程度时,会向服务迁移代理模块发起警告,通知服务迁移。服务迁移代理模块随即向其它各服务节点发起服务迁移请求,并由相关节点的服务迁移代理模块评估处理,在选择一个较优的服务迁移目标后,服务迁移代理模块发起状态数据同步操作,开始节点间资源的传输进程。另外,在迁移完毕后,服务迁移代理模块还必须通知服务管理中心对服务的地址进行重定向,以保证服务提供的连续性。

(4)服务资源同步模块

服务资源同步模块实现节点间服务状态、服务数据等信息的同步,将业务运行状态、暂存变量、配置信息和资源数据等序列化为可以网络传输的格式,在通知接收节点做好数据传输准备后,通过数据流进行服务资源的同步,并于传输完毕后在目标服务节点对数据进行还原、校验,确保服务节点迁移前后服务类型、服务内容、上下文信息的一致性。

(5)安全迁移守护模块

安全迁移守护模块实现服务在迁移发起、资源同步和服务重新上线过程中的主动安全防护,安全迁移守护模块对系统服务的迁移动作保持实时监控,一旦感知到迁移发起,安全迁移守护模块即通过自身机制实现迁移过程的安全增强。包括目标安全防护能力检测、安全参数据协商、资源同步过程过的安全隧道建立、服务迁移后的安全基线扫描和安全策略配置同步等,确保服务在迁移过程中的安全防护能够实现全生命周期的无缝覆盖。

4 服务安全迁移过程

服务安全迁移过程(见图2)由迁移准备、迁移协商、资源同步、服务上线等步骤组成,安全迁移守护进程在迁移过程的关键节点实现安全防护功能。

图3 服务安全迁移过程Fig.3 Secure migration process of service

迁移准备过程:

1)在节点a服务运行过程中,服务风险模块对服务的运行状态进行持续检测。

2)如果风险过高,则向服务迁移代理模块发出告警。

3)服务迁移代理模块寻找可供服务迁移的对端节点。

迁移协商过程:

4)服务迁移代理模块在返回应答请求前,通知安全迁移守护模块进行环境确认。

5)安全迁移守护模块调用服务风险检测模块,检查当前b节点服务的安全状态。

6)服务安全状态满足策略,向服务迁移代理模块返回确认结果。

7)向发起请求的服务迁移代理模块回复。

资源同步过程:

8)在迁移前,安全迁移代理模块拦截资源同步操作。

9)迁出和迁入服务节点的安全迁移代理模块进行资源同步通信安全参数、源节点安全策略等配置的协商。

10)安全迁移守护模块通知服务资源同步模块可以开始状态同步。

11)服务资源同步模块间基于已协商的安全参数,通过安全隧道传输需同步的状态和数据。

12)服务资源同步模块通知服务迁移代理模块同步完成。

服务上线过程:

13)安全迁移守护模块对同步后的节点状态进行检查,配置相应的安全防护参数,使迁入节点的安全防护策略生效。

14)通知迁出节点的服务迁移代理,服务即将停止运行。

5 结语

针对分布式环境中服务全生命周期安全防护的应用需求,提出了一种可迁移的Web服务安全防护方法,将传统web服务安全机制与服务生命周期的可迁移能力结合,不仅能够在服务节点正常运行过程中通过安全防护模块支撑服务的认证、访问控制和攻击检测,而且能够对服务迁移的全过程进行安全增强,实现无缝的安全防护能力,使服务环境在确保安全性的同时不失灵活性,促进面向服务环境下安全体系的不断完善。

[1] 龙兴刚.Web应用的安全现状与防护技术研究[J].通信技术,2013,46(07):63-66.LONG Xing-gang.Security Status and Protection Technology of Web Applications[J].Communications Technology.2013,46(07):63-66.

[2] 夏敏,陈平.Web服务安全关键技术研究综述[J].网络安全技术与应用,2009(03):69-71.XIA Min,CHEN Ping.Review of Key Security Technologies of Web Service[J].Network Security Technology and Applications.2009(03):69-71.

[3] 蔡启申.Web服务在线迁移问题研究与实现[D].山东:山东大学.2012.CAI Qi- sheng.Research and Implementation of Web Service Online Migration[D].Dissertation of Master’s Degree.Shandong University.2012.

[4] 陈世林,王强,曾梦岐,等.Web应用增强安全模型[J].信息安全与通信保密,2011(09):87-89,96.CHEN Shi-ling,WANGQiang,ZENG Meng-qi,QING Yu.A Security-Enhanced Model for Web Applications[J].Information Security and Communications Privacy.2011(09):87-89,96.

猜你喜欢

代理状态节点
CM节点控制在船舶上的应用
基于AutoCAD的门窗节点图快速构建
概念格的一种并行构造算法
状态联想
代理圣诞老人
生命的另一种状态
坚持是成功前的状态
抓住人才培养的关键节点
108名特困生有了“代理妈妈”
胜似妈妈的代理家长