赛博坦构建一站式态势感知搜索中台的实践(上)

安全分析 精帖
收藏
1 1619
Sunny912
Ethan 未认证 2019-07-18 15:12:31
付费话题:0 积分

        提高软件开发的复用度是IT领域的一个基础问题,“中台”思想的提出本质上也是为了解决这个问题,关于中台的讨论一度火热,这算是有一定中国特色的IT名词。尤其是ToB市场,用户启动“中台”战略的想法往往更为迫切,前两年移动行业提出“安全大数据中心”的建设本质上就是一种“中台”思想。实践发现,“中台”战略是有效的技术模式,中台提供完备的通用能力、定制能力,持续完善领域技术沉淀能力;中台提供了灵活的可定制业务框架, 使得业务可以聚焦业务特有逻辑的开发;中台还提供了可以复用的业务组件, 使得业务可以通过配置化来复用优秀的中台能力。 

        在某国家级企业安全态势感知项目中,赛博坦套件开发系统遇到了建设态势感知数据搜索中台的需求,基于赛博坦Arkbase分布式数据系统(底层基于Elasticsearch)、赛博坦分布式采集器系统和数据治理、事件分析、安全分析仪表板三项应用套件我们为用户在较短时间了构建了符合用户要求的搜索中台,并经受了海量数据的长时间考验,得到了用户和相关合作厂商的认可。该态势感知搜索中台有超过70+的Elasticsearch实例,支持超400个字段维度的超复杂安全事件模型,千亿级安全事件数据规模,PB级数据存储,峰值流量超10万EPS,为多个业务系统提供秒级的态势数据检索与可视化分析服务。如下图,在线运行环境中10天的数据规模达到了1045亿。 


        态势感知搜索中台有着丰富的应用场景: 

       1) 全文检索,提供即席搜索功能,支持输入关键字搜索,从海量事件原始信息中获取与关键字匹配或部分匹配的所有事件 

       2) 字段搜索,可以针对范式化后的结构化事件进行基于特定字段及其组合的事件搜索,建立搜索规则的时候支持引用过滤器 

       3) 策略化检索,用户可自定义事件搜索条件,并可保存为策略,以树形结构进行组织,形成一个搜索分析策略树 

       4) 事件统计,对海量安全事件进行全面的统计分析,具备多种统计分析手段,至少包括事件统计图、饼状图、折线图、堆积图、拓扑图等等 

       5) 事件调查,对事件依据其源目的IP和端口等各类字段信息进行深入的事件追踪调查,支持无限次数的追踪调查 

       6) 透视调查,以图形化的方式展示日志属性之间的聚合关系,显示多维事件分析图 

       7) 数据微服务,提供丰富的数据检索接口,其他系统也可以直接嵌入搜索中台的各种可视化仪表板 

        如何构建这样一个性能超强、功能完备的态势感知搜索中台呢?众所周知,大型互联企业往往具备超大规模的大数据平台或者搜索平台,有人会揣测:人家互联网那么大规模都支撑了,你们ToB市场的数据规模要小,互联网公司如果做ToB规模的事肯定是小菜一碟 。实际上,ToB场景下的数据中台构建和互联网企业数据中台的构建遇到的难题往往是不同的。互联网公司构建数据中台有一个关键词是“专”——专项业务,专一客户(即本公司),专门的运维团队(往往规模较大),甚至是专门的硬件,因此他们针对大数据组件的调校是针对性非常强的,互联网公司建设数据中台的预算也是非常大。而ToB市场用户业务和要求各不相同,基础设施环境各不相同,往往都没有复杂数据平台运维经验,而预算是非常有限的。因此想把互联网公司数据中台建设的思路照搬到企业数据中台建设是不可行的。 

        在构建态势感知搜索中台的过程中,基于Elasticsearch的Arkbase分布式数据系统是核心的分布式数据支撑平台,Elasticsearch也是本系统中唯一使用的开源大数据组件。Arkbase基于Elasticsearch进行多项开发与封装,提供多种专项优化,提升了ES其针对安全数据的处理性能;提供集群监控工具,增强了ES的可管理性;细化ES数据权限控制,提供API和SQL接口,增强数据使用和控制能力;基于赛博坦智能安全分析引擎增加针对ES集群的安全监测规则,确保集群的安全性。同时,我们将Arkbase沉淀到标准的Docker镜像中,实施部署成本更低。 

        Arkbase作为强大的安全分析专项分布式数据系统,其对Elasticsearch进行专项优化的一个重要基础是赛博坦套件平台实现了强大且灵活的数据治理能力。基于多年的SOC与态势感知平台实践经验和对安全管理与分析业务的深刻理解,赛博坦套件平台对各类安全元数据进行模型构建与治理。基于安全业务理解和精确的安全元数据管理,Arkbase对Elasticsearch的针对性优化才得以施行,这样的优化包括管理级、配置级和业务级。部分厂商喜欢以自己有能力改动Elasticsearch源码而自豪,认为不改一些Elasticsearch的源码好像就用不好Elasticsearch。而赛博坦平台的态度是尽量不要改动Elasticsearch的源码,而应从对自身业务的深刻理解角度对Elasticsearch进行合理的管理、配置和有效使用。众所周知,Elasticsearch社区极为活跃,版本发布频发,一些超级大厂可能具备足够的资源对Elasticsearch进行适当改进,而且这个改进的进度和效果会超过Elastic公司自身对Elasticsearch的改进才会有价值。一般的厂商如果这样做,能够对Elasticsearch本身进行改进的效果未可说,但是肯定会阻碍对Elasticsearch新版本的使用,这样反而得不偿失。 

        具体的,我们可以看一下Arkbase针对Elasticsearch的部分基础优化手段: 

       1) 针对master任务处理流程进行专项优化; 

       2) ES单节点挂在多磁盘情况下索引shard的分配处理; 

       3) 针对安全日志对ES配置进行设置与管控; 

       4) 针对安全日志分析业务特性,对资源耗散点做了优化,降低存储成本 

       5) 对冷热数据进行索引分级存储 

       6) 去掉_all索引,节省存储空间 

       7) 基于元数据模型进行动态索引建立 

       8) 事件范化字段与原始日志的索引、存储优化 

       9) 翻页查询业务的多阶段处理机制,保证快速交互与全数据分析 

      10) …… 

        再回过头来,我们看看赛博坦灵活的数据治理能力,在本项目中,用户总计使用了超过400个字段作为安全事件数据模块,这样的数据适配只需要在界面上进行配置即可,无需代码开发。数据模型的操作界面如下图:


        这一写就太长了,后面还有几个议题:赛博坦分布式采集器系统及其与Arkbase的配合,事件分析套件、安全分析仪表板套件,就放在下半部分再聊。


回帖