在線電話的用戶經常難以分辨哪些號碼是要收費的,一位研究人員便從中發現,可利用谷歌、微軟和Instagram的在線電話驗證系統賺取百萬美元。
很多網站和手機應用都允許用戶將手機號關聯到賬號上。這可以用作雙因子身份驗證或賬號恢復和驗證的措施。很多此類系統都依賴于通過手機短信發送的驗證碼,但也提供呼叫用戶提供驗證碼的方式。
去年,名為阿恩·斯文頓的比利時IT安全顧問開始好奇,此類系統會不會測試用戶輸入的號碼是否附帶額外收費呢?于是,他對幾個流行服務進行了測試。
他在9月先對Instagram進行了測試,很快便發現,如果通過短信發送的Instagram安全驗證碼沒在3分鐘內輸入的話,該服務便會撥打用戶提供的收費號碼。他還發現了觸發此類Instagram呼叫的方法。Instagram會通過一個API(應用編程接口)每隔30秒從加州拔出持續17秒的呼叫。
斯文頓設置了一個每分鐘收費0.06英鎊的號碼,通過濫用Instagram的系統,成功在17分鐘內轉到了1英鎊。通過注冊多個號碼和Instagram賬號,還可自動化該攻擊方式,每天賺取數千英鎊。
擁有的Instagram的Facebook起先還告訴斯文頓,說這不是漏洞,只是Instagram服務方式的一部分。該公司稱,該服務會監測并封鎖濫用嘗試,這些混過監測的呼叫是可承受的風險。
之后,Facebook對某些呼叫限制進行了微調,修改了其帶外呼叫服務,并決定獎勵斯文頓2000美元的漏洞獎金。
2月,該研究員向谷歌通報了類似的攻擊。谷歌基于電話的雙因子驗證服務同樣對濫用毫不設防,盡管濫用方法稍微有點麻煩。
斯文頓曾計算過,僅僅1個谷歌賬號+1個收費號碼,他就能在1天內偷走12歐元。注冊多個賬號和多個收費號碼,自然可以倍增收入。
谷歌響應稱,該漏洞緩解措施是存在的,只是因為電信業工作方式的關系,不可能全面封禁此類濫用。
微軟的 Office 365 試用注冊也要求電話驗證,這是最容易被濫用的。斯文頓找到了兩種方法來規避網站現有的呼叫頻率限制,理論上可以每天向同一個收費號碼撥打1300萬次以上。
另外,該服務還允許并發呼叫,每通呼叫持續23秒鐘。只需要一個每分鐘收費0.15歐的號碼,斯文頓便能在1分鐘之內賺到1歐。
微軟稱,該漏洞實際影響到的,是公司呼叫服務使用的第三方合作伙伴。盡管如此,該廠商還是決定獎勵500美元,并努力修復該問題。
雖然Instagram、谷歌和微軟都消解了此類攻擊,其他在線服務和應用仍有許多存在此類漏洞。斯文頓的研究已于7月15日發布了博客文章里,重點指出,無論公司還是消費者,都非常難以區分普通號碼和收費號碼。