手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

淺談Android App漏洞

2021-05-17 10:22:40 300

圖1是對某應用市場的Android App產品中近50款應用定期監控的漏洞統計數據分布。


1.jpg

圖1  某應用市場近50款應用漏洞統計數據


一、 敏感信息泄露

敏感信息可分為產品敏感信息和用戶敏感信息兩類。

泄露后直接對企業安全造成重大損失或有助于幫助攻擊者獲取企業內部信息,并可能幫助攻擊者嘗試更多的攻擊路徑的信息,如登錄密碼、后臺登錄及數據庫地址、服務器部署的絕對路徑、內部IP、地址分配規則、網絡拓撲、頁面注釋信息(開發者姓名或工號、程序源代碼)。

用戶隱私保護主要考慮直接通過該數據或結合該數據與其他的信息,可以識別出自然人的信息。一旦發生數據泄露事件,可以被惡意人員利用并獲取不當利潤。

用戶敏感信息是例如在App的開發過程中,為了方便調試,通常會使用log函數輸出一些關鍵流程的信息,這些信息中通常會包含敏感內容,如執行流程、明文的用戶名密碼等,這會讓攻擊者更加容易地了解App內部結構方便破解和攻擊,甚至直接獲取到有價值的敏感信息。

所以要在產品的線上版本中關閉調試接口,禁止輸出敏感信息。

二、Content Provider的SQL注入

在使用Content Provider時,將組件導出,提供了Query接口。由于Query接口傳入的參數直接或間接由接口調用者傳入,攻擊者構造SQL注入語句,造成信息的泄露甚至是應用私有數據的惡意改寫和刪除。

解決方案如下。

1.Provider不需要導出,請將export屬性設置為False。

2.若導出僅為內部通信使用,則設置protectionLevel=Signature。

3.不直接使用傳入的查詢語句用于 projection和selection,使用由 Query 綁定的參數selectionArgs。

4.完備的SQL注入語句檢測邏輯。

三、 利用可調試的App

說到任意調試漏洞,就要提到AndroidManifest.xml,它是每個Android程序中必需的文件。它位于整個項目的根目錄,描述了package中暴露的組件(Activities、Services等)、它們各自的實現類、各種能被處理的數據和啟動位置。除了能聲明程序中的 Activities、ContentProviders、Services和Intent Receivers,還能指定permissions和instrumentation(安全控制和測試)。

而在AndroidManifest.xml文件中,debuggable屬性值被設置為True時(默認為false),該程序可被任意調試,這就產生了任意調試漏洞。

可被動態調試,增加了APK被破解、分析的風險。

目前動態調試器的功能都很強大,如果debuggable屬性為True,則可輕易被調試,通常用于重要代碼邏輯分析、破解付費功能等。

圖2是IDA的調試界面,可以下斷點、單步執行,調試過程中可以看到變量內容,即使沒有Java代碼,反編譯后的Smali代碼也比較容易閱讀,加上動態調試,對App的逆向分析將變得很容易。


2.jpg

圖2  IDA調試界面


四、中間人攻擊

HTTPS 中間人攻擊漏洞的來源有:沒有對 SSL 證書進行校驗、沒有對域名進行校驗、證書頒發機構(Certification Authority)被攻擊導致私鑰泄露等。

實現的X509TrustManager接口的Java代碼片段如下。其中的checkServerTrusted()方法實現為空,即不檢查服務器是否可信。


image.png


五、動態注冊廣播組件暴露風險

Android可以在配置文件中聲明一個Receiver或動態注冊一個Receiver來接收廣播信息,攻擊者假冒App構造廣播發送給被攻擊的Receiver,是被攻擊的App執行某些敏感行為或返回敏感信息等,如果Receiver接收到有害的數據或命令時,可能泄露數據或做一些不當的操作,會造成用戶的信息泄露甚至財產損失。

六、WebView密碼明文保存漏洞

在使用WebView的過程中忽略了WebView setSavePassword,當用戶選擇保存在WebView中輸入的用戶名和密碼,則會被明文保存到應用數據目錄的databases/webview.db中。如果手機被Root就可以獲取明文保存的密碼,造成用戶的個人敏感數據泄露。

七、加密算法漏洞

以下幾種行為會有產生加密算法漏洞的危險。

(1)使用 AES/DES/DESede 加密算法時,如果使用ECB 模式,容易受到攻擊風險,造成信息泄露。

(2)代碼中生成秘鑰時使用明文硬編碼,易被輕易破解。

(3)使用不安全的散列算法(MD5/SHA-1)加密信息,易被破解。

(4)生成的隨機數具有確定性,存在被破解的風險。











提交成功!非常感謝您的反饋,我們會繼續努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: