軟件安全測試的幾個(gè)原則 軟件測試
摘要:軟件安全性是一個(gè)廣泛而復雜的主題,要避免因安全性缺陷問(wèn)題受各種可能類(lèi)型的攻擊是不切實(shí)際的。本文從軟件安全測試需要考慮的問(wèn)題,來(lái)探討軟件安全測試原則,通過(guò)遵循這些原則避免許多常見(jiàn)的安全性測試問(wèn)題出現。
關(guān)鍵詞:軟件安全;測試;原則
軟件安全性是一個(gè)廣泛而復雜的主題,每一個(gè)新的軟件總可能有完全不符合所有已知模式的新型安全性缺陷出現。要避免因安全性缺陷問(wèn)題受各種可能類(lèi)型的攻擊是不切實(shí)際的。在軟件安全測試時(shí),運用一組好的原則來(lái)避免不安全的軟件上市、避免不安全軟件受攻擊,就顯得十分重要。
一、軟件安全性測試基本概念
軟件安全性測試包括程序、網(wǎng)絡(luò )、數據庫安全性測試。根據系統安全指標不同測試策略也不同。
1. 用戶(hù)程序安全的測試要考慮問(wèn)題包括:
、 明確區分系統中不同用戶(hù)權限;
、 系統中會(huì )不會(huì )出現用戶(hù)沖突;
、 系統會(huì )不會(huì )因用戶(hù)的權限的改變造成混亂;
、 用戶(hù)登陸密碼是否是可見(jiàn)、可復制;
、 是否可以通過(guò)絕對途徑登陸系統(拷貝用戶(hù)登陸后的鏈接直接進(jìn)入系統);
、 用戶(hù)推出系統后是否刪除了所有鑒權標記,是否可以使用后退鍵而不通過(guò)輸入口令進(jìn)入系統。
2. 系統網(wǎng)絡(luò )安全的測試要考慮問(wèn)題包括:
、 測試采取的防護措施是否正確裝配好,有關(guān)系統的補丁是否打上;
、 模擬非授權攻擊,看防護系統是否堅固;
、 采用成熟的網(wǎng)絡(luò )漏洞檢查工具檢查系統相關(guān)漏洞;
、 采用各種木馬檢查工具檢查系統木馬情況;
、 采用各種防外掛工具檢查系統各組程序的客外掛漏洞。
3. 數據庫安全考慮問(wèn)題:
、 系統數據是否機密(比如對銀行系統,這一點(diǎn)就特別重要,一般的網(wǎng)站就沒(méi)有太高要求);
、 系統數據的完整性;
、 系統數據可管理性;
、 系統數據的獨立性;
、 系統數據可備份和恢復能力(數據備份是否完整,可否恢復,恢復是否可以完整)。
二、根據軟件安全測試需要考慮的問(wèn)題
1. 保護了最薄弱的環(huán)節
攻擊者往往設法攻擊最易攻擊的環(huán)節,這對于您來(lái)說(shuō)可能并不奇怪。即便他們在您系統各部分上花費相同的精力,他們也更可能在系統最需要改進(jìn)的部分中發(fā)現問(wèn)題。這一直覺(jué)是廣泛適用的,因此我們的安全性測試應側重于測試最薄弱的部分。
如果執行一個(gè)好的風(fēng)險分析,進(jìn)行一次最薄弱環(huán)節的安全測試,標識出您覺(jué)得是系統最薄弱的組件應該非常容易,消除最嚴重的風(fēng)險,是軟件安全測試的重要環(huán)節。
2. 是否具有縱深防御的能力
縱深防御背后的思想是:使用多重防御策略來(lái)測試軟件,以至少有一層防御將會(huì )阻止完全的黑客破壞。 “保護最薄弱環(huán)節”的原則適用于組件具有不重疊的安全性功能。當涉及到冗余的安全性措施時(shí),所提供的整體保護比任意單個(gè)組件提供的保護要強得多,縱深防御能力的測試是軟件安全測試應遵循的原則。
3. 是否有保護故障的措施
大量的例子出現在數字世界。經(jīng)常因為需要支持不安全的舊版軟件而出現問(wèn)題。例如,比方說(shuō),該軟件的原始版本十分“天真”,完全沒(méi)有使用加密,F在該軟件想修正這一問(wèn)題,但已建立了廣大的用戶(hù)基礎。此外,該軟件已部署了許多或許在長(cháng)時(shí)間內都不會(huì )升級的服務(wù)器。更新更聰明的客戶(hù)機和服務(wù)器需要同未使用新協(xié)議更新的較舊的客戶(hù)機進(jìn)行互操作。該軟件希望強迫老用戶(hù)升級,沒(méi)有指望老用戶(hù)會(huì )占用戶(hù)基礎中如此大的一部分,以致于無(wú)論如何這將真的很麻煩。怎么辦呢?讓客戶(hù)機和服務(wù)器檢查它從對方收到的第一條消息,然后從中確定發(fā)生了什么事情。如果我們在同一段舊的軟件“交談”,那么我們就不執行加密。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/