一名安全研究人員發現了一個嚴重的漏洞,該漏洞可能使任何 Instagram 帳戶面臨被駭客攻擊的風險,因此獲得了 30,000 美元的獎勵。

繼最近 Facebook 和 Instagram 上發現嚴重帳號接管漏洞的懸賞金額增加之後,印度安全研究員 Laxman Muthiyah 選擇密切關注這項照片共享服務。
正如他在一篇部落格文章中所描述的那樣,Muthiyah 探討了 Instagram 在處理忘記登入憑證的用戶的密碼重置請求時是否存在漏洞。
Mutiyah 發現,當用戶透過 Instagram 的網路介面請求重設密碼時,網站會將重設連結傳送到用戶的電子郵件帳號。

經過幾分鐘的測試,Mutiyah 沒有發現任何漏洞,因此他將注意力轉向智慧型手機用戶如何恢復對其 Instagram 帳戶的存取權。
Mutiyah 發現,Instagram 為被鎖定帳戶的用戶提供了一個選項,要求將一個六位數的安全碼發送到他們的手機號碼或電子郵件帳戶。輸入該密碼後,用戶就可以重新造訪他們的 Instagram 帳戶。
理論上,如果駭客可以輸入六位數的安全代碼,他們就能夠侵入 Instagram 帳戶(並重置密碼,從而鎖定合法所有者。)
現在,如果駭客設法存取目標的電子郵件帳戶,或者透過SIM 卡交換騙局劫持了受害者的手機號碼,那麼密碼就有可能被盜。但 Mutiyah 想知道,如果這兩種方法都行不通,是否還有其他方法可以入侵帳號。
Mutiyah 意識到駭客需要做的就是在 Instagram 接受該代碼的十分鐘內輸入正確的六位數代碼(該代碼可以是 000000 到 999999 之間的任意組合),否則該代碼將會過期。
為了更改 Instagram 帳戶的密碼,需要在十分鐘內輸入最多一百萬個數字。
當然,Facebook 和 Instagram 之類的公司不會袖手旁觀,任由自動化腳本試圖透過暴力破解猜測正確的安全碼。相反,它們會設定速率限制,以檢測是否有多次嘗試通過安全檢查的情況,並減慢後續嘗試的速度——這意味著十分鐘的機會視窗已經失效。
在 Mutiyah 的測試中,他發現當他嘗試猜測 Instagram 帳戶的安全代碼 1000 次時,其中 250 次成功,而隨後的 750 次請求受到速率限制。
然而,經過幾天的測試,研究人員發現,可以透過輪換 IP 位址(換句話說,不使用同一台電腦來強制執行恢復程式碼)並從不同的 IP 位址同時發送來繞過 Instagram 的速率限制機制:
使用多個 IP 發送並發請求讓我能夠發送大量請求,而不會受到限制。我們可以發送的請求數量取決於請求的並發性和我們使用的 IP 數量。此外,我發現程式碼會在 10 分鐘後過期,這增加了攻擊的難度,因此我們需要數千個 IP 來執行攻擊。
Mutiyah 表示,他使用了 1000 台不同的機器和 IP 來實現輕鬆的並發,並在測試中發送了 20 萬個請求。他與 Facebook 和 Instagram 的安全團隊分享了一段YouTube 視頻,演示了此次攻擊的具體操作:https://www.youtube.com/embed/4O9FjTMlHUM?feature=oembed
當然,20 萬個請求還不足以保證輸入正確的恢復密碼以劫持 Instagram 帳戶。
Mutiyah 的調查得出結論,在實際攻擊中,入侵 Instagram 帳戶需要 5000 個 IP 位址。雖然這聽起來很大,但實際上可以輕鬆實現,而且成本很低(Mutiyah 表示,如果使用谷歌或亞馬遜等雲端服務提供商,成本約為 150 美元)。
所有 Instagram 用戶都應該感謝 Laxman Muthiyah 選擇負責任地向 Instagram 安全團隊披露安全漏洞,而不是將其發現出售給網路犯罪分子以牟利。
不難想像,這樣的技術對於許多有興趣入侵 Instagram 帳戶的駭客來說非常有吸引力,他們可能願意支付比 Muthiyah 以漏洞賞金形式獲得的 30,000 美元多得多的錢。
提醒所有網路使用者使用強大、獨特的密碼來更好地保護他們的線上帳戶,並盡可能啟用雙重認證。