摘 要:隨著科學(xué)技術(shù)的發(fā)展和人們生活水平的提高,計算機已經(jīng)成為人們生活中重要的組成部分,為人們的生活、工作、學(xué)習(xí)帶來了很大的方便。應(yīng)用程序的不斷更新與增加,使其更好地滿足人們的需求。但是,同時也會影響到計算機的安全性能。因此,就要加強計算機的軟件安全檢測。本文介紹了計算機軟件安全檢測的重要意義,針對檢測中存在的問題,提出合理的解決措施。
關(guān)鍵詞:計算機;軟件系統(tǒng);安全檢測;問題;對策
中圖分類號:TP311.53
目前,我國進入了信息化時代,計算機得到了廣泛使用,為我們的生活提供了很多便利。但同時,計算機的安全難題也一直存在。比如:運行軟件時,軟件有可能帶有病毒,這些病毒會導(dǎo)致安全軟件的損毀,從而嚴重損害到計算機的系統(tǒng)。對計算機進行軟件的安全檢測,能夠有效避免這種情況的發(fā)生。以下對此提出個人見解。
1 計算機軟件安全檢測的重要性
在計算機軟件中應(yīng)用安全檢測技術(shù),其結(jié)果并不能判斷一項程序是不是存在錯誤,而是判斷程序中是否存在bug。要知道,即使程序中存在bug,軟件也能夠照常運行,只不過安全性能就會有所降低。就目前的軟件安全檢測技術(shù)來看,主要分為動態(tài)檢測和靜態(tài)檢測兩種形式,在實際的操作過程中被廣泛使用。
應(yīng)用安全檢測技術(shù)對計算機軟件進行檢測,是為了確定軟件的運行是否能夠達到預(yù)期的目標。一般來說,整個檢測過程包括三個步驟,第一步是功能性檢測,第二步是滲透性檢測,第三步是對檢測結(jié)果進行驗證的過程。
計算機軟件的安全性檢測和軟件缺陷檢測相對比,其區(qū)別在于安全性檢測的主要工作是以下三個方面:第一,不要做什么;第二,不應(yīng)該做的軟件;第三,軟件的安全檢測。在安全檢測中,出現(xiàn)的漏洞通暢進行兩個方面的檢測:其一是安全功能測試,目的在于檢測軟件的安全功能是否滿足運行需求。其二是安全程度測試,內(nèi)容比較復(fù)雜,包括訪問控制、保密性能、安全管理等。
2 計算機軟件安全檢測中應(yīng)注意的問題
2.1 檢測前,對軟件進行綜合分析。由于每臺計算機的使用者不同,所以計算機在運行特點、系統(tǒng)設(shè)置、用戶需求等方面都是不同的。安全檢測人員進行測試前,首先要對計算機進行綜合性能分析,充分了解計算機的軟件配置、系統(tǒng)運行特征等內(nèi)容,甚至也要了解用戶的使用習(xí)慣。測試前的綜合分析,對于安全檢測而言有兩個好處:第一,為安全檢測方法的選擇提供依據(jù),從不同的角度對不同的檢測方法進行篩選,從而對癥下藥。第二,能夠充分考慮到用戶的使用需求,提高用戶的滿意度。
2.2 檢測時,選擇合理的檢測方法。就目前計算機軟件的安全檢測來看,檢測人員通常使用固定的一種模式進行安全檢測,只用一個很簡單的方法就可以解決安全檢測問題。這種做法表面看起來效率高、省時省力,但實質(zhì)上是不利于軟件的安全的,因為沒有一種檢測方法是萬能的。所以,這就要求檢測人員認真分析計算機的系統(tǒng)、需求、代碼,以軟件的規(guī)模大小為依據(jù),立足于用戶的需求,來選擇合適的安全檢測方法。只有這樣,才能顯著提高計算機軟件的安全檢測水平,為用戶提供優(yōu)質(zhì)的服務(wù)。
2.3 檢測人員應(yīng)該向多元化發(fā)展。檢測人員的多元化,指的是檢測人員都是和計算機軟件相關(guān),但是分別屬于不同的領(lǐng)域。舉例來說,進行安全檢測時,不僅需要軟件安全的分析人員,也需要軟件系統(tǒng)的設(shè)計人員,甚至軟件開發(fā)人員等。通過這些專業(yè)的技術(shù)人員密切配合,開展安全檢測工作。采用多元化的檢測模式,其優(yōu)點有兩個方面:第一,能夠顯著提高軟件安全檢測的效率和質(zhì)量,從而增加安全檢測的專業(yè)性。第二,為軟件的安全檢測提供了一種新的模式,豐富了安全檢測體系。
3 提高計算機軟件安全檢測的對策
3.1 提高檢測人員的技術(shù)水平。對計算機軟件進行安全檢測,最終的工作落腳點在人身上。因此,只有提高檢測人員的檢測技術(shù)和業(yè)務(wù)能力,才能從根本上保證安全檢測。一方面,對檢測人員進行專業(yè)培訓(xùn),增強專業(yè)技能;另一方面,檢測人員在工作中要不斷積累經(jīng)驗,豐富操作實踐。
3.2 熟練掌握各種檢測方法。科學(xué)技術(shù)的進步,使現(xiàn)在的計算機軟件系統(tǒng)規(guī)模很大、十分復(fù)雜,軟件系統(tǒng)包含了眾多子系統(tǒng),子系統(tǒng)又由許多不同的模塊組成。進行安全檢測的程序一般是:第一,對模塊進行測試;第二,對系統(tǒng)進行組裝;第三,對整個系統(tǒng)結(jié)構(gòu)進行安全檢測;第四,對軟件的功能和性能進行測試;第五,對軟件系統(tǒng)進行測試。而具體的檢測方法,分為以下幾種,檢測人員應(yīng)該將其掌握。
(1)動態(tài)檢測方法。所謂動態(tài)檢測方法,就是在軟件運行過程中進行分析和研究,從而找出安全問題。其優(yōu)點在于不需要對代碼進行修改,就能夠達到安全檢測的目的,因此軟件的保密性得到提升。動態(tài)檢測分為六種方式:第一,內(nèi)存映射技術(shù),對代碼頁進行映射,使攻擊者不會通過結(jié)尾字符轉(zhuǎn)到內(nèi)存區(qū)。第二,沙箱技術(shù),對訪問資源的進程進行限制,從而預(yù)防攻擊行為。第三,安全共享庫技術(shù),使用動態(tài)鏈接將不安全的函數(shù)進行攔截,從而阻止調(diào)用。第四,程序解釋技術(shù),監(jiān)視程序運行的行為,強制性進行安全檢查。第五,非執(zhí)行棧技術(shù),通過禁止棧執(zhí)行代碼,預(yù)防惡意代碼的攻擊。第六,非執(zhí)行堆與數(shù)據(jù)技術(shù),使用禁令執(zhí)行堆和數(shù)據(jù)段,阻止惡意代碼的執(zhí)行。
(2)靜態(tài)檢測方法。當前靜態(tài)檢測技術(shù)包含了以下六種方式:第一,程序評注技術(shù),利用靜態(tài)分析的方法對評注信息進行查找,從而確定出漏洞。第二,約束解算器技術(shù),首先對目標程序進行特定屬性建模,然后分析解算約束。第三,詞法檢測技術(shù),檢測的對象是代碼中具有危險性的系統(tǒng)調(diào)用和C庫函數(shù)。第四,類型推斷技術(shù),指的是對特殊的用戶輸入數(shù)據(jù)增加安全約束。第五,編譯語言技術(shù),對不安全的類型轉(zhuǎn)換、longjmp等操作進行限制。第六,元編譯技術(shù),建模執(zhí)行軟件檢測,從而自動推斷出代碼的安全性。
(3)軟件形式化檢測方法。采用軟件形式化的安全檢測方法,其前提是對軟件的數(shù)學(xué)模型進行確認。建立安全模型,能夠分辨出軟件中存在的安全隱患,專業(yè)術(shù)語稱為軟件的安全特征,通過形式規(guī)格說明語言進行說明。而這種語言,常用的包括模型語言、行為語言、有限狀態(tài)語言等形式。形式化的檢測方法主要包括兩種類型,一是模型檢測,二是定理證明。
(4)軟件屬性檢測方法。在軟件安全檢測中,如果想使用軟件屬性的檢測方法,那么首先要對軟件的安全編程有充分的了解,然后通過驗證系統(tǒng)程序的代碼,來測試出軟件是不是在遵守安全編制規(guī)則,從而實現(xiàn)安全測試的目的。采用軟件屬性的檢測方法,優(yōu)點在于能夠分析出軟件安全的擴展性和交互性。
(5)故障注入檢測方法。故障注入檢測法的目的是檢測軟件的使用壽命,其手段是利用故障樹的最小割集和故障分析樹。具體來說,在測試中,將軟件發(fā)生故障最低的時間作為頂事件,然后對可能發(fā)生故障的中間事件和底事件進行搜索。最后采用合理的邏輯對所有事件進行連接,從而故障樹就產(chǎn)生了,能夠?qū)崿F(xiàn)安全檢測的目的。在軟件安全檢測中采用故障注入的方法,其優(yōu)點在于能夠顯著提高檢測的自動化程度,安全檢測比較充分。
4 結(jié)束語
總而言之,計算機軟件安全檢測是確保計算機安全不可缺少的一部分。安全檢測的目標是檢測軟件的應(yīng)用能力,看其是否能夠發(fā)揮正常的作用。因此,計算機軟件研發(fā)人員應(yīng)該在工作中加強軟件的檢測,從而為用戶提供更加優(yōu)質(zhì)的服務(wù)。
參考文獻:
[1]朱巖.淺析計算機軟件安全檢測存在問題及方法[J].科技創(chuàng)新與應(yīng)用,2012(14).
[2]陶穆.淺談電腦軟件安全問題與防御對策[J].計算機光盤軟件與應(yīng)用,2014(05).
[3]唐融.論計算機軟件安全檢測存在的問題及方法[J].電子技術(shù)與軟件工程,2014(05).
作者單位:濰坊市紅十字中心血站,山東濰坊 261041;濰坊護理職業(yè)學(xué)院,山東濰坊 261041