天天看點

淺析CDN安全

目前CDN技術到處可見。像網宿、藍訊、加速樂等都依靠CDN過活,連安全寶也都使用了CDN技術,當然很多域名空間商現在也提供CDN服務。從以往網際網路的發展上看,CDN是個趨勢,很多廠商也都多多少少購買了商業化的CDN資源,比如360、騰訊、百度、新浪等等等,當然大部分流量還是走自建的CDN網絡。      

本文筆者站從安全的角度出發,對CDN技術進剖析,揭開廠商使用CDN技術的風險、分析了黑客及黑産新的攻擊方向。

實際上隻要對CDN的工作流程有一定了解,并能夠對資料封包的流向比較清楚,就能夠擷取其風險點了,在文中筆者隻對動态頁面的請求流程做讨論(靜态頁面一般不回源),至于靜态頁大部分由節點的webcache直接傳回,一般不含敏感資訊(cookie實際上是敏感資訊),是以不做讨論。

一.CDN工作流程如下圖:

淺析CDN安全

1.管理者或者站長将域名的DNS指向CDN廠商的DNS上(當然,根據選擇不同也有可能使用CName方式,但都不影響資料流的流向)。

2.使用者需要登入站點,請求DNS以便獲得伺服器IP(此處最終請求的DNS伺服器為CDN廠商的DNS)

3.CDN廠商收到DNS查詢請求及各種資訊,通過各種算法選擇一個離使用者最近的節點,将該節點的IP 1.1.1.1作為伺服器IP傳回給使用者(此處CDN廠商告訴使用者一個假的伺服器IP)

4.使用者收到DNS響應,将HTTP請求(該處為登入請求,請求封包包含使用者密碼)發給1.1.1.1

5.CDN節點接收到請求包判斷請求封包是否是動态頁面,如果是靜态則檢視webcache,存在緩存直接傳回緩存頁面。如果是動态頁面請求或者沒有緩存的靜态頁面,節點則直接請求真實源,以便擷取最新的内容。(注:此處對于動态頁面的請求一般每次都會做回源操作)

6.接着就是伺服器響應請求,此處不做讨論

二.CDN的軟肋

由上圖可知,對于網站的請求封包都會經過CDN廠商的節點(不做特殊操作的情況下)。是以安全隐患全都集中在了CDN廠商的節點上。一般一個節點會提供N多個網站的加速。不管是360、騰訊、百度還是新浪,隻要使用了商業化的CDN,就相當于孤注一擲,将自己的部分安全交給CDN廠商。

一旦攻擊者控制了CDN廠商節點就可以輕易的進行抓包并分析。對于CDN廠商來說,畢竟不是專業的安全公司,是以在防護方面肯定會有所不足CDN廠商節點遍布全國,數量衆

多,很難保證每個節點的安全性(再不行可試下ARP欺騙,從同段IP搞起)

三.從CDN看黑産動向

1.以往攻擊者對目标發起攻擊都會先對目标IP進行掃描和檢測,但由于CDN的存在,很多攻擊者無法直接擷取到源IP,是以轉而對CDN節點發起攻擊,一旦攻陷節點,那拿到站點權限就是遲早的事情,另外在這個資訊發達的時代一般都是買一送多,大資料時代,一個結點的網站夠撐死你了。目測接下來對CDN節點的攻擊會成為黑色産業鍊的熱門話題(估計已經很熱了,隻是我不知道)

2.CDN廠商實際上可以成為黑産的大資料提供商,對于應用軟體你可以本地分析看是否在背景偷偷上傳資料,對于CDN你能麼,筆者建議少用免費的CDN服務,除非你已經麻木了,或者你做了特殊的手段。

3.大型企業會增加對自建CDN的安全維護成本,同時攻擊者會将大部分時間放在對企業CDN網絡的攻擊上

四.由CDN到DNS劫持(隻寫思路,後面補上技術文檔)

百度經常被黑、某黑闊站點又被hellen幹掉了、XXX也被整了。到頭來都是DNS劫持。難道DNS劫持就隻能換個頁面?或隻能讓使用者通路惡意站點?看了CDN的工作原理,結合APT攻擊。長時間盯着就OK了。某天的某一時刻,某人說能控制某域名的DNS解析,問怎麼利用。估計看了前面原理的人都想到了如何進一步利用DNS劫持了,筆者在這裡發表幾個個人的方法,僅供參考。

1.搭建小型CDN網絡,一個節點、一個自己的域名、一個自己搭建的DNS伺服器。修改域名DNS指向自己搭建的DNS,進而将站點的通路流量全部牽引到自己的節點上,在自己節點裝抓包軟體(如何搭建CDN網絡可以找找相關資料)

2.搭建中轉伺服器(代理伺服器),将域名解析到自己的伺服器上,由攻擊者的伺服器進行中轉(實際上利用本地的HOST及某些資料轉發軟體就可以實作)。這個比上面一點好多了,少了個DNS伺服器。

3.完全利用HTTP協定,寫個PHP腳本,對接收到的封包進行轉發,當然筆者在這邊通過測試,該方法效率不高,剛開始忘記cookie的處理,導緻使用者無法登入,後面對cookie進行了處理後成功轉發,但缺點是“速度像蝸牛”!

五.留給後面的大牛補充………

開發:no code you say G JB逆向:no 0day you say G JB腳本小子:no kits you say G JB黑産:no data you say G JB娛樂圈:no picture you say G JB      

繼續閱讀