天天看點

APP安全性測試

一、前言

在 SDK 最近的項目中上線的包被第三方防毒軟體報出有病毒的問題,後來經過查 驗發現是SDK懸浮窗動畫的邏輯被檢驗出有病毒,最後進行了修改。事情雖然解決了,但是引起該問題的一個原因是在測試中沒有安全測試,而安全測試的标準,方法都沒有。是以今天将之前工作中參與過的安全測試以及從網上查閱到有關安全測試的資料 進行整理。有不足的之處,盡情諒解。

二、軟體權限

1)扣費風險:浏覽網頁,下載下傳,等情況下是否會扣費,一般在遊戲APP,和社交APP等需要考慮這些。

2)隐私洩露風險。例如在我們安裝APP應用時通常會看到“xx要讀取手機通訊 錄”等提示,這些提示可以提示使用者拒絕接受,這些是APP測試中的測試點。

3)校驗 input輸入。對于APP有輸入框的要對輸入的資訊進行校驗,比如密碼不能顯示明文。在測試中紅人館注冊時需要對input進行測試。

4)限制/允許使用手機功能接人網際網路,收發資訊,啟動應用程式,手機拍照或者 錄音,讀寫使用者資料。這個在通信行業用的比較多,比如展訊,高通等晶片廠商,他們 在出廠晶片時要對手機各個功能進行測試。

三、代碼安全性

之是以單獨拿出來說,是因為在 SDK測試過程中SDK代碼被第三方工具檢測出遊病毒代碼,這樣一來就會影響輸入法的使用。是以在後續測試中要嘗試加入安全性測 試。

四、安裝與解除安裝安全性

1)應用程式應能正确安裝到裝置驅動程式上

2)能夠在安裝裝置驅動程式上找到應用程式的相應圖示。在SDK測試項目中發現 有些裝置受權限的問題,無法下發圖示建立快鍊。

3)是否包含數字簽名資訊。在 SDK 測試項目中基本上沒有,但是在輸入法打包和 主線版本上存在這樣的測試。

4)安裝路徑應能指定

5)沒有使用者的允許應用程式不能預先設定自動啟動

6)解除安裝是否安全,其安裝進去的檔案是否全部解除安裝

7)解除安裝使用者使用過程中産生的檔案是否有提示

8)其修改的配置資訊是否複原

9)解除安裝是否影響其他軟體的功能

10)解除安裝應該移除所有的檔案

11)安裝包的存放。在 SDK下載下傳安裝包的測試中我們經常會看到下載下傳下來的包後 面有四個随機的字元串,這個的目的是為了防止第三方工具惡意删除安裝包的問題。

在 SDK 測試項目中有專門針對下載下傳安裝解除安裝的用例,對安裝的路徑和下載下傳的檔案 夾路徑等有相關的測試,測試結果頁表明,某些手機(例如華為mate1)在删除了某個下載下傳路徑檔案夾之後受權限應用不會自動建立。

五、資料安全性

1) 當将密碼或其他的敏感資料輸人到應用程式時,其不會被儲存在裝置中,同時密碼也不會被解碼

2) 輸人的密碼将不以明文形式進行顯示

3) 密碼,信用卡明細,或其他的敏感資料将不被儲存在它們預輸人的位置上

4)不同的應用程式的個人身份證或密碼長度必需至少在4一8 個數字長度之間

5) 當應用程式處理信用卡明細,或其他的敏感資料時,不以明文形式将資料寫到其它單獨的檔案或者臨時檔案中。以防止應用程式異常終止而又沒有删除它的臨時檔案,檔案可能遭受人侵者的襲擊,然後讀取這些資料資訊。

6) 當将敏感資料輸人到應用程式時,其不會被儲存在裝置中

7) 備份應該加密,恢複資料應考慮恢複過程的異常通訊中斷等,資料恢複後再使用前應該經過校驗

8) 應用程式應考慮系統或者虛拟機器産生的使用者提示資訊或安全警告

9) 應用程式不能忽略系統或者虛拟機器産生的使用者提示資訊或安全警告,更不能在安全警告顯示前,利用顯示誤導資訊欺騙使用者,應用程式不應該模拟進行安 全警告誤導使用者

10) 在資料删除之前,應用程式應當通知使用者或者應用程式提供一個“取消”指令 的操作

11) “取消”指令操作能夠按照設計要求實作其功能

12) 應用程式應當能夠處理當不允許應用軟體連接配接到個人資訊管理的情況

13) 當進行讀或寫使用者資訊操作時,應用程式将會向使用者發送一個操作錯誤的提示資訊

14) 在沒有使用者明确許可的前提下不損壞删除個人資訊管理應用程式中的任何内容

15) 應用程式讀和寫資料正确。

16) 應用程式應當有異常保護。

17) 如果資料庫中重要的資料正要被重寫,應及時告知使用者

18) 能合理地處理出現的錯誤

19) 意外情況下應提示使用者

20) HTTP、HTTPS覆寫測試。在測試中我們經常會遇到與請求的加密解密測試, 以確定産品的安全性。

六、角色管理 角色管理也屬于軟體權限的一種,之是以單獨拿出來是因為角色管理是web端測試

中一個非常重要的測試點,尤其是對于一些軍工産品,對角色管理的要求很嚴格。在venus的裝置管理系統上就缺乏這樣的角色管理的限制,比如借出的手機任何人都可以歸還等細節(之前在測試裝置管理系統時已經以bug的方式送出),如果有惡意破壞者 那麼資料将被整亂。

七、通訊安全

1)在運作其軟體過程中,如果有來電、SMS、EMS、MMS、藍牙、紅外等通訊或 充電時,是否能暫停程式,優先處理通信,并在處理完畢後能正常恢複軟體,繼續其原 來的功能

2)當創立連接配接時,應用程式能夠處理因為網絡連接配接中斷,進而告訴使用者連接配接中斷 的情況

3)應能處理通訊延時或中斷

4)應用程式将保持工作到通訊逾時,進而發送給使用者一個錯誤資訊訓示有連接配接錯誤

5)應能處理網絡異常和及時将異常情況通報使用者

6)應用程式關閉或網絡連接配接不再使用時應及時關閉)斷開 

八、人機接口安全性

在實際場景中,使用者的行為操作是不固定的,是以我們要盡可能多的去想一寫場景。

1)異常下載下傳。異常下載下傳指的同時下載下傳多個apk。下載下傳不同安裝包程式,比如在之前的mini浏覽器中,下載下傳exe檔案會導緻程式崩潰;在發送push時發送除了jpg和png以 外的圖檔會導緻無法發送通知。

2)異常點選。在測試輸入法時,我們會測試同時按下多個鍵看輸入法是否會崩 潰。

3)菜單可用。在 APP 中有好多菜單,要保證每個菜單都可用,不出現崩潰。

文章來源:http://www.51testing.com/html/42/n-3710842.html