- 相關(guān)推薦
計(jì)算機(jī)軟件安全檢測技術(shù)
計(jì)算機(jī)軟件安全檢測技術(shù)【1】
摘要:隨著科學(xué)與技術(shù)的發(fā)展,計(jì)算機(jī)應(yīng)用更加普及。
目前,計(jì)算機(jī)已經(jīng)成為人們生活和生產(chǎn)的必要工具。
人們在使用計(jì)算機(jī)的同時對計(jì)算機(jī)性能和計(jì)算機(jī)的輔助功能的要求也逐漸提高。
計(jì)算機(jī)和網(wǎng)絡(luò)賴以生存的基礎(chǔ)就是軟件。
計(jì)算機(jī)軟件的安全性成為了計(jì)算機(jī)軟件性能的組成部分,同時計(jì)算機(jī)軟件安全檢測技術(shù)又可以實(shí)現(xiàn)有效確保計(jì)算機(jī)軟件的安全性。
由此表明,計(jì)算機(jī)安全檢測技術(shù)已儼然成為保護(hù)計(jì)算機(jī)軟件的關(guān)鍵性因素,即安全檢測技術(shù)可根據(jù)不同的安全指標(biāo)對計(jì)算機(jī)軟件進(jìn)行安全測試,并有效識別出軟件中存在的安全隱患。
本文就計(jì)算機(jī)軟件安全檢測技術(shù)及其應(yīng)注意的問題進(jìn)行分析,以確保計(jì)算機(jī)軟件的安全性。
關(guān)鍵詞:計(jì)算機(jī)軟件;軟件安全;檢測方法
一、引言
計(jì)算機(jī)軟件安全檢測是以有效發(fā)現(xiàn)軟件開發(fā)中所存在的故障及風(fēng)險,并對其進(jìn)行修改、更正為目的的,因此計(jì)算機(jī)軟件的安全檢測技術(shù)在軟件開發(fā)的整個過程中發(fā)揮著不可或缺的作用。
從根本上講,計(jì)算機(jī)軟件安全檢測即是花費(fèi)較少的測試時間和精力獲取最大限度的軟件檢測覆蓋面,從而確保安全檢測的有效性。
二、計(jì)算機(jī)軟件安全檢測簡介
計(jì)算機(jī)軟件的安全檢測是計(jì)算機(jī)軟件開發(fā)過程中的一個關(guān)鍵性環(huán)節(jié),是計(jì)算機(jī)軟件開發(fā)中的一個重要組成部分。
通過計(jì)算機(jī)軟件安全檢測,我們可以發(fā)現(xiàn)軟件在應(yīng)用過程中的缺點(diǎn)和故障所在,可以實(shí)現(xiàn)對計(jì)算機(jī)軟件在應(yīng)用過程中產(chǎn)生風(fēng)險的有效更正。
然而,計(jì)算機(jī)軟件的安全檢測并不能作為避免軟件程序中產(chǎn)生錯誤的主要手段,計(jì)算機(jī)安全軟件安全檢測只是負(fù)責(zé)找出程序在應(yīng)用過程中容易產(chǎn)生錯誤的位置。
通常情況下,計(jì)算機(jī)軟件安全檢測主要分為靜態(tài)檢測和動態(tài)檢測兩種類別。
計(jì)算機(jī)軟件安全檢測通常是用來對軟件的安全漏洞和安全功能進(jìn)行檢測的一種手段,是保證軟件開發(fā)后功能與預(yù)期目標(biāo)設(shè)計(jì)保持一致的有力保障。
就目前情況講,計(jì)算機(jī)軟件安全檢測的具體范疇主要包含三個方面,即功能測試、滲透測試和驗(yàn)證過程。
計(jì)算機(jī)安全軟件檢測與其他檢測軟件不同,對于計(jì)算機(jī)軟件安全缺陷的檢測,計(jì)算機(jī)軟件安全檢測更注重于有效避免軟件工作范疇以外的事物,而普通的檢測軟件則強(qiáng)調(diào)軟件該做的事物。
另外計(jì)算機(jī)軟件安全功能是否能夠滿足用戶的需求是通過安全功能檢測來實(shí)現(xiàn)的,衡量其滿足用戶需求與否的主要包含授權(quán)、機(jī)密性、安全管理及訪問控制等因素。
而對于計(jì)算機(jī)安全漏洞的檢測,其主要目的是發(fā)現(xiàn)軟件中可能存在的缺陷,亦或是識別出某些缺陷對計(jì)算機(jī)軟件存在的潛在風(fēng)險。
三、計(jì)算機(jī)軟件安全檢測應(yīng)該注意的事項(xiàng)
從某種角度上分析,計(jì)算機(jī)軟件安全檢測,其實(shí)質(zhì)即是對計(jì)算機(jī)軟件進(jìn)行安全檢測的一個動態(tài)過程。
通常在進(jìn)行計(jì)算機(jī)軟件安全檢測時應(yīng)注意以下兩點(diǎn)事項(xiàng):
第一,選擇有效且合理的軟件安全檢測方案。
對于計(jì)算機(jī)軟件的安全檢測應(yīng)在充分了解、掌握該計(jì)算機(jī)軟件要求及特性的基礎(chǔ)上,根據(jù)測試的具體情況選用合理的安全檢測手段,并編制出與之相應(yīng)的安全檢測方案,以確保安全檢測方案實(shí)施的有效性。
此外,對軟件的檢測人員還應(yīng)該有一定的要求。
計(jì)算機(jī)進(jìn)行軟件安全檢測時,應(yīng)確保在有相關(guān)知識及經(jīng)驗(yàn)的軟件安全分析人員參與的同時,還應(yīng)配備熟悉并掌握該軟件特點(diǎn)及使用的設(shè)計(jì)人員。
唯有通過計(jì)算機(jī)軟件及安全檢測等多領(lǐng)域的相關(guān)技術(shù)人員的有效配合,才能達(dá)到有效確保計(jì)算機(jī)軟件性能安全性的理想效果。
第二,計(jì)算機(jī)進(jìn)行軟件安全檢測的過程中,應(yīng)做到全面分析。
一般計(jì)算機(jī)軟件程序較為繁瑣、規(guī)模較大,這就需要相關(guān)人員在進(jìn)行計(jì)算機(jī)軟件安全檢測的過程中,應(yīng)做到對代碼級、系統(tǒng)級和需求級的細(xì)致分析。
與上述選擇軟件檢測方案一樣,在進(jìn)行軟件中不同級別時也應(yīng)加強(qiáng)對分析技術(shù)的合理選擇,才能保證分析結(jié)果的準(zhǔn)確性。
如此看來,計(jì)算機(jī)軟件的安全檢測是一項(xiàng)較為復(fù)雜的系統(tǒng)型過程,因此選擇合理的檢測技術(shù)和檢測方案,是計(jì)算機(jī)軟件安全檢測過程中不可忽視的兩個注意事項(xiàng)。
四、計(jì)算機(jī)軟件的安全檢測方法
(一)計(jì)算機(jī)軟件安全檢測流程
通常情況下,對于計(jì)算機(jī)軟件的安全檢測程序而言,規(guī)模較大的計(jì)算機(jī)軟件系統(tǒng)包含了多個子系統(tǒng),而不同的子系統(tǒng)中又包含了多個不同的模塊。
一般計(jì)算機(jī)軟件安全檢測的流程為:模塊測試→組裝系統(tǒng)→系統(tǒng)結(jié)構(gòu)的安全檢測→軟件功能和性能的有效測試→系統(tǒng)測試。
其中模塊測試是指子系統(tǒng)中最小單位的模塊測試,其目的是為了使測試的覆蓋范圍更加全面化、細(xì)節(jié)化,從而及時發(fā)現(xiàn)小模塊中所隱藏的潛在風(fēng)險;在進(jìn)行各個模塊測試完成后,應(yīng)根據(jù)軟件程序的設(shè)計(jì)要求對所有模塊進(jìn)行組裝,將其組裝成完整的系統(tǒng),同時對組裝后的系統(tǒng)結(jié)構(gòu)進(jìn)行相應(yīng)的安全檢測;之后在保證前述檢驗(yàn)合格的基礎(chǔ)上對系統(tǒng)軟件進(jìn)行功能和性能的有效測試,有效測試的主要目的是為了確保系統(tǒng)軟件功能和性能與用戶需求的一致性;最后在所有相關(guān)測試完成后,實(shí)施對整個軟件的系統(tǒng)性測試。
如此層層把關(guān)的軟件安全檢測流程可為用戶軟件的安全性提供有力的保障。
(二)計(jì)算機(jī)軟件安全檢測的方式、方法
1.形式化的安全檢測
此種安全檢測方法是鑒于計(jì)算機(jī)軟件數(shù)學(xué)模型的基礎(chǔ)之上的,并且要求在形式規(guī)格語言的支持前提下,所提供的形式化規(guī)格說明。
目前較為常用的形式規(guī)格語言有三種,其中包括行為語言、模型語言和有效狀態(tài)語言。
有定理證明和基于模型檢查正式的安全檢測方法[3]。
2.基于模型的安全靜態(tài)檢測方式
模型安全檢測方式,即通過軟件行為與結(jié)構(gòu)建模的方法,形成一個測試模型,此模型同時滿足機(jī)器對其的可讀性。
模型安全檢測方式與上述形式化安全檢測相比而言,基于模型的測試并不致力于讓待測軟件系統(tǒng)與規(guī)格說明在所有情況下都保持一致,而是系統(tǒng)化的從模型生成一組測試用例,使用這組測試用例測試待測軟件系統(tǒng),得到充分的證據(jù)說明待測系統(tǒng)的行為與模型期望的是一致的。
常用的安全功能檢測方法是有限狀態(tài)機(jī)和馬爾可夫鏈的方法的。
3.語法檢測
這種檢測方法是基于語法對生成功能接口軟件進(jìn)行檢測。
語法檢測,通常情況下以研究反映為目的,即計(jì)算機(jī)軟件在不同的輸入條件下而產(chǎn)生的不同類型的反映。
采用語法檢測的方法,一般即指對計(jì)算機(jī)軟件接口處語言的識別、語言語法的定義等,并在以語法為基礎(chǔ)生產(chǎn)檢測用例同時執(zhí)行安全檢測。
4.基于故障注入的安全檢測。
此種方法經(jīng)實(shí)踐證實(shí),具有明顯提高安全檢測自動化程度的獨(dú)特優(yōu)勢,是計(jì)算機(jī)軟件安全檢測技術(shù)中的重要組成部分。
這里講的故障注入式安全檢測,即指在選定故障模型的基礎(chǔ)上,構(gòu)建故障樹,并通過人為的反復(fù)測試及對軟件所反饋的故障信息,來實(shí)現(xiàn)檢測故障容錯性和安全性等有用信息.
5.模糊式檢測方法
模糊式的檢測方法有效的融合了傳統(tǒng)檢測技術(shù)與動態(tài)檢測的具體應(yīng)用,即是建立于白盒模糊檢測的基礎(chǔ)之上的,是傳統(tǒng)檢測方法的升華。
模糊檢測法雖然是一項(xiàng)簡單的技術(shù),單他卻揭示出程序中重要的bug。
它能夠驗(yàn)證出現(xiàn)實(shí)世界中的錯誤模式并在軟件發(fā)貨前對潛在的應(yīng)該被阻塞的攻擊渠道進(jìn)行提示[3]。
6.安全屬性式的檢測方法
安全屬性式的檢測方法相比于其他軟件安全檢測方法來說,能夠?qū)崿F(xiàn)有效確保安全漏洞擴(kuò)展性和交互性的全面分析。
實(shí)現(xiàn)采用安全屬性式的檢測方法進(jìn)行測試的途徑,首先應(yīng)有效確定計(jì)算機(jī)軟件的安全編程規(guī)則,并將其作為軟件安全檢測的安全屬性;其次利用得到的安全屬性對系統(tǒng)程序的相關(guān)代碼進(jìn)行檢測,以驗(yàn)證系統(tǒng)代碼與相應(yīng)規(guī)則的符合性。
除上述所講,隨著社會各領(lǐng)域的快速發(fā)展,基于Web服務(wù)的分布式軟件得到廣泛應(yīng)用,因此與之相應(yīng)的軟件安全檢測技術(shù)也應(yīng)不斷分析總結(jié),并實(shí)現(xiàn)安全檢測的技術(shù)創(chuàng)新。
總而言之,計(jì)算機(jī)軟件的安全檢測儼然已經(jīng)成為有效確保計(jì)算機(jī)信息安全性的關(guān)鍵性因素。
鑒于軟件安全對計(jì)算機(jī)軟件開發(fā)及使用的重要作用,我們應(yīng)在實(shí)踐中不斷學(xué)習(xí)并積累經(jīng)驗(yàn),以實(shí)現(xiàn)計(jì)算機(jī)軟件安全檢測技術(shù)的不斷創(chuàng)新。
參考文獻(xiàn):
[1]王清.軟件漏洞分析技術(shù).北京:電子工業(yè)出版社,2011,6
[2]艾倫.軟件安全工程.北京:機(jī)械工業(yè)出版社,2009.4
[3]李龍.軟件測試實(shí)用技術(shù)與常用模板.北京:機(jī)械工業(yè)出版社,2010,10
計(jì)算機(jī)軟件安全檢測技術(shù)【2】
摘要:步入21世紀(jì)以來,科學(xué)和技術(shù)不斷發(fā)展,已經(jīng)達(dá)到一個全新的高度,計(jì)算機(jī)開始廣泛運(yùn)用到了各個領(lǐng)域,成為人們生活、辦公不可缺少的工具。
人們對計(jì)算機(jī)的要求也變得越來越高。
計(jì)算機(jī)辦公離不開硬件和軟件,硬件是計(jì)算機(jī)運(yùn)行的最基礎(chǔ)要求。
軟件作為計(jì)算機(jī)工作的大腦,對其進(jìn)行安全檢測是保障計(jì)算機(jī)軟件能夠安全運(yùn)行的重要內(nèi)容之一。
本文就計(jì)算機(jī)軟件安全檢測技術(shù)及其應(yīng)注意的問題進(jìn)行分析,以確保計(jì)算機(jī)軟件的安全性。
關(guān)鍵詞:計(jì)算機(jī);軟件安全;檢測方法
一、引言
軟件安全檢測,顧名思義,指的是用科學(xué)的手段和技術(shù)來發(fā)覺軟件開發(fā)中出現(xiàn)的各種故障,以及開發(fā)風(fēng)險,對風(fēng)險和故障進(jìn)行診斷、更正和修改。
計(jì)算機(jī)軟件安全檢測工作是軟件開發(fā)和使用中必不可少的工作。
工作者要用其確保計(jì)算機(jī)軟件的安全性和有效性、已達(dá)到預(yù)期的效果。
二、計(jì)算機(jī)軟件安全檢測簡介
計(jì)算機(jī)軟件的安全檢測是計(jì)算機(jī)軟件開發(fā)中的一個極為重要的部分,缺少了它,計(jì)算機(jī)軟件開發(fā)是不完整的。
通過對計(jì)算機(jī)軟件的檢測,我們熟知其安全性,可以發(fā)現(xiàn)軟件中存在的缺陷和漏洞,并加以彌補(bǔ),從而使軟件得到優(yōu)化和完善。
但計(jì)算機(jī)軟件安全檢測手段卻不能作為防止軟件錯誤發(fā)生的主要辦法,因?yàn)橛?jì)算機(jī)安全檢測的職責(zé)只是找出程序中容易發(fā)生錯誤。
在現(xiàn)有技術(shù)中,軟件安全檢測分為兩種,分別為靜態(tài)檢測與動態(tài)檢測。
計(jì)算機(jī)軟件安全檢測實(shí)質(zhì)就是:通過技術(shù)對軟件的漏洞和缺陷進(jìn)行一遍系統(tǒng)化的檢測,以保證軟件開發(fā)后功能和預(yù)期的功能相差無二。
現(xiàn)階段而言,計(jì)算機(jī)軟件的安全檢測技術(shù)主要包括三點(diǎn):分別為功能測試、滲透測試和檢驗(yàn)過程。
和其他軟件相比,計(jì)算機(jī)安全軟件有自己獨(dú)特的一處,安全軟件的檢測以避免軟件工作范疇以外的事物為主,普通的軟件和它相比,則以軟件該做的事情為主。
用戶對軟件的依賴程度,需要軟件的安全程度來測試,安全檢測功能扮演的角色可謂是舉足輕重,它發(fā)現(xiàn)了軟件中存在的風(fēng)險及隱患,有時候更能識別出某些軟件的缺陷對計(jì)算機(jī)所產(chǎn)生的安全風(fēng)險。
三、計(jì)算機(jī)軟件安全檢測應(yīng)該注意的事項(xiàng)
從另一種角度上講,計(jì)算機(jī)軟件安全檢測,實(shí)際上就是對計(jì)算機(jī)進(jìn)行安全檢測的一個非靜態(tài)過程。
通常在進(jìn)行計(jì)算機(jī)軟件安全檢測時應(yīng)注意以下兩個方面:
1.用科學(xué)合理的方案進(jìn)行軟件檢測工作。
進(jìn)行檢測工作的人員應(yīng)當(dāng)具備以下幾種基本素質(zhì):
(1)充分了解軟件安全檢測工作。
(2)熟練掌握計(jì)算機(jī)軟件的特性。
只有具備這兩種基本素質(zhì),才能夠保證檢測方案實(shí)施起來。
再者,應(yīng)該對軟件檢測工作者提出相應(yīng)的要求,應(yīng)當(dāng)確保在具備相關(guān)專業(yè)素質(zhì)的人才進(jìn)行工作時,周圍配備相關(guān)軟件特點(diǎn)及使用的技術(shù)性專員。
只有通過與計(jì)算機(jī)軟件專業(yè)各種技術(shù)人員密切有效的配合,才能夠保證計(jì)算機(jī)軟件檢測工作順利完成,才能夠使得計(jì)算機(jī)軟件性能和安全性達(dá)到事先預(yù)期的效果。
2.在進(jìn)行計(jì)算機(jī)軟件安全檢測工作中,工作人員應(yīng)當(dāng)利用自身素質(zhì)和高科技設(shè)備進(jìn)行全面,深入的分析。
常見的計(jì)算機(jī)應(yīng)用軟件程序編寫十分繁瑣、規(guī)模比較龐大,因此,工作人員在進(jìn)行計(jì)算機(jī)軟件安全檢測工作時,應(yīng)當(dāng)著重注意對代碼級、系統(tǒng)級以及需求級進(jìn)行深入分析。
跟上述選擇軟件檢測的方案相同,在進(jìn)行軟件中不同的級別時候,應(yīng)當(dāng)采取不同的選擇,已達(dá)到科學(xué)、合理的檢測目的。
由此可知,計(jì)算機(jī)軟件安全檢測是繁雜的系統(tǒng)性過程,在這個過程中,如何選擇一個或數(shù)個科學(xué)、合理的方案,是計(jì)算機(jī)軟件安全檢測工作者們必須冷靜思考的問題。
四、計(jì)算機(jī)軟件的幾種安全檢測方法及流程
(一)計(jì)算機(jī)軟件安全檢測流程
在進(jìn)行計(jì)算機(jī)軟件安全檢測時,有些大型的計(jì)算機(jī)應(yīng)用軟件,它們包含數(shù)量很大的子系統(tǒng),這些子系統(tǒng)又被分為數(shù)個互不相同的模板。
檢測工作可分為以下幾個步驟:模塊測試→組裝系統(tǒng)→系統(tǒng)結(jié)構(gòu)的安全檢測→軟件功能和性能的有效測試→系統(tǒng)測試。
這些步驟中,模塊測試指的是子系統(tǒng)中最小的一個模塊進(jìn)行測試,工作者們進(jìn)行模塊測試的目的是使測試的輻射面更加廣泛、并且更加深入,在第一時間發(fā)現(xiàn)小模塊中所蘊(yùn)藏了一些風(fēng)險,進(jìn)行完模塊測試后,工作者們會把所有經(jīng)過細(xì)膩檢測后的模塊重新進(jìn)行組裝,組裝完成后,再對完成后的系統(tǒng)進(jìn)行一次全面而細(xì)致的檢測工作,以確認(rèn)其性能是否和預(yù)期相符。
這樣,才能將軟件安全檢測流程做到最好。
(二)計(jì)算機(jī)軟件安全檢測的方式
1.形式化的安全檢測
此種檢測方法需要有計(jì)算機(jī)軟件的數(shù)學(xué)模型支撐,并需要有形式規(guī)格語言的支持方能完成。
檢測時所用的常用規(guī)格語言有三種:行為語言、模型語言和有效狀態(tài)語言。
2.以模型為基礎(chǔ)的安全靜態(tài)檢測方式
模型安全檢測方式,即通過軟件行為與結(jié)構(gòu)建模,組成一個測試模型,機(jī)器對這個模型具備可讀性。
常用的檢測方法是有限狀態(tài)機(jī)和馬爾可夫鏈。
這種軟件安全檢測方法與第一種安全檢測方法相比,此種以模型為基礎(chǔ)的測試方法比較系統(tǒng)化,它不致力于讓待測軟件系統(tǒng)與規(guī)格說明在所有情況下都保持不變,而是從模型生成一組測試用例,證明待測系統(tǒng)的行為和模型與期望值相同。
3.語法檢測
語法檢測是基于語法對生成功能接口軟件進(jìn)行檢測,研究計(jì)算機(jī)軟件在不同的輸入條件下產(chǎn)生的不同類型的反映。
其檢測方法一般來說是指對計(jì)算機(jī)軟件接口處語言的識別、語法的定義并在以語法為基礎(chǔ)生成檢測用例的同時,進(jìn)行安全檢測。
4.以故障注入為基礎(chǔ)要素的安全檢測。
此種檢測方法,是指在選定故障模型的基礎(chǔ)上,構(gòu)建故障樹,并通過人為的反復(fù)測試及對軟件所反饋的故障信息,實(shí)現(xiàn)檢測故障容錯性和安全性等信息。
它融合了傳統(tǒng)檢測技術(shù)和動態(tài)檢測方法,建立于白盒模糊檢測的基礎(chǔ)之上,是對傳統(tǒng)檢測方法的改進(jìn)。
模糊檢測法并不復(fù)雜,卻能夠?qū)ふ页龀绦蛑兄匾腷ug,能夠驗(yàn)證錯誤模式并對潛在攻擊渠道進(jìn)行提示。
這種檢測方法能夠提高安全檢測自動化程度,是計(jì)算機(jī)軟件安全檢測技術(shù)中的重要組成部分。
5.安全屬性式的檢測方法
該軟件安全檢測方法需首先確定軟件的安全編程規(guī)則,將確定的規(guī)則編碼作為安全屬性來驗(yàn)證系統(tǒng)程序的代碼是否對這些規(guī)則進(jìn)行了遵守。
其優(yōu)點(diǎn)是,能夠有效分析安全漏洞的交互性及擴(kuò)展性。
五、結(jié)束語
計(jì)算機(jī)軟件安全檢測是信息安全體系中必不可少的組成部分。
在信息化高速發(fā)展的今天,計(jì)算機(jī)的各類軟件以及計(jì)算機(jī)網(wǎng)絡(luò)的應(yīng)用已經(jīng)滲透到各行各業(yè)中,成為人們工作和生活最重要的組成之一,而軟件安全檢測確保了計(jì)算機(jī)軟件應(yīng)用的良性發(fā)展,因此我們必須在今后的工作學(xué)習(xí)中進(jìn)一步加強(qiáng)對計(jì)算機(jī)安全檢測方法的研究。
參考文獻(xiàn):
[1]王清.軟件漏洞分析技術(shù)[M].北京:電子工業(yè)出版社,2011,6
[2]艾倫.軟件安全工程[M].北京:機(jī)械工業(yè)出版社,2009,4
[3]李龍.軟件測試實(shí)用技術(shù)與常用模板[M].北京:機(jī)械工業(yè)出版社,2010,10
計(jì)算機(jī)軟件的安全檢測技術(shù)【3】
摘要:隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,各種軟件也在不斷的產(chǎn)生,計(jì)算機(jī)軟件安全檢測技術(shù)是計(jì)算機(jī)軟件安全的基礎(chǔ),它可以根據(jù)相關(guān)的指標(biāo)對計(jì)算機(jī)軟件進(jìn)行安全檢測并有效的發(fā)現(xiàn)其中的安全隱患。
本文介紹的當(dāng)前幾種安全檢測的技術(shù),供計(jì)算機(jī)軟件安全檢測工作參考。
關(guān)鍵詞:計(jì)算機(jī)軟件;安全檢測;技術(shù)探討
現(xiàn)在,各種計(jì)算機(jī)軟件在各行各業(yè)中得到了普遍的利用,成為人們生活和工作中不可或缺的部分。
由此帶來的計(jì)算機(jī)軟件安全問題也隨著它的發(fā)展越來越復(fù)雜的影響著計(jì)算機(jī)的安全,計(jì)算機(jī)軟件的安全檢測技術(shù)就顯得尤為重要。
一、計(jì)算機(jī)軟件安全檢測技術(shù)概述
計(jì)算機(jī)軟件安全檢測是計(jì)算機(jī)軟件開發(fā)過程中的一個重要環(huán)節(jié),它的目的是為了發(fā)現(xiàn)軟件所存在的故障和安全漏洞,從而及時的對計(jì)算機(jī)軟件的潛在安全問題進(jìn)行更改。
當(dāng)前的計(jì)算機(jī)軟件安全檢測技術(shù)主要包括動態(tài)檢測和靜態(tài)檢測兩種方法。
計(jì)算機(jī)軟件安全檢測是確定計(jì)算機(jī)軟件的安全性是否達(dá)到軟件預(yù)期設(shè)計(jì)的目標(biāo)的一個過程,一般包括功能測試、滲透測試與驗(yàn)證過程三個階段。
包括安全功能與安全漏洞兩個方面的檢測,軟件安全功能涉及的方面比較多,包括機(jī)密性、授權(quán)、訪問控制以及安全管理等;而計(jì)算機(jī)軟件安全漏洞檢測則是對軟件可能存在的缺陷的檢測。
二、計(jì)算機(jī)軟件安全檢測的注意事項(xiàng)
在進(jìn)行計(jì)算機(jī)軟件安全檢測是,要注意幾下的幾個問題:
一是要預(yù)先制定出檢測方案。
首先要對計(jì)算機(jī)軟件有一個全面的了解,在此基礎(chǔ)上作出分析然后選擇一個合適的檢測技術(shù),設(shè)計(jì)出檢測方案;其次在檢測人員的選擇上,要進(jìn)行多元化的人員配置,安全分析人員、軟件設(shè)計(jì)人員和操作者都應(yīng)參與檢測的工作,這樣可以保證在檢測的過程中對軟件的不同性能的檢測都能得到專業(yè)技術(shù)人員的指導(dǎo)和分析,提高安全檢測的效率。
二是在進(jìn)行計(jì)算機(jī)軟件的安全檢測時,對于系統(tǒng)級、代碼級與需求級的檢測是必須的。
如果軟件的規(guī)模比較大,還要對軟件的結(jié)構(gòu)的設(shè)計(jì)進(jìn)行分析。
在具體的操作中要從實(shí)際工作的需要來選擇合理的分析技術(shù)。
仿真環(huán)境和分析工具相結(jié)合是較為有效的計(jì)算機(jī)軟件的安全檢測技術(shù)。
三、計(jì)算機(jī)軟件安全檢測技術(shù)的方法
(一)計(jì)算機(jī)軟件安全檢測的流程
一般情況下,規(guī)模較大的軟件是由一定數(shù)量的子系統(tǒng)來構(gòu)成的,每個子系統(tǒng)又由若干的小模塊來構(gòu)成。
計(jì)算機(jī)軟件的安全檢測一般按照以下的步驟進(jìn)行:首先是進(jìn)行模塊的測試,測試的對象是軟件設(shè)計(jì)中的最小單位,對模塊進(jìn)行測試的目的是發(fā)現(xiàn)系統(tǒng)的各個模塊中可能存在的問題。
然后是對由模塊按照程序設(shè)計(jì)的要求組裝的系統(tǒng)進(jìn)行檢測,并對于其相關(guān)的體系機(jī)構(gòu)進(jìn)行檢測。
其次是在前兩個檢測的基礎(chǔ)上進(jìn)行軟件的有效性檢測,有效性檢測的目的是對軟件的功能和性能進(jìn)行檢測,檢測其是否與所設(shè)計(jì)的用戶的需求相符合。
最后進(jìn)行的是系統(tǒng)的檢測,測試軟件在整體的環(huán)境下的運(yùn)行安全情況。
(二)當(dāng)前計(jì)算機(jī)軟件安全檢測的主要方法
一是形式化的安全檢測。
形式化的安全檢測是確立軟件的數(shù)學(xué)模型,在通過形式規(guī)格的語言的支持提供形式化的規(guī)格說明。
比較常見的形式規(guī)格語言有基于有限狀態(tài)的語言、基于模型的語言以及基于行為的語言。
形式化的安全檢測有模型檢測和定量證明兩種形式的安全檢測方法。
二是基于模型的靜態(tài)安全檢測。
模型安全檢測,既是通過軟件行為與結(jié)構(gòu)建模的方式,形成一個測試的模型,此模型同時可滿足計(jì)算機(jī)對其的可讀性。
模型安全檢測的方式與上述的形式安全檢測的方式相比較而言,并不側(cè)重于讓檢測的軟件系統(tǒng)與規(guī)格說明在所有的情況下都保持一致,而是從模型生出一組試用例,使用這組試用例來測試軟件系統(tǒng),來說明軟件的安全性。
比較常用的模型安全檢測方法包括有線狀態(tài)機(jī)檢測和馬爾科夫鏈的檢測。
三是語法檢測。
語法檢測技術(shù)是根據(jù)語法對被檢測軟件的功能接口的語法生成軟件進(jìn)行輸入的測試,測試軟件在不同的輸入條件下產(chǎn)生的不同的反應(yīng)。
一般語法檢測適用于檢測源程序中存在安全隱患的C語言函數(shù)和系統(tǒng)的調(diào)用,并通過軟件接口語言的識別、定義語言的語法以及以語法為基礎(chǔ)進(jìn)行生產(chǎn)測試用例,同時進(jìn)行安全檢測。
四是基于故障注入的軟件安全檢測。
故障注入的安全檢測是應(yīng)用故障分析樹與故障數(shù)的最小割集來檢測的。
故障樹分析法通過將系統(tǒng)最不該發(fā)生的事件做為頂事件,再以此尋找導(dǎo)致事故發(fā)生的中間事件與低事件,再通過邏輯門符號將頂事件、中間事件和低事件之間的關(guān)系進(jìn)行連接,形成故障樹。
故障樹檢測擁有較高的檢測自動化程度,是比較合理的計(jì)算機(jī)軟件安全檢測的方法。
五是模糊測試和基于屬性的測試。
模糊測試一般是基于白盒的模糊測試,較傳統(tǒng)的模糊測試技術(shù)有所進(jìn)步,白盒模糊檢測方法有效的結(jié)合了傳統(tǒng)的模糊測試技術(shù)和動態(tài)測試用例檢測技術(shù)的優(yōu)點(diǎn)。
基于屬性的測試方法首先要確定計(jì)算機(jī)軟件的安全編程規(guī)則,以此來作為安全屬性來驗(yàn)證軟件系統(tǒng)程序的代碼是否遵守了這些規(guī)則。
基于屬性的安全檢測法的優(yōu)點(diǎn)是能夠較好的分析軟件安全漏洞的擴(kuò)展性及安全性等。
六是混合檢測技術(shù)。
混合檢測技術(shù)是指將計(jì)算機(jī)的靜態(tài)安全檢測技術(shù)和動態(tài)安全檢測技術(shù)相結(jié)合的一種檢測技術(shù),它能有效的改善靜態(tài)技術(shù)和動態(tài)技術(shù)檢測存在的一些缺陷,從而更好的對計(jì)算機(jī)軟件的安全進(jìn)行檢測。
當(dāng)前主要的檢測技術(shù)包括二進(jìn)制代碼改編技術(shù)、測試庫技術(shù)、基于規(guī)范的檢測技術(shù)、基于異常的檢測技術(shù)等。
混合檢測技術(shù)在一定程度上提高了軟件安全檢測的準(zhǔn)確性,是較合理的檢測方式。
七是基于Web服務(wù)的檢測技術(shù)。
近年來,隨著Web服務(wù)技術(shù)的發(fā)展和廣泛的應(yīng)用,基于此的分布式軟件安全檢測技術(shù)也隨之產(chǎn)生和發(fā)展,它是一種基于識別內(nèi)容的分布式Web服務(wù)器技術(shù)。
具有語言中立、互動操作性強(qiáng)等優(yōu)點(diǎn),能夠?qū)?fù)雜的安全檢測分解為子安全類型進(jìn)行處理,以使其可以更有效的應(yīng)對復(fù)雜的安全檢測的需要。
分布式安全檢測還采用了故障注入機(jī)制來生成錯誤的soap消息,來用于異常測試。
此種檢測方法在實(shí)踐中具有高效、先進(jìn)和靈活的特點(diǎn),能夠?qū)浖目煽啃浴⑷蒎e性和安全性的檢測到達(dá)較高的標(biāo)準(zhǔn)。
四、總結(jié)
計(jì)算機(jī)軟件的安全檢測技術(shù)是保證計(jì)算機(jī)和互聯(lián)網(wǎng)安全的基礎(chǔ),必須不斷的加強(qiáng)檢測技術(shù)的創(chuàng)新,以保證計(jì)算機(jī)軟件的安全,促進(jìn)計(jì)算機(jī)軟件的發(fā)展。
參考文獻(xiàn):
[1]朱巖.淺析計(jì)算機(jī)軟件安全檢測存在問題及方法[J].科技創(chuàng)新與應(yīng)用,2012(14).
[2]陳晟.有關(guān)計(jì)算機(jī)軟件的安全檢測技術(shù)的分析[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012(15).
[3]趙妍.計(jì)算機(jī)軟件安全檢測方法探討[J].科技傳播,2010(16).
【計(jì)算機(jī)軟件安全檢測技術(shù)】相關(guān)文章:
計(jì)算機(jī)軟件安全檢測技術(shù)分析論文10-08
計(jì)算機(jī)軟件安全檢測技術(shù)分析論文范文10-08
計(jì)算機(jī)軟件安全檢測方法10-05
計(jì)算機(jī)軟件安全漏洞檢測10-05
漏洞檢測在計(jì)算機(jī)軟件安全中的應(yīng)用09-30
計(jì)算機(jī)軟件安全檢測存在問題及方法的研究10-09
食品安全檢測技術(shù)課程的實(shí)習(xí)報(bào)告10-12