大数跨境
0
0

【原创】BBD技术控贴吧 | BBD Aegis:大数据时代的安全防护系统

【原创】BBD技术控贴吧 | BBD Aegis:大数据时代的安全防护系统 BBD Data
2018-03-22
1
导读:通过实时爬虫策略,动态生效;通过机器学习的算法模型,自动识别爬虫程序的非法请求。

作者介绍:


张伟,BBD基础架构部经理。曾就职于Oracle,担任Middleware Consultant。曾就职于Alipay,参与过阿里双11核心交易系统的研发。现负责BBD中间件基础设施的建设工作,对企业级中间件、区块链有浓厚的兴趣。当选阿里云最有价值专家。



大数据时代的安全问题


从web1.0到web2.0,再到如今的web3.0,我们已经身处大数据时代,面对海量的数据信息,一方面,我们通过大数据技术来挖掘其潜在的价值,服务于我们的工作和生活,另一方面,我们也在遭受数据被窃取的困境。



在大数据时代,数据逐渐变成一种资产,称之为“数据资产”,借助于算法编程工具,其价值正被逐步放大,数据正成为“兵家必争之地”。谁拥有越多的数据(无论是结构化的还是非结构化的),谁就在这个时代更具有话语权。


获取数据的方式也层出不穷,当前主要是通过编写爬虫程序来进行。爬虫对服务器端的影响也是显而易见的:阻塞的网络的正常流量,使得正常的用户访问受到影响,更重要的是核心数据的泄露,造成严重的后果
暴露在公网上的web应用,都时刻遭受着爬虫程序侵扰的风险。这些爬虫有些是来自于搜索引擎爬虫,如Google, Baidu, Sougou的spider程序,还有一些是来自人为编写的爬虫程序等。


BBD Aegis

大数据时代的数据安全已经成为当今的一个热点话题。基于此,BBD研发了分布式反爬虫系统BBD Aegis。


BBD Aegis的关键字:分布式、实时策略、人工智能



  • 分布式框架:基于BDRF分布式开发框架,底层的服务性能可以按需扩展。


  • 实时策略:配置推动到服务端后,无需重启应用,实时生效。

  • 机器学习:引入智能识别模块,通过人工智能的算法来主动识别爬虫IP,并预警这些IP。


  • 整体架构:



  • 核心架构:



  • 应用特性:



  • 应用部分截图:



  • 自由布局:

接入


1. 低耦合接入方式

    a. 使用RPC调用

    b. 使用http/https调用


2. 无侵入接入方式(Nginx插件)

该方式适合任何web项目,和系统的开发语言无关。并能将非法请求拦截在业务应用更的更上层,推荐使用该方式。

    a. TCP方式

    b. HTTP方式



性能测试


本次性能测试主要为了比较lua http方式和 c tcp方式的差异


1. 测试前提

•  测试涵盖数据请求环节:访问Nginx页面->插件搜集需要传递的数据->传送到服务器进行校验->服务端解析数据后直接返回(均无策略)->插件根据响应结果跳转页面。


  注意:这里服务端并没有策略执行,这里主要对比校验信息收集和解析。和策略本身关系不大,并且策略刷新时,会有一些波动,引起整体的测试结果。


• 压测参数
10线程,每个线程访问10000次。共计10万次测试。


• 测试公平性
因为http方式和tcp方式在服务端存在不同的服务引用,为了保证服务都已经完全加载完毕,减少首次加载引起的波动。所有测试结果都取第二个10万次的结果。


2. 测试结果


•tcp:

请求次数

平均耗时

90%

95%

99%

100000

2ms

3ms

3ms

6ms


• http:

请求次数

平均耗时

90%

95%

99%

100000

6ms

10ms

12ms

18ms


3. 测试结果概述


tcp不会频繁创建连接,使用同一个底层连接进行数据传输。性能上优于http的方式。由上面的测试结果来看:tcp性能上比http高三倍。


总结

BBD Aegis接入超过20+线上应用,同时利用链路追踪工具进行了长期的性能追踪,目前单条防护策略的执行时间为3ms左右,对应用的损耗可以忽略不计。

【声明】内容源于网络
0
0
BBD Data
大数观天下,微言解疑难
内容 748
粉丝 0
BBD Data 大数观天下,微言解疑难
总阅读97
粉丝0
内容748