陳強(qiáng)
【摘 要】隨著當(dāng)今社會(huì)信息化的日新月異的發(fā)展,為了企業(yè)創(chuàng)先進(jìn)、爭一流,為了企業(yè)的明天,許多領(lǐng)導(dǎo)已經(jīng)或正準(zhǔn)備投入高額資金,建立大規(guī)模的計(jì)算機(jī)管理信息系統(tǒng)(MIS)。與此同時(shí),信息的安全保密性嚴(yán)重程度亦隨之水漲傳高。在系統(tǒng)軟件投入使用之前,執(zhí)行系統(tǒng)的數(shù)據(jù)庫、WEB應(yīng)用及客戶端、主機(jī)等方面的安全測試更是是軟件開發(fā)過程的重中之重。測試過程中的測試要點(diǎn)就成為軟件測試工程師在執(zhí)行安全測試之前首要確定的需求與策略。
【關(guān)鍵詞】軟件測試;安全測試;測試要點(diǎn);策略
軟件開發(fā)的完善給測試人員帶來巨大的壓力,從開發(fā)至軟件投入使用,都不缺測試工程師的身影。其中過程需要六大質(zhì)量特性的測試、性能測試、甚至安全測試。針對安全保密性方面,測試工程師需要利用資源進(jìn)行測試要點(diǎn)的收集及測試用例的設(shè)計(jì),從而更多的發(fā)現(xiàn)軟件運(yùn)行時(shí)可能出現(xiàn)的安全漏洞。
一、數(shù)據(jù)庫安全的測試策略
數(shù)據(jù)庫安全是整個(gè)系統(tǒng)的核心,系統(tǒng)中所有用戶的信息全依靠數(shù)據(jù)庫的校驗(yàn)。在數(shù)據(jù)庫測試策略中,針對B/S架構(gòu)軟件最常用的有身份鑒別、安全審計(jì)、漏洞安全等三方面。
(一)身份鑒別:為的是測試數(shù)據(jù)庫系統(tǒng)賬戶口令和傳輸?shù)陌踩?,?zhí)行過程中主用SELECT * FROM DBA_PROFILES命令,其中包涵的內(nèi)容有:1.數(shù)據(jù)庫系統(tǒng)密碼復(fù)雜度函數(shù)必須實(shí)現(xiàn)配置,以避免密碼被破解而導(dǎo)致用戶敏感信息泄露。2.用戶登錄系統(tǒng)失敗有處理機(jī)制,以避免有意人員利用會(huì)話失敗,進(jìn)行用戶并發(fā)攻擊數(shù)據(jù)庫,致使數(shù)據(jù)庫崩潰。3.在用戶連接數(shù)據(jù)庫后閑置超時(shí),必須有配置自動(dòng)退出,以避免用戶敏感信息被惡意抓包。
(二)安全審計(jì):對數(shù)據(jù)庫系統(tǒng)日志審計(jì)的安全性進(jìn)行測試,保證數(shù)據(jù)庫審計(jì)策略配置必須達(dá)到基線要求。
(三)漏洞安全:同樣是對數(shù)據(jù)庫系統(tǒng)日志審計(jì)的安全進(jìn)行測試,保證數(shù)據(jù)庫能達(dá)到安全配置要求:1.數(shù)據(jù)庫必須存在拒絕服務(wù)攻擊配置。2.不能有遠(yuǎn)程溢出等安全漏洞。3.數(shù)據(jù)庫組件必須安全配置完備,無漏洞。4.數(shù)據(jù)庫內(nèi)核漏洞均已修復(fù)。
二、WEB應(yīng)用安全:B/S架構(gòu)已成為市場信息系統(tǒng)開發(fā)的主流,而WEB應(yīng)用的安全防護(hù)更需要謹(jǐn)而慎之,下面羅列出針對WEB應(yīng)用安全的常見的測試策略
(一)密鑰管理:要求根據(jù)某個(gè)指定的標(biāo)準(zhǔn)規(guī)定的算法和密鑰長度來生成密鑰。操作步驟:1.進(jìn)入Web應(yīng)用系統(tǒng),打開密碼修改功能;2.查看Web應(yīng)用的密碼修改功能是否需要輸入原密碼。3.設(shè)置簡單密碼123456,記錄返回結(jié)果。期望結(jié)果:修改密碼是需要輸入原密碼,并且不能設(shè)置簡單密碼。
(二)輸出到TSF控制之外:經(jīng)由本功能輸出的用戶數(shù)據(jù)輸出時(shí)沒有輸出相關(guān)的安全屬性。操作步驟:1.使用webscarab對登錄操作進(jìn)行抓包;2.查看數(shù)據(jù)包內(nèi)容是否為明文傳輸。期望結(jié)果:數(shù)據(jù)包中的密碼已進(jìn)行加密處理。
(三)信息流控制功能:對每一個(gè)操作,主體和信息的安全屬性之間必須支持基于安全屬性的關(guān)系,TSF應(yīng)允許信息在受控主體和受控信息之間經(jīng)由受控操作流動(dòng)。操作步驟:1.打開appscanweb安全掃描軟件;2.新建任務(wù);3.輸入域名;4.開始掃描;5.記錄掃描結(jié)果。期望結(jié)果:不存在注入漏洞及跨站漏洞。
(四)TOE內(nèi)部傳送:數(shù)據(jù)在傳輸過程中,期間的所有設(shè)備都必須對傳輸數(shù)據(jù)的完整性座監(jiān)視。操作步驟:1.使用webscarab進(jìn)行抓包;2.修改數(shù)據(jù)包中內(nèi)容;3.查看返回信息。期望結(jié)果:無法修改數(shù)據(jù)包中內(nèi)容
(五)殘余信息保護(hù)(TSF數(shù)據(jù)管理):確保系統(tǒng)內(nèi)文件、目錄等資源所在的存儲(chǔ)空間,被釋放或重新分配給其它用戶前得到完全清除。
(六)訪問控制功能:提供訪問控制功能,依據(jù)安全策略控制用戶組對系統(tǒng)功能、文件、數(shù)據(jù)庫表等客體的訪問。
(七)鑒別失?。簷z測系統(tǒng)對用戶多次嘗試登錄失敗,系統(tǒng)做出相應(yīng)的處理。操作步驟:1.連續(xù)輸入十次賬號(hào)密碼;2.查看系統(tǒng)對該賬號(hào)是否鎖定。期望結(jié)果:賬號(hào)被鎖定。
(八)用戶標(biāo)識(shí):在登錄網(wǎng)站前要求用戶必須輸入用戶名。操作步驟:1.打開web登錄頁面;2.查看是否需要輸入用戶名和密碼才可登錄。期望結(jié)果:必須輸入用戶名和密碼。
(九)不可觀察性:要求功能或資源的使用不能被規(guī)定的用戶或主體觀察到,規(guī)定用戶隱私有關(guān)的信息在評估對象內(nèi)是分布式的。期望結(jié)果:1.進(jìn)入應(yīng)用系統(tǒng)-使用最高權(quán)限管理員登錄系統(tǒng),在用戶管理中查看有哪些級別用戶和用戶的權(quán)限;2.退出系統(tǒng)使用普通用戶登錄系統(tǒng),去訪問非授權(quán)資源,和查看非授權(quán)的信息。期望結(jié)果:無敏感信息泄露。
(十)時(shí)間戳:評估對象的安全功能需為它自己的使用提供可靠的時(shí)間源。
(十一)評估對象訪問旗標(biāo):在建立一個(gè)用戶會(huì)話之前,評估對象安全功能應(yīng)顯示有關(guān)未授權(quán)使用評估對象的一個(gè)勸告性警示信息。
(十二)會(huì)話鎖定:在一定時(shí)間內(nèi),用戶沒有做任何操作,系統(tǒng)則自動(dòng)鎖屏或顯示一個(gè)非重要功能的頁面,當(dāng)用戶再次使用時(shí),需要重新登錄。操作步驟:1.進(jìn)入web系統(tǒng);2.閑置5-10分鐘;3.刷新頁面;4.記錄返回結(jié)果。期望結(jié)果:賬戶已自動(dòng)退出。
三、主機(jī)安全:主機(jī)是系統(tǒng)客戶端與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交換的中心,在其上的安全跟數(shù)據(jù)庫安全相同,需要針對身份鑒別、安全審計(jì)、漏洞安全進(jìn)行探察
(一)身份鑒別:1.系統(tǒng)配置避免重復(fù)UID策略。2.系統(tǒng)配置密碼安全策略。
(二)安全審計(jì):操作系統(tǒng)中必須開啟安全審計(jì)策略。
(三)漏洞安全:系統(tǒng)不存在高風(fēng)險(xiǎn)安全漏洞。
總之上述只是簡單常見的安全測試要點(diǎn),安全測試涉及的知識(shí)面很廣,不同的軟件領(lǐng)域需要的測試點(diǎn)不同,此時(shí)則需要我們在實(shí)際工作過程中自我總結(jié)出屬于自己并適合公司的測試要點(diǎn)。
參考文獻(xiàn):
[1]GB-T 16260.1-2006 軟件工程 產(chǎn)品質(zhì)量.
[2]GBT 15532-2008 計(jì)算機(jī)軟件測試規(guī)范.
[3]GBT 25000.51-2010 軟件工程 軟件產(chǎn)品質(zhì)量要求與評價(jià)(SquaRE)商業(yè)現(xiàn)貨(COTS)軟件產(chǎn)品的質(zhì)量要求和測試細(xì)則.