潘正輝
(安谷科技股份有限公司,江蘇無錫,214000)
人們已經迎來了信息時代,計算機軟件在人們的工作和生活當中所發揮的作用也愈發突出,各行各業對計算機軟件的應用也越來越廣泛。但與此同時,計算機軟件中所隱含的各種各樣的安全漏洞也逐漸被暴露了出來,越來越多的黑客開始對軟件中的源代碼漏洞展開攻擊,這嚴重影響了人們的工作和生活。因此,對軟件安全漏洞檢測技術進行研究,有著非常重要的意義。
靜態分析,指的是掃描系統程序中的各項源代碼的過程,并在源代碼當中將關鍵句以及關鍵語法找出來,對這些關鍵句和關鍵語法的含義進行解讀,從而分析軟件的程序行為,利用軟件漏洞的特性來實現對其安全性的檢測。在靜態分析時,工作人員需要將系統程序分為若干個片段,并將這些片段和“疑問數據庫”進行比較,如發現有漏洞或疑問存在,則需要對其進行評估和判定。通常情況下,系統程序能夠保持在穩定的狀態下運行,就可以視為軟件安全達到了相應的標準。工作人員可以利用規則處理的方式,利用規則處理器將其轉化為內部形式,這樣就可以實現對軟件程序的運行狀況的全方位檢測。
程序檢驗指的是利用抽象的軟件程序來對模型進行形式化,并利用特定的檢驗方法來對軟件漏洞加以檢測。它是將軟件程序中的有向圖建立成一個抽象的模型,從而對軟件的特征加以檢測。一般情況下,程序檢驗包括符號化檢驗以及模型檢驗這兩種方式。其中,符號化檢驗是通過把抽象的模型轉化成語法樹的形式來進行檢驗,而模型檢驗是將程序轉化為兩個等價的自動機,再將這兩個等價的自動機更換為兩個新自動機,使系統被判定成語言可容納形式。
與前面提到的兩種檢測技術相比,定理證明檢測方法要嚴格很多,定理證明法是通過多種不同的形式來對被檢測的程序對應的抽象公式的真實性進行驗證。定理證明檢測技術的判別方法主要是借助于公式的不同形式。以不等式舍取為例,首先,先通過舍取式完成圖的構造,舍取式中的各項條件都是和圖中的各個節點相對應的;然后,憑借給出的各個等式來合并對應頂點,在合并定點時,檢查舍取式里面的各個不等式,若不等式不成立的狀況出現,就證明該舍取式不符合軟件安全的要求[1]。
在計算機軟件的運行過程中,經常會出現棧攻擊造成的安全事件。想要防止棧攻擊安全事件的發生,可以采取一個非常直接的策略,就是不讓棧繼續處在工作狀態。這樣一來,就算黑客向棧里面輸入了惡意的代碼,也無法影響到計算機軟件的正常運行,很多黑客對軟件的攻擊就會因此被攔截下來。但是,非執行棧技術在使用時必須要在操作層里面修改原先的設置,若修改不當很可能會對系統的性能產生影響。另外,若程序中的棧溢出漏洞和堆溢出漏洞同時存在,也容易導致計算機系統出現問題。在使用非執行棧技術時,操作系統的主要特征就是,其內核中的棧頁會被標記成不可執行。
很多黑客會憑借NULL結尾處的字符串將內存覆蓋住,從而實現對計算機軟件的攻擊。對此,用戶可以通過內存映射技術來將代碼頁隨機的映射到地址上面,這樣黑客在攻擊軟件時,就會遭到很大的阻礙,就算黑客進行長時間的計算,也很難查到正確的地址。與非執行棧技術類似,內存映射技術也需要對操作系統的內核進行修改,修改的目的就是讓操作系統能夠將代碼頁全都映射在低內存空間當中。例如,程序員可以先將二進制的地址確定在程序的鏈接階段,這樣用戶在使用內存映射技術時,就不需要再修改原先的代碼,只需對其進行重新鏈接操作即可,這會幫助用戶更加方便地檢測軟件的安全漏洞。
除了非執行棧技術和內存映射技術之外,沙箱技術也是一種應用非常廣泛的動態檢測技術。沙箱技術的檢測原理是對訪問加以限制,從而達到防止黑客攻擊的目的。使用沙箱技術的關鍵在于定義策略是否足夠全面。一個全面的定義策略,能夠有效地確保程序不被外界所攻擊。以軟件的調動函數問題為例,在軟件的運行過程中,并不會產生任何的調動函數,當用戶發現軟件中出現了調動函數時,就證明該軟件已經受到了黑客的攻擊,如果用戶在軟件遭到攻擊之前,就利用沙箱技術對攻擊行為加以限制,那么黑客的攻擊就無法對軟件的運行構成威脅[2]。
目前計算機領域的技術人員在軟件安全漏洞的檢測方面已經取得了非常卓越的研究成果,無論是靜態檢測技術還是動態檢測技術,都能夠發揮非常重要的檢測作用。然而,在計算機軟件當中仍然存在當前技術水平難以檢測出來的安全漏洞,因此,技術人員應繼續努力,對軟件安全漏洞檢測技術展開更加深入的研究,這樣才能使計算機軟件能夠在更加安全的狀態下運行。
[1]李舟軍,張俊賢,馬金鑫.軟件安全漏洞檢測技術[J].計算機學報 ,2015,38(04):717-732.
[2]管銘.基于程序分析的軟件安全漏洞檢測技術研究[D].西北工業大學,2007.
[3]潘正輝.基于云的手機通訊軟件的設計與實現[J].電子世界 ,2016 (17):93-93.
[4]潘正輝.芻議基于用戶體驗的智能手機交互設計[J].通訊世界 ,2015 (11):114-115.
[5]潘正輝.基于安卓系統的近場無線通訊功能設計與實現[D].大連理工大學,2013.