




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第三章計算機軟件安全技術(shù)
第一頁,共十五頁。3.1軟件安全技術(shù)概述
計算機軟件安全主要是指保證所有計算機程序和文檔資料免遭破壞、非法拷貝、非法使用而采用的技術(shù)和方法,其內(nèi)容包括如下五個方面:
(1)軟件的自身安全
(2)軟件的存儲安全
(3)軟件的通信安全
(4)軟件的使用安全
(5)軟件的運行安全
影響計算機軟件安全的因素很多,要確保其安全,必須采取兩方面的措施:一是非技術(shù)性措施,如制定有關(guān)法律、法規(guī),加強各方面的管理等。二是技術(shù)性措施,如采用軟件安全的各種防拷貝加密技術(shù)、防靜態(tài)分析、防動態(tài)跟蹤技術(shù)等。
第二頁,共十五頁。3.2軟件分析技術(shù)
在進行軟件的破解、解密工作中,一個首要的問題是對軟件進行分析。這些軟件都是機器代碼程序,對于它們分析必須使用靜態(tài)或動態(tài)調(diào)試工具,分析跟蹤其匯編代碼。
3.2.1靜態(tài)分析技術(shù)
所謂靜態(tài)分析即從反匯編出來的程序清單上分析,從提示信息入手進行分析。如果我們對靜態(tài)反匯編出來的程序清單進行閱讀,就可以從中找到有用的提示信息,了解軟件的編程思路,以便順利破解。常用的靜態(tài)分析工具有W32DASM、IDA和HIEW等。W32DASM可以方便的反匯編程序,它能靜態(tài)分析程序流程,也可動態(tài)分析程序。在其新版本中,還加強了對中文字符串的提取,W32DASM的界面如下圖所示:第三頁,共十五頁。3.2軟件分析技術(shù)3.2.2動態(tài)分析技術(shù)
所謂動態(tài)分析是指利用動態(tài)分析工具一步一步地單步執(zhí)行軟件。為了有效地進行動態(tài)跟蹤分析,需要進行以下兩個步驟:第一步,對軟件進行粗跟蹤。第二步,對關(guān)鍵部分進行細跟蹤。常用的動態(tài)分析工具有Soft-ICE和Trw2000。
Trw2000完全兼容Soft-ICE的各條指令,并且專門針對軟件破解進行了優(yōu)化,在Windows9x下跟蹤調(diào)試功能更強。可以設(shè)置各種斷點,并且斷點種類更多。它可以像一些脫殼工具一樣完成對加密外殼的去除,自動生成EXE文件。它還有在DOS下的版本,名為TR。下圖為Trw2000界面:第四頁,共十五頁。3.3常用的軟件保護技術(shù)
常見的軟件保護技術(shù)有序列號方式、時間限制、警告窗口、KeyFile保護、功能限制、CD—check等,下面對它們分別做出簡要介紹。
3.3.1序列號方式
3.3.2時間限制
3.3.3Nag窗口
3.3.4KeyFile保護
3.3.5功能限制的程序
3.3.6CD-check
第五頁,共十五頁。*3.4反跟蹤技術(shù)
反跟蹤技術(shù)是磁盤加密技術(shù)中最能顯示技術(shù)水平的部分。一個有效的反跟蹤技術(shù)應(yīng)該具有以下三個特征:(1)重要程序段是不可跳越和修改的。
(2)不通過加密系統(tǒng)的譯碼算法,密碼不可破譯。
(3)加密系統(tǒng)是不可動態(tài)跟蹤執(zhí)行的。
第六頁,共十五頁。*3.4反跟蹤技術(shù)下面我們以DOS中功能強大的動態(tài)跟蹤調(diào)試軟件DEBUG為例,對常用的反跟蹤技術(shù)作出說明。:3.4.1抑制跟蹤中斷
3.4.2封鎖鍵盤輸入
3.4.3設(shè)置顯示器的顯示性能
3.4.4檢測跟蹤法
3.4.5破壞中斷向量表
3.4.6設(shè)置堆棧指針法
3.4.7對程序分塊加密執(zhí)行
3.4.8對程序段進行校驗
3.4.9迷惑、拖垮解密者
3.4.10指令流隊列法
3.4.11逆指令流法
3.4.12混合編程法
3.4.13自編軟中斷13技術(shù)
第七頁,共十五頁。3.5軟件加殼與脫殼
3.5.1加殼
計算機軟件中的“殼”是一段專門負責(zé)保護軟件不被非法修改或反編譯的程序。它們一般都是先于程序運行,拿到控制權(quán),然后完成它們保護軟件的任務(wù)。就像動植物的殼一般都是在身體外面一樣理所當(dāng)然。由于這段程序和自然界的殼在功能上有很多相同的地方,基于命名的規(guī)則,大家就把這樣的程序稱為“殼”了。
給軟件加殼的目的主要有兩點:第一就是達到壓縮EXE文件的目的,以節(jié)約存儲空間,方便網(wǎng)絡(luò)傳輸。第二就是加密保密的目的,有一些版權(quán)信息需要保護起來,不能讓別人隨意更改,如作者的姓名、軟件名稱等。能夠完成對可執(zhí)行文件壓縮和對信息加密的軟件,我們稱之為加殼軟件。第八頁,共十五頁。3.5軟件加殼與脫殼加殼軟件與一般的Winzip等壓縮軟件是有區(qū)別的。加殼后的文件能直接運行,還是一個可執(zhí)行文件,它們的壓縮是在內(nèi)存中完成的。而Winzip等軟件只能把文件解壓到硬盤中,只是將壓縮后的文件還原成源文件。加殼與沒有加殼軟件的運行情況如圖所示:常見的加殼軟件有ASPack、UPX、PECompact等。
第九頁,共十五頁。3.5軟件加殼與脫殼3.5.2脫殼
“脫殼”顧名思義,就是把在軟件外面起保護作用的“殼”程序去掉。脫殼有兩種方法:一種是自動脫殼,另一種是手動脫殼。(1)自動脫殼自動脫殼就是用相應(yīng)的脫殼程序?qū)用艿某绦蜻M行脫殼的方法。一般每種壓縮工具的殼,都會有相應(yīng)的脫殼工具,因此只要找到較新版本的脫殼工具,一般的殼都可輕易脫去。首先,我們要知道軟件使用的是哪種加殼軟件進行加密的,這就得用到偵測文件類型的工具。常用的偵測文件類型工具有Language2000、、GetTyp、TYP等。
第十頁,共十五頁。3.5軟件加殼與脫殼下圖為Language2000中文版的界面:用偵冊文件類型工具查出軟件使用的加殼工具后,再用相應(yīng)的脫殼工具即可實現(xiàn)自動脫殼。常用的脫殼工具有:UnAspack、AspackDie1.4、UnPEPack、ProcDump32等。第十一頁,共十五頁。3.5軟件加殼與脫殼(2)手動脫殼
手動脫殼是指不借助自動脫殼工具,而是用動態(tài)調(diào)試工具SOFTICE或TRW2000來脫殼。手動脫殼一般難度較大,使用的工具有調(diào)試器(SoftICE、TRW2000等),內(nèi)存抓取工具(Procdump等),十六進制工具(Hiew、UltraEdit、HexWorkshop等),PE編輯工具(Procdump、Peditor等)。手動脫殼的一般步驟為:第一步,確定殼的種類。第二步,入口點(EntryPoint)的確定。第三步,dump取內(nèi)存已還原文件。第四步,修正剛dump取的文件。
第十二頁,共十五頁。3.6軟件安全保護建議
本節(jié)給出的關(guān)于軟件保護的一般性建議,是無數(shù)人經(jīng)驗的總結(jié)。在設(shè)計軟件保護方式時遵守這些準則,將會提高軟件的保護強度。
(1)軟件最終發(fā)行之前一定要將可執(zhí)行程序進行加殼/壓縮,使得解密者無法直接修改程序。
(2)增加對軟件自身的完整性檢查。
(3)不要采用一目了然的名字來命名函數(shù)和文件
(4)盡可能少地給用戶提示信息。(5)將注冊碼、安裝時間記錄在多個不同的地方。
(6)檢查注冊信息和時間的代碼越分散越好。
(7)通過讀取關(guān)鍵的系統(tǒng)文件的修改時間來得到系統(tǒng)時間的信息。(8)如果有可能的話,可以采用聯(lián)網(wǎng)檢查注冊碼的方法,且數(shù)據(jù)在網(wǎng)上傳輸時要加密。第十三頁,共十五頁。3.6軟件安全保護建議(9)除了加殼/壓縮之外,還需要自己編程在軟件中嵌入反跟蹤的代碼,以增加安全性。(10)在檢查注冊信息的時候插入大量無用的運算以誤導(dǎo)解密者,并在檢查出錯誤的注冊信息之后加入延時。(11)給軟件保護加入一定的隨機性。(12)如果采用注冊碼的保護方式,最好是一機一碼,即注冊碼與機器特征相關(guān)。(13)如果試用版軟件沒有某項功能,則不要僅僅使相關(guān)的菜單變灰,而是徹底刪除相關(guān)的代碼,使得編譯后的程序中根本沒有相關(guān)的功能代碼。(14)如果軟件中包含驅(qū)動程序,則最好將保護判斷加在驅(qū)動程序中。(15)如果采用keyfile的保護方式,則keyfile的尺寸不能太小,可將其結(jié)構(gòu)設(shè)計得比較復(fù)雜,在程序中不同的地方對keyfile的不同部分進行復(fù)雜的運算和檢查。(16)自己設(shè)計的檢查注冊信息的算法不能過于簡單,最好是采用比較成熟的密碼學(xué)算法。
第十四頁,共十五頁。內(nèi)容總結(jié)第三章。下面我們以DOS中功能強大的動態(tài)跟蹤調(diào)試軟件DEBUG為例,對常用的反跟蹤技術(shù)作出說明。計算機軟件中的“殼”是一段專門負責(zé)保護軟件不被非法修改或反編譯的程序。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合伙企業(yè)入伙合同書
- 民用工程合同風(fēng)險防范與新策略
- 企事業(yè)單位圖書配送合同
- 用戶安全用電合同責(zé)任書2025
- 臨時工勞動合同范本
- 租賃合同土地市場展望與發(fā)展趨勢
- 企業(yè)與員工提前終止合同協(xié)議
- 2025年冷凍豬肉采購合同樣本資料
- 2025年人事策劃委托代理合同樣本
- 產(chǎn)品年銷售區(qū)域代理合同范本及說明
- 浙江省衢州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細
- 初中英語《Unit5-Do-you-remember-what-you-were-doing》教學(xué)課件設(shè)計
- 品德家庭小賬本
- 癥狀性大腦中動脈慢性閉塞血管內(nèi)開通治療課件
- 大象版科學(xué)四年級下冊第一單元測試卷(含答案)
- 蘇教版一年級數(shù)學(xué)下冊第二單元《認識圖形(二)》教材分析(定稿)
- 小學(xué)班會課件-端午節(jié)主題班會(共19張PPT)通用版 PPT課件
- 約等于計算題100道乘除法
- 水泵站工程施工設(shè)計方案
- 新聞類文體的翻譯(課堂PPT)
- 員工年終述職報告工作總結(jié)PPT模板
評論
0/150
提交評論