Web应用安全依然是互联网安全的最大威胁来源之一,除了传统的网页和APP,API和各种小程序也作为新的流量入口快速崛起,更多的流量入口和更易用的调用方式在提高web应用开发效率的同时也带来了更多和更复杂的安全问题。一方面,传统的SQL注入、XSS、CC攻击等传统攻击手段和各种新爆出的web漏洞无时无刻不在考验着web应用安全方案的健壮性、灵活性和安全团队的快速反应能力,另一方面随着大数据技术和流量产业的成熟,互联网中来自自动化程序的流量占比也在迅速增长,爬虫也随之成为一个不容忽视的存在,伴随而来的数据泄露、流量作弊等问题也为各类业务带来了非常头痛的费用浪费、业务不可用以及各类业务安全类问题。

作为防御Web应用安全的基础设施,Web应用防火墙(WAF)依旧扮演着极其重要的角色,而其中云WAF又具备漏洞响应快、功能迭代迅速、支持弹性扩容、快速容灾等优势。本报告根据阿里云WAF和防爬团队对2019年上半年云上流量的分析情况,为您带来最新的攻击趋势、漏洞应急情况以及一线安全专家的核心观点和防护建议。

报告发现:

1. 90%以上攻击流量来源于扫描器

扫描器往往是攻击者的开路利器,在大规模批量扫描中被嗅探到大量漏洞的web站点更容易成为攻击者下手的对象。通过特征、行为等维度识别并拦截扫描器请求,可以有效降低网站被攻击者盯上的概率,同时有效缓解批量扫描行为带来的负载压力。

从目前的数据来看,拦截的攻击中,扫描器产生的请求数量在90%以上,除去扫描器自动化产生的攻击,剩下的10%手工测试行为,0day,广度低频等攻击则是需要花上90%精力来解决,如图3-1所示。

2. 利用编码绕过防护的行为愈发普遍

随着WAF对网站的防护越来越普及,针对基础web攻防来说,利用诸如MySQL、JavaScript语言特性进行各种编码、变形,从而绕过WAF防护的攻击payload也越来越多,攻防是一个持续对抗升级的过程。根据云上数据显示,当前已有近1/3的攻击数据采用了不同程度或类型的编码、变形手段,以期绕过云盾WAF的防护,其中甚至不乏使用多维度的复合变形、编码手段实施攻击。

云盾WAF新一代引擎架构,支持多种常见HTTP协议数据提交格式全解析:HTTP任意头、Form表单、Multipart、JSON、XML;支持常见编码类型的解码:URL编码、JavaScript Unicode编码、HEX编码、Html实体编码、Java序列化编码、base64编码、UTF-7编码;支持预处理机制:空格压缩、注释删减,向上层多种检测引擎提供更为精细、准确的数据源。

该架构主要特征包括:在准确性上,优化引擎解析HTTP协议能力,支持复杂格式数据环境下的检测能力;抽象复杂格式数据中用户可控部分,降低上层检测逻辑的复杂度,避免过多检测数据导致的误报,降低多倍的误报率;在全面性上,支持多种形式数据编码的自适应解码,避免利用各种编码形式的绕过。

3. IP身份不再可信

IP地址是传统防护中一个非常重要的手段,很多经典的防护手段,如限速、名单、异常行为识别、威胁情报等都是基于IP地址实现的。但随着现在黑灰产对大规模代理IP池,特别是秒拨IP的广泛使用,IP地址已经变得不再可信。同一个IP地址,在10分钟前还被合法用户小白用于浏览A网站,在10分钟后已经被黑产人员小黑用作撞库攻击的代理IP,一个IP背后的身份开始变得极其复杂,黑与白交接的灰色地带比例在迅速扩大,这对于很多传统安全方案(不论是黑名单机制还是白名单机制)都带来了颠覆性的威胁,带来的相应误报和漏报也在迅速增长。

相应的,防护一方也应该做出改变。我们建议在做安全防护方案时,一方面将IP的身份或信誉辅助以其他维度的情报信息或者二次校验手段综合判断;另一方面降低对于IP的依赖,从更多维度去标识一个“客户端”或者“用户”,如设备指纹、业务中打点的token、cookie等等。

获取完整版报告请点击链接:https://files.alicdn.com/tpsservice/3ae3996f0011b95f27a4d07f9804cf87.pdf?.pdf

本文作者:云安全专家

原文链接

本文为云栖社区原创内容,未经允许不得转载。

《2019年上半年Web应用安全报告》发布:90%以上攻击流量来源于扫描器,IP身份不再可信的更多相关文章

  1. 《2019上半年DDoS攻击态势报告》发布:应用层攻击形势依然严峻,海量移动设备成新一代肉鸡

    2019年上半年,阿里云安全团队平均每天帮助用户防御2500余次DDoS攻击,与2018年持平.目前阿里云承载着中国40%网站流量,为全球上百万客户提供基础安全防御.可以说,阿里云上的DDoS攻防态势 ...

  2. TFS Build做Web应用持续集成发布的一个技巧

    由于面向接口编程的关系,许多实现往往是动态注入运行,在一个项目中直接引用实现dll编译是不合理的.通常我们会在Post Build Event中添加一些xcopy命令将运行时才需要的dll复制到输出目 ...

  3. 2019年上半年收集到的AI计算机视觉方向干货文章

    2019年上半年收集到的AI计算机视觉方向干货文章 时光飞逝,一晃上半年快要结束了.对人工智能高度感兴趣的笔者,每天都要看不少人工智能方面的文章,很多是干货文章,受益匪浅,所以整理成这个系列的文章. ...

  4. 2019年上半年收集到的人工智能LSTM干货文章

    2019年上半年收集到的人工智能LSTM干货文章 门控神经网络:LSTM 和 GRU 简要说明 LSTM-CNN-Attention算法系列之一:LSTM提取时间特征 对时间序列分类的LSTM全卷积网 ...

  5. 2019年上半年收集到的人工智能GAN干货文章

    2019年上半年收集到的人工智能GAN干货文章 GAN简介及其常见应用 训练GAN,你应该知道的二三事 了解生成对抗网络(GAN) CosmoGAN:训练GAN,让AI寻找宇宙中的暗物质 关于GAN的 ...

  6. 2019年上半年收集到的人工智能Python编程干货文章

    2019年上半年收集到的人工智能Python编程干货文章 一文了解Python深拷贝与浅拷贝问题 Python广度优先查找和深度优先查找(内附python教程分享) Python基础之函数2 (参数的 ...

  7. 2019年上半年收集到的人工智能AutoML干货文章

    2019年上半年收集到的人工智能AutoML干货文章 自动机器学习简述(AutoML) 谷歌将AutoML应用于Transformer架构,翻译结果飙升,已开源 IBM推出AutoAI,让企业人工智能 ...

  8. Python web在IIS上发布方法和原理

    Python web应用想要发布使用iis发布有两种方式,这篇文章就为大家介绍一下这两种方式的具体实现: 1.配置HttpPlatform程序 HttpPlatform 模块将套接字连接直接传递到独立 ...

  9. 使用Web Deploy自动打包发布

    在内部测试阶段,经常改一点小东西需要更新给测试继续测试.然后就需要频繁的找到对应更改的视图/JS文件,或者是编译的dll文件,再打开测试服务器找到对应站点替换进去,整套流程下来就非常的繁琐费时. 使用 ...

随机推荐

  1. Luogu P2149 [SDOI2009]Elaxia的路线(最短路+记忆化搜索)

    P2149 [SDOI2009]Elaxia的路线 题意 题目描述 最近,\(Elaxia\)和\(w**\)的关系特别好,他们很想整天在一起,但是大学的学习太紧张了,他们必须合理地安排两个人在一起的 ...

  2. SQL中distinct 和 row_number() over() 的区别及用法

    1 前言 在咱们编写 SQL 语句操作数据库中的数据的时候,有可能会遇到一些不太爽的问题,例如对于同一字段拥有相同名称的记录,我们只需要显示一条,但实际上数据库中可能含有多条拥有相同名称的记录,从而在 ...

  3. 矩阵快速幂3 k*n铺方格

    #include <iostream> #include <cstdlib> #include <cstring> #include <queue> # ...

  4. JEECMS8——系列文档

    jeecms8 系列文章地址 https://blog.csdn.net/weixin_37490221/article/details/78652035

  5. 基于PtrFrameLayout实现自定义仿京东下拉刷新控件

    前言 最近基于项目需要,使用PtrFrameLayout框架实现了自定义的下拉刷新控件,大体效果类似于京东APP的下拉刷新动态效果.在这里和大家分享一下具体的思路和需要注意的地方,以便帮助有类似开发和 ...

  6. hdu 1171 (背包或者母函数问题)

    Problem Description Nowadays, we all know that Computer College is the biggest department in HDU. Bu ...

  7. WhaleCTF之web-Find me

    WhaleCTF之web-Find me 前往题目 Where is the flag?这是给我提示吗? 没思路,看看源码,说不定有惊喜 哇,在这里啊,得到flag~ flag:{This_is_s0 ...

  8. ajax返回后台编译时都对,返回error

    首先看看你的dataType:‘json’  类型是否与后台获取的类型一直.特别是json的格式对不对. 第二: 红括号里的有没有加

  9. python 可迭代对象,迭代器,生成器的区别及使用

    可迭代对象 可迭代对象类型:list,dict,tuple,str,set,deque等 如何判断一个对象是否是可迭代对象,可以通过dir()方法看它里面有没有__iter__方法,如果有这个方法就是 ...

  10. mavenjar 一些拉取不下来问题

    http://search.maven.org/这里找相近版本替换试试.拉取不下来是因为官方版本不足或者网络问题.