安全性測試是指有關驗證應用程序的安全等級和識別潛在安全性缺陷的過程。應用程序級安全測試的主要目的是查找軟件自身程序設計中存在的安全隱患,并檢查應用程序對非法侵入的防范能力,根據安全指標不同測試策略也不同。安全測試的目的是確定軟件系統的所有可能的漏洞和風險點,這些漏洞和風險點可能導致公司的信息、財務和聲譽在外受損。
安全測試的類型
漏洞掃描:這是通過自動化軟件對已知漏洞簽名掃描系統。
安全掃描:它涉及識別網絡和系統薄弱點,并提供降低這些風險的解決方案。
滲透測試:滲透測試可模擬來自惡意黑客的攻擊。
風險評估:涉及對系統發現的安全風險進行分析。風險分為低、中和高。
安全審核:這是對應用程序和操作系統的內部檢查,以檢查安全漏洞。審核也可以通過逐行檢查代碼來完成。
“道德”黑客:入侵組織軟件系統。與惡意黑客竊取自己的利益不同,其目的是暴露系統中的安全漏洞。
安全性測試的方法和手段:
靜態的代碼安全測試:主要通過對源代碼進行安全掃描,根據程序中數據流、控制流、語義等信息與其特有軟件安全規則庫進行匹對,從中找出代碼中潛在的安 全漏洞。靜態的源代碼安全測試是非常有用的方法,它可以在編碼階段找出所有可能存在安全風險的代碼,這樣開發人員可以在早期解決潛在的安全問題。而正因為如此,靜態代碼測試比較適用于早期的代碼開發階段,而不是測試階段。
動態的滲透測試:滲透測試也是常用的安全測試方法。是使用自動化工具或者人工的方法模擬黑客的輸入,對應用系統進行攻擊性測試,從中找出運行時刻所存在的安全漏洞。這種測試的特點是真實有效,一般找出來的問題都是正確的,也是較為嚴重的。但滲透測試一個致命的缺點是模擬的測試數據只能到達有限的測試點,覆蓋率很低。
程序數據掃描。一個有高安全性需求的軟件, 在運行過程中數據是不能遭到破壞的,否則會導致緩沖區溢出類型的攻擊。數據掃描的手段通常是進行內存測試,內存測試可以發現許多諸如緩沖區溢出之類的漏洞,而這類漏洞使用除此之外的測試手段都難以發現。例如,對軟件運行時的內存信息進行掃描,看是否存在一些導致隱患的信息,當然這需要專門的工具來進行驗證(比如:HP WebInspect、IBM Appscan和Acunetix Web Vulnerability Scanner)。
回答所涉及的環境:聯想天逸510S、Windows 10。
安全性測試是指有關驗證應用程序的安全等級和識別潛在安全性缺陷的過程。應用程序級安全測試的主要目的是查找軟件自身程序設計中存在的安全隱患,并檢查應用程序對非法侵入的防范能力,根據安全指標不同測試策略也不同。安全測試的目的是確定軟件系統的所有可能的漏洞和風險點,這些漏洞和風險點可能導致公司的信息、財務和聲譽在外受損。
安全測試的類型
漏洞掃描:這是通過自動化軟件對已知漏洞簽名掃描系統。
安全掃描:它涉及識別網絡和系統薄弱點,并提供降低這些風險的解決方案。
滲透測試:滲透測試可模擬來自惡意黑客的攻擊。
風險評估:涉及對系統發現的安全風險進行分析。風險分為低、中和高。
安全審核:這是對應用程序和操作系統的內部檢查,以檢查安全漏洞。審核也可以通過逐行檢查代碼來完成。
“道德”黑客:入侵組織軟件系統。與惡意黑客竊取自己的利益不同,其目的是暴露系統中的安全漏洞。
安全性測試的方法和手段:
靜態的代碼安全測試:主要通過對源代碼進行安全掃描,根據程序中數據流、控制流、語義等信息與其特有軟件安全規則庫進行匹對,從中找出代碼中潛在的安 全漏洞。靜態的源代碼安全測試是非常有用的方法,它可以在編碼階段找出所有可能存在安全風險的代碼,這樣開發人員可以在早期解決潛在的安全問題。而正因為如此,靜態代碼測試比較適用于早期的代碼開發階段,而不是測試階段。
動態的滲透測試:滲透測試也是常用的安全測試方法。是使用自動化工具或者人工的方法模擬黑客的輸入,對應用系統進行攻擊性測試,從中找出運行時刻所存在的安全漏洞。這種測試的特點是真實有效,一般找出來的問題都是正確的,也是較為嚴重的。但滲透測試一個致命的缺點是模擬的測試數據只能到達有限的測試點,覆蓋率很低。
程序數據掃描。一個有高安全性需求的軟件, 在運行過程中數據是不能遭到破壞的,否則會導致緩沖區溢出類型的攻擊。數據掃描的手段通常是進行內存測試,內存測試可以發現許多諸如緩沖區溢出之類的漏洞,而這類漏洞使用除此之外的測試手段都難以發現。例如,對軟件運行時的內存信息進行掃描,看是否存在一些導致隱患的信息,當然這需要專門的工具來進行驗證(比如:HP WebInspect、IBM Appscan和Acunetix Web Vulnerability Scanner)。
回答所涉及的環境:聯想天逸510S、Windows 10。