安全宝-WAF在云安全中的应用研究

上传人:蜀歌 文档编号:148767998 上传时间:2020-10-22 格式:PDF 页数:55 大小:2.50MB
返回 下载 相关 举报
安全宝-WAF在云安全中的应用研究_第1页
第1页 / 共55页
安全宝-WAF在云安全中的应用研究_第2页
第2页 / 共55页
安全宝-WAF在云安全中的应用研究_第3页
第3页 / 共55页
安全宝-WAF在云安全中的应用研究_第4页
第4页 / 共55页
安全宝-WAF在云安全中的应用研究_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《安全宝-WAF在云安全中的应用研究》由会员分享,可在线阅读,更多相关《安全宝-WAF在云安全中的应用研究(55页珍藏版)》请在金锄头文库上搜索。

1、 WAF在云安全中的应用研究 石祖文(Safe3) 创新工场-安全宝 纲要 背景介绍 云WAF架构设计 云WAF安全研究 Web攻击案例 Q&A 1.背景介绍 1.1关于安全宝 安全宝是创新工场唯一安全领域的投资项目,它是星 云融创(北京)科技有限公司旗下产品,为“国内第一家 采用零部署的云计算技术一站式解决各种安全问题的高科 技企业。” 1.2大数据时代 每天处理上亿PV 每天过滤TB级访问流量 每天拦截几十万攻击请求 每天分析上万种应用类型 每天遭遇几十种0day攻击 每天同步上千万条配置 DDOS攻击最高峰值流量达70G 1.3 2012年漏洞统计 第三方应用漏洞攻击比例 2.云WAF架

2、构 2.1基础构件 1.深度定制化nginx(目前公认的高并发低RAM占用Web Server) 2.高效luajit处理逻辑(CPU密集型执行效率接近C+,语法 简单) 3.大数据分析hadoop(大数据分析首选) 2.2云WAF架构图 2.3 使用nginx碰到的问题 1.reload加载2万个server配置耗时一分多钟 2.加载2万个server配置占用内存高达2G,如果8核绑定8个 进制则占用系统16G内存 3.只有针对单个url清理缓存的接口,无法支持整站缓存清 理 4.天生不是为加载大量配置而设计,部分结构查找配置效率 低下 2.4 如何解决这些问题 2.4.1 nginx配置动

3、态化 (1)nginx变量机制 2.4 如何解决这些问题 (2)利用nginx变量机制动态修改gzip模块开关示例 2.4 如何解决这些问题 2.4.2 利用Luajit做逻辑层解析配置 (1)Luajit特点:接近C+的执行效率、语法简单易学易用 2.4 如何解决这些问题 (2)Lua动态解析配置并修改gzip模块开关示例 2.4 如何解决这些问题 2.4.3 变量化nginx动态清理缓存 (1)nginx缓存管理 cache manager进程的功能是定期检查缓存,并将过 期的缓存删除; cache loader进程的作用是在启动的时候将磁盘中已 经缓存的个体映射到内存中,然后退出。 在这

4、两个进程的ngx_process_events_and_timers() 函数中,会调用ngx_event_expire_timers()。 ngx_event_timer_rbtree(红黑树)里面按照执行的时间的 先后存放着一系列的事件。每次取执行时间最早的事件, 如果当前时间已经到了应该执行该事件,就会调用事件的 handler。两个进程的handler分别是: ngx_cache_manager_process_handler ngx_cache_loader_process_handler 2.4 如何解决这些问题 (2)Lua动态设置文件缓存时间代码示例,patch nginx的

5、ngx_http_file_cache_valid函数相关代码 2.4 如何解决这些问题 (3)Lua动态清空文件缓存代码示例,patch nginx的 ngx_http_file_cache_read函数相关代码 2.5 nginx动态化配置前后对比 2万server nginx.conf 动态加载 内存占用 2G内存,n系数增长 200M,1+0.1*n系数增长 站点数目 几千个 10万以上 加载时间 1分多钟 2秒钟 稳定性 容易出现reload加载失 败等问题 高效稳定 可扩展性 配置变动后开发周期长 lua扩展,开发周期极短 2.5 nginx动态化配置前后对比 3.云WAF安全研究

6、 3.1 云WAF结构图 细粒度http协议解析引擎 支持各种http请求协 议解析和规范化,并 能够细粒度提取各种 http请求参数,包括 上传文件名、上传内 容等。完全兼容asp、 php、jsp等脚本的 server变量。 程序化规则引擎 WAF规则编程化,每 条规则即一个lua函数。 支持所有lua支持的逻 辑语法,从而更加精 准化、有效化拦截各 种web漏洞。 智能WAF过滤引擎 具备sql语法解析功能 具备0day捕获功能, 具备APT攻击防护能 力有效控制误报率和 漏报率 3.2 HTTP协议解析引擎 3.2.1 碰到的问题 (1)nginx本身提供的机制获取post数据不完整

7、(2)nginx没有提供http具体参数获取功能 3.2 HTTP协议解析引擎 3.2.2 如何对post数据完整过滤 (1)使用ngx_http_read_client_request_body函数 数据保存在r-request_body结构中,遍历获取,代码 分配内存不够,则数据保存在r-request_body- temp_file-file临时文件中,可以直接读取文件内容 3.2 HTTP协议解析引擎 3.2.2 如何对post数据完整过滤 (2)采用nginx类似的filter机制hook ngx_http_read_client_request_body和 ngx_http_do_

8、read_client_request_body等函数流式处理 post body内容 目前nginx提供有以下两个使用示例供参考: 3.2 HTTP协议解析引擎 3.2.3 对post协议进行解析,分离出参数和文件信息,常见 的post协议有以下几种: application/x-www-form-urlencoded multipart/form-data text/xml application/soap+xml application/json 3.2 HTTP协议解析引擎 3.2.4 典型http上传数据包 3.2 HTTP协议解析引擎 3.2.5 对上传包解析出的数据,包括文件名、

9、文件内容、参 数名、参数内容: files:filename:C:UsersadDesktop t.htm,content:!DOCTYP.,params: name:s,value:t1,t2 3.3 程序化规则引擎 3.3.1 传统WAF只支持正则表达式和文件内容匹配规则,难 以应对复杂攻击。安全宝支持lua编程式规则,从而能轻 松编写各种复杂攻击如APT防护规则: 3.3 程序化规则引擎 3.3.2 每一个lua函数就是一条规则,经过luajit编译和内 置缓存,具备和C函数类似的执行效率,同事兼顾灵活性 和易用性: 3.3 程序化规则引擎 3.3.3 WAF规则支持对比: 传统WAF

10、安全宝WAF 匹配逻辑 正则、字符串匹配 所有逻辑(and/while/if) 规则关联 不支持 支持 规则效率 低 高 灵活性 低 高 可扩展性 差 好 3.4 智能WAF过滤引擎 3.4.1 云WAF不同于普通WAF,面对的网站各种各样,而且要 在有限可配置的情况下,最大的程度的保护用户网站,这 就要求WAF具备极高的误报率和极低的漏报率。为此安全 宝专门研发了sql注入智能分析等技术。 3.4 智能WAF过滤引擎 3.4.2 常见的语法分析技术: lex、yacc、flex、bison、ragel、re2c、lemon 各编译器算法参考: http:/www.softpanorama.o

11、rg/Algorithms/ compilers.shtml 解析生成器对比: http:/en.wikipedia.org/wiki/ Comparison_of_parser_generators 3.4 智能WAF过滤引擎 3.4.3 基于sql的特殊性,我们最终选择了sqlite的lemon, sqlite处理流程图: 介绍网址http:/www.sqlite.org/arch.html 3.4 智能WAF过滤引擎 3.4.3 安全宝智能注入分析处理流程图: 3.4 智能WAF过滤引擎 3.4.4 安全宝智能注入分析优势: 传统WAF在处理http数据使用正则表达式存在误报率高和 处理

12、效率低两个问题,例如: +65535x%201+and+union+select+a+from+b 传统WAF规则:(?i:(?:(union(.*?)select(.*?)from) 传统WAF会将整个x参数数据匹配完之后给出sql注入攻击 的结论,而安全宝WAF在语法分析阶段分析前几个字节数 据就认为该sql语法不对,不再进行规则匹配,从而高效 正确的判断此请求非sql注入。 3.4 智能WAF过滤引擎 3.4.5 0day捕获功能: (1)安全宝保护网站众多,类型齐全,具备0day分析所 需的大量数据来源。 (2)构建异常数据神经网络数据分析模型分析异常数据 找出0day攻击 3.4 智

13、能WAF过滤引擎 3.4.6 常见神经网络算法: 参考:http:/en.wikipedia.org/wiki/ Artificial_neural_network 3.4 智能WAF过滤引擎 3.4.7 神经网络算法优缺点: 优点:具备自学习能力,能够处理复杂的问题,广泛应用 于语音识别、数据挖掘、图像识别、人工智能等领域 缺点:需要构造合适的网络模型、需要大量实际数据进行 模拟训练、以目前CPU计算能力往往处理数据比较慢 3.4 智能WAF过滤引擎 3.4.8 安全宝0day捕获模型: 3.4 智能WAF过滤引擎 3.4.9 0day捕获演示: dedecms 修改任意管理员漏洞(exp截

14、图) 漏洞危害:修改管理员用户名密码为spider、admin 捕获特征:GET请求querystring中参数名包含大量中括号, 同时请求参数较多,送入异常分析模型后该特征概率值很 大 异常概率:97% 3.4 智能WAF过滤引擎 3.4.10 如何发现web APT攻击? 黑客入侵一般过程: (1)信息收集:web漏洞扫描、google信息收集、域名邮箱 信息收集 (2)漏洞利用:sql注入、命令执行、上传webshell (3)深入入侵:密码嗅探、系统提权、入侵内网 (4)收尾:窃取敏感信息、攻击破坏、篡改数据 利用规则关联发现APT攻击 sql注入过程: 判断注入点(触发规则23) 3

15、.4 智能WAF过滤引擎 获取数据库名称(触发规则37) +1,database(),3%23 获取表名(触发规则38) +1,table_name,3+from+information_schema.tables +where+table_schema=0 x636D73+limit+0,1 我们将规则23、37、38关联起来,如果一个ip按顺序触发 这些规则,则说明这是一个持续性攻击,然后封禁该ip的 再次访问一段指定时间 3.4 智能WAF过滤引擎 3.4.11 利用规则触发计数拦截web漏洞扫描行为 某扫描攻击访问日志截图: 当一定时间内触发WAF规则达到一定数目我们即认为扫描 器攻击,封锁该ip访问 3.4 普通WAF对比智能WAF 4.Web攻击案例 4.1 Web攻击多元化 雅虎、苹果、facebook等知名公司相继发生数据泄露事件 4.1 Web攻击多元化 参考: 4.2 Web漏洞群体化 Web框架Struts 2漏洞导致苹果开发者网站关停超过一周 4.2 Web漏洞群体化 由于Apache Struts 2框架使用广泛,导致漏

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号