◆劉 振 王國仕 馮世杰 呂志鵬
基于漏洞屬性分析的軟件安全評估方法
◆劉 振 王國仕 馮世杰 呂志鵬
(海南電網(wǎng)有限責任公司信息通信分公司 海南 570203)
隨著科學技術發(fā)展,互聯(lián)網(wǎng)在生活中應用日益廣泛,軟件工業(yè)發(fā)展的速度非??欤⑶乙?guī)模持續(xù)增長,軟件內部邏輯變得更加復雜。軟件在網(wǎng)絡環(huán)境運行下還會面對許多不確定因素,由此使軟件面臨嚴重的安全問題。對于用戶而言,軟件質量與安全十分重要,因此如何確保軟件安全從而使信息安全能夠得到有效保障,是軟件行業(yè)發(fā)展需要面對并解決的問題。本文就基于漏洞屬性分析的軟件安全評估方法作簡要闡述。
漏洞屬性分析;軟件安全;評估方法
網(wǎng)絡與信息系統(tǒng)自身具有良好的開放性與復雜性,因此軟件程序容易受到各方面攻擊,包括內部或者是外部。漏洞始終是存在的,因此就需要工作人員通過技術更新增強安全防護從而使用戶在使用軟件的過程中,各方面安全能夠獲得保障。
風險矩陣評估方法,此種方法應用于安全分析工作是最為常見的,鑒于與安全評估工作存在關聯(lián)的因素比較多,并且各項因素之間存在的非常復雜的聯(lián)系,彼此之間會產(chǎn)生影響,因此有必要通過矩陣對其進行安全性評估。網(wǎng)絡環(huán)境不同時,軟件運行的安全性也會存在差異,同時軟件受影響程度也會存在差異。風險矩陣是比較傳統(tǒng)的方法,需要大量的數(shù)據(jù)支持開展工作,并且需要工作人員有足夠豐富的工作經(jīng)驗,以此才能對失效嚴重程度及其標準率進行具體的量化,數(shù)據(jù)結果也才能夠更加的準確。將此種方法應用于安全評估工作,能夠使安全評估工作的客觀性等級獲得提升,并且評估結果的準確性也能夠得到保障。
軟件安全模糊評估方法,此種方法應用于安全評估工作在具體操作方面是通過輸入非預期值,并且對系統(tǒng)異常進行監(jiān)控從而發(fā)現(xiàn)軟件存在的安全漏洞。由于軟件在安全漏洞方面存在不確定性與復雜性,因此環(huán)境差異會使軟件受威脅程度存在差異,并且環(huán)境存在的差異性對軟件造成的危害也會存在差異,對軟件進行安全性進行評估也存在較大的不確定性,采用此種方法進行評估,結果及其過程都模糊的[1]。
基于可靠性的軟件安全評估方法,軟件可靠與安全性是軟件兩種重要的屬性,而軟件安全與可靠性研究工作也是安全領域的難點與重點。在初級階段,軟件安全與可靠性可以考慮利用可靠性模型進行評估。此外二者研究工作的重點還在于相互比較,有研究人員認為系統(tǒng)不安全,因此其可靠性就一定無法得到保障,因此可以通過對軟件運行的安全性進行計算與分析,從而獲得與軟件可靠性相關的指標,以此為開展后期工作提供幫助。
軟件安全是指在受到外部或者是內部攻擊情況下,程序依舊能夠正常運行,軟件安全性則是指受到外部或者內部攻擊時,系統(tǒng)受到損害的概率。系統(tǒng)受到的危害可以將其分為財務損失、物理損失等。可靠與安全性作為最重要的兩個屬性,安全性能夠為人們財產(chǎn)安全提供足夠的保障。研究人員發(fā)現(xiàn),防火墻已經(jīng)逐漸失去了其原有的效果,軟件安全性更加強調在某些方面可能會受到攻擊,研究工作的重點在于潛在的危險。軟件安全性主要體現(xiàn)在以下方面:可用性、完整性、責任性、保密性等。
任何軟件都會存在漏洞,因此依據(jù)定義的不同可以對漏洞進行不同的分類。比如基于空間狀態(tài)、訪問角度、模糊定義進行劃分等,不同的定義都會存在局限性。漏洞安全屬性也可以將其分為多個方面,比如,攻擊屬性、因果關系、時間相關以及其它屬性等,而對于每一類屬性又可以具體進行細分。安全漏洞分類可以結合協(xié)議原因與產(chǎn)生后果等方面分為以下幾種:依據(jù)協(xié)議進行劃分,依據(jù)對系統(tǒng)造成的危害進行劃分,依據(jù)攻擊的方式進行劃分,依據(jù)漏洞的起因。依據(jù)漏洞形成原因又可將其劃分為分析、設計、維護、實現(xiàn)、配置等階段。
風險指的是能夠導致財產(chǎn)受到危害或者是利用事物已有的弱點從而使其受到損害的可能性,也可以將其理解為某些特定的事件在一定環(huán)境條件發(fā)生可能性及后果的結合。安全分析工作中,軟件安全性特定事件是可能會導致軟件完整性、保密性及可用性受到破壞的漏洞。
對安全風險進行評估的方法有多種,常用的包括了以下幾種,定量分析與定性分析、基于模型而開展的半定量分析,三種方法優(yōu)缺點不同。其中定性的分析方法是利用了具體數(shù)值將風險進行量化從而計算得到結果,具有較強的客觀與直觀性,但是應用此種方法時,量化的方法比較難以掌握。定量分析的方法進行細分包括了模糊綜合評定、社經(jīng)網(wǎng)絡等。采用定性的方法進行分析,需要結到評估人員的個人經(jīng)驗以及相關數(shù)據(jù),工作結果會呈現(xiàn)出較強主觀性,主要包括專家評價法、安全檢查表、事件樹與事故樹分析、因果分析、潛在問題分析、作業(yè)安全分析等方法[2]。最后一種安全評估方法需要結合到被評估的具體信息而建立相應的系統(tǒng)從而開展工作,通過模型建立,利用多種或者是一種能夠有效反映風險的系數(shù)對系統(tǒng)整體風險進行評估,此處方法應用于評估工作能夠有效有結合前兩種評估方法的優(yōu)點,從而確保評估工作的結果更加準確。
風險評估早期應用于安全性方面,之后則引入并且應用于軟件安全性分析,軟件安全風險主要是安全漏洞可能會帶來的一系列不確定的后果。而漏洞受威脅性、脆弱性與風險評估中威脅存在的可能性、脆弱性嚴重程度有密切對應關系。因此對漏洞進行安全分析與風險評估兩者之間也存在密切關系。
軟件功能在日益豐富,并且運行的環(huán)境也趨向于復雜,因此影響到軟件安全運行的因素也越來越多。有研究結果表明,軟件安全漏洞增長的速度與代碼行數(shù)的平方成正比。對軟件復雜性有影響的還包括了代碼集成緊密程度,補丁以及修改后重疊率等。由此也可以得出結論,軟件存在的安全漏洞數(shù)量越多,軟件安全性表現(xiàn)就會越差。
此模型是微軟開發(fā)的,其主要作用在于對存在的危害進行識別分類,從而使工作人員能夠對其影響進行準確的評估,基于此而找出解決問題的方法,從而使問題出現(xiàn)的概率最小化或者是受到的影響最低。此模型中,六方面安全威脅分別是假冒、篡改、否認、信息泄露、拒絕服務與安全權限等。而上述威脅與軟件安全屬性之間存在某種對應關系,因此利用該模型對軟件安全性進行研究能夠獲得比較好的效果。
基于此模型進行的風險評估,能夠將抽象的風險具體化,目標達成主要是通過模型應用。對軟件運行面臨的不安全因素進行分析從某種程度上來講,就是分析軟件或者軟件運行環(huán)境存在的漏洞,并且將此類事件進行匯總與分析,從而與模型相對應。通過此種方法建立模型的好處在于,風險評估的結果明確并且直觀,可以基于模型的六項指標從而對風險大小進行分析與判定,以此確定對漏洞進行修復的順序。風險評估工作作用還在于能夠判定軟件是否能夠有效承受風險,而此目標主要是在軟件評估測試環(huán)節(jié)完成。如果評估的結果低于軟件風險水平,則可以認為軟件是安全的。從微觀層面分析,導致軟件面臨安全風險的原因在于網(wǎng)絡環(huán)境與軟件自身在安全方面存在漏洞,因此分析工作從漏洞著手是最為有效的方法,能夠從根源查找導致風險存在的因素。
軟件功能豐富為人們生活以及生產(chǎn)工作的開展提供便利,但是另一方面軟件漏洞是無法避免的,漏洞的存在會使軟件在運行過程中的安全性受到威脅。軟件功能在豐富的同時,所處地環(huán)境越復雜,軟件面臨的風險就會越大,因此軟件漏洞數(shù)量與其復雜性是成正比的。鑒于漏洞對軟件造成的嚴重影響,需要通過有效的方法對其進行分析與評估,從而采用針對性措施以降低風險或者是受影響的程度,確保整體系統(tǒng)能夠安全穩(wěn)定運行。
[1]韋濤,彭武,王冬海.基于漏洞屬性分析的軟件安全評估方法[J].電光與控制,2015.
[2]戚榮波,杜晶,楊葉.基于通用知識的軟件設計安全性評估[J].計算機系統(tǒng)應用,2013.