第三方安全測試是在IT企業軟件產品的生命周期中,特別是產品開發基本完成到發布階段,對產品進行檢驗以驗證產品符合安全需求定義和產品質量標準的過程。
軟件安全測試服務詳情
web信息系統安全漏洞測試是指有關驗證應用程序的安全等級和識別潛在安全性缺陷的過程,主要是測試應用程序層的安全,包括兩個層面:
一是應用程序本身的安全性
一般來說,應用程序的安全問題主要是由軟件漏洞導致的,這些漏洞可以是設計上的缺陷或是編程上的問題,甚至是企業開發人員預留的后門;
二是應用程序的數據安全
包括數據存儲安全和數據傳輸安全兩個方面。
一般來說,對安全性要求不高的軟件,其安全性測試可以混在單元測試、集成測試、系統測試里一起做。但對安全性有較高需求的軟件,則必須做專門的安全測試,以便在破壞之前預防并識別軟件的安全問題。主要目的是查找軟件自身程序設計中存在的安全隱患,并檢查應用程序對非法侵入的防范能力, 根據安全指標不同測試策略也不同。
軟件安全測試服務價值
web信息系統安全測試是用來驗證集成在軟件內的保護機制是否能夠在實際中保護系統免受非法的侵入。通俗的說:軟件系統的安全當然必須能夠經受住正面的攻擊——但是它也必須能夠經受住側面的和背后的攻擊,才能保證企業的安全運行,軟件安全測試報告規避企業的安全風險,保證企業立于不敗之地。
白盒測試
對軟件源代碼進行掃描,檢測軟件源代碼中存在的漏洞;提供全面的數據流分析,定位存在漏洞代碼段及其路徑,找出外部輸入能影響到的易損函數。例如:SQL Injections、Cross-Site Scripting等漏洞。
黑盒測試
對正在運行的B/S架構的系統進行動態的滲透性測試,檢測B/S架構系統的特定功能點是否存在漏洞,并收集系統泄露的各種信息。例如:HTTP Response Splitting、System Information Leak、Privacy Violation等漏洞。
測試工具:Fortify Source Code Analysis Engine、Fortify Security Tester
代碼審計(軟件源代碼安全審查)
(以發現程序錯誤,安全漏洞和違反程序規范為目標的源代碼分析)。
1.密碼管理(包括各種常用的加密方式的審查)。
2.跨站腳本(利用http協議的特點,跨站腳本的可能攻擊漏洞)。
3.資源管理(數據權限,功能權限的審查)。
4.配置管理(session,錯誤頁面)。
5.檢測工具使用(使用Checkstyle進行缺陷模式匹配、FindBugs 缺陷模式匹配及數據流分析、使用PMD 缺陷模式匹配,FindSecurityBugs,fortify)。
6.代碼質量的審查。
滲透測試
(選擇不影響業務系統正常運行的模擬攻擊方法,對主機操作系統、數據庫系統、應用系統、網絡設備進行滲透測試,評估計算機網絡系統安全)。
1.權限管理測試(包括橫向越權測試、縱向越權測試、使用kali社會工程學工具包實施測試等)。
2.文件、目錄測試(包括目錄列表測試、文件歸檔測試等)。
3.身份認證測試(包括:使用Burp Suite對網絡認證服務的攻擊、哈希密碼破解、密碼字典破解等內容)。
4.會話管理測試(包括:身份信息維護方式測試、Cookie存儲方式測試、用戶注銷登錄方式測試、注銷時會話信息是否清除測試、會話超時測試等)。
5.文件上傳、下載測試(包括文件上傳測試、下載測試等內容)。
6.信息泄露測試(借助wireshark\fiddler等工具嗅探敏感數據是否泄露)。
7.SQL注入測試(包括:手動SQL注入和借助Sqlmap工具注入等內容)。
8.XSS攻擊(包括:XSS漏洞掃描、存儲型XSS、DOM型XSS、BeFF-XSS滲透測試框架、BeFF-XSS與Metasploit協同工作等內容)。
9.CSRF攻擊(包括:CSRF漏洞掃描、利用條件、檢測方法和對策等內容)。
10.WebShell(包括:WebShell檢測方法及對策)。
11.無線安全滲透測試(包括無線網絡嗅探、使用Aircrack-NG工具破解無線網絡、使用Arpspoof實施arp攻擊等)。
12.其他滲透測試(包括:邏輯測試,html5安全測試,日志審計,class文件反編譯測試,Struts2框架測試等)。
安全漏洞掃描
(提供包括網絡設備、操作系統、數據庫、常見應用服務器以及WEB應用等范圍的掃描掃描)。
1.AppScan掃描掃描測試(首先利用AppScan對Web應用和服務器進行全面掃描掃描,發現部分漏洞和問題)。
2.使用Nessus/OpenVAS進行漏洞掃描(包括:掃描本地漏洞掃描、網絡漏洞掃描、掃描指定Linux的系統漏洞掃描、掃描指定Windows的系統漏洞掃描等內容)。
移動APP安全檢測
(包括對移動APP產品進行的代碼審計、配置驗證、人工驗證)。
APP安全檢測要點
1、Allowbackup漏洞掃描
2、WebView漏洞掃描
3、關鍵數據明文傳輸
4、任意賬號注冊
5、登錄界面可被釣魚劫持
軟件安全測試工具
主要包括:包括:nmap、Sqlmap、Nessus、Appscan、Metasploit、Burp Suite、Aircrack-ng、wireshark\fiddler、Checkstyle,FindBugs,PMD,FindSecurityBugs,fortify等。
1.AppScan掃描測試(首先利用AppScan對Web應用和服務器進行全面掃描,發現部分漏洞和問題)。
2.代碼審計(使用Checkstyle進行缺陷模式匹配、FindBugs缺陷模式匹配及數據流分析、使用PMD 缺陷模式匹配,FindSecurityBugs,fortify)。
3.信息收集(使用Nmap、Recon-NG等工具收集Web應用、服務器、網絡的信息,包括:運行賬號權限測試、服務端口掃描、HTTP方法測試、網絡范圍測試、服務器其他信息收集等)。
4.使用Nessus/OpenVAS進行漏洞掃描(包括:掃描本地漏洞、網絡漏洞、掃描指定Linux的系統漏洞、掃描指定Windows的系統漏洞等內容)。
5.使用Metasploit發起滲透攻擊(包括:對操作系統的攻擊、對Web應用程序攻擊、對mysql數據庫的攻擊等)。
安全測試過程說明
保密性
應提供訪問控制功能,依據安全策略控制用戶對文件、數據庫表等客體的訪問。
訪問控制的覆蓋范圍應包括與資源訪問相關的主體、客體及它們之間的操作。
應由授權主體配置訪問控制策略,并嚴格限制默認帳戶的訪問權限。
應授予不同帳戶為完成各自承擔任務所需的最小權限,并在它們之間形成相互制約的關系。
在通信雙方建立連接之前,應用系統應利用密碼技術進行會話初始化驗證。
應對通信過程中的敏感信息字段進行加密。
完整性
應采用校驗碼技術保證通信過程中數據的完整性。
應提供數據有效性檢驗功能,保證通過人機接口輸入或通過通信接口輸入的數據格式或長度符合系統設定要求。
在故障發生時,應用系統應能夠繼續提供一部分功能,確保能夠實施必要的措施。
抗抵賴性
應提供覆蓋到每個用戶的安全審計功能,對應用系統重要安全事件進行審計。
應保證無法刪除、修改或覆蓋審計記錄。
可核查性
審計記錄的內容至少應包括事件日期、時間、發起者信息、類型、描述和結果等。
真實性
應提供專用的登錄控制模塊對登錄用戶進行身份標識和鑒別。
應提供用戶身份標識唯一和鑒別信息復雜度檢查功能,保證應用系統中不存在重復用戶身份標識,身份鑒別信息不易被冒用。
應提供登錄失敗處理功能,可采取結束會話、限制非法登錄次數和自動退出等措施。
應啟用身份鑒別、用戶身份標識唯一性檢查、用戶身份鑒別信息復雜度檢查以及登錄失敗處理功能,并根據安全策略配置相關參數。
用戶鑒別
軟件應具備身份鑒別機制檢測(用戶使用軟件過程中是否需要輸入用戶名和口令)
檢測是否具備鑒別失敗處理機制
檢測是否存在口令或賬戶登錄錯誤提示混淆
軟件容錯
檢測軟件應對異常輸入操作進行有效處理
組件安全
軟件調用Activity組件的過程中,應確保無法進行權限攻擊或劫持
軟件調用Broadcast Receiver組件的過程中,應確保無法進行監聽或劫持
軟件調用Content Provider組件的過程中,應確保無法進行權限攻擊
軟件調用Intent組件的過程中,應確保無法進行權限攻擊
API安全
檢測軟件調用的API應不包含已知可被利用的漏洞
權限管理
檢測軟件軟件應確保權限最小化
數據輸入
檢測隱私數據輸入時是否明文顯示
數據輸出
檢測軟件軟件的隱私數據顯示應是安全的(隱私信息進行顯示時(口令、身份證等),是否進行屏蔽)
數據存儲
檢測軟件記錄的隱私信息是否加密處理
檢測數據存儲位置是否安全
接口安全
軟件與服務器通信時,隱私數據應加密
商務流程
1.業務受理:達成合作意向,確認需求,合同簽訂;
2.測試準備:需求分析,環境準備,資源調配;
3.測試設計:計劃方案,用例設計,工具準備;
4.測試執行:環境核查,原始記錄,回歸測試;
5.報告發布:測試報告起草,報告評審,發布。