安全測試與功能測試、滲透測試理解與區別?


一、基本理解:

安全測試什么時候開始進行?
安全測試是在IT軟件產品的生命周期中,特別是產品開發基本完成到發布階段,對產品進行檢驗以驗證產品符合安全需求定義和產品質量標准的過程 。


安全測試與功能測試的區別:

1.目標不同:測試以發現BUG為目標,安全測試以發現安全隱患為目標。
2.假設條件不同:測試假設導致問題的數據是用戶不小心造成的,接口一般只考慮用戶界面。安全測試假設導致問題的數據是攻擊者處心積慮構造的,需要考慮所有可能的攻 
擊途徑。
3.思考域不同:測試以系統所具有的功能為思考域。安全測試的思考域不但包括系統的功能,還有系統的機制、外部環境、應用與數據自身安全風險與安全屬性等。
4.問題發現模式不同:測試以違反功能定義為判斷依據。安全測試以違反權限與能力的約束為判斷依據。

與滲透測試的區別:
1.出發點差異:滲透測試是以成功入侵系統,證明系統存在安全問題為出發點;而安全測試則是以發現系統所有可能的安全隱患為出發點。
2.視角差異:滲透測試是以攻擊者的角度來看待和思考問題,安全測試則是站在防護者角度思考問題,盡量發現所有可能被攻擊者利用的安全隱患,並指導其進行修復。
3.覆蓋性差異:滲透測試只選取幾個點作為測試的目標,而安全測試是在分析系統架構並找出系統所有可能的攻擊界面后進行的具有完備性的測試。
4.成本差異:安全測試需要對系統的功能、系統所采用的技術以及系統的架構等進行分析,所以較滲透測試需要投入更多的時間和人力。
5.解決方案差異:滲透測試無法提供有針對性的解決方案;而安全測試會站在開發者的角度分析問題的成因,提供更有效的解決方案。


二、安全測試方法:

1、功能測試
采用黑盒測試方法,對設計安全的模塊進行驗證

如:用戶管理,權限管理,加密系統,認真系統

對用戶隱私,檢查是否在本地保存用戶密碼,無論加密與否;檢查敏感的隱私信息,如聊天記錄、關系鏈、銀行賬號等是否進行加密;檢查是否將系統文件、配置文件明文保存在外部設備上;部分需要存儲到外部設備的信息,需要每次使用前都判斷信息是否被篡改。

對文件權限,檢查App所在的目錄,其權限必須為不允許其他組成員讀寫。

對網絡傳輸,檢查敏感信息在網絡傳輸中是否做了加密處理,重要數據要采用TLS或者SSL。http請求默認是明文的,如果安全驗證和加密機制很爛,通過網絡嗅探掃描,很容易被猜到和模擬請求,也可能被注入。

對運行時解釋保護,對於嵌有解釋器的軟件,檢查是否存在XSS、SQL注入漏洞;使用webiew的App,檢查是否存在URL欺騙漏洞

對Android組件權限保護,禁止App內部組件被任意第三方程序調用。若需要供外部調用的組件,應檢查對調用者是否做了簽名限制

對迭代升級,檢查是否對升級包的完整性、合法性進行了校驗,避免升級包被劫持。

對界面截取,通過adb shell命令或第三方軟件獲取root權限,在手機界面截取用戶填寫的隱私信息,隨后進行惡意行為。

 

2、漏洞掃描
安全漏洞掃描,借助漏洞掃描器完成,它可以自動檢測遠程或本地主機的安全性。

主機漏洞掃描器(Host Scanner):COPS、Tripewire、Tiger
網絡漏洞掃描器(Net Scanner):Satan、ISS Internet Scanner

3、模擬攻擊實驗
冒充形式:
口令猜測:黑客識別出可利用的用戶賬戶,控制機器
緩沖區溢出:代碼層的漏洞,指針指向惡意代碼,執行惡意指令,得到系統控制權

 

第一:要明白原理,不論是sql注入、xss還是csrf等,都是要了解入侵原理的,否則會擴大測試范圍。比如有人問我,你測試了csrf了嗎?你測試權限會話劫持了嗎?你測試越權了嗎?來自於竊取用戶cookies后的不同操作,如何保證cookies被竊取后不被他人使用才是測試的關鍵。這樣做才能減少各種名詞對於測試人員的傷害。

 

第二:要把原理轉換成用例。針對每個頁面,或者有功能的頁面(增刪改)等。先判斷頁面是否有必要測試(靜態頁面做sql注入就沒必要)。然后再將原理轉換成合適的用例。類似於這張截圖:

 

 


三、常見的安全問題處理方式

1、數據安全

AWS服務器、雲端(阿里雲)等部署的項目實現熱備、冷備處理方式

 

2、應用層安全

應用掛掉,可以手動啟動機制

應用一鍵部署和啟動

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM