Memcached DRDoS攻击跟踪与缓解措施
2018-03-09
一. 攻击事件回顾
根据最新的数据统计,由Memcached造成的DDoS攻击流量峰值达到了1.7Tbps。js1996官网登录与中国电信云堤共同对此事进行跟踪分析,短短5天内,全球就发生了79起利用Memcached协议的DDoS反射放大攻击,日攻击总流量最高达到419TBytes,攻击发生的频率从一天十几次到几百次,呈现爆发式增长。
其中,针对我国境内的Memcached反射放大攻击就有68次,江苏、浙江两省被攻击频繁。针对我国境内的攻击,单次攻击最高攻击峰值达505Gbps。攻击持续时间最长的一次发生在3月1日,持续1.2小时,总攻击流量达103.8TBytes。
二. Memcached服务攻击利用
最新研究发现,任何可用于DRDoS攻击的暴露的Memcached服务器也可被用于数据窃取。
Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。提高Web应用的响应速度,Memcached服务器通过开放11211端口供客户端进行访问,然而,一方面由于Memcached 主要作为缓存中间件,缺乏访问控制,另一方面也由于在编译安装时配置了不安全监听IP(如0.0.0.0),若Memcached服务暴露于互联网上且未设置iptables访问控制,攻击者则可轻易利用上述条件发起分布式拒绝服务放大攻击。
目前已经有两个漏洞利用的PoC公布,其中一个PoC使用python语言编写,借助Shodan搜索引擎获取可利用的Memcached服务器,进而利用并针对目标发起攻击。如下图所示。
4.1 Memcached DRDoS攻击缓解
Corero网络安全公司已公开了Memcached DRDoS攻击的缓解措施,被攻击者只要向攻击服务器发回“flush_all”命令即可缓解攻击,Corero的Memcached开发人员建议在循环中执行“flush_all r n”命令,将会缓解放大攻击。
4.2 Memcached服务风险排查
安全产品可针对Memcached的key-value配置进行检测,在Memcached系统被利用成为攻击源之前就进行拦截。检测流程如下:
2. 检测报文是否为set命令,如果是则执行(3),否则结束检测。
3. 检测set命令后面的bytes字段值(如下图中标注的1048501),是否超过设定的阈值,如果是,则可以怀疑该报文存在异常。
• 告警并监控。为了防止被误杀,建议同时监控该Memcached服务器后面的流量变化来进一步判断该服务器是否被用做了反射器。
• 直接丢弃。如果有足够的证据表明该记录是恶意添加的,直接丢弃可以保证服务器不被当做反射器。
自查举例:假设下图是公网的一台Memcached服务器上获取的数据。
4.3 攻击流量清洗
面对如此大规模、大范围的DDoS攻击威胁,所有网络安全节点都应该加强防范,从攻击防护和外发清洗两方面入手,充分保障基础设施和业务流量的安全。针对此攻击,我们提供如下防护建议,技术建议详见报告:
http://7xkk1o.com1.z0.glb.clouddn.com/Memcached-DRDoS-report.pdf
运营商:运营商及IDC处于网络上游,拥有强大的带宽资源,是攻击最直接的受害者,也是防护的第一道屏障。运营商能够灵活控制路由策略和防护策略进行快速过滤。
企业用户:企业用户通常贴近服务终端,熟悉掌握自身业务流量特点,策略配置更加明确,灵活性强。
js1996官网登录拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经js1996官网登录允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。
根据最新的数据统计,由Memcached造成的DDoS攻击流量峰值达到了1.7Tbps。js1996官网登录与中国电信云堤共同对此事进行跟踪分析,短短5天内,全球就发生了79起利用Memcached协议的DDoS反射放大攻击,日攻击总流量最高达到419TBytes,攻击发生的频率从一天十几次到几百次,呈现爆发式增长。
其中,针对我国境内的Memcached反射放大攻击就有68次,江苏、浙江两省被攻击频繁。针对我国境内的攻击,单次攻击最高攻击峰值达505Gbps。攻击持续时间最长的一次发生在3月1日,持续1.2小时,总攻击流量达103.8TBytes。
根据NTI(js1996官网登录威胁情报中心)数据显示,全球有超过10万的Memcached服务器在互联网上开放,给予了攻击者极大的便利,请相关企业重点关注。
二. Memcached服务攻击利用
最新研究发现,任何可用于DRDoS攻击的暴露的Memcached服务器也可被用于数据窃取。
Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。提高Web应用的响应速度,Memcached服务器通过开放11211端口供客户端进行访问,然而,一方面由于Memcached 主要作为缓存中间件,缺乏访问控制,另一方面也由于在编译安装时配置了不安全监听IP(如0.0.0.0),若Memcached服务暴露于互联网上且未设置iptables访问控制,攻击者则可轻易利用上述条件发起分布式拒绝服务放大攻击。
安全公司Corero的研究人员发现,对于未启用身份认证的Memcached服务,其本地网络或主机中缓存的用户数据,均可被攻击者通过诱骗共享的方式窃取。甚至攻击者还可修改数据并将其重新插入缓存中,而无需所有者知晓。
目前已经有两个漏洞利用的PoC公布,其中一个PoC使用python语言编写,借助Shodan搜索引擎获取可利用的Memcached服务器,进而利用并针对目标发起攻击。如下图所示。
4.1 Memcached DRDoS攻击缓解
Corero网络安全公司已公开了Memcached DRDoS攻击的缓解措施,被攻击者只要向攻击服务器发回“flush_all”命令即可缓解攻击,Corero的Memcached开发人员建议在循环中执行“flush_all r n”命令,将会缓解放大攻击。
4.2 Memcached服务风险排查
安全产品可针对Memcached的key-value配置进行检测,在Memcached系统被利用成为攻击源之前就进行拦截。检测流程如下:
2. 检测报文是否为set命令,如果是则执行(3),否则结束检测。
3. 检测set命令后面的bytes字段值(如下图中标注的1048501),是否超过设定的阈值,如果是,则可以怀疑该报文存在异常。
• 告警并监控。为了防止被误杀,建议同时监控该Memcached服务器后面的流量变化来进一步判断该服务器是否被用做了反射器。
• 直接丢弃。如果有足够的证据表明该记录是恶意添加的,直接丢弃可以保证服务器不被当做反射器。
自查举例:假设下图是公网的一台Memcached服务器上获取的数据。
4.3 攻击流量清洗
面对如此大规模、大范围的DDoS攻击威胁,所有网络安全节点都应该加强防范,从攻击防护和外发清洗两方面入手,充分保障基础设施和业务流量的安全。针对此攻击,我们提供如下防护建议,技术建议详见报告:
http://7xkk1o.com1.z0.glb.clouddn.com/Memcached-DRDoS-report.pdf
运营商:运营商及IDC处于网络上游,拥有强大的带宽资源,是攻击最直接的受害者,也是防护的第一道屏障。运营商能够灵活控制路由策略和防护策略进行快速过滤。
企业用户:企业用户通常贴近服务终端,熟悉掌握自身业务流量特点,策略配置更加明确,灵活性强。
声 明
本安全公告仅用来描述可能存在的安全问题,js1996官网登录不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,js1996官网登录以及安全公告作者不为此承担任何责任。js1996官网登录拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经js1996官网登录允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。