版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
網(wǎng)絡(luò)安全基礎(chǔ)及應(yīng)用張仕斌陳麟方睿編著北京:人民郵電出版社二00九年十一月2023/3/91主要內(nèi)容第1章緒論第2章密碼技術(shù)第3章信息隱藏技術(shù)第4章數(shù)字簽名技術(shù)第5章認(rèn)證技術(shù)第6章網(wǎng)絡(luò)入侵與攻擊技術(shù)第7章網(wǎng)絡(luò)安全防范技術(shù)第8章操作系統(tǒng)安全技術(shù)第9章數(shù)據(jù)與數(shù)據(jù)庫(kù)安全技術(shù)第10章軟件安全技術(shù)第11章Web安全技術(shù)第12章網(wǎng)絡(luò)互聯(lián)安全技術(shù)2023/3/92第10章軟件安全技術(shù)2023/3/93知識(shí)點(diǎn):
軟件加密技術(shù)
防止非法復(fù)制技術(shù)
防止軟件跟蹤技術(shù)
軟件質(zhì)量
軟件的基本故障
軟件質(zhì)量控制和評(píng)
軟件測(cè)試2023/3/9410.1軟件加密技術(shù)
20世紀(jì)70年代末,以微軟公司的創(chuàng)始人比爾?蓋茨《致電腦業(yè)余愛(ài)好者的一封公開(kāi)信》為標(biāo)志,以世界知識(shí)產(chǎn)權(quán)組織(伯爾尼公約)為框架,軟件步入Copyright的時(shí)代。軟件加密的主要要求是防止非法復(fù)制和防止軟件跟蹤。防止非法復(fù)制技術(shù)又稱(chēng)防復(fù)制技術(shù),防復(fù)制技術(shù)就是制作各種特殊標(biāo)記的技術(shù),通常稱(chēng)這種特殊標(biāo)記為指紋。成功的防復(fù)制技術(shù)制作出的指紋應(yīng)該具備唯一性(不重復(fù))和不可復(fù)制性。2023/3/95
防止軟件非法復(fù)制技術(shù)主要分為軟盤(pán)防復(fù)制、硬盤(pán)防復(fù)制和光盤(pán)防復(fù)制等。1.軟盤(pán)防復(fù)制軟盤(pán)防復(fù)制實(shí)質(zhì)上就是在磁盤(pán)中制作一些特殊的標(biāo)記,這種標(biāo)記不能被輕易復(fù)制,但能被加密程序識(shí)別,由此來(lái)達(dá)到軟件加密的目的。軟盤(pán)防復(fù)制的方法很多,大體可分為兩大類(lèi):基于硬件的軟盤(pán)防復(fù)制和純軟件的軟盤(pán)防復(fù)制,由于軟盤(pán)現(xiàn)在已經(jīng)基本退出市場(chǎng),這里就不作具體介紹了。10.2防止非法復(fù)制技術(shù)2023/3/96
2.硬盤(pán)防復(fù)制硬盤(pán)防拷貝是對(duì)硬盤(pán)上的軟件加密,防止硬盤(pán)上的軟件被非法復(fù)制,主要有下面兩種方法:(1)引導(dǎo)扇區(qū)設(shè)置密碼反復(fù)制;(2)利用文件首簇號(hào)反復(fù)制;2023/3/97(1)引導(dǎo)扇區(qū)設(shè)置密碼反復(fù)制
硬盤(pán)的主引導(dǎo)扇區(qū)是一個(gè)特殊的扇區(qū),它是獨(dú)立DOS操作系統(tǒng)的一個(gè)扇區(qū),利用DOS的系統(tǒng)功能調(diào)用方法讀取這一扇區(qū)的內(nèi)容。該扇區(qū)中存放有硬盤(pán)主引導(dǎo)程序和硬盤(pán)分區(qū)表的信息。通常,引導(dǎo)程序占用的扇區(qū)位置是偏移地址0000~00DM,而硬盤(pán)分區(qū)表則從偏移地址01BEH開(kāi)始存放,在引導(dǎo)程序和硬盤(pán)分區(qū)表之間大約有206個(gè)字節(jié)空間是空白區(qū)。如果硬盤(pán)安裝程序在此區(qū)域中設(shè)置一個(gè)密碼,并在被存放到硬盤(pán)的加密軟件中編寫(xiě)一段程序,當(dāng)讀取主引導(dǎo)扇區(qū)的這一密碼時(shí),若發(fā)現(xiàn)密碼存在,則使程序正常工作,否則即進(jìn)入死機(jī)狀態(tài)。如果有人試圖將加密軟件復(fù)制到另一硬盤(pán)上,而沒(méi)有將主引導(dǎo)扇區(qū)中的密碼設(shè)置到新硬盤(pán)的主引導(dǎo)扇區(qū)中,則被復(fù)制的軟件在另一個(gè)硬盤(pán)上是無(wú)法運(yùn)行的。這樣,被加密的軟件即具有了反復(fù)制的功能。2023/3/98
硬盤(pán)安裝程序的主要功能有兩個(gè):
一是在硬盤(pán)上設(shè)置密碼標(biāo)志;
二是將被加密的軟件由軟盤(pán)安裝到硬盤(pán)上(一般是在硬盤(pán)上建立一個(gè)子目錄,將被加密軟件的標(biāo)志放在此子目錄中)。被安裝的軟件一般在出售給用戶(hù)之前已進(jìn)行了反動(dòng)態(tài)跟蹤和防靜態(tài)分析的加密處理,并具有識(shí)別硬盤(pán)主引導(dǎo)扇區(qū)存放的密碼功能。2023/3/99
文件首簇號(hào)是表示在磁盤(pán)上文件所占有的最初兩個(gè)扇區(qū)的邏輯位置。由于不同類(lèi)型硬盤(pán)的柱面數(shù)、磁頭數(shù)、每個(gè)柱面上的扇區(qū)數(shù)都是不盡相同的,所以對(duì)于同一個(gè)文件來(lái)說(shuō),如果同時(shí)被復(fù)制到兩個(gè)硬盤(pán)上,其首簇號(hào)一般是不相同的。即使同一類(lèi)型的硬盤(pán),由于各自存儲(chǔ)介質(zhì)上文件的建立、修改與刪除操作情況不同,文件的數(shù)目、子目錄數(shù)目也不盡相同,所以磁盤(pán)空間的使用狀況也不盡相同。這樣,即使將同一軟件裝入兩個(gè)相同類(lèi)型的硬盤(pán),它們所占有的首簇號(hào)一般也不會(huì)相同。鑒于這種道理,對(duì)于硬盤(pán)文件的反復(fù)制技術(shù),可以利用文件的首簇號(hào)作為標(biāo)記。下面來(lái)具體說(shuō)明如何利用文件首簇號(hào)進(jìn)行磁盤(pán)文件的反復(fù)制。(2)利用文件首簇號(hào)反復(fù)制2023/3/910
①文件首簇號(hào)的獲取與安裝。
文件首簇號(hào)的獲取與安裝操作由安裝程序來(lái)完成。安裝程序的主要工作是:將被加密的軟件復(fù)制到硬盤(pán)根目錄或某一子目錄下,讀取該軟件的首簇號(hào),以明文或密文的形式寫(xiě)入被加密軟件規(guī)定的地方。要獲取文件的首簇號(hào),一般首先要獲取文件目錄登記項(xiàng)的內(nèi)容。由于DOS在進(jìn)行磁盤(pán)文件的讀寫(xiě)操作時(shí),首先要獲取文件目錄登記項(xiàng),其中包含了文件的首簇號(hào),所以獲取文件目錄登記項(xiàng)的內(nèi)容是DOS文件管理的一個(gè)基本操作。DOS在進(jìn)行文件讀寫(xiě)操作時(shí)可以采取兩種不同系統(tǒng)功能調(diào)用,其中在傳統(tǒng)的文件讀寫(xiě)系統(tǒng)功能調(diào)用中,要使用所謂的文件控制塊FCB進(jìn)行磁盤(pán)文件的讀寫(xiě)操作。2023/3/911
②文件首簇號(hào)的識(shí)別。
文件首簇號(hào)的識(shí)別操作由被加密程序自己來(lái)完成,在被加密程序中編寫(xiě)一段程序讀取自身的文件首族號(hào),將讀取的結(jié)果與程序中由安裝程序事先安裝的首簇號(hào)進(jìn)行比較,如果發(fā)現(xiàn)二者相同,則使程序正常運(yùn)行:如果發(fā)現(xiàn)二者不同,則使程序轉(zhuǎn)入死循環(huán)狀態(tài)。2023/3/9123.光盤(pán)防復(fù)制(1)外殼保護(hù)技術(shù)所謂“外殼”就是給可執(zhí)行的文件加上一個(gè)外殼。用戶(hù)執(zhí)行的實(shí)際上是這個(gè)外殼的程序,而這個(gè)外殼程序負(fù)責(zé)把用戶(hù)原來(lái)的程序在內(nèi)存中解壓縮,并把控制權(quán)交還給解開(kāi)后的真正程序。由于一切工作都是在內(nèi)存中運(yùn)行,用戶(hù)根本不知道也不需要知道其運(yùn)行過(guò)程,并且對(duì)執(zhí)行速度沒(méi)有什么影響。如果在外殼程序中加入對(duì)軟件鎖或鑰匙盤(pán)的驗(yàn)證部分,它就是我們所說(shuō)的外殼保護(hù)了。其實(shí)外殼保護(hù)的作用還不止于此,在Internet上面有很多程序是專(zhuān)門(mén)為加殼而設(shè)計(jì)的,它對(duì)程序進(jìn)行壓縮或根本不壓縮,它的主要特點(diǎn)在于反跟蹤,保護(hù)代碼和數(shù)據(jù),保護(hù)你的程序數(shù)據(jù)的完整性。如果你不希望你的程序代碼被黑客修改,如果你的程序不希望被人跟蹤調(diào)試,如果你的算法程序不想被別人靜態(tài)分析,這種外殼程序就是為你設(shè)計(jì)的。2023/3/913
(2)光盤(pán)狗技術(shù)
一般的光盤(pán)保護(hù)技術(shù)需要制作特殊的母盤(pán),進(jìn)而改動(dòng)母盤(pán)機(jī),這樣實(shí)施起來(lái)費(fèi)用高,而且花費(fèi)的時(shí)間也不少。針對(duì)上述缺點(diǎn),光盤(pán)狗技術(shù)不在母盤(pán)制造上動(dòng)手腳,因此我們可以自由選擇光盤(pán)廠來(lái)壓制光盤(pán)。該保護(hù)技術(shù)能通過(guò)識(shí)別光盤(pán)上的特征來(lái)區(qū)分是原版盤(pán)還是盜版盤(pán)。該特征是在光盤(pán)壓制生產(chǎn)時(shí)自然產(chǎn)生的,即由同一張母盤(pán)壓制出的光盤(pán)特征相同,而不同的母盤(pán)壓制出的光盤(pán)即便盤(pán)上內(nèi)容完全一樣,盤(pán)上的特征也不一樣。即是說(shuō),這種特征是在盜版者翻制光盤(pán)過(guò)程中無(wú)法提取和復(fù)制的。光盤(pán)狗是專(zhuān)門(mén)保護(hù)光盤(pán)軟件的優(yōu)秀方案,并且通過(guò)了中國(guó)軟件評(píng)測(cè)中心的保護(hù)性能和兼容性的測(cè)試。2023/3/914(3)CSS保護(hù)技術(shù)
CSS的英文全稱(chēng)為ContentScramblingSystem,中文含義為數(shù)據(jù)干擾系統(tǒng)。該技術(shù)的主要工作思路就是將全球光盤(pán)設(shè)置為6個(gè)區(qū)域,并對(duì)每個(gè)區(qū)域進(jìn)行不同的技術(shù)保護(hù),只有具備該區(qū)域解碼器的光驅(qū)才能正確處理光盤(pán)中的數(shù)據(jù)。使用該技術(shù)保護(hù)時(shí),首先需要將所有存入光盤(pán)的信息經(jīng)過(guò)編碼程序來(lái)處理一下,而要訪問(wèn)這些經(jīng)過(guò)編碼的數(shù)據(jù),必須要先對(duì)這些數(shù)據(jù)進(jìn)行解碼。2023/3/915(4)CPPM技術(shù)
該技術(shù)的中文含義為預(yù)錄媒介內(nèi)容保護(hù)技術(shù),該技術(shù)一般用于DVD-Audio。該技術(shù)取代了CSS保護(hù)技術(shù),它通過(guò)在盤(pán)片的導(dǎo)入?yún)^(qū)放置密鑰來(lái)對(duì)光盤(pán)進(jìn)行保護(hù),但在SectorHeader中沒(méi)有Title密鑰,盤(pán)片密鑰由AlbumIdentifier取代。該技術(shù)的鑒定方案與CSS相同,因此現(xiàn)有設(shè)備無(wú)須做任何改動(dòng)。2023/3/916(5)DCPS技術(shù)
該技術(shù)的中文含義為數(shù)字復(fù)制保護(hù)系統(tǒng)技術(shù),它的主要作用是讓各部件之間進(jìn)行數(shù)字連接,但不允許進(jìn)行數(shù)字復(fù)制。有了該項(xiàng)保護(hù)技術(shù),以數(shù)字方式連接的設(shè)備,如DVD播放機(jī)和數(shù)字電視或數(shù)字錄像機(jī),就可以交換鑒證密鑰建立安全的通道。DVD播放機(jī)對(duì)已編碼的音頻/視頻信號(hào)進(jìn)行保護(hù),然后發(fā)送給接收設(shè)備,由接收設(shè)備進(jìn)行解密。這就防止了那些未鑒證的已連接設(shè)備竊取信號(hào)。無(wú)需復(fù)制保護(hù)的內(nèi)容則不進(jìn)行保護(hù)。新內(nèi)容(如新的盤(pán)片或廣播節(jié)目)和含有更新的密鑰和列表(用來(lái)識(shí)別非認(rèn)證設(shè)備)的新設(shè)備也可獲得安全特性。2023/3/917(6)CPRM技術(shù)
該技術(shù)也稱(chēng)為錄制媒介內(nèi)容保護(hù)技術(shù),它將媒介與錄制相聯(lián)系。該技術(shù)的保護(hù)原理是,在每張空白的可錄寫(xiě)光盤(pán)上有一個(gè)64比特盤(pán)片ID放置在BCA上。當(dāng)受保護(hù)的內(nèi)容被刻錄到盤(pán)片上時(shí),它可由盤(pán)片ID得到的56位密碼進(jìn)行保護(hù)。需要訪問(wèn)光盤(pán)信息時(shí),則從BCA中讀取盤(pán)片ID,然后生成盤(pán)片內(nèi)容解密所需要的密鑰。如果盤(pán)片內(nèi)容被復(fù)制到其他媒介,那么盤(pán)片ID將會(huì)丟失或出錯(cuò),數(shù)據(jù)將無(wú)法解密。2023/3/918(7)CGMS技術(shù)
CGMS(CopyGenerationManagementSystem)技術(shù)也叫內(nèi)容復(fù)制管理技術(shù),該技術(shù)主要是用來(lái)防止光盤(pán)的非法復(fù)制的。該技術(shù)主要通過(guò)生成管理系統(tǒng)對(duì)數(shù)字復(fù)制進(jìn)行控制,它是通過(guò)存儲(chǔ)于每一光盤(pán)上的有關(guān)信息來(lái)實(shí)現(xiàn)的。CGMS這一“串行”復(fù)制,生成管理系統(tǒng)既可阻止母版軟件進(jìn)行復(fù)制,也可阻止對(duì)其子版軟件進(jìn)行再?gòu)?fù)制。而即使是在被允許正常復(fù)制的情況下,制作復(fù)制的設(shè)備也必須遵守有關(guān)規(guī)則。數(shù)字復(fù)制信息可以經(jīng)編碼后送入視頻信號(hào),這樣做的目的在于使數(shù)字錄音機(jī)能很方便地予以識(shí)別。2023/3/919(8)APS保護(hù)技術(shù)
APS的英文全稱(chēng)為AnalogProtectionSystem,中文含義為類(lèi)比信號(hào)保護(hù)系統(tǒng)。該保護(hù)技術(shù)的主要作用是防止從光盤(pán)到光盤(pán)的復(fù)制。
APS保護(hù)技術(shù)主要是通過(guò)一片Macrovision7的芯片,利用特殊信號(hào)影響光盤(pán)的復(fù)制功能,使光盤(pán)的圖像產(chǎn)生橫紋、對(duì)比度不均勻等等。當(dāng)然,我們?cè)谑褂糜?jì)算機(jī)來(lái)訪問(wèn)光盤(pán)時(shí),如果想通過(guò)顯示卡輸出到電視機(jī)上時(shí),那么,顯示卡必須支持類(lèi)比保護(hù)功能,否則,將無(wú)法得到正確的信息,我們就無(wú)法在電視上欣賞光盤(pán)影片的優(yōu)秀畫(huà)面。2023/3/92010.3防止軟件跟蹤技術(shù)1軟件跟蹤技術(shù)
DOS中有一個(gè)功能強(qiáng)大的動(dòng)態(tài)跟蹤調(diào)試軟件DEBUG,能夠?qū)崿F(xiàn)對(duì)程序的跟蹤和逐條運(yùn)行,它利用了單步中斷和斷點(diǎn)中斷,目前的大多數(shù)跟蹤調(diào)試軟件都是利用了這兩個(gè)中斷。單步中斷(INT1)是由機(jī)器內(nèi)部狀態(tài)引起的一種中斷,當(dāng)系統(tǒng)標(biāo)志寄存器的TF標(biāo)志(單步跟蹤標(biāo)志)被置位時(shí),就會(huì)自動(dòng)產(chǎn)生一次單步中斷,使得CPU在執(zhí)行一條指令后停下來(lái),并顯示各寄存器的內(nèi)容;斷點(diǎn)中斷(INT3)是一種軟中斷,軟中斷又稱(chēng)為自陷指令,當(dāng)CPU執(zhí)行到自陷指令時(shí),就進(jìn)入斷點(diǎn)中斷,由斷點(diǎn)中斷服務(wù)程序完成對(duì)斷點(diǎn)處各寄存器內(nèi)容的顯示。2023/3/921
DEBUG中的G命令是用于運(yùn)行程序的,但當(dāng)G命令后面跟有斷點(diǎn)參數(shù)時(shí),就可使程序運(yùn)行至斷點(diǎn)處中斷,并顯示各寄存器的內(nèi)容,這樣就可以大大提高跟蹤的速度。
它是通過(guò)調(diào)用斷點(diǎn)中斷來(lái)實(shí)現(xiàn)的:DEBUG首先保存設(shè)置的斷點(diǎn)處指令,改用斷點(diǎn)中斷INT3指令代替,當(dāng)程序執(zhí)行到斷點(diǎn)處的INT3指令時(shí),便產(chǎn)生斷點(diǎn)中斷,并用原先保存的斷點(diǎn)處指令重新替代INT3,以完成一個(gè)完整的設(shè)置斷點(diǎn)的G命令。
通過(guò)對(duì)單步中斷和斷點(diǎn)中斷的合理組合,可以產(chǎn)生強(qiáng)大的動(dòng)態(tài)調(diào)試跟蹤功能,這就對(duì)磁盤(pán)加密技術(shù)造成了巨大的威脅,所以破壞單步中斷和斷點(diǎn)中斷,在反跟蹤技術(shù)中顯得十分必要。2023/3/9222.反跟蹤技術(shù)
反跟蹤技術(shù)是一種防止利用調(diào)試工具或跟蹤軟件來(lái)竊取軟件源碼、取消軟件防復(fù)制和加密功能的技術(shù)。毫無(wú)漏洞的反跟蹤技術(shù)是沒(méi)有的,隨著時(shí)間的推移、編程工具的更新和經(jīng)驗(yàn)的積累,反跟蹤技術(shù)只會(huì)向完美逼近,但一定達(dá)不到完美。一個(gè)卓越的反跟蹤技術(shù)雖然肯定有著微小的漏洞,但是它本身其他的技術(shù)可以起到彌補(bǔ)漏洞和盡可能減小這個(gè)漏洞影響的作用,這就是反跟蹤技術(shù)的卓越之處。一個(gè)有效的反跟蹤技術(shù)應(yīng)該具有3大特性:重要程序段是不可跳越和修改的;不通過(guò)加密系統(tǒng)的譯碼法密碼不可破譯;加密系統(tǒng)是不可動(dòng)態(tài)跟蹤執(zhí)行的。反跟蹤技術(shù)主要有以下方法:2023/3/923(1)設(shè)置顯示器的顯示性能當(dāng)加密系統(tǒng)無(wú)需在屏幕上顯示信息時(shí),可以通過(guò)各種方法關(guān)閉屏幕,這樣可使解密者無(wú)法得到跟蹤調(diào)試軟件返回的任何信息,以阻止解密者對(duì)加密系統(tǒng)的破譯。這種反跟蹤技術(shù)有5類(lèi)實(shí)現(xiàn)方法。①封鎖屏幕顯示??梢灾匦略O(shè)置屏幕特性,將前景和背景色彩置成同一種顏色,使解密者在跟蹤期間無(wú)法看見(jiàn)調(diào)試信息,可用以下指令來(lái)實(shí)現(xiàn):MOVAH,0BHMOVBH,0MOVBL,0INT10H這時(shí)屏幕的背景顏色和字符顏色均被置成黑色,當(dāng)需要恢復(fù)屏幕的顯示特性時(shí),可將上述第3條指令中的BL值換成1~7,便使字符的顏色變成深藍(lán)、綠和紅色等。2023/3/924②檢查加密系統(tǒng)是否處于被監(jiān)控狀態(tài)。各類(lèi)跟蹤調(diào)試軟件在顯示信息時(shí),必然會(huì)出現(xiàn)屏幕上卷和換頁(yè)等操作,因此可以經(jīng)常檢查屏幕上某些位置的狀態(tài),若有變化則一定有人在跟蹤程序。獲取屏幕信息的方法可用以下指令來(lái)實(shí)現(xiàn):MOVAH,02MOVBH,0MOVDH,行光標(biāo)值MOVDL,列光標(biāo)值INT10HMOVAH,08INT10H這樣就可以讀取光標(biāo)處的字符和屬性了。③修改顯示器I/O中斷服務(wù)程序的入口地址。顯示器I/O中斷INT10H的中斷入口地址存放在內(nèi)存地址0000:0040H開(kāi)始的4個(gè)字節(jié)中,修改這4個(gè)字節(jié)中的內(nèi)容,就可破壞或擴(kuò)充顯示器I/O中斷服務(wù)程序。2023/3/925④定時(shí)清屏。利用對(duì)時(shí)鐘中斷的擴(kuò)充,可以使時(shí)鐘中斷定時(shí)清屏。⑤直接對(duì)視屏緩沖區(qū)操作。每臺(tái)機(jī)器都有固定位置和長(zhǎng)度的視屏緩沖區(qū)(具體的位置和長(zhǎng)度隨顯示器的類(lèi)型不同而不同),各類(lèi)顯示器上的所有信息都是視屏緩沖區(qū)中信息的反應(yīng)。如果軟件直接對(duì)視屏緩沖區(qū)進(jìn)行操作,可以獲得比利用顯示中斷快得多的顯示速度,現(xiàn)在許多先進(jìn)的跟蹤調(diào)試軟件都采取了這種方法,一是提高速度,二是針對(duì)反跟蹤技術(shù),所以反跟蹤技術(shù)僅僅只修改顯示中斷的入口地址是遠(yuǎn)遠(yuǎn)不夠的,還要通過(guò)對(duì)時(shí)鐘中斷的修改擴(kuò)充,定時(shí)頻繁地刷新視屏緩沖區(qū)中的內(nèi)容。2023/3/926(2)封鎖鍵盤(pán)輸入各種跟蹤調(diào)試軟件在工作時(shí),都要從鍵盤(pán)上接收操作者發(fā)出的命令,而且還要從屏幕上顯示出調(diào)試跟蹤的結(jié)果,這也是各種跟蹤調(diào)試軟件對(duì)運(yùn)行環(huán)境的最低要求。因此反跟蹤技術(shù)針對(duì)跟蹤調(diào)試軟件的這種“弱點(diǎn)”,在加密系統(tǒng)無(wú)需從鍵盤(pán)或屏幕輸入、輸出信息時(shí),關(guān)閉這些外圍設(shè)備,以破壞跟蹤調(diào)試軟件的運(yùn)行環(huán)境。鍵盤(pán)信息的輸入采用硬件中斷方式,由BIOS中的鍵盤(pán)中斷服務(wù)程序接收、識(shí)別和轉(zhuǎn)換,最后送入可存放16個(gè)字符的鍵盤(pán)緩沖區(qū)。針對(duì)這些過(guò)程反跟蹤技術(shù)可以采用的方法有下面幾種:2023/3/927①改變鍵盤(pán)中斷服務(wù)程序、BIOS的鍵盤(pán)I/O中斷服務(wù)程序的入口地址。鍵盤(pán)中斷的中斷向量為9,BIOS的鍵盤(pán)I/O中斷的中斷向量為16H,它們的中斷服務(wù)程序的入口地址分別存放在內(nèi)存地址0000:0024H和0000:0058H起始的4個(gè)字節(jié)中,改變這些地址中的內(nèi)容,鍵盤(pán)信息將不能正常輸入。②禁止鍵盤(pán)中斷。鍵盤(pán)中斷是可屏蔽中斷,可通過(guò)向8259中斷控制器輸送屏蔽控制字來(lái)屏蔽鍵盤(pán)中斷??刂奇I盤(pán)的是中斷屏蔽寄存器的第1位,只要將該位置1,即可關(guān)閉鍵盤(pán)的中斷。INAL,21HORAL,02HOUT21H,AL需要開(kāi)放鍵盤(pán)中斷時(shí),也要用3條指令:INAL,21HANDAL,F(xiàn)DHOUT21H,AL2023/3/928③禁止接收鍵盤(pán)數(shù)據(jù)。鍵盤(pán)數(shù)據(jù)的接收是由主機(jī)板上的8255A并行口完成的。其中端口A用來(lái)接收鍵盤(pán)掃描碼,端口B的第7位用來(lái)控制端口A的接收,該位為0表示允許鍵盤(pán)輸入,為1則清除鍵盤(pán)。正常情況下,來(lái)自鍵盤(pán)的掃描碼從端口A接收之后,均要清除鍵盤(pán),然后再允許鍵盤(pán)輸入,為了封鎖鍵盤(pán)輸入,我們只需將端口B的第7位置1:INAL,61HORAL,80HOUT61H,AL當(dāng)需要恢復(fù)鍵盤(pán)輸入時(shí),執(zhí)行以下3條指令:IN
AL,61HANDAL,7FHOUT61H,AL2023/3/929④不接受指定鍵法。在DEBUG中T、P和G都是用于動(dòng)態(tài)跟蹤的關(guān)鍵命令,如果加密系統(tǒng)在運(yùn)行時(shí)必須從鍵盤(pán)上接收信息(這個(gè)時(shí)候加密系統(tǒng)容易被各種跟蹤調(diào)試軟件截獲,所以應(yīng)盡量避免),可以通過(guò)對(duì)鍵盤(pán)中斷服務(wù)程序的修改擴(kuò)充,使之不接受T、P和G這些敏感的鍵碼,以達(dá)到反跟蹤的目的。當(dāng)然這是一種不得已而采取的方法,因?yàn)樗邢喈?dāng)大的局限性和漏洞:一是如果加密系統(tǒng)在接收的信息中,牽涉到T、P等鍵碼,這種方法就行不通了;二是DEBUG下的動(dòng)態(tài)調(diào)試命令是T、P和G,那么其他的跟蹤調(diào)試軟件呢?顯然其他的軟件就不一定是這些命令了,而且還不乏兩個(gè)碼三個(gè)鍵碼以及更多鍵碼組成的動(dòng)態(tài)調(diào)試命令。2023/3/930(3)抑制跟蹤中斷DEBUG的T和G命令分別要運(yùn)行系統(tǒng)的單步中斷和斷點(diǎn)中斷服務(wù)程序,在系統(tǒng)向量表中這兩個(gè)中斷的中斷向量分別為1和3,中斷服務(wù)程序的入口地址分別存放在0000:0004和0000:000C起始的4個(gè)字節(jié)中。因此,當(dāng)這些單元中的內(nèi)容被修改后,T和G命令將無(wú)法正常執(zhí)行,具體實(shí)現(xiàn)方法如下:①將這些單元作為堆棧使用;②在這些單元中送入軟件運(yùn)行的必要數(shù)據(jù);③將軟件中某個(gè)子程序的地址存放在這些單元中,當(dāng)需要調(diào)用時(shí)使用INT1和INT3指令來(lái)代替CALL指令;④放入懲罰性程序的入口地址。2023/3/931(4)破壞中斷向量表DOS提供了從0到FFH的256個(gè)中斷調(diào)用,它們駐留在內(nèi)存的較低地址中,相應(yīng)的入口地址位于內(nèi)存0000:0000~0000:03FFH中,每個(gè)入口地址由4個(gè)字節(jié)組成,其中前兩個(gè)字節(jié)為程序的偏移地址,后兩個(gè)字節(jié)為程序的段地址。DEBUG等跟蹤調(diào)試軟件在運(yùn)行時(shí)大量地使用了DOS提供的各類(lèi)中斷,不僅如此,比DEBUG功能更強(qiáng)大,甚至針對(duì)反跟蹤技術(shù)設(shè)計(jì)的高級(jí)反反跟蹤調(diào)試軟件也調(diào)用了DOS中斷,典型的例子就是使用其他中斷來(lái)代替斷點(diǎn)中斷的反反跟蹤技術(shù)。破壞中斷向量表可以從根本上破壞一切跟蹤調(diào)試軟件的運(yùn)行環(huán)境。DOS和BIOS有個(gè)40段的數(shù)據(jù)區(qū),它位于內(nèi)存0040:0000~0040:00FFH,這256個(gè)字節(jié)存放的都是當(dāng)前系統(tǒng)的配置情況,對(duì)這些內(nèi)容的修改也會(huì)直接影響到各類(lèi)跟蹤調(diào)試軟件的正常運(yùn)行。破壞中斷表是一個(gè)涉及面極廣,效果極好的反跟蹤技術(shù),它能最大程度地阻止解密者對(duì)加密系統(tǒng)的直接或間接動(dòng)態(tài)跟蹤,使解密技術(shù)面臨一個(gè)全新的問(wèn)題。2023/3/932(5)檢測(cè)跟蹤法當(dāng)解密者利用各種跟蹤調(diào)試軟件對(duì)加密系統(tǒng)分析執(zhí)行時(shí),勢(shì)必會(huì)造成許多與正常執(zhí)行加密系統(tǒng)不一致的地方,如運(yùn)行環(huán)境、中斷入口和時(shí)間差異等等。如果在反跟蹤技術(shù)中對(duì)不一致的地方采取一定的措施,也同樣可以起到保護(hù)加密系統(tǒng)的目的。方法有:①定時(shí)檢測(cè)法;②偶爾檢測(cè)法;③利用時(shí)鐘中斷法;④PSP法;⑤中斷檢測(cè)法2023/3/933(6)設(shè)置堆棧指針?lè)?/p>
跟蹤調(diào)試軟件在運(yùn)行時(shí),會(huì)產(chǎn)生對(duì)堆棧的操作動(dòng)作,如保存斷點(diǎn)。因而在反跟蹤技術(shù)中對(duì)于堆棧指針的運(yùn)用就顯得相當(dāng)重要了,比如對(duì)堆棧指針的值進(jìn)行設(shè)計(jì),并力求使設(shè)計(jì)的結(jié)果具備一定的抗修改性,以免解密者通過(guò)再次修改堆棧指針的值來(lái)達(dá)到繼續(xù)跟蹤的目的。 ①將堆棧指針設(shè)到ROM區(qū)。 ②將堆棧指針設(shè)在程序段中。 ③將堆棧指針設(shè)在中斷向量表內(nèi)。 ④將堆棧指針移作他用。
2023/3/934(7)對(duì)程序分塊加密執(zhí)行為了防止加密程序被反匯編,加密程序最好以分塊的密文形式裝入內(nèi)存,在執(zhí)行時(shí)由上一塊加密程序?qū)ζ溥M(jìn)行譯碼,而且在某一塊執(zhí)行結(jié)束后必須立即對(duì)它進(jìn)行清除,這樣在任何時(shí)刻內(nèi)不可能從內(nèi)存中得到完整的解密程序代碼。這種方法除了能防止反匯編外還可以使解密者無(wú)法設(shè)置斷點(diǎn),從而從一個(gè)側(cè)面來(lái)防止動(dòng)態(tài)跟蹤。(8)對(duì)程序段進(jìn)行校驗(yàn)對(duì)一個(gè)加密程序的解密工作往往只是對(duì)幾個(gè)關(guān)鍵指令的修改,因此對(duì)程序段特別是關(guān)鍵指令的保護(hù)性校驗(yàn)是十分必要的,這樣可以防止解密者對(duì)指令進(jìn)行非法篡改。具體方法有累計(jì)、累減、累或和異或等。2023/3/935(9)亂指令法編寫(xiě)程序時(shí),我們都強(qiáng)調(diào)要有良好的程序風(fēng)格和明晰的程序結(jié)構(gòu),為的是讓使用程序和修改程序更加方便。在加密程序中,我們希望能給解密者制造更多的麻煩,所以希望使程序復(fù)雜化和難懂,可以采用如下方式和方法。①設(shè)置大循環(huán)。程序越簡(jiǎn)單,就越易讀,跟蹤也就越方便。鑒于這個(gè)原因,在加密系統(tǒng)中設(shè)置大循環(huán),可以在精力上消耗解密者,延長(zhǎng)跟蹤破譯加密系統(tǒng)的時(shí)間。這種反跟蹤技術(shù)已經(jīng)被廣泛應(yīng)用,而且取得了較好的效果。它的具體實(shí)現(xiàn)方法是:在加密系統(tǒng)中設(shè)置大循環(huán),且設(shè)置多重循環(huán),使上層循環(huán)啟動(dòng)下一層循環(huán),在循環(huán)中再頻繁調(diào)用子程序,還要保證不能有一層循環(huán)被遺漏不執(zhí)行。這樣可以在精力上消耗解密者,使其陷入迷霧之中,失去斗志和毅力,從而達(dá)到我們預(yù)期目的。2023/3/936②廢指令法。在加密程序中設(shè)置適當(dāng)?shù)臒o(wú)用程序段,而且在這其中設(shè)置如大循環(huán)等程序,這種方法在反跟蹤技術(shù)中被稱(chēng)為廢指令法。要實(shí)現(xiàn)廢指令法有3點(diǎn)要保證:一是廢指令要精心組織安排,不要讓解密者識(shí)破機(jī)關(guān)。這是廢指令法應(yīng)具備的基本特點(diǎn),因?yàn)樗哪康氖钦T導(dǎo)解密者去研究破解自身,并在破解過(guò)程中拖垮解密者,所以廢指令法本身的偽裝十分重要。二是所用的指令應(yīng)大量選用用戶(hù)生疏的指令或DOS內(nèi)部功能的調(diào)用,以最大程度地消耗解密者的精力和破譯時(shí)間。三是要確保不實(shí)現(xiàn)任何功能的廢指令段不能被逾越。這是廢指令法要注意的一個(gè)重要問(wèn)題,因?yàn)樗绻鼙惠p易逾越,那么就說(shuō)明加密系統(tǒng)所采取的廢指令法是失敗的反跟蹤技術(shù)。③程序自生成技術(shù)。程序的自生成是指在程序的運(yùn)行過(guò)程中,利用上面的程序來(lái)生成將要執(zhí)行的指令代碼,并在程序中設(shè)置各種反跟蹤措施的技術(shù)。這樣可以使得反匯編的指令并非是將要執(zhí)行的指令代碼,同時(shí)還可以隱蔽關(guān)鍵指令代碼。但由于其實(shí)現(xiàn)代價(jià)較高,一般只對(duì)某些關(guān)鍵指令適用。2023/3/937(10)指令流隊(duì)列法CPU為了提高運(yùn)行速度,專(zhuān)門(mén)開(kāi)辟了一個(gè)指令流隊(duì)列,以存放將要執(zhí)行的指令,這樣就節(jié)省了CPU為了取指令而等待的時(shí)間。通過(guò)對(duì)它的利用也可以達(dá)到迷惑解密者和阻止動(dòng)態(tài)跟蹤加密程序的目的。在程序正常執(zhí)行時(shí),其后續(xù)指令是存放在指令流隊(duì)列中的,而跟蹤調(diào)試程序時(shí)就完全不同了,因?yàn)樗鼱可娴絼?dòng)態(tài)修改程序指令代碼(包括后續(xù)指令),所以無(wú)論后續(xù)指令是否被存放在指令流隊(duì)列中,被修改的指令都將被執(zhí)行(包括后續(xù)指令)。這一點(diǎn)和程序正常執(zhí)行時(shí)是相反的,因?yàn)檎?zhí)行時(shí),CPU只從指令流隊(duì)列中讀取指令,即使后續(xù)指令剛剛被正在執(zhí)行的指令修改過(guò)。2023/3/938(11)逆指令流法
指令代碼在內(nèi)存中是從低地址向高地址存放的,CPU執(zhí)行指令的順序也是如此,這個(gè)過(guò)程是由硬件來(lái)實(shí)現(xiàn)的,而且這個(gè)規(guī)則已經(jīng)和跟蹤調(diào)試軟件牢牢結(jié)合。針對(duì)這個(gè)方面逆指令流法特意改變順序執(zhí)行指令的方式,使CPU按逆向的方式執(zhí)行指令,這樣就使得解密者根本無(wú)法閱讀已經(jīng)逆向排列的指令代碼,從而防止解密者對(duì)程序的跟蹤。因?yàn)轫樞驁?zhí)行指令是由硬件決定的,所以如果用軟件的方式設(shè)計(jì)CPU按逆向執(zhí)行指令,就顯得相當(dāng)困難和繁瑣了。不過(guò)逆指令流法是一個(gè)非常有吸引力和使用前景的反跟蹤技術(shù),如果能把這種技術(shù)成功地運(yùn)用在磁盤(pán)加密技術(shù)中,勢(shì)必會(huì)給解密者造成巨大的壓力和威懾力。2023/3/939(12)混合編程法破譯加密系統(tǒng)的首要工作是讀取程序和弄清程序思路,并針對(duì)其中的弱點(diǎn)下手。為了阻撓解密者對(duì)加密程序的分析,可以盡量將程序設(shè)計(jì)得紊亂些,以降低程序的可讀性。這種方法具體在反跟蹤技術(shù)中就是使用混合編程法等,因?yàn)楦呒?jí)編譯語(yǔ)言的程序可讀性本身就較差(如編譯過(guò)的BASIC、COBOL程序等),如果再將幾種高級(jí)語(yǔ)言聯(lián)合起來(lái)編寫(xiě)使用,一定會(huì)極大的降低程序的可讀性。(13)自編軟中斷13技術(shù)由于反復(fù)制技術(shù)制作的指紋一般都存在于軟盤(pán)上,所以現(xiàn)在的磁盤(pán)加密系統(tǒng)都存在著一個(gè)明顯的外部特征,即都要通過(guò)調(diào)用INT13來(lái)判斷軟盤(pán)上指紋的真?zhèn)巍S捎谝{(diào)用INT13,所以應(yīng)保證中斷表的正確性,即使先前使用了破壞中斷表等反跟蹤技術(shù),到這個(gè)時(shí)候都必須恢復(fù)中斷表的內(nèi)容,這就過(guò)早地暴露了自己的弱點(diǎn),加上INT13中斷的入口參數(shù)是公開(kāi)的,通過(guò)入口參數(shù)便可發(fā)現(xiàn)加密程序具體讀取的是哪些扇區(qū)或哪個(gè)磁道,甚至可以發(fā)現(xiàn)加密系統(tǒng)采取的是何種反復(fù)制技術(shù),這就給解密者以可乘之機(jī),對(duì)加密系統(tǒng)造成巨大的威脅2023/3/94010.4軟件質(zhì)量1.軟件質(zhì)量與質(zhì)量保證軟件質(zhì)量是與軟件產(chǎn)品滿(mǎn)足明確或隱含需求的能力有關(guān)的特征和特性的總和。軟件的質(zhì)量包括產(chǎn)品質(zhì)量和過(guò)程質(zhì)量。產(chǎn)品質(zhì)量是文件、設(shè)計(jì)、代碼和試驗(yàn)的屬性,過(guò)程質(zhì)量是指技術(shù)、工具、人員和組織機(jī)構(gòu)方面的屬性。提出過(guò)程質(zhì)量是因?yàn)樗袥Q定軟件質(zhì)量的作用,是為實(shí)際產(chǎn)品的生產(chǎn)建立的一個(gè)必要的支持條件。軟件質(zhì)量不僅僅是缺陷率,還包括不斷改進(jìn)、提高內(nèi)部顧客和外部顧客滿(mǎn)意度、縮短產(chǎn)品開(kāi)發(fā)周期與投放市場(chǎng)時(shí)間、降低質(zhì)量成本等軟件質(zhì)量保證(SQA)是建立一套有計(jì)劃、有系統(tǒng)的方法,來(lái)向管理層保證擬定出的標(biāo)準(zhǔn)、步驟、實(shí)踐和方法能夠正確地被所有項(xiàng)目所采用。2023/3/941軟件質(zhì)量保證的目的是使軟件過(guò)程對(duì)于管理人員來(lái)說(shuō)是可見(jiàn)的。它是通過(guò)對(duì)軟件產(chǎn)品和活動(dòng)進(jìn)行評(píng)審和審計(jì)來(lái)驗(yàn)證軟件是合乎標(biāo)準(zhǔn)的。軟件質(zhì)量保證小組在項(xiàng)目開(kāi)始時(shí)就一起參與建立計(jì)劃、標(biāo)準(zhǔn)和過(guò)程。這些將使軟件項(xiàng)目滿(mǎn)足機(jī)構(gòu)方針的要求。CMM對(duì)質(zhì)量的定義是:①一個(gè)系統(tǒng)、組件或過(guò)程符合特定需求的程度;②一個(gè)系統(tǒng)、組件或過(guò)程符合客戶(hù)或用戶(hù)的要求或期望的程度。評(píng)價(jià)一款軟件可以從以下角度進(jìn)行:正確性、可靠性、健壯性、美觀性、性能、易用性、兼容性、安全性、可移植性、可擴(kuò)展性等。2023/3/9422.軟件質(zhì)量的目標(biāo)軟件公司開(kāi)發(fā)一款軟件,并不是說(shuō)質(zhì)量越高越好。質(zhì)量越高,成本相對(duì)會(huì)越高,這樣企業(yè)就可能支持不力,無(wú)法生存,或者價(jià)格很高,客戶(hù)無(wú)法接受。這并不是說(shuō)軟件質(zhì)量不重要,好和壞從來(lái)都是相對(duì)的。從用戶(hù)的角度而言,能夠正常滿(mǎn)足使用要求的軟件就是好軟件;對(duì)企業(yè)而言,在軟件生命周期里,軟件能夠滿(mǎn)足用戶(hù)使用,能給自己帶來(lái)更多利潤(rùn)的軟件就是好軟件。不同場(chǎng)合對(duì)軟件質(zhì)量的要求是不一樣的,比如我們國(guó)家發(fā)射的神州五號(hào)到神州七號(hào)宇宙飛船就要求其軟件質(zhì)量要百分之百可靠,不能出一點(diǎn)點(diǎn)的差錯(cuò),相信在不久的將來(lái)我們國(guó)家在發(fā)射載人登月宇宙飛船時(shí),對(duì)飛船軟件質(zhì)量的的重視程度會(huì)有過(guò)之而無(wú)不及。2023/3/9433.人員素質(zhì)軟件是人做出來(lái)的,軟件質(zhì)量的好壞和開(kāi)發(fā)、測(cè)試以及有關(guān)管理人員都息息相關(guān)。質(zhì)量保證人員的能力問(wèn)題是個(gè)重要因素,如果連軟件中潛在的問(wèn)題都發(fā)現(xiàn)不了,想解決問(wèn)題,做高質(zhì)量的軟件,談何容易?測(cè)試人員能力是另一因素,從事軟件測(cè)試人員的職業(yè)素養(yǎng)也是一個(gè)重要因素。如果測(cè)試人員一款軟件沒(méi)有嚴(yán)格測(cè)試,甚至忽略有些概率性問(wèn)題的存在,耐不住性子深入檢測(cè),或者在發(fā)行版本時(shí)只簡(jiǎn)單測(cè)試一下,這都無(wú)法真正保證軟件的質(zhì)量。這種情況對(duì)顧客的影響是很大的,而這對(duì)公司而言,無(wú)論形象還是未來(lái)產(chǎn)品銷(xiāo)售等方面都會(huì)受影響。4.過(guò)程管理過(guò)程管理是指對(duì)公司規(guī)范的執(zhí)行情況。一般公司都有一套完整的產(chǎn)品開(kāi)發(fā)流程、規(guī)范,流程各個(gè)環(huán)節(jié)執(zhí)行的情況是能否開(kāi)發(fā)出一款好軟件的必要條件。這包括文檔管理、版本控制、測(cè)試管理等很多方面。2023/3/94410.5軟件的基本故障1.軟件的可靠性
可靠性是產(chǎn)品在規(guī)定的條件下和規(guī)定的時(shí)間內(nèi)完成規(guī)定功能的能力,它的概率度量稱(chēng)為可靠度。軟件可靠性是軟件系統(tǒng)固有的特性之一,它表明了一個(gè)軟件系統(tǒng)按照用戶(hù)的要求和設(shè)計(jì)的目標(biāo),執(zhí)行其功能的正確程度。軟件可靠性與軟件缺陷有關(guān),也與系統(tǒng)輸入和系統(tǒng)使用有關(guān)。理論上說(shuō),可靠的軟件系統(tǒng)應(yīng)該是正確、完整、一致和健壯的。但是實(shí)際上任何軟件都不可能達(dá)到百分之百的正確,而且也無(wú)法精確度量。一般情況下,只能通過(guò)對(duì)軟件系統(tǒng)進(jìn)行測(cè)試來(lái)度量其可靠性。根據(jù)這個(gè)定義,軟件可靠性包含了以下3個(gè)要素:(1)規(guī)定的時(shí)間。軟件可靠性只是體現(xiàn)在其運(yùn)行階段,所以將“運(yùn)行時(shí)間”作為“規(guī)定的時(shí)間”的度量?!斑\(yùn)行時(shí)間”包括軟件系統(tǒng)運(yùn)行后工作與掛起(開(kāi)啟但空閑)的累計(jì)時(shí)間。由于軟件運(yùn)行的環(huán)境與程序路徑選取的隨機(jī)性,軟件的失效為隨機(jī)事件,所以運(yùn)行時(shí)間屬于隨機(jī)變量。2023/3/945(2)規(guī)定的環(huán)境條件。環(huán)境條件指軟件的運(yùn)行環(huán)境。它涉及軟件系統(tǒng)運(yùn)行時(shí)所需的各種支持要素,如支持硬件、操作系統(tǒng)、其他支持軟件、輸入數(shù)據(jù)格式和范圍以及操作規(guī)程等。不同的環(huán)境條件下軟件的可靠性是不同的。具體地說(shuō),規(guī)定的環(huán)境條件主要是描述軟件系統(tǒng)運(yùn)行時(shí)計(jì)算機(jī)的配置情況以及對(duì)輸入數(shù)據(jù)的要求,并假定其他一切因素都是理想的。有了明確規(guī)定的環(huán)境條件,還可以有效判斷軟件失效的責(zé)任在用戶(hù)方還是研制方。(3)規(guī)定的功能。軟件可靠性還與規(guī)定的任務(wù)和功能有關(guān)。由于要完成的任務(wù)不同,軟件的運(yùn)行剖面會(huì)有所區(qū)別,那么調(diào)用的子模塊就不同(即程序路徑選擇不同),其可靠性也就可能不同。所以要準(zhǔn)確度量軟件系統(tǒng)的可靠性必須首先明確它的任務(wù)和功能。2023/3/9462.軟件故障及分類(lèi)
軟件故障是指由于軟件設(shè)計(jì)者在開(kāi)發(fā)軟件時(shí)考慮不周而產(chǎn)生的軟件漏洞或缺陷。研究軟件故障主要是為了預(yù)防軟件錯(cuò)誤的發(fā)生,為了在測(cè)試中發(fā)現(xiàn)錯(cuò)誤后盡快糾正錯(cuò)誤。軟件故障可按以下幾種方式進(jìn)行分類(lèi):(1)按出錯(cuò)的起因,軟件故障可分為設(shè)計(jì)錯(cuò)誤和數(shù)據(jù)錯(cuò)誤兩種。軟件設(shè)計(jì)中的錯(cuò)誤是不可避免的,只能相對(duì)地減少。要做到正確的設(shè)計(jì),并采用相應(yīng)的措施加以解決。數(shù)據(jù)錯(cuò)誤包括因操作失誤產(chǎn)生的輸入錯(cuò)誤和存儲(chǔ)數(shù)據(jù)本身出錯(cuò)兩方面。因操作不正確產(chǎn)生的輸入錯(cuò)誤是操作人員的過(guò)失,是技術(shù)不熟練或粗心造成的,可以通過(guò)技術(shù)培訓(xùn)加強(qiáng)工作責(zé)任心、嚴(yán)格操作規(guī)程來(lái)解決。存儲(chǔ)數(shù)據(jù)出錯(cuò)應(yīng)通過(guò)系統(tǒng)安全設(shè)計(jì)、糾錯(cuò)措施來(lái)解決。2023/3/947(2)按引起故障的故意性,軟件故障可分為有非故意性故障和故意性故障。非故意性故障是經(jīng)常發(fā)生的,比如設(shè)計(jì)者在設(shè)計(jì)時(shí)對(duì)需求分析研究不夠,甚至于理解錯(cuò)誤等,引起規(guī)格說(shuō)明或者設(shè)計(jì)上的某些故障。故意性故障是通過(guò)人為的一種手段故意造成的故障,它可能使部分甚至整個(gè)軟件的行為都發(fā)生改變,從而使軟件以及與該軟件有關(guān)的數(shù)據(jù)及系統(tǒng)遭受莫大的影響。(3)按故障的持續(xù)時(shí)間,軟件故障可分為永久性故障和暫時(shí)性故障兩種。永久性故障一旦形成就不可能自動(dòng)消失。暫時(shí)性故障與環(huán)境、系統(tǒng)的性能有很大關(guān)系。這類(lèi)故障分為間歇性故障和瞬時(shí)性故障。前者以系統(tǒng)的內(nèi)部原因?yàn)橹?,故障以間歇性狀態(tài)出現(xiàn),表現(xiàn)為時(shí)好時(shí)壞。而后者則以外部原因?yàn)橹鳎砸淮涡猿霈F(xiàn)故障為主要表現(xiàn)形式。如在短時(shí)間內(nèi)向軟件輸入過(guò)多的數(shù)據(jù)而造成無(wú)法接收數(shù)據(jù)的故障。2023/3/94810.6軟件質(zhì)量控制和評(píng)估1.軟件質(zhì)量控制軟件質(zhì)量控制是一組由開(kāi)發(fā)組織使用的程序和方法,使用它們可在規(guī)定的資金投入和時(shí)間限制的條件下,提供滿(mǎn)足客戶(hù)質(zhì)量要求的軟件產(chǎn)品并持續(xù)不斷地改善開(kāi)發(fā)過(guò)程和開(kāi)發(fā)組織本身,以提高將來(lái)生產(chǎn)高質(zhì)量軟件產(chǎn)品的能力。根據(jù)該定義,可以看到軟件質(zhì)量控制有這樣一些含義:①軟件質(zhì)量控制是開(kāi)發(fā)組織執(zhí)行的一系列過(guò)程;②軟件質(zhì)量控制的目標(biāo)是以最低的代價(jià)獲得客戶(hù)滿(mǎn)意的軟件產(chǎn)品;③對(duì)于開(kāi)發(fā)組織本身來(lái)說(shuō),軟件質(zhì)量控制的另一個(gè)目標(biāo)是從每一次開(kāi)發(fā)過(guò)程中學(xué)習(xí),以便使軟件質(zhì)量控制一次比一次更好。2023/3/949
2.軟件質(zhì)量框架模型2023/3/9503.評(píng)估指標(biāo)的選取原則選擇合適的指標(biāo)體系并使其量化是軟件測(cè)試與評(píng)估的關(guān)鍵。評(píng)估指標(biāo)可以分為定性指標(biāo)和定量指標(biāo)兩種。理論上講,為了能夠科學(xué)客觀地反映軟件的質(zhì)量特征,應(yīng)該盡量選擇定量指標(biāo)。但是對(duì)于大多數(shù)軟件來(lái)說(shuō),并不是所有的質(zhì)量特征都可以用定量指標(biāo)進(jìn)行描述,所以不可避免地要采用一定的定性指標(biāo)。在選取評(píng)估指標(biāo)時(shí),應(yīng)該把握針對(duì)性、可測(cè)性、簡(jiǎn)明性、完備性、客觀性等原則。應(yīng)該注意的是,選擇的評(píng)估指標(biāo)不是越多越好,關(guān)鍵在于指標(biāo)在評(píng)估中所起作用的大小。如果評(píng)估時(shí)指標(biāo)太多,不僅增加結(jié)果的復(fù)雜性,有時(shí)甚至?xí)绊懺u(píng)估的客觀性。指標(biāo)的確定一般是采用自頂向下的方法,逐層分解,并且需要在動(dòng)態(tài)過(guò)程中反復(fù)綜合平衡。2023/3/9514.軟件質(zhì)量評(píng)估指標(biāo)體系一般在軟件的測(cè)試與評(píng)估時(shí),主要側(cè)重于功能特征、可靠特征、易用特征和效率特征等幾個(gè)方面。在評(píng)價(jià)活動(dòng)的具體實(shí)施中,應(yīng)該把被評(píng)估軟件的研制任務(wù)書(shū)作為主要依據(jù),采用自頂向下逐層分解的方法,并參照有關(guān)國(guó)家軟件質(zhì)量標(biāo)準(zhǔn)。(1)功能性指標(biāo)。功能性可以細(xì)化成完備性和正確性。完備性是與軟件功能完整、齊全有關(guān)的軟件屬性。如果軟件實(shí)際完成的功能少于或不符合研制任務(wù)書(shū)所規(guī)定的明確或隱含的功能,則不能說(shuō)該軟件的功能是完備的。正
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 紅樓夢(mèng)第十七回賞析
- 2026年連云港師范高等專(zhuān)科學(xué)校單招職業(yè)傾向性考試題庫(kù)及答案詳解一套
- 《藥品生物檢定技術(shù)》創(chuàng)新課件-數(shù)字化中藥館-創(chuàng)新健康服務(wù)模式
- 云資源優(yōu)化運(yùn)維協(xié)議
- 智能窗簾安裝調(diào)試師崗位招聘考試試卷及答案
- 2026年消防隊(duì)工作計(jì)劃(3篇)
- 2025年度基層衛(wèi)生人員全員在線培訓(xùn)考試試題及答案
- 2025年CPA審計(jì)真題及答案解析
- 2026年護(hù)理部年度工作計(jì)劃與戰(zhàn)略部署
- 2025年安徽皖江高速公路有限公司高速公路收費(fèi)人員招聘考試筆試試題及答案
- 譯林版三年級(jí)英語(yǔ)下冊(cè)Unit5《How old are you?》單元檢測(cè)卷(含答案)
- XF-T 3004-2020 汽車(chē)加油加氣站消防安全管理
- 行為金融學(xué)課件
- 中考數(shù)學(xué)講座中考數(shù)學(xué)解答技巧基礎(chǔ)復(fù)習(xí)課件
- 短視頻的拍攝與剪輯
- 單軸仿形銑床設(shè)計(jì)
- 全口義齒人工牙的選擇與排列 28-全口義齒人工牙的選擇與排列(本科終稿)
- 低壓電纜敷設(shè)方案設(shè)計(jì)
- 原發(fā)性肝癌病人的護(hù)理原發(fā)性肝癌病人的護(hù)理
- GB/T 7324-2010通用鋰基潤(rùn)滑脂
- 新能源有限公司光伏電站現(xiàn)場(chǎng)應(yīng)急處置方案匯編
評(píng)論
0/150
提交評(píng)論