第三章 計(jì)算機(jī)軟件安全技術(shù)_第1頁
第三章 計(jì)算機(jī)軟件安全技術(shù)_第2頁
第三章 計(jì)算機(jī)軟件安全技術(shù)_第3頁
第三章 計(jì)算機(jī)軟件安全技術(shù)_第4頁
第三章 計(jì)算機(jī)軟件安全技術(shù)_第5頁
已閱讀5頁,還剩60頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3.1計(jì)算機(jī)軟件安全技術(shù)概述計(jì)算機(jī)軟件安全技術(shù)概述3.2文件加密技術(shù)文件加密技術(shù)3.3 軟件運(yùn)行中的反跟蹤技術(shù)軟件運(yùn)行中的反跟蹤技術(shù)3.4防止非法復(fù)制軟件的技術(shù)防止非法復(fù)制軟件的技術(shù)3.5保證軟件質(zhì)量的安全體系保證軟件質(zhì)量的安全體系第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)本章學(xué)習(xí)目標(biāo)本章學(xué)習(xí)目標(biāo)(1)掌握計(jì)算機(jī)軟件安全的基本概念、內(nèi)容和軟件安)掌握計(jì)算機(jī)軟件安全的基本概念、內(nèi)容和軟件安全保護(hù)的指導(dǎo)思想。全保護(hù)的指導(dǎo)思想。(2)了解一般采用哪些技術(shù)措施來保證計(jì)算機(jī)軟件的)了解一般采用哪些技術(shù)措

2、施來保證計(jì)算機(jī)軟件的安全。安全。(3)掌握可執(zhí)行文件的加密方式和加密原理;軟件運(yùn))掌握可執(zhí)行文件的加密方式和加密原理;軟件運(yùn)行中的反跟蹤技術(shù);常用的防止非法復(fù)制軟件的技術(shù);行中的反跟蹤技術(shù);常用的防止非法復(fù)制軟件的技術(shù);能夠編制具有反跟蹤功能的加密盤。能夠編制具有反跟蹤功能的加密盤。(4)了解保證軟件質(zhì)量的安全體系。)了解保證軟件質(zhì)量的安全體系。返回本章首頁返回本章首頁第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3.1計(jì)算機(jī)軟件安全技術(shù)概述計(jì)算機(jī)軟件安全技術(shù)概述1計(jì)算機(jī)軟件安全的定義計(jì)算機(jī)軟件安全的定義2計(jì)算機(jī)軟件安全的內(nèi)容計(jì)算機(jī)軟件安全的內(nèi)容3計(jì)算機(jī)軟件安全的技術(shù)措施計(jì)算機(jī)軟件安全的技術(shù)

3、措施4軟件的本質(zhì)及特征軟件的本質(zhì)及特征5軟件安全保護(hù)的指導(dǎo)思想軟件安全保護(hù)的指導(dǎo)思想返回本章首頁返回本章首頁第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)1計(jì)算機(jī)軟件安全的定義計(jì)算機(jī)軟件安全的定義 軟件的安全就是為計(jì)算機(jī)軟件系統(tǒng)建立和軟件的安全就是為計(jì)算機(jī)軟件系統(tǒng)建立和采取的技術(shù)和管理的安全保護(hù),保護(hù)計(jì)算機(jī)軟采取的技術(shù)和管理的安全保護(hù),保護(hù)計(jì)算機(jī)軟件、數(shù)據(jù)不因偶然或惡意的原因而遭破壞、更件、數(shù)據(jù)不因偶然或惡意的原因而遭破壞、更改、顯露、盜版、非法復(fù)制,保證軟件系統(tǒng)能改、顯露、盜版、非法復(fù)制,保證軟件系統(tǒng)能正常連續(xù)的運(yùn)行。正常連續(xù)的運(yùn)行。 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)2計(jì)算

4、機(jī)軟件安全的內(nèi)容計(jì)算機(jī)軟件安全的內(nèi)容(1)軟件的自身安全)軟件的自身安全 (2)軟件的存儲安全)軟件的存儲安全 (3)軟件的通信安全)軟件的通信安全 (4)軟件的使用安全)軟件的使用安全 (5)軟件的運(yùn)行安全)軟件的運(yùn)行安全 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3計(jì)算機(jī)軟件安全的技術(shù)措施計(jì)算機(jī)軟件安全的技術(shù)措施必須采取兩個方面的措施:必須采取兩個方面的措施:一是非技術(shù)性措施,如制定有關(guān)法律、法規(guī),一是非技術(shù)性措施,如制定有關(guān)法律、法規(guī),加強(qiáng)各方面的管理。加強(qiáng)各方面的管理。二是技術(shù)性措施,如軟件安全的各種防拷貝加二是技術(shù)性措施,如軟件安全的各種防拷貝加密技術(shù)、防靜態(tài)分析、防動態(tài)跟蹤技

5、術(shù)等。密技術(shù)、防靜態(tài)分析、防動態(tài)跟蹤技術(shù)等。第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)4軟件的本質(zhì)及特征軟件的本質(zhì)及特征1)軟件是用戶使用計(jì)算機(jī)的工具)軟件是用戶使用計(jì)算機(jī)的工具 2)軟件是一種知識產(chǎn)品)軟件是一種知識產(chǎn)品 3)軟件是人類社會的財(cái)富)軟件是人類社會的財(cái)富 4)軟件可以存儲和移植)軟件可以存儲和移植 5)軟件是具有巨大威懾力量的武器)軟件是具有巨大威懾力量的武器 6)軟件具有寄生性)軟件具有寄生性 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)5軟件安全保護(hù)的指導(dǎo)思想軟件安全保護(hù)的指導(dǎo)思想 軟件安全保護(hù)的指導(dǎo)思想是采用加密、反軟件安全保護(hù)的指導(dǎo)思想是采用加密、反跟蹤、防非

6、法復(fù)制等技術(shù)。在軟件系統(tǒng)上或原跟蹤、防非法復(fù)制等技術(shù)。在軟件系統(tǒng)上或原盤上產(chǎn)生一種信息,這種信息既是軟件系統(tǒng)中盤上產(chǎn)生一種信息,這種信息既是軟件系統(tǒng)中各可執(zhí)行文件在運(yùn)行中必須引用的,又是各種各可執(zhí)行文件在運(yùn)行中必須引用的,又是各種文件復(fù)制命令或軟盤復(fù)制軟件所無法正確復(fù)制、文件復(fù)制命令或軟盤復(fù)制軟件所無法正確復(fù)制、無法正確安裝或無法正確運(yùn)行的。無法正確安裝或無法正確運(yùn)行的。返回本節(jié)返回本節(jié)第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3.2文件加密技術(shù)文件加密技術(shù)3.2.1數(shù)據(jù)文件加密原理數(shù)據(jù)文件加密原理3.2.2可執(zhí)行文件的加密方式可執(zhí)行文件的加密方式返回本章首頁返回本章首頁第三章計(jì)算機(jī)軟件

7、安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3.2.1數(shù)據(jù)文件加密原理數(shù)據(jù)文件加密原理 文本文件和可執(zhí)行文件都是以二進(jìn)制數(shù)的文本文件和可執(zhí)行文件都是以二進(jìn)制數(shù)的形式以字節(jié)為單位存放在磁盤上,所以可把它形式以字節(jié)為單位存放在磁盤上,所以可把它們一律視為數(shù)據(jù)文件來進(jìn)行加密解密操作,但們一律視為數(shù)據(jù)文件來進(jìn)行加密解密操作,但可執(zhí)行文件加密后不能運(yùn)行,但可有效地保護(hù)可執(zhí)行文件加密后不能運(yùn)行,但可有效地保護(hù)源程序和數(shù)據(jù)庫文件中的信息,使非法用戶不源程序和數(shù)據(jù)庫文件中的信息,使非法用戶不能從中得到有用信息。能從中得到有用信息。 為了實(shí)現(xiàn)數(shù)據(jù)文件的加密,一般采用加密為了實(shí)現(xiàn)數(shù)據(jù)文件的加密,一般采用加密軟件或用戶自己編寫

8、集成化的加密軟件,實(shí)現(xiàn)軟件或用戶自己編寫集成化的加密軟件,實(shí)現(xiàn)數(shù)據(jù)文件的加、解密操作。數(shù)據(jù)文件的加、解密操作。返回本節(jié)返回本節(jié)第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3.2.2可執(zhí)行文件的加密方式可執(zhí)行文件的加密方式1可執(zhí)行文件的結(jié)構(gòu)及運(yùn)行可執(zhí)行文件的結(jié)構(gòu)及運(yùn)行dos環(huán)境下可執(zhí)行文件有兩種結(jié)構(gòu):環(huán)境下可執(zhí)行文件有兩種結(jié)構(gòu):一種擴(kuò)展名為一種擴(kuò)展名為.com,它無文件頭,可直接裝,它無文件頭,可直接裝入內(nèi)存運(yùn)行;另一種擴(kuò)展名為入內(nèi)存運(yùn)行;另一種擴(kuò)展名為.exe,它必須根,它必須根據(jù)文件頭中的信息,經(jīng)過初始化工作以后才能據(jù)文件頭中的信息,經(jīng)過初始化工作以后才能順利運(yùn)行,這種不同的結(jié)構(gòu)決定了它

9、們不同的順利運(yùn)行,這種不同的結(jié)構(gòu)決定了它們不同的加密方式。加密方式。 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)2可執(zhí)行文件的加密可執(zhí)行文件的加密(1).com文件的加密方式文件的加密方式.com文件的結(jié)構(gòu)簡單,可以很容易地對它進(jìn)行文件的結(jié)構(gòu)簡單,可以很容易地對它進(jìn)行加密,最簡單的方法是口令加密。加密,最簡單的方法是口令加密。(2).exe文件的加密方式文件的加密方式只要在只要在.com嵌入模塊嵌入模塊ccbn的基礎(chǔ)上稍做修改,的基礎(chǔ)上稍做修改,即可得到對即可得到對.exe文件加密的嵌入模塊文件加密的嵌入模塊ce.bin。 返回本節(jié)返回本節(jié)第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)

10、3.3 軟件運(yùn)行中的反跟蹤技術(shù)軟件運(yùn)行中的反跟蹤技術(shù)3.3.1跟蹤工具及其實(shí)現(xiàn)跟蹤工具及其實(shí)現(xiàn)3.3.2軟件運(yùn)行中的反跟蹤技術(shù)軟件運(yùn)行中的反跟蹤技術(shù)3.3.3實(shí)例:編制具有反跟蹤功能的加密盤實(shí)例:編制具有反跟蹤功能的加密盤返回本章首頁返回本章首頁第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3.3.1跟蹤工具及其實(shí)現(xiàn)跟蹤工具及其實(shí)現(xiàn) dos系統(tǒng)中的系統(tǒng)中的動態(tài)調(diào)試程序,是動態(tài)調(diào)試程序,是一個使用簡單且非常有用的工具程序。它既可一個使用簡單且非常有用的工具程序。它既可以用于對任何格式的文件進(jìn)行觀察和修改,也以用于對任何格式的文件進(jìn)行觀察和修改,也可以對軟盤和硬盤的任何區(qū)域進(jìn)行直接讀寫??梢詫?/p>

11、盤和硬盤的任何區(qū)域進(jìn)行直接讀寫。尤其是可以用于對執(zhí)行程序的跟蹤分析和把二尤其是可以用于對執(zhí)行程序的跟蹤分析和把二進(jìn)制代碼轉(zhuǎn)換為匯編指令,還可以查看內(nèi)存狀進(jìn)制代碼轉(zhuǎn)換為匯編指令,還可以查看內(nèi)存狀態(tài),分析程序出錯原因、病毒感染情況等。態(tài),分析程序出錯原因、病毒感染情況等。 返回本節(jié)返回本節(jié)第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3.3.2軟件運(yùn)行中的反跟蹤技術(shù)軟件運(yùn)行中的反跟蹤技術(shù)1抑制跟蹤命令抑制跟蹤命令debug在執(zhí)行在執(zhí)行t命令和命令和g命令時,分別要運(yùn)行命令時,分別要運(yùn)行系統(tǒng)單步中斷和斷點(diǎn)中斷服務(wù)程序。在系統(tǒng)中系統(tǒng)單步中斷和斷點(diǎn)中斷服務(wù)程序。在系統(tǒng)中斷向量表中,這兩種中斷的中斷向量

12、分別為斷向量表中,這兩種中斷的中斷向量分別為1和和3,中斷服務(wù)程序入口地址分別存放在內(nèi)存,中斷服務(wù)程序入口地址分別存放在內(nèi)存0000:0004和和0000:000c起始的起始的4個字節(jié)中,其中前個字節(jié)中,其中前2個字節(jié)是偏移地址,后個字節(jié)是偏移地址,后2個字節(jié)是段地址。因此,個字節(jié)是段地址。因此,當(dāng)這些單元的內(nèi)容被改變后,當(dāng)這些單元的內(nèi)容被改變后,t命令和命令和g命令就命令就不能正常執(zhí)行,從而抑制跟蹤命令。不能正常執(zhí)行,從而抑制跟蹤命令。 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)2封鎖鍵盤輸入封鎖鍵盤輸入1)改變鍵盤中斷服務(wù)程序的入口地址。)改變鍵盤中斷服務(wù)程序的入口地址。 2)禁止鍵

13、盤中斷。)禁止鍵盤中斷。 3)禁止接收鍵盤數(shù)據(jù)。)禁止接收鍵盤數(shù)據(jù)。 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3改變改變crt顯示特性顯示特性1)debug各種命令被執(zhí)行后,其結(jié)果均要在屏各種命令被執(zhí)行后,其結(jié)果均要在屏幕上顯示出來,供人們查看。幕上顯示出來,供人們查看。 2)debug在顯示信息時,必然會出現(xiàn)屏幕上在顯示信息時,必然會出現(xiàn)屏幕上卷、換頁等。卷、換頁等。 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)4定時技術(shù)定時技術(shù)設(shè)程序中有兩點(diǎn)設(shè)程序中有兩點(diǎn)a和和b,在正常情況下,從,在正常情況下,從a到到b所需的所需的運(yùn)行時間為運(yùn)行時間為c,而在跟蹤運(yùn)行時,速度較慢,所需時間,

14、而在跟蹤運(yùn)行時,速度較慢,所需時間將遠(yuǎn)遠(yuǎn)超過將遠(yuǎn)遠(yuǎn)超過c,這樣便可利用這種時間差判明是否有人,這樣便可利用這種時間差判明是否有人在跟蹤程序。如何知道在跟蹤程序。如何知道a、b兩點(diǎn)間的實(shí)際運(yùn)行時間呢?兩點(diǎn)間的實(shí)際運(yùn)行時間呢?pc主機(jī)板上設(shè)有主機(jī)板上設(shè)有8253計(jì)時器,其中通道計(jì)時器,其中通道0為通用計(jì)時器為通用計(jì)時器提供了一個固定的實(shí)時計(jì)數(shù)器,用來實(shí)現(xiàn)計(jì)時。在提供了一個固定的實(shí)時計(jì)數(shù)器,用來實(shí)現(xiàn)計(jì)時。在rom bios中,軟中斷中,軟中斷1ah提供了讀取當(dāng)前時鐘值的功提供了讀取當(dāng)前時鐘值的功能。能。mov ah,0int1ah返回本節(jié)返回本節(jié)第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3.3

15、.3實(shí)例:編制具有反跟蹤功能的加密盤實(shí)例:編制具有反跟蹤功能的加密盤1物理加密的原理物理加密的原理物理加密的原理,即是在軟盤片上人為造成一個或多個物理加密的原理,即是在軟盤片上人為造成一個或多個壞區(qū),在應(yīng)用程序被執(zhí)行前,多次驗(yàn)證這些壞扇區(qū),以壞區(qū),在應(yīng)用程序被執(zhí)行前,多次驗(yàn)證這些壞扇區(qū),以確定當(dāng)前盤是否為鑰匙盤。若是,則執(zhí)行應(yīng)用程序,否確定當(dāng)前盤是否為鑰匙盤。若是,則執(zhí)行應(yīng)用程序,否則中止進(jìn)程。據(jù)此原理,可將制造鑰匙盤過程分為三步:則中止進(jìn)程。據(jù)此原理,可將制造鑰匙盤過程分為三步:1)用大頭針或刀片在盤的讀寫區(qū)內(nèi)輕刺一下,注意不)用大頭針或刀片在盤的讀寫區(qū)內(nèi)輕刺一下,注意不要在要在0道附近進(jìn)行

16、,以免損壞引導(dǎo)區(qū)。道附近進(jìn)行,以免損壞引導(dǎo)區(qū)。2)在)在debug狀態(tài)下,用子命令狀態(tài)下,用子命令load依次裝入扇區(qū)。依次裝入扇區(qū)。3)在前兩步的基礎(chǔ)上,開始編制驗(yàn)證鑰匙盤的子程序。)在前兩步的基礎(chǔ)上,開始編制驗(yàn)證鑰匙盤的子程序。這段程序如下:這段程序如下: 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)l1:mov cx,4;檢測次數(shù);檢測次數(shù)l2:push cxmov ch,track;磁道號送;磁道號送chmov cl,sector;扇區(qū)號送;扇區(qū)號送clmov dl,driver;驅(qū)動器號送;驅(qū)動器號送dlmov dh,head ;磁頭號送;磁頭號送dhmovaal,number;

17、扇區(qū)個數(shù)送;扇區(qū)個數(shù)送almov ah,04h;檢測功能號送;檢測功能號送ah第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)intbh;磁盤操作功能調(diào)用;磁盤操作功能調(diào)用popcxmov dh,ahjnbstop ;正常扇區(qū),則進(jìn)入死鎖;正常扇區(qū),則進(jìn)入死鎖loopl2;非正常扇區(qū),繼續(xù),直至;非正常扇區(qū),繼續(xù),直至cx為為0cmp dh,02h;是否為無地址標(biāo)號扇區(qū);是否為無地址標(biāo)號扇區(qū)jnzl1;不是,再試;不是,再試ret;是鑰匙盤,許可,返回主程序;是鑰匙盤,許可,返回主程序stop:mov cx,07hloopstop第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)2反跟蹤的實(shí)現(xiàn)(

18、反跟蹤的實(shí)現(xiàn)(程序如下:)程序如下:)push ds;數(shù)據(jù)段址堆棧;數(shù)據(jù)段址堆棧mov ax,000hmov ds,ax;當(dāng)前數(shù)據(jù)段置;當(dāng)前數(shù)據(jù)段置000hmov si,00hmov bx,0004mov ax,bxmov dx,axmov bx,0006mov ax,bx第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)mov ds,ax;ds中存入處理程序段址中存入處理程序段址mov cx,20h;代碼個數(shù);代碼個數(shù)mov bx,dx;bx存處理程序偏移量存處理程序偏移量l4:mov byte ptr bx+si,11h ;破壞代碼;破壞代碼addsi,1loopl4popds返回本節(jié)返回本

19、節(jié)第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3.4防止非法復(fù)制軟件的技術(shù)防止非法復(fù)制軟件的技術(shù)3.4.1軟件加密的必要性軟件加密的必要性3.4.2常用的防止非法復(fù)制軟件的技術(shù)常用的防止非法復(fù)制軟件的技術(shù)3.4.3實(shí)例:幾種加密軟件的使用原理及方法實(shí)例:幾種加密軟件的使用原理及方法返回本章首頁返回本章首頁第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3.4.1軟件加密的必要性軟件加密的必要性 隨著計(jì)算機(jī)通信網(wǎng)絡(luò)和通用的數(shù)據(jù)資源的進(jìn)一步開隨著計(jì)算機(jī)通信網(wǎng)絡(luò)和通用的數(shù)據(jù)資源的進(jìn)一步開放及個人計(jì)算機(jī)的廣泛使用,對計(jì)算機(jī)資源的保護(hù),特放及個人計(jì)算機(jī)的廣泛使用,對計(jì)算機(jī)資源的保護(hù),特別是對軟件產(chǎn)品

20、的保護(hù),就變得越來越迫切。別是對軟件產(chǎn)品的保護(hù),就變得越來越迫切。 軟件作為一種知識密集的商品化產(chǎn)品,在開發(fā)過程軟件作為一種知識密集的商品化產(chǎn)品,在開發(fā)過程中需要大量的人力,為開發(fā)程序而付出的成本往往是硬中需要大量的人力,為開發(fā)程序而付出的成本往往是硬件價值的數(shù)倍乃至數(shù)百倍。然而,軟件具有易于復(fù)制和件價值的數(shù)倍乃至數(shù)百倍。然而,軟件具有易于復(fù)制和便于攜帶的特性;同時,由于社會、法律為軟件產(chǎn)品提便于攜帶的特性;同時,由于社會、法律為軟件產(chǎn)品提供的保護(hù)不充分,迫使一些軟件公司和開發(fā)人員采取了供的保護(hù)不充分,迫使一些軟件公司和開發(fā)人員采取了自衛(wèi)手段,從而出現(xiàn)了軟件保護(hù)技術(shù)。自衛(wèi)手段,從而出現(xiàn)了軟件保

21、護(hù)技術(shù)。返回本節(jié)返回本節(jié)第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3.4.2常用的防止非法復(fù)制軟件的技術(shù)常用的防止非法復(fù)制軟件的技術(shù)1加密軟件的工作方式加密軟件的工作方式加密軟件的工作方式主要有以下幾種方式:加密軟件的工作方式主要有以下幾種方式:(1)外殼式)外殼式 (2)內(nèi)含式)內(nèi)含式 (3)結(jié)合式)結(jié)合式 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)2限制技術(shù)限制技術(shù)限制就是對用戶將要進(jìn)行的一系列操作通過某限制就是對用戶將要進(jìn)行的一系列操作通過某種手段進(jìn)行確認(rèn),即弄清楚他是誰,他具有什種手段進(jìn)行確認(rèn),即弄清楚他是誰,他具有什么特征,他擁有什么權(quán)限。最典型的限制技術(shù)么特征,他擁有什

22、么權(quán)限。最典型的限制技術(shù)有口令和存取控制。有口令和存取控制。(1)口令加密限制技術(shù))口令加密限制技術(shù) (2)存取控制技術(shù))存取控制技術(shù) 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)表表3.1口令文件的單向加密口令文件的單向加密表表3.2存取控制表之一存取控制表之一第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)表表3.3存取控制表之二存取控制表之二 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3利用裝配程序防止非法復(fù)制利用裝配程序防止非法復(fù)制 (1)基本知識)基本知識 (2)設(shè)計(jì)裝入程序)設(shè)計(jì)裝入程序 (3)在)在yin.exe中要做的工作中要做的工作 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)

23、算機(jī)軟件安全技術(shù)(1)基本知識)基本知識 1)fcb和和fat。2)一個未打開的)一個未打開的fcb由驅(qū)動器號和文件名及文件的擴(kuò)由驅(qū)動器號和文件名及文件的擴(kuò)展名組成。展名組成。3)置磁盤傳輸?shù)刂贰#┲么疟P傳輸?shù)刂贰?)查找第一登記項(xiàng)。)查找第一登記項(xiàng)。 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)(2)設(shè)計(jì)裝入程序)設(shè)計(jì)裝入程序 1)設(shè)計(jì)思想。)設(shè)計(jì)思想。2)數(shù)據(jù)區(qū)。)數(shù)據(jù)區(qū)。 3)程序流程。)程序流程。 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)1)設(shè)計(jì)思想。)設(shè)計(jì)思想。 在在mimiyc.exe將將yin.exe裝入裝入c盤的過盤的過程中,首先以程中,首先以yin.exe為名,在

24、為名,在c盤中建立文盤中建立文件,接著取出其在件,接著取出其在c盤中建立時所對應(yīng)的盤中建立時所對應(yīng)的fcb,然后再將然后再將yin.exe寫入到寫入到c盤中去。至此,裝盤中去。至此,裝入程序入程序mimiyc.exe完成了裝入任務(wù),便取出完成了裝入任務(wù),便取出自身在磁盤中的自身在磁盤中的fcb,用軟件中斷,用軟件中斷int 26h(絕(絕對磁盤寫),把內(nèi)存中一些無關(guān)數(shù)據(jù),寫入到對磁盤寫),把內(nèi)存中一些無關(guān)數(shù)據(jù),寫入到由剛才算到的相對扇區(qū)號的扇區(qū)中去,從而破由剛才算到的相對扇區(qū)號的扇區(qū)中去,從而破壞壞mimiyc.exe文件,完成一次性使用的任務(wù)。文件,完成一次性使用的任務(wù)。第三章計(jì)算機(jī)軟件安全

25、技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)2)數(shù)據(jù)區(qū)。)數(shù)據(jù)區(qū)。舉例:建立兩個字節(jié)串舉例:建立兩個字節(jié)串“a:yin.exe”和和“c:yin.exe”,裝入程序以此為文件名在,裝入程序以此為文件名在a:盤中讀文件和在盤中讀文件和在c:盤中建立文件及寫文件。數(shù):盤中建立文件及寫文件。數(shù)據(jù)區(qū)形式如下:據(jù)區(qū)形式如下:第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)fila db 8000h dup(?)fi db3,59h,49h,20h,20h,20h,20h,20h,45hdb 58h,45h,20h,00,00,00,00,00,00,00,00db 00,00,00,00,00,00,00,00,00,

26、00,00vv db i,4dh,49h,4dh,49h,59h,43h,20h,20h,43h第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)db 4fh,4dh,20h,00,00,00,00,00,00,00,00db 00,00,00,00,00,00,00,00,00,00,00,00filb db 40h dup(?)vvv db 40d dup(?)fil db c:yin.exely1 db 0hfile db a:yin.exely2 db 0h第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3)程序流程。首先將被保護(hù)軟件)程序流程。首先將被保護(hù)軟件yin.exe讀入內(nèi)存緩沖

27、讀入內(nèi)存緩沖區(qū)中,首址為區(qū)中,首址為fila。其流程為:。其流程為:mov dx,offset filemov al,2mov ah,3dh:打開一個文件:打開一個文件int21h pushaxmov bx,ax:保存文件代號:保存文件代號mov cx,0fff0hmov ah,3fh:讀文件:讀文件int21h第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)popbx:文件代號送:文件代號送bxpush ax:保存文件的字節(jié)數(shù):保存文件的字節(jié)數(shù)movah,3eh :關(guān)閉文件:關(guān)閉文件int 21h再以再以c:yin.exe為名在硬盤中建立文件:為名在硬盤中建立文件:movdx,offset

28、filcmovcx,0movah,3ch :建立文件:建立文件int 21h第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)對于剛剛以對于剛剛以yin.exe為名建立的文件,要把其為名建立的文件,要把其fcb中的開始簇號有效地提出來,還必須在剛中的開始簇號有效地提出來,還必須在剛剛建立的文件中存儲如下部分信息:剛建立的文件中存儲如下部分信息: mov dx,offset filcmov al,2mov ah,3d:打開一個文件:打開一個文件int21h pushax第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)mov dx,offset filamov bx,axmov cx,512dmov

29、 ah,40h:寫文件:寫文件int21h popaxmov bx,axmov ah,3eh:關(guān)閉文件:關(guān)閉文件int21h第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)此時,便可用查找第一登記項(xiàng)的辦法,把剛才建立文件此時,便可用查找第一登記項(xiàng)的辦法,把剛才建立文件的的fcb取出,并能得到一個有效的開始簇號。當(dāng)然,在取出,并能得到一個有效的開始簇號。當(dāng)然,在此之前,應(yīng)為其設(shè)置磁盤的傳輸?shù)刂罚捍酥?,?yīng)為其設(shè)置磁盤的傳輸?shù)刂罚簃ov dx,offset filb mov ah,1ah:置磁盤緩沖區(qū):置磁盤緩沖區(qū)int21hmov dx,offset fimov ah,11h:查找第一登記項(xiàng):查

30、找第一登記項(xiàng)int21h第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù) 程序運(yùn)行完畢,便在以程序運(yùn)行完畢,便在以filb為首址的緩沖為首址的緩沖區(qū),得到一個重要的數(shù)據(jù):區(qū),得到一個重要的數(shù)據(jù):fcb中第中第26,27字字節(jié)的低節(jié)的低12位數(shù),即位數(shù),即yin.exe文件將要在硬盤中文件將要在硬盤中開始存儲的簇號。把這一數(shù)據(jù)寫入到程序開始開始存儲的簇號。把這一數(shù)據(jù)寫入到程序開始運(yùn)行時,讀入的運(yùn)行時,讀入的yin.exe文件的特定單元之中文件的特定單元之中(這一特定單元的位置需要用(這一特定單元的位置需要用dos的的debug調(diào)調(diào)試程序確定),待這項(xiàng)工作完成后,便可以將試程序確定),待這項(xiàng)工作完

31、成后,便可以將讀入的文件讀入的文件yin.exe正式寫入到硬盤中。正式寫入到硬盤中。第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)mov dx,offset filc mov al,2mov ah,3dh:打開文件:打開文件 int21hpopcx:先前保存的:先前保存的yin.exe文件的字節(jié)數(shù)送文件的字節(jié)數(shù)送cxpush ax:保存文件代號:保存文件代號mov bx,axmov dx,offset filamov ah,40h:寫文件:寫文件 int21hpopbx:文件代號送:文件代號送bxmov ah,3eh:關(guān)閉文件:關(guān)閉文件int21h第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全

32、技術(shù)此時,被保護(hù)文件已裝入到硬盤中。下面的工作,是要此時,被保護(hù)文件已裝入到硬盤中。下面的工作,是要將所裝程序?qū)⑺b程序mimiyc.exe刪除。用下面的幾條指令,刪除。用下面的幾條指令,找出找出mimiyc.exe磁盤中開始存儲的簇號,并換算成磁盤中開始存儲的簇號,并換算成相對扇區(qū)號,最后進(jìn)行相對扇區(qū)號,最后進(jìn)行“絕對磁盤寫絕對磁盤寫”(int 26h),破,破壞掉壞掉mimiyc.exe的程序:的程序:mov dx,offset vvvmov ah,1ah:置磁盤緩沖區(qū):置磁盤緩沖區(qū)int21hmov dx,offset vvmov ah,11h:查找第一登記項(xiàng):查找第一登記項(xiàng)第三章計(jì)算機(jī)

33、軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)int21hmovdi,offset vvvadddi,27dmovax,di:fcb的第的第26,2 7字節(jié)送字節(jié)送axandax,0fffh:取其低:取其低12位位subax,2salax,1 :乘以:乘以2addax,0ch:加上磁盤數(shù)據(jù)區(qū)開始的相對扇區(qū)號:加上磁盤數(shù)據(jù)區(qū)開始的相對扇區(qū)號0chmovcx,1 :寫入的扇區(qū)數(shù):寫入的扇區(qū)數(shù)movbx,offset filamoval,0int26h:絕對磁盤寫:絕對磁盤寫popf第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)(3)在)在yin.exe中要做的工作中要做的工作 1)應(yīng)設(shè)置一特定單元,以便)

34、應(yīng)設(shè)置一特定單元,以便mimiyc.exe程程序有關(guān)簇號能寫到該單元中。序有關(guān)簇號能寫到該單元中。2)設(shè)置與自身文件相對應(yīng)的未打開的)設(shè)置與自身文件相對應(yīng)的未打開的fcb,將,將來在程序運(yùn)行時,以它為依據(jù),用來在程序運(yùn)行時,以它為依據(jù),用“查找第一查找第一登記項(xiàng)登記項(xiàng)”的辦法,找出自身在盤中開始存儲的的辦法,找出自身在盤中開始存儲的簇號。簇號。3)開辟一緩沖區(qū),作為)開辟一緩沖區(qū),作為“查找第一登記項(xiàng)查找第一登記項(xiàng)”時時的磁盤傳輸?shù)刂?。的磁盤傳輸?shù)刂?。返回本?jié)返回本節(jié)第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3.4.3實(shí)例:幾種加密軟件的使用原理及方法實(shí)例:幾種加密軟件的使用原理及方法1

35、prolock加密程序加密程序2protect加密保護(hù)程序加密保護(hù)程序3lock89加密程序加密程序 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)1prolock加密程序加密程序(1)使用方法)使用方法一張加密鑰匙盤附有一個一張加密鑰匙盤附有一個prolock.exe執(zhí)行文件,該文件執(zhí)行文件,該文件自身也是用自身也是用prolock加密的,是一個保密文件。因此,即加密的,是一個保密文件。因此,即便是同一版本的兩張鑰匙盤,它們也不能相互拷貝。此外,便是同一版本的兩張鑰匙盤,它們也不能相互拷貝。此外,要求輸入的文件擴(kuò)展名必須為要求輸入的文件擴(kuò)展名必須為.com或或.exe,而輸出文件名,而輸出

36、文件名的擴(kuò)展名必須是的擴(kuò)展名必須是.exe,并且列出,并且列出5個參數(shù)項(xiàng):個參數(shù)項(xiàng):delayn 延時(延時(n=1999分)分)fpdrive=n鑰匙盤所在驅(qū)動器號鑰匙盤所在驅(qū)動器號nowait有此參數(shù),不能進(jìn)行確認(rèn)性提問有此參數(shù),不能進(jìn)行確認(rèn)性提問timer從從int 08h中斷獲取時鐘信息中斷獲取時鐘信息user=n用戶要求檢查解密鍵的中斷向量用戶要求檢查解密鍵的中斷向量 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)(2)加密特征)加密特征用用prolock加密后的文件將增加加密后的文件將增加12kb,增加,增加的數(shù)據(jù)放在文件前部,使用單一算法加密,原的數(shù)據(jù)放在文件前部,使用單一算法

37、加密,原理是依照激光加密的定位和指紋識別程序。從理是依照激光加密的定位和指紋識別程序。從鑰匙盤讀出的指紋,只用作判斷該盤是不是鑰鑰匙盤讀出的指紋,只用作判斷該盤是不是鑰匙盤,而不用作程序解密,即指明具有這一特匙盤,而不用作程序解密,即指明具有這一特征的帶密程序,可以在沒有鑰匙盤的條件下解征的帶密程序,可以在沒有鑰匙盤的條件下解密使用。密使用。第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)(3)防拷貝技術(shù))防拷貝技術(shù)prolock的防拷貝技術(shù)是使用激光孔。的防拷貝技術(shù)是使用激光孔。 (4)分析)分析prolock的加密代碼是逐步解密的,每組加的加密代碼是逐步解密的,每組加密代碼通常只有數(shù)十個字

38、節(jié),有數(shù)十段這樣的密代碼通常只有數(shù)十個字節(jié),有數(shù)十段這樣的加密代碼。加密代碼。 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)2protect加密保護(hù)程序加密保護(hù)程序(1)使用方法)使用方法鍵入鍵入protect后,屏幕顯示五條選項(xiàng),其功后,屏幕顯示五條選項(xiàng),其功能如下:能如下:protect executable file(保護(hù)可執(zhí)行文件)。(保護(hù)可執(zhí)行文件)。install protected file to fixed disk。recover install file(回收被安裝的文件)。(回收被安裝的文件)。delete protected file(刪除被保護(hù)的文件)。(刪除被保

39、護(hù)的文件)。quit(退出(退出protect加密程序)。加密程序)。第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)(2)加密特征)加密特征利用利用protect加密軟件保護(hù)的文件將增加加密軟件保護(hù)的文件將增加6kb左右,左右,增加的數(shù)據(jù)放在文件尾部。增加的數(shù)據(jù)放在文件尾部。 (3)防拷貝技術(shù))防拷貝技術(shù)protect加密軟件包的防拷貝技術(shù)是使用大扇區(qū)格式。加密軟件包的防拷貝技術(shù)是使用大扇區(qū)格式。 (4)分析)分析protect加密軟件技術(shù)的獨(dú)到之處在于使用了加密軟件技術(shù)的獨(dú)到之處在于使用了int 1單步中斷和單步中斷和1ch中斷。中斷。 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3l

40、ock89加密程序加密程序 (1)使用方法)使用方法一張加密鑰匙盤附有一個一張加密鑰匙盤附有一個lock89.exe執(zhí)行文件。該文執(zhí)行文件。該文件自身也是用件自身也是用lock89加密的,不能相互拷貝。用戶應(yīng)加密的,不能相互拷貝。用戶應(yīng)將 輸 入 文 件 名 和 輸 出 文 件 同 時 鍵 入 , 后 面 的將 輸 入 文 件 名 和 輸 出 文 件 同 時 鍵 入 , 后 面 的password則可輸入一個兩字節(jié)的密碼,此密碼可增則可輸入一個兩字節(jié)的密碼,此密碼可增加加密程序的解密鍵的變化,而不是要求啟動被加密文加加密程序的解密鍵的變化,而不是要求啟動被加密文件時輸入密碼。要求輸入文件名及后

41、綴,而輸出文件名件時輸入密碼。要求輸入文件名及后綴,而輸出文件名默認(rèn)后綴為默認(rèn)后綴為.exe。當(dāng)執(zhí)行完畢,則在指定目錄下生成一。當(dāng)執(zhí)行完畢,則在指定目錄下生成一個輸出文件。個輸出文件。第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)(2)加密特征)加密特征用用lock89加密軟件加密后的文件將增加加密軟件加密后的文件將增加6kb長度,增加的數(shù)據(jù)放在文件前部,使用單一算長度,增加的數(shù)據(jù)放在文件前部,使用單一算法加密。從鑰匙盤讀出的指紋只能用作判斷該法加密。從鑰匙盤讀出的指紋只能用作判斷該盤是否為鑰匙盤,不用作程序解密。盤是否為鑰匙盤,不用作程序解密。(3)防拷貝技術(shù))防拷貝技術(shù)lock89的防拷

42、貝技術(shù)也使用大扇區(qū)格式,大的防拷貝技術(shù)也使用大扇區(qū)格式,大扇區(qū)在扇區(qū)在0面面20道前后,扇區(qū)的大小值為道前后,扇區(qū)的大小值為6,即按,即按照照8kb的方式讀入扇區(qū)。的方式讀入扇區(qū)。 第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)(4)分析)分析lock的代碼解碼過程是逐步進(jìn)行的,其的代碼解碼過程是逐步進(jìn)行的,其6kb代碼總共分為代碼總共分為7個幾乎相互獨(dú)立的部分,除第一個幾乎相互獨(dú)立的部分,除第一部分外,其余代碼都經(jīng)過加密。部分外,其余代碼都經(jīng)過加密。返回本節(jié)返回本節(jié)第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3.5保證軟件質(zhì)量的安全體系保證軟件質(zhì)量的安全體系3.5.1概述概述3.5.2

43、軟件故障的分類軟件故障的分類3.5.3軟件測試工具軟件測試工具返回本章首頁返回本章首頁第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)3.5.1概述概述軟件的可靠性:是指軟件在特定的環(huán)境條件下,軟件的可靠性:是指軟件在特定的環(huán)境條件下,在給定的時間內(nèi),不發(fā)生故障的性質(zhì);或者是在給定的時間內(nèi),不發(fā)生故障的性質(zhì);或者是指軟件在規(guī)定的時間和規(guī)定的條件下,能正常指軟件在規(guī)定的時間和規(guī)定的條件下,能正常地完成規(guī)定的功能而無差錯的概率。地完成規(guī)定的功能而無差錯的概率。軟件存在不可靠問題的原因主要在于:軟件存在不可靠問題的原因主要在于:1)計(jì)算機(jī)軟件是人工制造的復(fù)雜產(chǎn)品,生產(chǎn)中)計(jì)算機(jī)軟件是人工制造的復(fù)雜產(chǎn)

44、品,生產(chǎn)中的種種因素均可使軟件造成差錯或故障。的種種因素均可使軟件造成差錯或故障。第三章計(jì)算機(jī)軟件安全技術(shù)第三章計(jì)算機(jī)軟件安全技術(shù)2)軟件開發(fā)沒有計(jì)劃,軟件需求分析不充分。)軟件開發(fā)沒有計(jì)劃,軟件需求分析不充分。3)軟件開發(fā)過程無規(guī)范,軟件的研制至今尚未成熟,)軟件開發(fā)過程無規(guī)范,軟件的研制至今尚未成熟,缺乏堅(jiān)實(shí)的科學(xué)基礎(chǔ)和科學(xué)的管理制度,可能造成差錯。缺乏堅(jiān)實(shí)的科學(xué)基礎(chǔ)和科學(xué)的管理制度,可能造成差錯。4)軟件產(chǎn)品無評測手段,至今尚無一套完善的、對程)軟件產(chǎn)品無評測手段,至今尚無一套完善的、對程序正確性進(jìn)行驗(yàn)證的方法和工具,一個軟件研制出來以序正確性進(jìn)行驗(yàn)證的方法和工具,一個軟件研制出來以后,無法進(jìn)行徹底、有效的驗(yàn)證,只能在實(shí)際使用中邊后,無法進(jìn)行徹底、有效的驗(yàn)證,只能在實(shí)際使用中邊用、邊改、邊提高,往往有一些軟件在使用多年后,仍用、邊改、邊提高,往往有一些軟件在使用多年后,仍發(fā)現(xiàn)有很大的潛在錯誤,造成巨大的損失。發(fā)現(xiàn)有很大的潛在錯誤,造成巨大的損失。

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論