阮昊禹 吉林動畫學院虛擬現(xiàn)實學院
在當前社會生產(chǎn)、管理中,計算機作為現(xiàn)代社會的標志已經(jīng)廣泛存在于各行各業(yè)中,并發(fā)揮著重要作用。通過對現(xiàn)階段計算機的應用情況來看,計算機軟件安全已經(jīng)成為影響計算機進一步發(fā)展的重要因素,為了避免軟件安全問題發(fā)生,就必須要從軟件安全檢測技術入手,通過檢測技術及時發(fā)現(xiàn)計算機軟件中存在的安全風險漏洞,避免安全問題發(fā)生,本文將以此為背景,對計算機軟件安全檢測的相關問題做進一步分析。
在整個計算機軟件系統(tǒng)的開發(fā)過程中,安全檢測對于整個系統(tǒng)的性能產(chǎn)生深遠影響,一般軟件開發(fā)商為了保證計算機軟件的性能可以達到預期水平,往往會在軟件研發(fā)階段就對軟件進行安全檢測。現(xiàn)階段,安全檢測已經(jīng)成為計算機軟件研發(fā)的重要流程。在對計算機軟件進行安全檢測后,技術人員能對整個變成軟件的性能有一個較為全面的認識,不僅能及時發(fā)現(xiàn)軟件中存在的安全缺陷,還能加深研發(fā)人員對軟件的理解,提高軟件性能。通過對計算機軟件進行安全檢測,能有效降低軟件出現(xiàn)安全風險的問題,幫助軟件開發(fā)企業(yè)更好的占領市場。
在整個計算機軟件安全檢測過程中需要注意的是,計算機軟件安全檢測方法的主要意義就是發(fā)現(xiàn)軟件中存在的問題,而不是消除其中的錯誤,因此在安全檢測結束后,還需要及時的采用處理措施才能保證軟件性能。
計算機軟件安全檢測的核心,就是要以軟件安全為目的對軟件進行一系列的檢查與分析,通過及時尋找軟件中存在的安全問題,進一步強化軟件性能。在整個計算機軟件安全檢測中,必須要重點關注以下幾點內容:
(1)需要制定完成的安全檢測方案。在整個安全檢測過程中,要保證檢測方法具有科學性,能有效顯示軟件存在的質量問題。在操作中,技術人員必須要進一步了解軟件的性能,并結合軟件的應用范圍,結合具體的環(huán)境對軟件進行詳細的勘查與分析,并嚴格執(zhí)行相關安全檢測規(guī)定,才能保證軟件安全檢測效果能得到預期。同時,軟件安全檢測人員還應該具有全面的軟件安全檢測經(jīng)驗,并且能夠通過團隊合作的方法對軟件性能做全面的分析,進一步提高安全檢測效果。
(2)對計算機軟件安全檢測流程進行優(yōu)化,提高安全檢測水平。與其他工作不同的是,計算機安全軟件對相關人員的技能水平提出了較高的要求,并且整個軟件性能檢測的過程十分繁瑣,軟件結構越復雜,則安全檢測的難度越大。因此在整個軟件安全檢測過程中,工作人員必須要保證安全檢測工作具有針對性,能圍繞具體的軟件功能進行安全檢測,保證能在最短的時間內發(fā)現(xiàn)質量問題,提高檢測水平。
3.1 軟件安全漏洞簡述
軟件安全漏洞是引發(fā)軟件安全風險的重要因素,學術界普遍認為,軟件安全弱點就是可能帶來安全問題的計算機軟件代碼,但是由于軟件安全弱點與軟件安全漏洞存在不同,因此在研究軟件安全漏洞問題中需要注意的是,只有被證實可以引起攻擊的弱點才是漏洞,而弱點不一定是漏洞,但是漏洞卻一定有弱點。
3.2 軟件安全漏洞分類
對于相關人員而言,為了能有效發(fā)現(xiàn)、處理計算機軟件中存在的安全漏洞,就需要先了解漏洞的基本情況,掌握其產(chǎn)生的條件,才能更好的處理漏洞。目前軟件安全漏洞主要分為以下幾種:
(1)緩沖區(qū)溢出。近幾年,緩沖區(qū)溢出已經(jīng)引起了很多嚴重的軟件安全問題,從2003年至今的漏洞排名中,緩沖區(qū)溢出一直“榜上有名”,著名的震蕩波、大蠕蟲沖擊等都是通過緩沖區(qū)溢出等實現(xiàn)攻擊目的。計算機緩沖區(qū)都具有固定的容量,在存儲數(shù)據(jù)過程中必須要保證數(shù)據(jù)總量不能大于緩沖區(qū)的容量,一旦超出這個容量,很多數(shù)據(jù)都會“溢出”。很多時候這些“溢出”的數(shù)據(jù)不會產(chǎn)生任何問題,并且在測試期內也不會檢測出安全風險,但是這種“溢出”在實際上已經(jīng)成為軟件的安全漏洞。
(2)隨機數(shù)。隨機數(shù)在整個軟件安全中發(fā)揮著重要作用,不僅能生成序列號,有些特殊的情況下還能用來制作密鑰,因此隨機數(shù)會對軟件安全性產(chǎn)生深遠影響。同時,隨機數(shù)的問題還出現(xiàn)在某些操作系統(tǒng)的TCP/IP協(xié)議軟件中,由于選擇了不完善的隨機數(shù)產(chǎn)生數(shù)據(jù),導致信息傳輸雙方的數(shù)據(jù)報文容易被破解,這樣攻擊者就能快速的獲取資料,并侵入到通信中。
3.3 計算機軟件安全檢測技術分析
3.3.1 動態(tài)檢測技術
在計算機軟件安全動態(tài)檢測技術中,常見的技術主要分為以下幾種:
(1)非執(zhí)行棧技術。現(xiàn)階段基于棧進行攻擊的事件時有發(fā)生,導致出現(xiàn)這一問題的主要原因就是系統(tǒng)棧在操作中是可以被執(zhí)行的,因此面對被改寫的數(shù)據(jù)組,這些改變都會在棧中得到體現(xiàn),攻擊者只需要向棧中輸入惡意代碼,再通過一定措施激活這些代碼,就能實現(xiàn)對數(shù)據(jù)組的控制。現(xiàn)階段棧的攻擊技術比較全面,對計算機軟件所造成的影響也十分明顯。在應用非執(zhí)行棧技術過程中需要注意的是,該技術的檢測過程中具有一定的曲線,僅能檢測并阻止毀棧行為,供給者一旦將惡意代碼預熱到原有的數(shù)據(jù)段中來躲避非執(zhí)行棧檢測后,只需要將棧中返回的地址覆蓋,使得這個返回地址指向數(shù)據(jù)段中的惡意代碼就可以了。
(2)內存映射技術。一些攻擊者在運用系統(tǒng)軟件漏洞中,經(jīng)常會通過使用NULL結尾字符來覆蓋原有內存,并通過這種方法來達到攻擊目的。在處理該攻擊手段時,可以通過內存映射技術,讓攻擊者無法通過NULL結尾的字符串跳轉至低內存的區(qū)域,并且這些代碼本身就含有一定數(shù)量的NULL字符。一般在面對計算機軟件緩沖區(qū)溢出的漏洞,攻擊者會通過尋找目標進程中存在的某些地址,再按照這些地址的結構來構建屬于自己的數(shù)據(jù)。同時,由于這些地在操作系統(tǒng)上都具有規(guī)律性,因此如果使用內存映射技術,通過將代碼映射到隨機地址上,就會進一步增加攻擊難度,讓攻擊者無法快速找到地址,保證了系統(tǒng)安全。
3.3.2 靜態(tài)檢測技術
靜態(tài)檢測技術的核心,就是要通過相關程序來分析軟件二進制代碼或者源代碼的技術方法。與動態(tài)檢測技術相比,靜態(tài)檢測技術能找出軟件中存在的大量缺點,但是會存在五寶問題。但在總體上來看,靜態(tài)檢測技術更加便捷,不需要對操作系統(tǒng)做過多修改,因此能得到更多人員的認可。
元編譯技術作為一個純粹的基于編譯器的技術,它不會帶來任何語言方面的新擴展,因此也就不可能帶來兼容性方面的問題。同時需要注意的是,元編譯證書范圍檢測器在很多情況下基本不會出現(xiàn)誤報情況,因此這種技術的檢出性更高,能滿足大多數(shù)計算機軟件安全檢測的要求。
在本次研究中,本文重點闡述了計算機軟件安全檢測方法的相關內容,在介紹軟件安全檢測相關內容的同時,對其技術進行了分析。從本次研究結果來看,現(xiàn)階段計算機軟件安全檢測技術主要可以分為動態(tài)檢測技術與靜態(tài)檢測技術,兩種技術在計算機軟件安全檢測中各自發(fā)揮著不同的作用。因此對相關人員而言,在技術應用中,必須要充分考慮兩種技術的優(yōu)越性,并根據(jù)計算機軟件安全現(xiàn)狀,科學選擇軟件安全檢測方法,為進一步提高軟件安全性奠定基礎。