摘 要:
Web应用防火墙作为东方证券Web类应用系统(包含H5应用)的第一道安全防线,针对应用层攻击进行有效防护,保护Web类应用的安全性。随着业务的发展和云原生技术在应用系统中使用比例的增加,传统硬件或虚拟化的部署模式灵活性不足,无法满足快速变化业务需求。因此需要更加灵活弹性的技术方案。为此东方证券积极探索并建设基于全栈信创云原生环境的Web应用防护系统,为⾏业内的推⼴和实施提供参考。
关键词:云原生、web应用防护、语义分析、未知威胁检测、全栈信创、代码级自主可控、容器化微服务架构、高可用、弹性伸缩动态扩容
概述
(一)项目背景
随着Web类应用逐步成为互联网主流应用,几乎覆盖了日常生产生活的方方面面。与此同时,针对Web类应用的网络攻击与日俱增。据Gartner报告显示,超过80%的网络攻击都发生在应用层。当前所披露的信息系统安全漏洞中有70%以上与Web相关,主要涉及SQL注入攻击(SQLi)、跨站脚本(XSS)、跨站请求伪造(CSRF)、目录遍历、恶意文件包含等。在真实攻击或渗透测试场景中,暴露在互联网上Web应用系统,将直接受到来自互联网的安全攻击。长期以来,证券行业依赖国外品牌的Web应用防火墙(简称WAF)用于应用层防护,缺少自主可控能力。此外,随着Web业务量的激增,主流的硬件透明代理和基于虚拟化的反向代理等部署模式出现性能以及可用性等瓶颈,对业务造成影响。近几年来,云原生的快速发展给行业带来新的机遇,其具备高可用性和容错性,可扩展性,弹性伸缩等特点,可以有效解决传统模式下的各种痛点。
自2019年起,证券行业开始信创工作,证券行业信创涉及券商办公管理系统、一般业务系统及核心业务系统国产化改造、底层硬件替换以及上层应用软件的适配性调整。东方证券股份有限公司作为行业信创先行单位,积极参与信创改造与替换工作,积极探索在国产环境下的建设模式和技术路线,形成了可复制、可推广、有特色的证券行业信息技术应用创新模式。
(二)项目内容
目前东方证券已建设的网络类型可分为经典物理网络、混合云网络。混合云网络由传统的IDC机房、私有云等组成。长期以来,东方证券采用基于虚拟化的反向代理模式部署国际品牌Web应用防火墙,存在部署模式无法适应云原生化趋势、无法满足国产化信创要求和防护能力欠缺等问题。经过实际风险排查,信创区域国产化K8S云原生环境缺乏web应用层防护,面临较大Web安全防护压力。
东方证券积极探索信创环境web应用防护解决方案,出于对东方证券整体Web应用安全防护、安全能力一体化、统一管理等因素考虑,需为未来云原生化架构变迁建设新一代web应用安全防护系统。
图1 信创私有云web应用防护系统整体架构
建设方案
(一)建设目标
深度识别复杂的Web应用攻击,具备识别未知的安全威胁和攻击的能力。 满足全栈信创要求,并且整套系统可部署在东方证券信创私有云环境里。 兼容东方证券混合云各种部署环境,并且支持国产化云原生K8S环境部署。 底层架构具备弹性扩容、水平拓展的先天条件,具备自身高可用的同时,满足未来动态扩容需求。
(二)系统设计原则
Web应用防护系统均满足国家、行业合规规范,结合防护应用场景及特性需求满足以下七项设计原则。
1、自主可控性
响应国家安全可控的政策号召,重点强调安全可控设计原则。系统部署实施均完美适配国产化信创环境,所有核心组件均采用自主研发技术,确保不依赖外部厂商,避免“卡脖子”。
2、技术先进性
在技术选择上,优先考虑采用先进的、可持续发展的技术。例如,选择符合云原生标准的容器化技术,使用微服务架构,以确保系统的灵活性、可维护性和可扩展性。
3、高可用性
确保系统在面对硬件故障、网络故障或其他异常情况时依然能够提供服务。采用全分布式容器化微服务架构,将自身系统各个组件进行模块化部署。当某个组件容器发生故障时,负载均衡会自动将流量转移到其他正常运行的容器上,确保业务的连续性和可用性。
4、低延时性
通过合理的网络架构设计、高效的算法和数据结构、以及适当的硬件资源配置,降低系统的响应时间。采用复用ingress处理流程等技术,减少数据传输延迟。
5、可扩展性
设计系统时充分考虑未来业务变化所带来的扩展需求,确保系统能够方便地水平扩展。通过使用容器化微服务架构,灵活地根据实际需求自动调整容器数量,并在极短时间内完成容器的快速拉起和关闭。
6、方便运维性
采用容器化技术简化应用的部署和管理。使用K8S原生的自动化运维工具,以降低运维成本。引入日志监控、性能监控和异常监控系统,以快速发现和解决问题。
运维人员无需运维庞大复杂的规则库,大大节省人力成本。所有模块功能均可以通过open API进行调取使用,方便集成到自动化安全运营体系中。
7、可管理性
包含运行可管理行和跨区域统管性。提供直观、友好的管理界面,支持可视化的监控和日志查询,以便于可控制系统运行、监视系统状态、威胁感知和闭环。具备合适的安全策略管理工具,以确保系统的安全性。能够跨网络区域对多个区域的检测节点或是管理端进行统一管控、策略下发。支持在线升级或者一键离线升级,方便运维人员及时更新和升级系统组件。
(三)技术选型
本项目从底层基础设施、芯片、操作系统、数据库、K8S容器编排系统进行全栈信创,以下为信创组件示例,后期将不断更新:
信创超融合:安超云、Smart X、深信服
服务器芯片:海光X86、鲲鹏ARM
操作系统:麒麟Kylin V10,统信UOS
数据库:瀚高
容器编排K8S:博云
图2 信创技术架构选型
项目组调研了国内使用比较多的检测技术主要包含规则库型,语义分析型,以及还有自学习型。从上线难度,防护能力和运维成本项目组对比了这三种检测技术的优劣性。
过去东方证券传统IDC机房使用基于虚拟化的反向代理模式部署国际品牌Web应用防火墙是规则库型,存在防护能力不足,且无法应对突发0day威胁。所以本次项目优先采用运维成本较低、防护能力较强的语义分析型。
3、技术选型
项目组对比了两种技术栈:
一种是基于DPDK的kernel-bypass方案,其用户态驱动(PMD)对底层硬件进行适配之后,才能正常工作或达到预期性能。这部分通常依赖上游厂商(如Intel、ARM)和DPDK社区的支持,而且严重依赖如Hyperscan这类由Intel把控的规则引擎为基础,无法实现真正的自主可控。
另一种基于内核态的创新方案,不受制于上游厂商(如Intel、ARM)和社区提供支持。信创OS内核驱动对各类CPU架构和网络设备均提供良好支持,不仅如此,信创硬件供应商自身会提供可靠的内核驱动支持,不容易受到外部的制约。
图3 技术栈对比图
考虑到安全可靠是国产化大趋势的根本核心,本项目最终选择内核态方案,来保障在信创环境安全防护能力100%移植。
本系统在架构设计上充分考虑了云计算特点,将流量转发、威胁检测、流量分析、集中管理平台解耦并组件化,支持容器化分布式部署,预留与云管理平台的各类接口,便于在云环境快速部署,满足东方证券云化架构中各类云服务场景的需求。
另外系统设计之处充分考虑了东方证券信创环境,芯片层面全面适配海光X86芯片和鲲鹏ARM芯片,操作系统层面支持麒麟V10操作系统。
图4 系统架构示意图
本系统核心模块包括网络处理、检测引擎和管理控制三部分组成,分别负责Http/Https流量解析和解码、攻击检测识别和管理控制界面。
1、网络服务模块
网络处理模块负责将接入的Http流量进行解析处理,对编码数据进行深度解码,还原真实访问请求,进而转交检测引擎处理,根据检测引擎反馈结果,对相应请求进行拦截或放行。
网络处理模块采用了先进的协议栈技术,能够支持应用层和网络层的流量处理模式,即可通过代理和链路模式实现对应用流量的接入和解析,能够满足复杂的部署要求。
2、检测引擎模块
检测引擎模块包含核心能力、基础能力、扩展能力三大部分功能,其中语义分析引擎采用了“智能语义分析”技术,不依赖传统规则库实现对Web攻击的检测和防护。
本系统创造性的将“智能语义分析”技术应用于Web安全防护中,通过对Web请求和返回内容进行智能分析,使WAF具备独立判断攻击威胁的能力。智能语义分析算法由词法分析、语法分析、语义分析和威胁模型匹配4步骤组成。
图5 语义分析处理逻辑
系统内置涵盖常用攻击语言的编译器,通过对Payload内容进行深度解码后,按照其语言类型匹配相应语法编译器,进而匹配威胁模型得到威胁评级,阻断或允许访问请求。
威胁模型来自对各类攻击数据的深度学习,对攻击行为特征进行威胁定级,进而建立威胁模型。随着样本数据的增加,威胁模型越来越精准。
与规则匹配型威胁检测方式相比,智能语义分析技术具有准确率高、误报率低的特点,管理者无需维护庞杂的规则库,有效提高了Web防护工作效率。
3、管理控制模块
系统具备良好的人机交互界面,提供防护站点管理、安全策略管理、防护状态监控等业务操作交互功能。管理者无需繁杂的操作手册,即可快速上手操作维护。
采用全开放功能接口,用户可通过API接口实现对系统运行状态、管理配置信息、防护与操作日志等数据和功能实现远程调用,方便快速嵌入用户安全防护体系。
(五)实施方案
1、系统部署
项目组采取稳步推进的部署方式。先在国产化容器编排K8S环境独立部署系统核心组件,将封装好的容器镜像上传到镜像仓库。根据实际环境配置好yaml文件后,只需要使用helm进行自动化部署。
图6 Yaml文件配置示例图
待系统基础服务运转正常后,在ingress-controller嵌入编译t1k.so模块,通过upstream方式,将流量引入到web应用防护系统集群。
图7 Ingress处理流程分解图
图8 嵌入T1K模块示意图
2、性能优化
项目组对系统底层各个容器化模块进行参数微调,来激发系统最大处理性能。通过以下几个方面实现了性能的巨大提升:
优化负载均衡配置,确保请求在不同实例间均匀分配,提高整体系统的吞吐量和响应速度,降低延时。
调整容器存储策略,使用缓存技术存储常用的规则和数据,减少对后端服务的频繁查询,提高响应速度,降低对云资源的访问负担。
引入AI智能语义分析算法,对恶意流量进行更精准的识别,以减轻WAF系统的工作负担,提高性能并减少误报率。
使用云原生的分布式架构,将系统水平扩展,根据需求动态添加实例,提高系统的并发处理能力,保障性能在高负载下的稳定性。
经过性能优化后,99%web应用请求平均检测耗时控制在1ms以内,90%请求平均检测耗时控制在0.5ms以内。
图9 检测耗时统计图
3、容灾设计
充分利用云原生容器化微服务架构,采用负载均衡和自动扩展机制,实现即时流量调度和资源弹性伸缩,提高系统在面对底层硬件故障或异常流量冲击时的稳定性和可用性。实现数据瞬时同步,秒级RPO。
图10 服务自动降级机制
图11 Bypass机制
4、动态扩容
系统会持续监测性能负载状态,如果感知业务流量激增,将自动伸缩日志服务、转发服务、检测服务的Pod,通过纵向扩容,服务性能热升级,增加单服务处理能力。智能化适配业务高峰低谷期流量变化。
图12 自动弹性伸缩机制
(六)系统保障性方案
1、模拟测试
为了保障信创环境云原生web应用防护系统正常上线,在部署实施前应该在模拟测试区域组织各类测试。
兼容性测试。测试系统内部各个组件在东方证券信创云原生K8S环境内交互情况,以及防护系统的T1K嵌入模块跟ingress兼容情况。
功能测试。全面测试系统数据采集、核心组件、基础能力、威胁监控等模块,共覆盖50+子功能模块。
防护能力测试。包括模拟各种攻击场景,如SQL注入、XSS等,通过发送具体的攻击载荷验证WAF的拦截效果。测试中需要涵盖正常流量、大流量攻击、文件上传等特殊场景,并逐步增加并发请求数进行性能测试。利用监控工具实时监测系统的性能和防护效果,并分析生成的详细日志。最终,生成综合报告,评估系统在各方面的防护准确性、性能和可用性,为上线提供充分的测试保障。
性能测试。项目组使用的压力测试工具为Jmeter和Vegeta,并仿照生产环境搭建了一套模拟环境,针对未来可能会上线的业务并发数量进行前置性能模拟测试。
可靠性测试。测试系统不同组件故障情况下系统恢复能力和极端场景是否仍然能正常运转。同时,测试将评估系统在紧急情况下扩展方面的表现,确保系统能够在任何情况下依然能可靠地保护Web应用。
2、灰度上线
为确保系统的平稳上线,项目组进行灰度上线。通过逐步将流量引导至WAF,项目组能够在真实环境中验证其性能、准确性和稳定性,同时最小化潜在影响。初始阶段,将部分业务系统的流量导入WAF,分批次开启功能模块,监控其行为并收集日志数据。
然后逐步扩大接入业务系统数量,确保系统在面对不同负载和攻击场景时表现出色,并且保障业务系统不受影响。
3、应急预案
为了尽量降低信创环境下出现极端情况带来的不良影响。在初次上线前,建立快速响应团队,包括系统管理员、安全专家和网络工程师。对于系统运行和响应延时进行重点监控,若发现系统影响了正常业务,立即通过ingress配置回滚切换流量至原有链路,并迅速识别问题原因。
此外,制定备份和恢复策略保证系统数据的完整性。通过这些措施,最大程度地减少潜在风险,并在出现问题时能够快速、有效地应对,确保信创环境业务的连续性。
项目成果
(一)防护效果代差式提升
基于AI智能语义分析技术,运用无规则智能威胁识别引擎(SkyNet),可摆脱传统规则型检测方法必须已知攻击和漏洞利用方式才能防御的短板,通过内置各类编程语言编译系统,对攻击Payload进行语义分析,识别其真正意图,依靠威胁模型识别其威胁等级,相较于传统的正则防护体系,防护颗粒度大大提升。
已知威胁防护率100%,未知威胁防护率高达70%,实现实战防护效果代差式的提升。有效抵御东方证券面对的各种Web攻击威胁,确保web类关键应用正常稳定运行。
(二)高可用保障业务稳定
采用全分布式容器化微服务架构,将自身系统各个组件进行模块化部署。并使用ingress等云负载均衡组件来分发流量。当某个组件容器发生故障时,负载均衡会自动将流量转移到其他正常运行的容器上,确保业务的连续性和可用性。
业务高峰期,当资源使用接近总资源上限时,部分服务会自动降级,为核心服务提供更多资源,保障业务正常。通过这种弹性高可用的架构,有效地提升了系统的稳定性和可靠性。
(三)动态伸缩秒级启动
得益于底层架构和模块化设计所具备的云原生能力,来实现秒级启动和动态伸缩。东方使用国产化容器编排平台,来管理和调度系统容器的启动和停止。通过预设的规则和策略,可以灵活地根据实际需求自动调整容器数量,并在极短时间内完成容器的快速拉起和关闭。
这种动态伸缩的能力使东方证券能够快速响应业务需求的变化,并有效地利用资源,在流量峰谷状态下,自动伸缩所需资源,提高系统的灵活性和效率。
(四)代码级自主可控
通过基于内核态的技术手段,让系统的正常运转不需要对底层芯片做定向适配,只需要对信创硬件供应商自身提供的可靠内核驱动支持,从而摆脱了Intel、ARM等国外厂商和DPDK等技术社区的技术限制。另外系统所有核心模块源代码均为自主编写,实现了真正意义上代码级的安全可控。
(五)满足合规要求
本系统建设为东方证券业务系统提供专业性的应用层安全防护,帮助用户满足等保测评、《网络安全法》、公安部82号令等行业法规的要求;能够满足安全可控的要求,保证自身从底层硬件到上层应用的安全自主;支持双协议栈技术,同时支持IPv4与IPv6网络协议,能够满足IPv4向IPv6过渡阶段的网络部署需求。
(六)简化日常运维工作
系统界面交互友好,无需维护庞杂的规则库,即可实现站点防护策略配置;具备良好的站点资产管理视角,东方证券可按照自身业务防护需求对于不同业务系统灵活选取防护策略。利用K8s中的用户资源自定义能力,通过gitops工具,将需要被防护的站点一次性下发给K8s的ingress和部署在K8s环境中的WAF,降低人力运维与业务管理成本。
对内,这套web应用防护系统可以与蜜罐、扫描器、集中管理平台等产品联动。对外,依托OpenAPI,可以与运营平台对接0成本融入东方证券安全运营体系。
总结与展望
东方证券作为行业信创先行单位,响应国家大力推进IT软硬件的信息技术应用创新,以自主力量确保信息安全,提升本土信息化竞争力,东方证券安全团队使用信创私有云资源的云原生web应用防护系统实践是响应国家推进国产化政策的成功案例,以“代码级自主可控”的超高标准建设的全栈信创web应用防护体系,为证券行业网络安全的国产化推进做出自己的贡献。有了此次成功的实践经验,东方证券有信心在推动数字化转型和科技自主创新方面实现更大突破。
作者介绍
邬晓磊,东方证券安全总监,喜欢瞎折腾的二十年网络安全从业者。
甄明达,东方证券安全高级工程师,风险永无止境 , 守护需要毅力,拒绝躺平摆烂。
尹振玺,长亭科技金融行业解决方案总监,负责全国金融行业运营。
黄金坤,长亭科技华东区域解决方案专家,负责华东区域大客户运营和解决方案创新。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...