在「Using Facebook Notes to DDoS any website」這篇文章裡提到了利用 Facebook Notes 允許使用者嵌入 <img>
標籤時的特性,利用 Facebook 的 server 進行 DDoS...
在 Notes 一般的 <img>
會被 Facebook 的伺服器 cache 起來,但如果是帶有 query string 的 <img> 就不會 cache (因為不同的 query string 表示不同的 url 是合理的),於是就可以利用這個特性打出超高的流量:
這個問題被 Facebook 認為不是問題,不會也不打算修正...
文章後提到的指令還蠻有趣的,要抓出某個 AS number 有哪些 IP address,可以用這樣的指令抓出來:
whois -h whois.radb.net — '-i origin AS32934' | grep ^route
試著抓了 AS9916 與 AS18185,的確是蠻有趣的東西 XD
不太懂, 請問為什麼不被cache 和作出超多request兩者怎麼聯結關係?
1) FB 上你看得到的圖都是經過 FB server 的 cache/proxy (所以你從來沒有在 timeline 上看到 [X] broken image 或 DNS delay
2) 有 QueryString 的 URL 不 cache, 每次 request 會重新到原來的 server fetch 一次
3) 讀 post 的 request 會令到 FB->server download, 但 attacker 不必用自己的 bandwidth download
4) target server 沒有方法/能力去 trace / block attacker ( you cannot block attack without blocking the whole FB)
5) 所以只要貼上大量 URL 就成了一個 "不太好用的" 放大器
CDN service provider 有能力detect這種DDoS不是嗎...
當然有能力, 但以最簡單的 server admin 的角度用任何工具都"應該",
不用付錢或任何 3rd party dependency 才理想
其實本來只要用 server rule 或 redirect 之類也可以,但那已經是 進一步優化設定而不是"基本"
問題不能能不能 detect&deny, 不在防守方
而是 FB 變成了一個免費的 attacking tool (no paid to zombie network, no virus, no hack on security bug),