李楠 武漢紡織大學
Android系統(tǒng)的第三方登錄漏洞解決應(yīng)在增加可利用第三方信用值的同時,將第三方參與到控制認證流程中,即利用Android操作系統(tǒng)自身的安全性能作為一個可利用的第三方,然后當惡意應(yīng)用調(diào)用系統(tǒng)函數(shù)的時候就會在Android 系統(tǒng)上保留一定的身份信息,然后Android 系統(tǒng)可以通過惡意應(yīng)用留下的身份信息的API接口進行管理,促使對第三方應(yīng)用的身份認證能力逐漸增強。
Android系統(tǒng)登錄方式主要有Code、Web、SSO三種,現(xiàn)階段Android系統(tǒng)中常用的登錄方式為SSO及Web兩種,因此本文主要針對這兩種登錄過程中的漏洞及應(yīng)對措施進行分析。
Web第三方APP登錄主要依靠相關(guān)平臺的用戶信息及信息傳播能力,用戶在進行第三方APP登錄過程中,除了相關(guān)平臺需要對第三方APP提交的身份信息進行審核,并沒有對第三方APP的信用證書進行有效的判定,同時,用戶在認證過程中一些過于敏感的身份信息就遺留在第三方APP程序中,惡意攻擊者可通過反編譯、逆向工程等方式獲得用戶的隱私信息,[1]從而造成了非法授權(quán)、身份假冒等安全威脅。
SSO第三方APP登錄主要利用互聯(lián)網(wǎng)開發(fā)平臺的豐富的用戶賬號群進行,同時為了進一步促進其第三方APP的開發(fā),在第三方APP中連入了用戶賬號中的訪問接口、權(quán)限。而在第三方APP登錄過程中由于SSO平臺僅僅有主應(yīng)用對用戶所提供的身份信息進行確認,并沒有針對第三方APP進行重復的信息驗證,這就導致用戶的身份信息會直接保留在第三方APP的瀏覽記錄中,從而相當于用戶的信息在APP中公開展示,造成了惡意攻擊及假冒欺騙的風險。
針對SSO、Web等第三方APP登錄過程中出的安全漏洞,可從兩個方面采用以下措施進行解決:
Web登錄方式主要是第三方APP登錄過程中通過身份信息假冒所獲取非法的授權(quán),因此可以使Andorid系統(tǒng)參與到第三方APP的認證過程中,主要是利用Andorid系統(tǒng)的WebView控制軟件增加對第三方APP的認證管理。即利用此軟件創(chuàng)建一個可信任的第三方應(yīng)用,然后調(diào)動WebView中的postUrl函數(shù)向系統(tǒng)發(fā)送應(yīng)用登錄參數(shù)GET請求,如Hash、ID、包名、簽名等,然后主應(yīng)用可通過WebView中第三方APP的各項身份信息與登錄驗證時提交的身份信息進行對比,然后將第三方APP的包名、簽名等身份信息加入到主應(yīng)用的管理對象中,如將第三方APP簽名加入到主應(yīng)用的“package-sig”管理中,最后檢查用戶是否登錄,若用戶未登錄則可在獲取第三方APP權(quán)限的前提下彈出請求用戶登錄的登錄框。
為了解決SSO第三方APP登錄過程中出現(xiàn)的惡意攻擊及假冒身份的安全漏洞,可以通過對主應(yīng)用進行完善,即當主應(yīng)用處理第三方APP登錄問題時,可以借助Android系統(tǒng)的權(quán)限,然后由Android 系統(tǒng)提供API接口,從而詳細收集第三方APP的包名、簽名等文件,同時將這些信息與第三方APP認證時傳入主應(yīng)用的數(shù)據(jù)進行核對其身份信息的正確性,然后從根本上解決第三方惡意應(yīng)用利用假冒包名或簽名獲取認證權(quán)限,從而對用戶使用過程中造成的安全威脅。具體步驟主要是進一步細化第三方SSO登錄方式,即第三方應(yīng)用發(fā)送登錄請求時,然后利用Android系統(tǒng)保留第三方身份信息,同時主應(yīng)用將Android系統(tǒng)提供的getPackagName、getCallingActivity等函數(shù)中獲取第三方應(yīng)用的包名進行查詢,同理主應(yīng)用可獲第三方應(yīng)用的簽名,然后經(jīng)對比核對無誤后才能允許用戶登錄。
總而言之,在Android系統(tǒng)第三方APP登錄過程中,SSO和Web是較為常見的登錄方式,而這兩種登錄方式都存在著一定的安全隱患,如惡意應(yīng)用可通過假冒身份信息非法獲取用戶的隱私信息等,因此針對Android系統(tǒng)第三方APP登錄方式的漏洞,可在借用Android系統(tǒng)這個可信用的第三方的基礎(chǔ)上,針對SSO及Web兩種登錄方式出現(xiàn)的漏洞進行逐一分析,從而加強主應(yīng)用對第三方APP登錄的身份認證管理,促使用戶使用Android系統(tǒng)過程中的安全得到進一步加強。
[1]董超,楊超,馬建峰等.Android系統(tǒng)中第三方登錄漏洞與解決方案[J].計算機學報,2016,39(3):582-594