freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

多態(tài)蠕蟲產(chǎn)生器畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2024-10-09 06:54 本頁面
 

【文章內(nèi)容簡介】 大小,同時(shí)完成更強(qiáng)大的功能,會(huì)直接執(zhí)行系統(tǒng)平臺(tái)提供的各種可執(zhí)行文件。6. 信息數(shù)據(jù)包括已破解的口令、要攻擊的地址列表、網(wǎng)絡(luò)蠕蟲自身的壓縮包等等。 基本功能模塊蠕蟲的基本功能模塊共包括以下5部分:1) 搜索模塊:尋找下一臺(tái)要傳染的機(jī)器。為提高搜索效率,可以采用一系列的搜索算法。2) 攻擊模塊:在被感染的機(jī)器上建立傳輸通道(傳染途徑)。為減少第一次傳染數(shù)據(jù)傳輸量,可以采用引導(dǎo)式結(jié)構(gòu)。3) 傳輸模塊:主要是用于計(jì)算機(jī)間的蠕蟲體復(fù)制。4) 信息搜集模塊:搜集和建立被傳染機(jī)器上的信息。5) 繁殖模塊:建立自身的多個(gè)副本。在同一臺(tái)機(jī)器上提高傳染效率,避免重復(fù)傳染[3]。 擴(kuò)展功能模塊蠕蟲的擴(kuò)展功能模塊由以下4部分組成:1) 隱藏模塊:隱藏蠕蟲,逃避簡單的檢測。2) 破壞模塊:摧毀或破壞被感染的計(jì)算機(jī),或在被感染的計(jì)算機(jī)上留下后門程序等等。3) 通信模塊:蠕蟲間、蠕蟲同黑客之間進(jìn)行交流,可能是未來蠕蟲發(fā)展的側(cè)重點(diǎn)。4) 控制模塊:調(diào)整蠕蟲行為,更新其它功能模塊,控制被感染計(jì)算機(jī),可能是未來蠕蟲發(fā)展的側(cè)重點(diǎn)[3]。蠕蟲程序功能模型基本功能模塊擴(kuò)展功能模塊攻擊模塊傳輸模塊信息搜集模塊繁殖模塊通信模塊隱藏模塊破壞模塊控制模塊搜索模塊 蠕蟲的結(jié)構(gòu)模型,蠕蟲模塊分為基本模塊和擴(kuò)展模塊,基本模塊中包含搜索模塊、攻擊模塊、傳輸模塊、信息搜集模塊、繁殖模塊;擴(kuò)展模塊中包含隱藏模塊、破壞模塊、通信模塊和控制模塊。 蠕蟲的工作流程蠕蟲程序的工作流程可以分為漏洞掃描、攻擊、傳染、現(xiàn)場處理四個(gè)階段。蠕蟲程序掃描到有漏洞的計(jì)算機(jī)系統(tǒng)后,將蠕蟲主體遷移到目標(biāo)主機(jī),然后蠕蟲程序進(jìn)入被感染的系統(tǒng),對(duì)目標(biāo)主機(jī)進(jìn)行現(xiàn)場處理?,F(xiàn)場處理部分的工作包括:隱藏、信息搜集等。同時(shí)蠕蟲程序生成多個(gè)副本,重復(fù)上述流程,直到運(yùn)行條件不滿足[2]。是否否否是是掃描攻擊現(xiàn)場處理復(fù)制成功發(fā)現(xiàn)目標(biāo)開始是否滿足運(yùn)行條件結(jié)束 蠕蟲的工作流程檢測特征代碼的方法被廣泛地應(yīng)用在病毒或蠕蟲檢測工具中。特征代碼法是檢測已知病毒或蠕蟲的最簡單、開銷最小的方法。特征代碼法的工作原理如下:采集已知病毒或蠕蟲樣本,在病毒或蠕蟲樣本中,抽取特征代碼。抽取時(shí)依據(jù)如下原則,抽取的代碼比較特殊,不大可能與普通正常程序代碼吻合。抽取的代碼要有適當(dāng)長度,一方面維持特征代碼的唯一性,另一方面又不要有太大的空間與時(shí)間開銷。如果病毒或蠕蟲的特征代碼增長1字節(jié),要檢測3000種病毒或蠕蟲,增加的空間就是3000字節(jié)[8]。所以要在保持唯一性的前提下,盡量使特征代碼長度縮短,以減少空間與時(shí)間開銷,并將特征代碼納入病毒或蠕蟲數(shù)據(jù)庫。檢測病毒或蠕蟲時(shí),打開被檢測文件,在文件中檢查是否含有病毒或蠕蟲數(shù)據(jù)庫中的特征代碼。由于特征代碼與病毒或蠕蟲一一對(duì)應(yīng),因此如果在搜索中發(fā)現(xiàn)了符合病毒或蠕蟲特征代碼的內(nèi)容,便可以斷定被查文件中包含有該種病毒或蠕蟲[7]。要使蠕蟲躲過這種檢測方法,就要對(duì)蠕蟲體進(jìn)行多態(tài)變形,使同一種蠕蟲的不同實(shí)例具有相異的形態(tài),令特征碼檢測技術(shù)失效。至于如何進(jìn)行蠕蟲的多態(tài),正是本課題要研究的內(nèi)容。 多態(tài)變形技術(shù)的概念多態(tài)變形技術(shù)的發(fā)展和形成,最早在計(jì)算機(jī)病毒中得到體現(xiàn)。一般把使用通常的特征碼檢測法無法檢測(或者極難檢測)的病毒(蠕蟲)稱為多態(tài)病毒(蠕蟲)[8]。為了使蠕蟲代碼躲避檢測程序的檢測,需要不斷對(duì)自身的執(zhí)行代碼進(jìn)行變換,盡量隱藏檢測程序依據(jù)的蠕蟲特征代碼,從而使檢測程序無法正確偵測和清除該病毒。針對(duì)這種多態(tài)變形技術(shù),只有對(duì)其自動(dòng)變形機(jī)理進(jìn)行深入的分析,才能找到有效的檢測方法。因此,本文對(duì)計(jì)算機(jī)蠕蟲的多態(tài)變形機(jī)理進(jìn)行了深入的系統(tǒng)分析,并對(duì)相關(guān)實(shí)例進(jìn)行了討論。 什么是多態(tài)變形技術(shù)1. 什么是多態(tài)多態(tài)[9]就是使蠕蟲能夠改變自身的存儲(chǔ)形式的技術(shù),使傳統(tǒng)的依靠特征值檢測的技術(shù)失效。2. 什么是變形變形[9]則在多態(tài)的基礎(chǔ)上更進(jìn)一步。對(duì)整個(gè)蠕蟲體都進(jìn)行處理,使同一種蠕蟲的不同實(shí)例的代碼完全不同,不但沒有固定的特征碼,而且也無需還原成沒有任何變化的蠕蟲體。如果說對(duì)付多態(tài)還可以通過虛擬機(jī)等技術(shù)[7],待蠕蟲體被還原之后檢測特征值,那么完全的變形則使得這種技術(shù)完全失效[10]。 常見的多態(tài)變形技術(shù)1. 多態(tài)變形病毒多態(tài)變形病毒日益增多,這種現(xiàn)象可以看作是病毒作者為了反擊高級(jí)病毒掃描器而做出的反應(yīng)。因?yàn)樵O(shè)計(jì)合理的掃描器可以病毒的特征碼發(fā)現(xiàn)病毒,因此,挫敗掃描器的方法就是設(shè)計(jì)可以改變自身代碼的病毒,從而使搜索字符串的識(shí)別技術(shù)失去效果。 多態(tài)變形病毒面對(duì)掃描器時(shí),主要是通過代碼變換及加密來隱藏自己。常見的策略是用變化的key加密病毒體的主要部分,而保持解密執(zhí)行程序不變。為了防止搜索字符串的方法檢測到,解密代碼在每一次的感染過程中都會(huì)改變。然而,設(shè)計(jì)多態(tài)變形病毒要求病毒作者有很扎實(shí)的基本功,以及很多技巧。因此,這在段相對(duì)較長的時(shí)間里,導(dǎo)致世面上較少出現(xiàn)真正的多態(tài)變形病毒。當(dāng)然,世界不會(huì)一成不變。因此,在某個(gè)階段,從事病毒貿(mào)易的大哥級(jí)人物注意到這種現(xiàn)象,決定通過編寫并分布多態(tài)變形生成器的方式,向那些缺乏技能的小弟們伸出援手。2.多態(tài)變形生成器從根本上說,多態(tài)變形生成器是一些例程,可以與已存在的病毒鏈接。但生成器本身并不是病毒;它們的目的是使用多態(tài)變形的技術(shù)來隱藏真正的病毒。第一個(gè)通用的多態(tài)變形生成是MutationEngine,也被稱為MtE。在1991年出現(xiàn),大概有十億多種不同的排列,可以與任何病毒鏈接,它的出現(xiàn)宣告了即時(shí)多態(tài)變形的時(shí)代到來了。時(shí)至今日,大約有33種已知的病毒使用了MtE。 其它的多態(tài)變形生成在MtE出現(xiàn)后接踵而至。1992年的晚些時(shí)候就出現(xiàn)了兩個(gè),其中一個(gè)就是TridenTPolymorphicEngine(TPE)。TPE出生在荷蘭。從根本上說,它處理的排列數(shù)比MtE要少一些,但是它為反病毒產(chǎn)品準(zhǔn)備了另外的難題,因?yàn)樗傻淖g碼器比MtE生成的更普通,更沒有代表性(也就更難被檢測到)。另一個(gè)是NuKE Encryption Device(NED)。NuKE的生成器不是很高級(jí),但它的獨(dú)到之處是它不像大部分其它的多態(tài)變形生成器那樣發(fā)布目標(biāo)模塊,而是發(fā)布易讀的源碼。 其它比較知名的多態(tài)變形生成器還有:MultipleEncryptor(DAME)DarwinianGeneticMutationEngine(DGME)DarkSlayerMutationEngine(DSME)MutaGenGuns39。n39。RosesPolymorphicEngine(GPE)DarkSlayerConfusionEngine(DSCE)。這些生成器都是通過地址網(wǎng)絡(luò),病毒交換BBS與因特網(wǎng)上的專用區(qū)域交換的。3.操作原理 多態(tài)變形生成器的常見形式是一引動(dòng)代碼模塊,程序可以把它插入程序。在這之后,程序就可以調(diào)用代碼模塊中包含的函數(shù)了。這個(gè)過程被稱為鏈接。生成器一旦鏈接到病毒,將變成病毒的一部分。自那以后,病毒四處傳播時(shí),都會(huì)帶著生成器。應(yīng)該注意,生成器本身并不在意它與哪種程序鏈接。雖然說已知的多態(tài)變形生成器明顯是為病毒而寫的,但從根本上說,它們也可以用于其它種類的程序。 當(dāng)使用多態(tài)變形生成器的病毒感染程序文件時(shí)(或其它的對(duì)象),會(huì)要求生成器生成病毒體的加密拷貝和生成器本身。除此之外,生成器還將生成譯碼器――一個(gè)例程,把已加密的代碼還原成真正的病毒代碼。生成器使用的加密技術(shù)相對(duì)比較簡單。不過,它們?cè)诿看螆?zhí)行時(shí)都會(huì)改變加密key。這樣一來將使檢測這樣的病毒變得非常困難,但加密的病毒也有一個(gè)命門:解密例程,如果想要它可執(zhí)行,就不能加密它。因此,多態(tài)變形生成器的真正作用是通過它變換解密例程的能力來衡量的。所有的多態(tài)變形生成器為了每次都能創(chuàng)建不同的算法,需要一些隨機(jī)化例程。有些生成器允許病毒作者用自己喜歡的隨機(jī)化例程替換原來的。多態(tài)變形生成可能創(chuàng)建完全不同的加密方法以及與之對(duì)應(yīng)的各不相同的解密例程。它們一般是通過以下的方式修改解密例程:移動(dòng)例程周圍的指令,在隨機(jī)的地方增加無用的指令,使用不同的處理器寄存器和操作碼。這樣做的主要目的是使解密例程對(duì)應(yīng)的二進(jìn)制代碼在不同的感染體內(nèi)完全不一樣。這樣將使那些用固定搜索字符串來搜索解密例程的方法失效――因?yàn)槎鄳B(tài)變形病毒生成的感染體并不存在相同的搜索目標(biāo)(字符串)。 使用多態(tài)變形生成器的病毒怎樣感染文件: 1.在感染之前的干凈文件。我們把它稱為受害文件。 2.病毒通過修改受害文件的第一條指令開始它的感染過程。它用jump文件尾部的指令替換它們。被替換的字節(jié)保存在病毒體內(nèi)。 3.接下來,病毒調(diào)用多態(tài)變形生成器,生成病毒代碼的加密拷貝和生成器本身。生成器也將生成解密例程,并把它添加到受害文件的尾部。 4.把加密的代碼添加到受害文件的尾部。這個(gè)加密的部分包含三小部分:病毒體的真正拷貝;被替換的受害文件的第一條指令;多態(tài)變形生成器的代碼。 多態(tài)變形病毒實(shí)例分析——隨著計(jì)算機(jī)技術(shù)的發(fā)展,蠕蟲和病毒的界限越來越模糊,它們之間的許多技術(shù)都是共用的,并且多態(tài)變形病毒的發(fā)展時(shí)間相對(duì)較長,變形病毒的實(shí)例也比較典型,所以在這里采用了一個(gè)典型的變形病毒的實(shí)例來分析蠕蟲的多態(tài)變形技術(shù)是合適的,因?yàn)樗麄冇玫降亩鄳B(tài)變形技術(shù)是相同的。,它是由RohitabBatra在1999年設(shè)計(jì)的,雖然Windows998的時(shí)代已經(jīng)過去,但它的設(shè)計(jì)思想代表一個(gè)時(shí)代的病毒設(shè)計(jì),其核心思想仍然被廣泛采用。要想有效地識(shí)別出多態(tài)變形蠕蟲(病毒),就必須了解多態(tài)變形蠕蟲(病毒)的工作原理?!狤ncryptVirus、MutateDecryptor和RadomRegister以及程序入口段——解密器Decryptor來完成[13]。下面是對(duì)每一部分的功能及工作原理的詳細(xì)分析。1. 解密函數(shù)——Decryptor把程序入口寫成機(jī)器碼而非匯編語言,這純粹是為了編程的方便,就是對(duì)這段程序中的寄存器進(jìn)行操作,為了編程方便所以采用了機(jī)器碼的表示方法。同時(shí)必須指出的一點(diǎn)是兩段代碼的唯一區(qū)別在于DB 00字節(jié),在翻譯成匯編語言以后,它將和DB80、DB36一起組成xor byte ptr[esi], 00h,但要明確的是盡管它們是一條匯編指令,可標(biāo)號(hào)EncryptionKey仍然起作用,也就是說無論在何種情況下EncryptionKey都標(biāo)志著DB 00這個(gè)字節(jié),而這個(gè)字節(jié)正是密鑰所在,密鑰的設(shè)置在EncryptVirus函數(shù)中完成,00只是一個(gè)初始值。病毒程序入口處的機(jī)器碼翻譯成匯編語言后的結(jié)果。esi中的內(nèi)容就是被加密程序的入口,ecx中的內(nèi)容是被加密的程序代碼的長度。Encrypted_SIZE的值是$offset EncryptedVirusCode,操作符“$”所表示的是當(dāng)前程序計(jì)數(shù)器的值,所以Encrypted_SIZE才是加密代碼的長度。程序按照Encrypted_SIZE的值對(duì)程序進(jìn)行解密,直到ecx的值為0,然后進(jìn)入主程序。在主程序中會(huì)對(duì)程序代碼進(jìn)行再次加密并置密鑰,而病毒重新執(zhí)行時(shí)則用上次生成的新密鑰進(jìn)行解密,以使系統(tǒng)能夠識(shí)別代碼的內(nèi)容。 解密器程序StartOfVirusCode:Call GetDeltaGetDeltaDB 5EhDB 83hDB 0C6hDB offset EncryptedVirusCode–offset GetDeltaDD ENCRYPTED_SIZEDecryptByte:DB 80hDB 36hEncryptionKey:DB 00hDB 46hDB 49hjnz DecryptByteEncryptedVirusCodejmp WinMainStartOfVirusCode:call GetDeltaGetDelta:pop esiadd esi, EncryptedVirusCodeGetDeltamov ecx, Encrypted_SIZEDecryptByte:xor btye ptr[esi], 00hEncryptionKey:inc esidec ecxjnz DecryptByteEncryptedVirusCodejmp WinMain是獲得加密入口和被加密的代碼長度解密是否解密結(jié)束否開始結(jié)束 解密函數(shù)流程圖2. 加密函數(shù)——EncryptVirus。 加密器程序EncryptVirus PROCpush ediin al,40hIF DEBUGxor al alENDIFmov ecx,ENCRYPTED_SIZEadd edi,LOADER_SIZEEncryptByte:xor byte ptr[edi],alinc ediloop EncryptByte:pop edimov byte ptr[edi+EncryptionKeyStartOfVirusCode],alcall MutateDecryptorretEncryptVirusEND
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1