美章網 資料文庫 軟件工程防篡改技術研究范文

軟件工程防篡改技術研究范文

本站小編為你精心準備了軟件工程防篡改技術研究參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。

軟件工程防篡改技術研究

關鍵詞:軟件保護;防篡改技術;軟件安全

1軟件防篡改技術的基本概念

1.1軟件防篡改技術的定義

第一,靜態防篡改技術。依賴軟件內部代碼的混淆思想,通過添加執行代碼,將原本應用程序內部代碼混亂后,降低應用程序的可讀性,也稱之為代碼混淆技術。第二,動態防篡改技術。依賴軟件檢測響應思想,通過內部軟件或外部硬件,阻止軟件被非法修改后應用程序正常運行。該技術能夠在發現軟件被非法篡改后作出錯誤結果輸出,軟件無響應,終止程序運行,從而保護軟件安全。

1.2常見的軟件篡改技術攻擊模型

軟件被下載到客戶端后,可能受到不同宿主的攻擊,比如修改軟件內部授權、修改內部商業信息等。本文分析了常見的三種軟件篡改攻擊模型。第一,獲取非授權訪問。軟件篡改人員通過繞過軟件中的訪問控制機制,重新定義軟件授權內容,進而繞過原有軟件內部機制訪問,重新分發軟件副本后獲取利益。第二,逆向工程。篡改人員通過反匯編技術、反編譯技術等逆向思維模式,獲取軟件內部的全部或部分核心控制源代碼,從而從軟件內部破解核心加密信息、核心機密等內容,將軟件據為己用。第三,破壞代碼完整性。篡改人員通過向軟件內部嵌入惡意代碼或修改、替換部分代碼,擾亂程序或繞過原有軟件內部驗證保護模塊,從而獲取利益。

1.3軟件防篡改技術的應用

第一,商業軟件作為付費軟件,軟件開發人員要保證使用者的商業利益和使用環境。例如,當訪問控制模塊面臨被篡改威脅時,可以啟動內部校驗機制,驗證軟件是否被修改,或采用獨立模塊加密等方式,確保軟件的安全性和唯一性。第二,Java應用程序被開發人員廣泛使用,面臨了更大的威脅。Java程序包內包含若干class類文件,該文件中保存了變量池和語義信息定義[1]。因此,保護人員會在程序中添加諸多加密算法,有效保護軟件,防止應用程序被惡意篡改。第三,數字版權系統中,防篡改技術會采用加密或混淆等方式,有效保護傳輸過程中產生的數字內容,防止中途被惡意截取,有效保護數據。除上述內容外,防篡改技術在C/S、無線網絡傳輸、物聯網等均有良好的應用場景。面對惡意篡改帶來的威脅,隨著新技術的研究和拓展,軟件防篡改技術會更加完善。

1.4軟件防篡改技術的評價指標

軟件防篡改技術的主要評價指標包括以下兩方面內容。第一,隱秘性。隱秘性防篡改技術要求修改后的代碼與源代碼有高度相似性,不會輕易被攻擊者探測,可以在一定程度上避免攻擊或者繞開攻擊代碼。該方案應充分考慮空間模塊問題,要將隱匿代碼分布在不同模塊,將攻擊者的思路和攻擊內容引導至錯的區域,進而保護軟件。第二,彈性。彈性表現了軟件對攻擊者有一定抵抗性,面對惡意代碼時,軟件可以依靠自身防御措施,在一定程度上抵御攻擊。例如,某些模塊受到攻擊時,其他模塊仍可正常工作,當危險全面解除,被攻擊模塊代碼安全檢測通過后,系統恢復正常運行。

2現有軟件防篡改技術

2.1靜態防篡改技術

軟件靜態防篡改技術指通過添加代碼或替換程序內容,加大靜態分析難度,進而阻止攻擊者通過逆向手段獲取軟件核心代碼[2]?,F階段,常見的混淆技術主要包括詞法混淆、數據混淆、流混淆、切片混淆和預防混淆等技術。

2.2動態防篡改技術

動態防篡改技術主要包括完整性檢測和響應兩部分。第一,完整性檢測。通過一種標識位識別應用程序是否遭受破壞。完整性檢測是動態防篡改技術的檢驗基礎,可以針對當前應用程序的Hash值、校驗和、數字簽名等內容,計算軟件的完整性是否達標。第二,響應檢測。現階段,常見的響應性檢測方法包括指針置空響應、哨兵機制檢測響應等方式。該設計模式主要依賴軟件動態響應技術,面對突發惡意代碼,可以結合預編寫探針模塊執行指定代碼,將攻擊者引導至錯誤方向,防止應用程序被篡改。

2.3軟件防篡改模型

軟件開發人員和測試人員工作過程中,會通過ObliviousHashing等模型來對軟件進行攻擊模擬實驗,并在各個環節計算Hash值,與原始預存Hash值對比,校驗程序的完整性。作為一種軟件驗證模型,與傳統Hash校驗相比,隱式Hash模型依賴程序運行變量計算而非靜態特征代碼,保證了程序的隱秘性和安全性。

2.4事件日志檢測機制

軟件日志很早被應用于軟件內部Bug檢測,監控軟件運行情況,后期被安全防護人員應用于防篡改領域?;谑录罩?,可以讓開發者驗證軟件在使用過程中是否被修改。開發者將事件日志和指定保護內容編寫到應用程序,軟件使用過程中,會不斷將信息上傳至服務器,進行校驗工作。由于校驗模塊位于服務端,因此可以避開攻擊。開發者可以隨時通過日志內容,查看軟件當前使用情況及安全策略是否正常。因為每條記錄都會攜帶時間戳,所以依據周期性可以良好把控軟件安全機制,防止軟件被惡意篡改。

2.5多點設置的哨兵防篡改技術

實際應用過程中,軟件檢測機制和響應機制必不可缺。基于該理論,業內知名學者提出了基于多點設置的哨兵防篡改模型。該技術可以依據不同的內容保護軟件。常見的哨兵防篡改模型主要分為兩種。第一,動態求和模型。該模型中,哨兵具有完全自我感知能力,應用程序被啟動后,不間斷計算程序完整性,并與原有庫中內容比對,保證程序的安全性。第二,自我修復模型,該模型中,哨兵會檢測軟件內容的代碼模塊,當發現代碼的完整性被破壞后,哨兵會將該部分代碼恢復至初始版本,使攻擊者的攻擊無法產生任何理化效應,從而保證軟件的安全。哨兵模型實際應用過程中,會依照軟件的實際使用場景和要求,嵌入到不同的模塊中。不同的哨兵模型會組建成一個完整的哨兵網絡,攻擊者只有移除整個哨兵網絡才能實施攻擊。由于核心內容由哨兵網絡鎖保護,因此可以達到保護軟件不被惡意篡改的核心目的。

2.6加密技術的應用

近年來,加密技術被應用于軟件防篡改領域。軟件開發人員可以加密應用程序的部分代碼,通過計算校驗碼和Hash函數,獲取秘鑰對比數據信息。軟件運行中,只有該模塊代碼運行時才能被解密,執行完畢后繼續加密。通過這種執行方法,哨兵模塊被更加深入運用。

2.7與硬件相關的防篡改技術

單純依靠軟件實現防篡改技術,不能取得百分百成功。開發人員將原本設計的加密方法拆分為軟件和硬件兩個組成部分。軟件使用者無法通過單一的軟件驗證秘鑰的完整性。軟件使用過程中,必須依靠第三方硬件中的非對稱數字加密信息才可以使用,在物理層面加以防護,提高軟件的安全性。

3軟件防篡改技術展望

軟件防篡改技術領域,目前尚無行業統一評價體系。因此,建立和完善一套防篡改技術評價體系,對行業的發展有重要意義。對防篡改技術而言,檢測和響應兩種機制必須相互依賴,二者結合可以大幅度提高破解難度。面對軟件中重要的內容模塊,將用動、靜兩種技術相結合,增加軟件面對反編譯和破解時的理解難度。軟件水印技術是后期興起的一種保護技術。水印可以證明軟件的完整性、統一性和正版版權。對于暴力破解或非法篡改,會破壞軟件內部水印,從而判定軟件是否發生過非法篡改。

4結語

軟件防篡改技術是保護軟件的重要技術手段之一。本文結合現階段常見的軟件防篡改技術和保護方法,針對軟件的實際應用場景,概括分析了業內常見技術的優缺點。

參考文獻

[1]馬健.軟件代碼重構的分析與探討[J].河北北方學院學報(自然科學版),2012,28(1):26-29.

[2]陳容華.軟件代碼重構的時機[J].科技資訊,2009(28):9.

作者:徐禮金 單位:廣東理工學院

主站蜘蛛池模板: 免费看又黄又无码的网站| 国产精品日韩欧美一区二区| 久久亚洲色www成人欧美| 欧美日韩国产一区二区三区欧| 午夜激情电影在线观看| 视频在线观看国产| 国产激情视频一区二区三区| 992人人tv| 很黄很刺激很爽的免费视频 | 麻豆乱码国产一区二区三区| 国产精品亚洲精品日韩动图| 97色在线观看| 女人18毛片a级毛片| 中文乱码人妻系列一区二区| 日本人视频-jlzzjlzzjlzz| 乱人伦人妻中文字幕无码久久网| 欧美日韩动态图| 亚洲综合AV在线在线播放| 精品3d动漫视频一区在线观看| 国产97在线看| 色网站免费观看| 国产午夜视频高清| 99视频精品国在线视频艾草 | 久久天天躁狠狠躁夜夜2020一| 欧洲美女与动性zozozo| 亚洲国产欧美在线看片一国产| 欧美黑人xxxx| 亚洲综合小说久久另类区| 男女交性特一级| 免费视频www| 精品国产免费一区二区三区香蕉| 国产91在线播放动漫| 足本玉蒲团在线观看| 国产在线不卡一区二区三区| 国色天香网在线| 国产欧美色一区二区三区| 波多野结衣资源在线| 国产精品揄拍一区二区| 3d动漫精品啪啪一区二区中文| 国产黄色大片网站| 91麻豆国产福利在线观看|