《2018年针对互联网缓存和CDN的攻击.pdf》由会员分享,可在线阅读,更多相关《2018年针对互联网缓存和CDN的攻击.pdf(22页珍藏版)》请在三个皮匠报告上搜索。
1、2018/9/121针对互联网缓存和CDN的攻击清华大学-360企业安全集团联合研究中心主任目录 HTTP/HTTPS协议及中间节点 透明缓存的污染攻击 绕过加密协议HTTPS的攻击 针对CDN的拒绝服务攻击 结论2018/9/122HTTP最初的设计与应用场景 HTTP设计之初是端到端的协议 网络只是传输转发的透明管道 没有身份认证、保密性、完整性保护 网络攻击者:假冒、窃听、注入、重放GET/path/urlHTTP/攻击者假冒、窃听、重放、注入HTTPS:认证、加密、完整性 HTTPS:HTTP/SSL 或HTTP/TLS Web 服务器的标识与认证 内容的保密性(Confidentia
2、lity)内容的完整性(Integrity)攻击者2018/9/123中间盒子的兴起 与HTTPS同步发展起来的还有各种中间盒子 HTTP 客户端代理、防病毒软件、广告软件等 服务器端代理、负载均衡设备 透明缓存和CDN服务 协议转换设备,v4-v6CDNIDS/IPSNAT可以通过攻破中间网络窃听通信、注入恶意代码通过攻击中间节点阻止通信目录 HTTP/HTTPS协议及中间节点 透明缓存的污染攻击 绕过加密协议HTTPS的攻击 针对CDN的拒绝服务攻击 结论2018/9/124标准的歧义Cache or ProxiesCDNGET nonhttp:/ Host headers8Downstr
3、eamClientUpstreamGET/HTTP/1.1Host:Host:GET/HTTP/1.1Host:Host:Host:Host:HTTPstandard(HTTP/1.1)RFC 2616(supersededstandard),implicitly requiresrejection.RFC 7230(lateststandard),explicitly requiresrejection.2018/9/125各种主流的HTTP实现9实现实现处理方式处理方式实现实现处理方式处理方式 实现实现处理方式处理方式ServerApacheConcatenateCDNAkamaiFirs
4、tFirewallBitdefenderFirstIISRejectAlibabaFirstESETLastNginxFirstAzureRejectHuaweiFirstTomcatFirstCloudFlareFirstKasperskyFirstTransparentcacheATSFirstCloudFrontFirstOS XConcatenateSquidFirstFastlyRejectPANFirstReverseProxyNginxFirstLevel 3FirstWindowsFirstVarnishRejectTencentLast主流的HTTP实现各不相同几乎所有的实现
5、都不遵守 RFC7230标准规定绝对路径优先,然而现实中10优先选择优先选择不认识的协议不认识的协议RFC 2616Absolute-URI Not specified RFC 7230Absolute-URI Not specified HTTP 标准规定:主流的CDN实现中,大多数实现遵守了RFC 最大的CDN厂商Akamai不遵守,但世界35%流量2018/9/126缓存污染攻击(CCS 2016)NSA.GOVCache/PCDNHTTP Request:GET http:/NSA.GOV/path HTTP/1.1Host:ATTACKER.comMiddle box Confuse
6、d:NSA or ATTACKER?如何攻破 NSA.GOV122018/9/127可能被攻击的场景(上下游组合)13202different combinations thatcouldbe exploited.影响到的产品/系统142018/9/12898%缓存服务器可能受到攻击15 通过购买广告,把Flash 代码展示在世界各地的浏览器上目录 HTTP/HTTPS协议及中间节点 透明缓存的污染攻击 绕过加密协议HTTPS的攻击 针对CDN的拒绝服务攻击 结论2018/9/129CDN已成为互联网重要的基础设施 全球,根据最大的CDN厂商Akamai统计:全球Web流量的15-30%每秒3
7、0T 每天2万亿次交互 200,000服务器、100国家 中国,根据工信部CDN白皮书2014统计 Alexa排名前100:91%,Alexa排名前546:72.5%工作原理:基于域名的重定向User BWebsiteCDNDelegation2018/9/1210银行也在用CDNWhen HTTPS Meets CDN 从两方通信变成了三方通信 我们可以看到前端使用了HTTPS,但是后端呢?UserWebsiteCDNFrontendBackend2018/9/1211HTTPS in CDN的安全问题(Security&Privacy14)UserCDNWebsite后端HTTP或不安全的
8、HTTPS前端HTTPSCDN Provider后端协议CDN77HTTPCDN.NETHTTPCloudFlareHTTPS,not validate certificateIncapsulaHTTPS,not validate certificateCloudFrontHTTPS,not validate CNApple&Akamai 受攻击事件,2014/4/15 2018/9/1212来自工业界的反馈 Akamai/CloudFlare/Amazon等积极反馈 CloudFlare在1个月内推出Strict SSL服务http:/ 会话1TLS 会话2TLS 会话3CA2CA32018
9、/9/1214目录 HTTP/HTTPS协议及中间节点 透明缓存的污染攻击 绕过加密协议HTTPS的攻击 针对CDN的拒绝服务攻击 结论CDN的功能28 分担负载、降低延迟 安全过滤(WAF),提高可用性(anti-DDoS)ClientWebsiteCDN2018/9/1215CDN的功能29 分担负载、降低延迟 安全过滤(WAF),提高可用性(anti-DDoS)ClientAttackerWebsiteCDNCDN的功能30 分担负载、降低延迟 安全过滤(WAF),提高可用性(anti-DDoS)CDN 本身也是可以被攻击的ClientAttackerWebsiteCDN2018/9/1
10、216正常的CDN转发流程31POST/Host:POST/Host:CDNAClientWebsite D-D正常用户用户控制着CDN转发规则转发循环攻击的概念32POST/Host:CDN ACDN BCDN CPOSTPOSTPOST-B-C-AAttacker恶意用户Malicious customers can manipulate forwarding rules to create loopAmplification-consume resource-potentially DoS2018/9/1217受到影响的CDN厂商BaiduCDN内部采用的循环检测机制34Current
11、DefensesUse headers to tag processed requests Attacker countermeasureExtends forwarding loops across multiple CDNsCDNA2CDNA3POST/Host:Header:Loop-Detection-Tag Authority DNS-AttackerPOST/Host:IP ofA2CDN A12018/9/1218CDN内部采用的循环检测机制35Current DefensesUse headers to tag processed requests Attacker count
12、ermeasureExtends forwarding loops across multiple CDNsCDNA2CDNA3POST/Host:Header:Loop-Detection-Tag Authority DNS-AttackerPOST/Host:IP ofA2CDN A1不同厂商用于循环检测的Header是不一样的36RFC 7230 recommends to use Via header for loop detectionCDN ProviderLoop Detection HeaderCDNProviderLoop Detection HeaderAkamaiAkam
13、ai-Origin-HopCloudFlareX-Forwarded-ForCF-Connecting-IPAlibabaViaCloudFrontViaAzure(China)FastlyFastly-FFBaiduX-Forwarded-ForCF-Connecting-IPIncapsulaIncap-Proxy-IDCDN77KeyCDNCDNlionLevel3ViaCDN.netMaxCDNCDNsunTencentX-Daa-Tunnel2018/9/1219如何绕过CDN的循环检测37 Chain loop-aware CDNs to other CDNs that can b
14、e abused to disrupt loop-detection headers Abusive features provided by CDNs:CDN ProviderResetFilterCDN77ViaCDNlionViaCDN.netViaCDNsunViaFastlyNo-self-definedMaxCDNAny跨多个CDN厂商的循环38POST/Host:CloudFrontAkamaiMaxCDNPOST/Host:Via:1.1 abcd(CloudFront)POST/Host:Via:1.1 abcd(CloudFront)Akamai-Origin-Hop:1P
15、OST/Host:Via:1.1 abcd(CloudFront)Akamai-Origin-Hop:1Filter rules:1.Remove Via2.Remove Akamai-Origin-HopAttacker2018/9/1220大坝攻击(Dam Flooding):streaming 中增加响应39Attackers website DCDN ACDN BCDN CAuthority DNS-A-C-POSTPOSTAttackerIP of BIP ofD增加gzip炸弹增强Streaming的效果40Attackers websiteCDN ACDN BCDN CAutho
16、rity DNS-A-C-POST/Host:Accept-Encoding:identityGzip bombUnzip3 CDNs can be used to uncompress gzip bombsTotal Amplification Factor=Loop Amplification*Gzip Bomb Amplification(1000)Attacker2018/9/122141我们相信你们所指出的攻击是对CDN和整个Internet的严重威胁,你们能否协调不同CDN的交流和沟通总结与思考42 由于中间盒子的存在,增大了攻击面 互联网标准实现问题 兼容性和安全性的矛盾 IETF标准的制定和实施过程:并非强制 单个厂商IETF标准的实现:non-compliant 不同厂商之间标准实现的不一致:inconsistent 没有协调的系统,可能产生很多安全问题 我们不知道自己已经在火山口上 各厂商之间如何建立协调机制,有待社会各方面的努力2018/9/1222谢谢