美章網(wǎng) 資料文庫 軟件工程防篡改技術(shù)研究范文

軟件工程防篡改技術(shù)研究范文

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

關(guān)鍵詞:軟件保護(hù);防篡改技術(shù);軟件安全

1軟件防篡改技術(shù)的基本概念

1.1軟件防篡改技術(shù)的定義

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

1.2常見的軟件篡改技術(shù)攻擊模型

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

1.3軟件防篡改技術(shù)的應(yīng)用

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

1.4軟件防篡改技術(shù)的評價指標(biāo)

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

2現(xiàn)有軟件防篡改技術(shù)

2.1靜態(tài)防篡改技術(shù)

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

2.2動態(tài)防篡改技術(shù)

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

2.3軟件防篡改模型

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

2.4事件日志檢測機(jī)制

軟件日志很早被應(yīng)用于軟件內(nèi)部Bug檢測,監(jiān)控軟件運(yùn)行情況,后期被安全防護(hù)人員應(yīng)用于防篡改領(lǐng)域。基于事件日志,可以讓開發(fā)者驗(yàn)證軟件在使用過程中是否被修改。開發(fā)者將事件日志和指定保護(hù)內(nèi)容編寫到應(yīng)用程序,軟件使用過程中,會不斷將信息上傳至服務(wù)器,進(jìn)行校驗(yàn)工作。由于校驗(yàn)?zāi)K位于服務(wù)端,因此可以避開攻擊。開發(fā)者可以隨時通過日志內(nèi)容,查看軟件當(dāng)前使用情況及安全策略是否正常。因?yàn)槊織l記錄都會攜帶時間戳,所以依據(jù)周期性可以良好把控軟件安全機(jī)制,防止軟件被惡意篡改。

2.5多點(diǎn)設(shè)置的哨兵防篡改技術(shù)

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

2.6加密技術(shù)的應(yīng)用

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

2.7與硬件相關(guān)的防篡改技術(shù)

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

3軟件防篡改技術(shù)展望

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

4結(jié)語

軟件防篡改技術(shù)是保護(hù)軟件的重要技術(shù)手段之一。本文結(jié)合現(xiàn)階段常見的軟件防篡改技術(shù)和保護(hù)方法,針對軟件的實(shí)際應(yīng)用場景,概括分析了業(yè)內(nèi)常見技術(shù)的優(yōu)缺點(diǎn)。

參考文獻(xiàn)

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

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

作者:徐禮金 單位:廣東理工學(xué)院

主站蜘蛛池模板: 性xxxx18免费观看视频| 欧美特黄三级电影aaa免费| 国产午夜毛片一区二区三区| 91精品福利视频| 小说都市欧美亚洲| 久久久久99精品成人片试看| 樱花草www日本在线观看| 亚洲精品午夜久久久伊人| 精品人人妻人人澡人人爽人人| 国产亚洲人成网站观看| 国产男人午夜视频在线观看| 国产精欧美一区二区三区| a级毛片无码免费真人| 成人免费看吃奶视频网站| 亚洲色欲久久久久综合网| 久久久精品中文字幕麻豆发布| 欧美日韩精品一区二区三区高清视频| 免费真实播放国产乱子伦| 色大18成网站www在线观看 | 夜夜添无码试看一区二区三区| 中文字幕丰满乱码| 被两个体育生双龙9| 毛片免费观看视频| 国产r67194吃奶视频| 黄网站色成年片大免费高清| 国产精品丝袜久久久久久不卡| 96xxxxx日本人| 天天干视频网站| 一区国严二区亚洲三区| 成年在线网站免费观看无广告| 久久九九AV免费精品| 日韩精品欧美一区二区三区 | 免费看污成人午夜网站 | 久久老子午夜精品无码怎么打| 欧美午夜精品久久久久免费视| 亚洲精品中文字幕乱码三区| 猫咪av成人永久网站在线观看| 内射极品少妇XXXXXHD| 美女主动张腿让男人桶| 国产va免费精品观看精品| 钻胯羞辱的视频vk|