對黑客而言,掃描開放端口——潛在受害主機上可能存在漏洞的響應式互聯網連接,一直是在目標公司或機構建立橋頭堡的最基本方法之一。然而,在一些流行但極少被研究的App“幫助”下,很多智能手機上也留下了大量的開放端口。這些很少被考慮到的連接,可讓黑客很容易地進入千萬臺安卓設備。
密歇根大學的一組研究員發現,Google Play 中數百個應用有非預期的行為:通過將手機轉變為服務器,讓應用擁有者可以從他們的PC,直接連接安裝了該應用的手機,就像訪問網站或其他互聯網服務一樣。但有數十個這些App會在智能手機上留下不安全的開放端口,讓攻擊者能夠盜取手機聯系人、照片等數據,甚至在手機上安裝惡意軟件。
IEEE安全與隱私歐洲研討會上,密歇根大學研究員賈云涵說道:“安卓繼承了傳統計算機的開放端口功能,很多應用以暴露出漏洞的方式使用開放端口。一旦這些脆弱開放端口App被安裝,你的手機就有可能被攻擊者獲取到完整控制權。”
端口調用
為確定端口問題的范圍,密歇根大學的研究人員打造了名為OPAnalyzer的開放端口分析工具,用于掃描 Google Play 應用商店中約10萬個流行App的代碼。
他們發現,1,632個應用會在智能手機上創建開放端口,大多數是為了讓用戶可以從PC連接應用以發送短信、傳輸文件,或者將手機當做連接互聯網的代理。他們將其中410個識別為可能沒有防護或僅有弱防護,比如能被黑客從代碼中導出的硬編碼口令——用于控制訪問這些開放端口的人。
這其中,研究員們手動分析出57個確認留有開放端口的App,這些開放端口可被同個本地WiFi網絡內的黑客利用,同一設備上的其他App也能利用(甚至只有受限權限都可以),甚至,更糟糕的,受害者刷網頁時瀏覽器里運行的腳本都能利用這些端口。
加州大學河畔分校計算機科學家錢志云稱,這可能還只是部分漏洞。只要手機IP地址公網可見——取決于手機是否接入WiFi以及用戶的運營商,攻擊者便可以從任何地點掃描開放端口,開始攻擊脆弱手機。這種情況下,是完全可以遠程漏洞利用的,樂子絕對大。
在這57個被標識為最無力反抗開放端口攻擊的脆弱App中,有2個特別特別危險。其中一個名為“WiFi文件傳輸”,有超過千萬下載量,能讓用戶通過WiFi連接手機上的某個開放端口,訪問照片、應用數據等手機SD卡上存儲的所有數據。但由于該應用缺乏口令之類身份驗證措施,連上該開放端口的入侵者同樣對這些敏感文件具備完全訪問權。“這是為用戶而設的功能,但因為極差的身份驗證,任何人都跟用戶享有了同樣的權力。”
另一個危險App名為AirDroid,也是擁有千萬級下載量的流行應用,可使用戶在PC上完全控制他們的安卓手機。AirDroid同樣有身份驗證缺陷,惡意入侵可憑該缺陷訪問端口。但AirDroid的案例中,該缺陷僅會導致現有連接被劫持。想要攻擊成行,手機上的惡意軟件必須監聽用戶合法連接的建立嘗試。AirDroid的開發人員在接到漏洞通知后,很快就打上了補丁。
與之相對,WiFi文件傳輸的開發者,即便研究人員聯系了他們,也沒有修復該App的安全問題。該應用背后的公司名為 Smarter Droid,但多次聯系均未回復。
用戶什么都做不了
另外兩個下載量不那么大的應用,PhonePal和 Virtual USB 也存在漏洞,且兩個App的開發公司也均未對評論請求做出響應。
除了這4個App,研究人員的完整論文詳細分析了其他6個應用——大多在中國市場流行,且不同程度扛不住開放端口攻擊。在手機上創建開放端口的1,632個App中,超過一半都有50萬+的下載量。
為測試這些脆弱App的傳播度,他們甚至一度掃描了自家大學的網絡,一掃一個準,幾乎馬上就發現了帶可被黑開放端口的設備。“如此之多的開發者犯了這個錯誤,這已經是個令人擔憂的信號了。研究人員沒檢查的應用肯定還有,未來也會有人創建其他帶有同樣問題的App。”
智能手機App會開啟端口引入漏洞的情況以前也發現過:2015年末,百度發現其開發的一個軟件開發包,會在安裝設備上留下開放端口。其他中國大型科技公司,比如騰訊和奇虎,已經采用了該代碼,實際影響超過1億用戶。百度承認了漏洞存在后,所有受影響App都發布了安全補丁。
很明顯,手機開放端口的問題將持續存在。研究人員建議,開發者在用戶設備上扯開口子的時候三思。用戶什么都做不了,谷歌也不管事兒,開發者必須學會正確使用開放端口。
當然,實際上用戶還是可以做點兒事的:卸載被點名的脆弱App,比如WiFi文件傳輸。你可能會失去隨意在移動設備間傳輸文件的便利,但這么做可以把那些同樣能利用該便利后門的壞人擋在門外。