計算機安全技術(shù)第3章_第1頁
計算機安全技術(shù)第3章_第2頁
計算機安全技術(shù)第3章_第3頁
計算機安全技術(shù)第3章_第4頁
計算機安全技術(shù)第3章_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論