徐少華
摘要:本文主要對當前軟件工程防篡改技術水平進行分析,找到問題根本,進一步提高軟件防篡改技術水平,并做好有效的保障。
[關鍵詞]計算機信息技術 防篡改技術 軟件工程 保障
目前,計算機中的軟件工程篡改軟件技術不斷提高,而軟件防篡改技術水平卻停滯不前,也就加大了防篡改技術升級的難度。軟件工程具有自我保護技術,對軟件正常運行中出現的漏洞會進行自動檢測修復,保障軟件信息的安全,不會受到破壞。軟件篡改技術主要是對軟件的原始代碼進行篡改,一般是通過病毒的方式侵入軟件代碼,修改代碼的正常順序。加強防篡改技術實質是阻礙病毒入侵修改代碼,保障原有代碼的正常程序,是軟件可以正常運行。
1 軟件層面的防篡改技術
1.1 校驗和
校驗和作為軟件防篡改技術的基本操作方法,主要的作用是檢測軟件運行開始和結束后的文件是否出現差異和錯誤,從而推斷該軟件文件是否被篡改。但校驗和的操作需要使用計算機,對軟件文件內容作初期的核對、保存,該軟件在以后的運行中,可以對軟件文件再進行一次校驗和。和之前保存的文件相對比,確認是否一致,如果出現差異,則表示該軟件文件已經被篡改。校驗和的操作方法相對比較簡單普遍,而且不夠隱藏,容易被入侵者發現并處理掉,進而修改軟件代碼。而且一些強大的入侵者可以躲避軟件監控,修改修改校驗碼。校驗和操作方法在軟件防篡改技術中風險較大,應用范圍不廣。
1.2 軟件哨兵
軟件哨兵的主要功能是對軟件代碼進行升級加密,是可以融入到軟件的一種程序,但涵蓋的范圍較小。在軟件程序中融入軟件哨兵程序的數量并不受限,可以添加到軟件的不同位置,所展現的效果也是不一樣的。軟件篡改技術在修改軟件代碼時,必須清除或躲避軟件哨兵,如果沒有完全清除,仍然會被軟件哨兵發現入侵,并進行阻止對抗入侵者。軟件哨兵不僅是一個程序,還可以為該軟件添加監測代碼,實時監控是否有入侵者,并做好阻止準備。
另外,軟件哨兵還可以對已侵害的軟件代碼進行修復完善,有效的預防軟件被篡改情況,因此,軟件哨兵的安裝已經普及到計算機用戶中,確保計算機軟件的安全。
1.3 密碼技術
軟件工程在建設防軟件篡改技術中,最為重要的是核心組織軟件代碼的保護,密碼技術是在軟件哨兵的基礎上更加全面的加密功能,阻止入侵者篡改軟件代碼的效果更強,對入侵者具有攻擊性。密碼技術的原理是編制一套加密算法將軟件代碼轉變為無法讀取的格式從而使入侵者無法篡改軟件代碼也不可獲取相關的信息數據。這種加密算法是參考公鑰算法中的數字簽名技術,使軟件加密具有獨立性。在編譯軟件程序源代碼時,利用私鑰技術設置程序專有簽名,把簽名和程序代碼結合到一起,入侵者在進行篡改代碼之前必須有個檢驗,簽名不符合,就無法進行篡改。簽名和程序如果綁定成功,將是一套獨一無二的軟件代碼,不可替代。
2 硬件層面的防篡改技術
軟件層面的防篡改技術可以有效的保護軟件工程中的代碼,另外硬件層面也可以對軟件工程進行保護,但具體事件需要相應的軟件進行輔助配合。硬件技術主要是利用軟件衛士方法和軟件的網盤中硬加密技術解決軟件被篡改問題。硬件防篡改技術主要是根據軟件所存儲的硬盤位置,對不同位置進行區域保護,可以在本質上阻礙入侵者修改軟件源代碼。但也要不斷完善加強硬件方面的軟件防篡改技術水平,進一步阻止軟件被篡改的風險。目前社會上一些軟件企業建立了一一個組織,共同研發一個高度安全的硬件運算平臺,不斷加固強化軟件防篡改技術。另外企業還建立了嚴謹的軟件結構模式,從而保障軟件環境的安全性,該模式有自動的監測程序,可以有效的檢測出入侵者,并自行修復和完善軟件漏洞,而且計算機一旦安裝這種模式,除了用戶者其他人沒有權限進行修改和訪問。這個硬件運算平臺是當前最有效的保護軟件工程正常運行的方法。
3 新時代的防篡改技術
3.1 迷糊化技術
迷糊化技術的原理是對原始軟件進行初步模糊的分類整理,編制成一套新的程序,原來的程序和改編后的程序之間已經不能被分析,但最后執行的結果是一樣的。這種迷糊化技術可以打亂入侵者篡改軟件代碼的思路,并且也可以有效的防止入侵者逆反式的篡改軟件代碼。
3.2 應用水印技術
水印技術現在已經廣泛應用到我們的生活中,軟件工程利用水印技術的特點在軟件防篡改技術上設置獨有的標識。這個標識涵蓋該軟件的開發者、用戶和合作商等信息,并對程序的版權和身份驗證進行加密,對軟件程序設立專屬的標志可以準確的辨別出入侵者所竊取的盜版。對入侵者篡改的位置可以清晰的標識出來,而且水印也會被破壞,水印出現問題,整個軟件程序就會停止運行,更加有效、精準的檢測入侵者篡改程序。在廣泛應用水印技術的期間,軟件工程防篡改技術得到了明顯的成效。首先,水印技術充分展現了驗算法的作用,將水印法和加密法有效的結合在一起運算。入侵者如果要對軟件代碼進行篡改,需要攻擊兩道防線,第一道是水印,第二道是加密運算,雙重保護防線增加了入侵者篡改軟件代碼的難度。其次利用動態圖,在動態圖中會有相應的函數部分,函數是根據動態圖的環境和標準制定的,如果動態圖被入侵者篡改或復制,則函數的數值會發生改變,并于原來的不相符,導致動態圖終止運行,進而降低了動態圖被篡改的風險。
4 結語
總而言之,提高軟件工程中的軟件防篡改技術要通過硬件技術和軟件技術兩方面共同配合完成。另外面對不同類型的軟件程序,要找到適合各軟件特點的防篡改技術方法進行處理。軟件防篡改技術對我國軟件工程的發展和保護有著重要的作用和深遠的影響,面對當前計算機信息技術的高速發展,應打好基礎做好軟件程序的安全保障,減少病毒對軟件程序的破壞,使軟件程序可以正常運行。
參考文獻
[1]沈海波,石航達。軟件代碼的防篡改技術[M].武漢科技學院學報,2011(05).
[2]肖錦然.軟件工程保護中的軟件防篡改技術[M].高新技術產業發展,2012(11).