網(wǎng)絡(luò)安全導(dǎo)論大作業(yè)_第1頁
網(wǎng)絡(luò)安全導(dǎo)論大作業(yè)_第2頁
網(wǎng)絡(luò)安全導(dǎo)論大作業(yè)_第3頁
網(wǎng)絡(luò)安全導(dǎo)論大作業(yè)_第4頁
網(wǎng)絡(luò)安全導(dǎo)論大作業(yè)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、網(wǎng)絡(luò)安全導(dǎo)論課程考核大作業(yè)題 目: AES高級加密標(biāo)準(zhǔn) 網(wǎng)絡(luò)攻擊圖研究 院(系): 物聯(lián)網(wǎng)工程學(xué)院 專 業(yè): 計算機(jī)科學(xué)與技術(shù) 班 級: 計科1101班 學(xué) 號: 0304110106 姓 名: 馮小龍 成績: 目錄1.AES高級加密標(biāo)準(zhǔn)31.1 AES算法基本原理31.1.1 AddRoundKey步驟31.1.2 SubBytes步驟41.1.3 ShiftRows步驟41.1.4 MixColumns步驟51.2 AES算法流程圖61.3 測試結(jié)果71.4 程序清單71.5 設(shè)計心得172. 網(wǎng)絡(luò)攻擊圖研究182.1 基本概念182.2 研究現(xiàn)狀182.2.1、針對攻擊模型的研究192.

2、2.2、攻擊分類研究192.2.3、具體攻擊原理的研究192.2.3.1認(rèn)證協(xié)議攻擊研究192.2.3.2緩沖溢出研究192.2.3.3木馬技術(shù)研究202.2.4、攻擊發(fā)現(xiàn)技術(shù)研究202.3 面臨的問題202.3.1、可擴(kuò)展性202.3.2、漏洞細(xì)節(jié)202.3.3、可達(dá)性計算202.3.4、攻擊圖分析212.4 發(fā)展趨勢212.5 參考文獻(xiàn)211. AES高級加密標(biāo)準(zhǔn)密碼學(xué)中的高級加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES),又稱Rijndael加密法,是美國聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn)。這個標(biāo)準(zhǔn)用來替代原先的DES,已經(jīng)被多方分析且廣為全世界所使用。經(jīng)過五年

3、的甄選流程,高級加密標(biāo)準(zhǔn)由美國國家標(biāo)準(zhǔn)與技術(shù)研究院 (NIST)于2001年11月26日發(fā)布于FIPS PUB 197,并在2002年5月26日成為有效的標(biāo)準(zhǔn)。2006年,高級加密標(biāo)準(zhǔn)已然成為對稱密鑰加密中最流行的算法之一。1.1 AES算法基本原理AES加密過程是在一個4×4的字節(jié)矩陣上運(yùn)作,這個矩陣又稱為“體(state)”,其初值就是一個明文區(qū)塊(矩陣中一個元素大小就是明文區(qū)塊中的一個Byte)。(Rijndael加密法因支持更大的區(qū)塊,其矩陣行數(shù)可視情況增加)加密時,各輪AES加密循環(huán)(除最后一輪外)均包含4個步驟:1.AddRoundKey: 矩陣中的每一個字節(jié)都與該次回合

4、金鑰(round key)做XOR運(yùn)算;每個子密鑰由密鑰生成方案產(chǎn)生。2.SubBytes:通過個非線性的替換函數(shù),用查找表的方式把每個字節(jié)替換成對應(yīng)的字節(jié)。3.ShiftRows : 將矩陣中的每個橫列進(jìn)行循環(huán)式移位。4.MixColumns : 為了充分混合矩陣中各個直行的操作。這個步驟使用線性轉(zhuǎn)換來混合每列的四個字節(jié)。最后一個加密循環(huán)中省略MixColumns步驟,而以另一個AddRoundKey取代。1.1.1 AddRoundKey步驟AddRoundKey步驟中,回合密鑰將會與原矩陣合并。在每次的加密循環(huán)中,都會由主密鑰產(chǎn)生一把回合密鑰(通過Rijndael密鑰生成方案產(chǎn)生),這把

5、密鑰大小會跟原矩陣一樣,以與原矩陣中每個對應(yīng)的字節(jié)作異或()加法。1.1.2 SubBytes步驟在SubBytes步驟中,矩陣中的各字節(jié)通過一個8位的S-box進(jìn)行轉(zhuǎn)換。這個步驟提供了加密法非線性的變換能力。S-box與GF(28)上的乘法反元素有關(guān),已知具有良好的非線性特性。為了避免簡單代數(shù)性質(zhì)的攻擊,S-box結(jié)合了乘法反元素及一個可逆的仿射變換矩陣建構(gòu)而成。 此外在建構(gòu)S-box時,刻意避開了固定點(diǎn)與反固定點(diǎn),即以S-box替換字節(jié)的結(jié)果會相當(dāng)于錯排的結(jié)果。 此條目有針對S-box的詳細(xì)描述:Rijndael S-box1.1.3 ShiftRows步驟ShiftRows是針對矩陣的每

6、一個橫列操作的步驟。 在此步驟中,每一行都向左循環(huán)位移某個偏移量。在AES中(區(qū)塊大小128位),第一行維持不變,第二行里的每個字節(jié)都向左循環(huán)移動一格。同理,第三行及第四行向左循環(huán)位移的偏移量就分別是2和3。128位和192比特的區(qū)塊在此步驟的循環(huán)位移的模式相同。經(jīng)過ShiftRows之后,矩陣中每一豎列,都是由輸入矩陣中的每個不同列中的元素組成。Rijndael算法的版本中,偏移量和AES有少許不同;對于長度256比特的區(qū)塊,第一行仍然維持不變,第二行、第三行、第四行的偏移量分別是1字節(jié)、3字節(jié)、4位組。除此之外,ShiftRows操作步驟在Rijndael和AES中完全相同。1.1.4 M

7、ixColumns步驟在MixColumns步驟,每一直行的四個字節(jié)通過線性變換互相結(jié)合。每一直行的四個元素分別當(dāng)作1 , x , x2 , x3的系數(shù),合并即為GF(28)中的一個多項式,接著將此多項式和一個固定的多項式c(x) = 3x3 + x2 + x + 2在modulo x4+1下相乘。此步驟亦可視為 Rijndael有限域之下的矩陣乘法。MixColumns函數(shù)接受4個字節(jié)的輸入,輸出4個字節(jié),每一個輸入的字節(jié)都會對輸出的四個字節(jié)造成影響。因此ShiftRows和MixColumns兩步驟為這個密碼系統(tǒng)提供了擴(kuò)散性。矩陣表示形式:1.2 AES算法流程圖加密流程圖如下:算法流程圖

8、如下:1.3 測試結(jié)果測試結(jié)果如下:1.4 程序清單#include<iostream>#include<string.h>#include<stdlib.h>using namespace std;/構(gòu)造AES類class AES public:AES(unsigned char* key); /AES類中的構(gòu)造函數(shù),給類傳進(jìn)密鑰virtual AES(); /釋放類unsigned char* Cipher(unsigned char* input); /先將輸入的明文按列序組合成4*4的矩陣,直接與第0組密鑰(即輸入的密鑰)相加(異或),作為輪加密的輸

9、入unsigned char* InvCipher(unsigned char* input);/對加密后的函數(shù)逆字節(jié)替代,逆行移位,逆列混淆,得到解密函數(shù)的輸入字符串void* Cipher(void* input, int length=0); /加密函數(shù) void* InvCipher(void* input, int length); /解密函數(shù)private:unsigned char Sbox256; /仿射變換置換表unsigned char InvSbox256; /乘法逆置換表unsigned char w1144; /密鑰調(diào)度表void KeyExpansion(unsig

10、ned char* key, unsigned char w44); /密鑰擴(kuò)展unsigned char FFmul(unsigned char a, unsigned char b); /有限域GF(28)上的乘法void SubBytes(unsigned char state4); /用一個代替表替換單個字節(jié)void ShiftRows(unsigned char state4); /行移位變換void MixColumns(unsigned char state4); /列混淆變換void AddRoundKey(unsigned char state4, unsigned char

11、 k4);/輪密鑰加變換void InvSubBytes(unsigned char state4); /逆字節(jié)替代void InvShiftRows(unsigned char state4); /逆行移位void InvMixColumns(unsigned char state4); /逆列混淆;/用于加密方法的兩個表被初始化AES:AES(unsigned char* key)unsigned char sBox = /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5,0x30,0x0

12、1,0x67,0x2b,0xfe,0xd7,0xab,0x76, /*0*/ 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0,0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0, /*1*/0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc,0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15, /*2*/0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a,0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75, /*3*/0x0

13、9,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0,0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84, /*4*/0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b,0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf, /*5*/0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85,0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8, /*6*/ 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5,0xbc

14、,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2, /*7*/0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17,0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73, /*8*/0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88,0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb, /*9*/0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c,0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79, /*A*/

15、0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9,0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08, /*B*/0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6,0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a, /*C*/0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e,0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e, /*D*/0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94,0x

16、9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf, /*E*/0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68,0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16 /*F*/;/下面是逆置換表,解密時使用unsigned char invsBox256 = /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */0x52,0x09,0x6a,0xd5,0x30,0x36,0xa5,0x38,0xbf,0x40,0xa3,0x9e,0x81,0xf3,0xd7,0xfb, /*0*/0x7c,0

17、xe3,0x39,0x82,0x9b,0x2f,0xff,0x87,0x34,0x8e,0x43,0x44,0xc4,0xde,0xe9,0xcb, /*1*/0x54,0x7b,0x94,0x32,0xa6,0xc2,0x23,0x3d,0xee,0x4c,0x95,0x0b,0x42,0xfa,0xc3,0x4e, /*2*/0x08,0x2e,0xa1,0x66,0x28,0xd9,0x24,0xb2,0x76,0x5b,0xa2,0x49,0x6d,0x8b,0xd1,0x25, /*3*/0x72,0xf8,0xf6,0x64,0x86,0x68,0x98,0x16,0xd4,0xa

18、4,0x5c,0xcc,0x5d,0x65,0xb6,0x92, /*4*/0x6c,0x70,0x48,0x50,0xfd,0xed,0xb9,0xda,0x5e,0x15,0x46,0x57,0xa7,0x8d,0x9d,0x84, /*5*/0x90,0xd8,0xab,0x00,0x8c,0xbc,0xd3,0x0a,0xf7,0xe4,0x58,0x05,0xb8,0xb3,0x45,0x06, /*6*/0xd0,0x2c,0x1e,0x8f,0xca,0x3f,0x0f,0x02,0xc1,0xaf,0xbd,0x03,0x01,0x13,0x8a,0x6b, /*7*/0x3a

19、,0x91,0x11,0x41,0x4f,0x67,0xdc,0xea,0x97,0xf2,0xcf,0xce,0xf0,0xb4,0xe6,0x73, /*8*/0x96,0xac,0x74,0x22,0xe7,0xad,0x35,0x85,0xe2,0xf9,0x37,0xe8,0x1c,0x75,0xdf,0x6e, /*9*/0x47,0xf1,0x1a,0x71,0x1d,0x29,0xc5,0x89,0x6f,0xb7,0x62,0x0e,0xaa,0x18,0xbe,0x1b, /*A*/0xfc,0x56,0x3e,0x4b,0xc6,0xd2,0x79,0x20,0x9a,0

20、xdb,0xc0,0xfe,0x78,0xcd,0x5a,0xf4, /*B*/0x1f,0xdd,0xa8,0x33,0x88,0x07,0xc7,0x31,0xb1,0x12,0x10,0x59,0x27,0x80,0xec,0x5f, /*C*/0x60,0x51,0x7f,0xa9,0x19,0xb5,0x4a,0x0d,0x2d,0xe5,0x7a,0x9f,0x93,0xc9,0x9c,0xef, /*D*/0xa0,0xe0,0x3b,0x4d,0xae,0x2a,0xf5,0xb0,0xc8,0xeb,0xbb,0x3c,0x83,0x53,0x99,0x61, /*E*/0x

21、17,0x2b,0x04,0x7e,0xba,0x77,0xd6,0x26,0xe1,0x69,0x14,0x63,0x55,0x21,0x0c,0x7d /*F*/; memcpy(Sbox, sBox, 256);memcpy(InvSbox, invsBox, 256);KeyExpansion(key, w);AES:AES()unsigned char* AES:Cipher(unsigned char* input)unsigned char state44;int i,r,c;for(r=0; r<4; r+)for(c=0; c<4 ;c+)staterc = in

22、putc*4+r;AddRoundKey(state,w0);for(i=1; i<=10; i+)SubBytes(state);ShiftRows(state);if(i!=10)MixColumns(state);AddRoundKey(state,wi);for(r=0; r<4; r+)for(c=0; c<4 ;c+)inputc*4+r = staterc;return input;unsigned char* AES:InvCipher(unsigned char* input)unsigned char state44;int i,r,c;for(r=0;

23、r<4; r+)for(c=0; c<4 ;c+)staterc = inputc*4+r;AddRoundKey(state, w10);for(i=9; i>=0; i-)InvShiftRows(state);InvSubBytes(state);AddRoundKey(state, wi);if(i)InvMixColumns(state);for(r=0; r<4; r+)for(c=0; c<4 ;c+)inputc*4+r = staterc;return input;void* AES:Cipher(void* input, int length)

24、unsigned char* in = (unsigned char*) input;int i;if(!length)while(*(in+length+);in = (unsigned char*) input;for(i=0; i<length; i+=16)Cipher(in+i);return input;void* AES:InvCipher(void* input, int length)unsigned char* in = (unsigned char*) input;int i;for(i=0; i<length; i+=16)InvCipher(in+i);r

25、eturn input;void AES:KeyExpansion(unsigned char* key, unsigned char w44)int i,j,r,c;unsigned char rc = 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36;for(r=0; r<4; r+)for(c=0; c<4; c+)w0rc = keyr+c*4;for(i=1; i<=10; i+)for(j=0; j<4; j+)unsigned char t4;for(r=0; r<4; r+)tr

26、= j ? wirj-1 : wi-1r3;if(j = 0)unsigned char temp = t0;for(r=0; r<3; r+)tr = Sboxt(r+1)%4;t3 = Sboxtemp;t0 = rci-1;for(r=0; r<4; r+)wirj = wi-1rj tr;unsigned char AES:FFmul(unsigned char a, unsigned char b) unsigned char bw4;unsigned char res=0;int i;bw0 = b;for(i=1; i<4; i+)bwi = bwi-1<

27、<1;if(bwi-1&0x80)bwi=0x1b;for(i=0; i<4; i+)if(a>>i)&0x01)res = bwi;return res;void AES:SubBytes(unsigned char state4)int r,c;for(r=0; r<4; r+)for(c=0; c<4; c+)staterc = Sboxstaterc;void AES:ShiftRows(unsigned char state4)unsigned char t4;int r,c;for(r=1; r<4; r+)for(c=0;

28、 c<4; c+)tc = stater(c+r)%4;for(c=0; c<4; c+)staterc = tc;void AES:MixColumns(unsigned char state4)unsigned char t4;int r,c;for(c=0; c< 4; c+)for(r=0; r<4; r+)tr = staterc;for(r=0; r<4; r+)staterc = FFmul(0x02, tr) FFmul(0x03, t(r+1)%4) FFmul(0x01, t(r+2)%4) FFmul(0x01, t(r+3)%4);void

29、 AES:AddRoundKey(unsigned char state4, unsigned char k4)int r,c;for(c=0; c<4; c+)for(r=0; r<4; r+)staterc = krc;void AES:InvSubBytes(unsigned char state4)int r,c;for(r=0; r<4; r+)for(c=0; c<4; c+)staterc = InvSboxstaterc;void AES:InvShiftRows(unsigned char state4)unsigned char t4;int r,c

30、;for(r=1; r<4; r+)for(c=0; c<4; c+)tc = stater(c-r+4)%4;for(c=0; c<4; c+)staterc = tc;void AES:InvMixColumns(unsigned char state4)unsigned char t4;int r,c;for(c=0; c< 4; c+)for(r=0; r<4; r+)tr = staterc;for(r=0; r<4; r+)staterc = FFmul(0x0e, tr) FFmul(0x0b, t(r+1)%4) FFmul(0x0d, t(

31、r+2)%4) FFmul(0x09, t(r+3)%4);void main(int argc, char* argv)unsigned char key = /密鑰初值¦Ì0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c;AES aes(key);int j;cout<<endl;char str100;unsigned char temp;cout<<"請輸入要加密的字符串:"cin&g

32、t;>str;int len = strlen(str);cout<<"字符串長度:"<<len<<endl;cout<<"加密前的字符串:"for(j=0; j<len; j+)cout<<(unsigned char)strj;cout<<endl;aes.Cipher(void *)str);cout<<"加密后的字符串:"for(j=0; j<len; j+)temp = (unsigned char)strj;cout<

33、;<hex<<static_cast<int>(temp);cout<<endl;aes.InvCipher(void *)str,21);cout<<"解密后的字符串:"for(j=0; j<len; j+)cout<<(unsigned char)strj;cout<<endl;system("pause");1.5 設(shè)計心得 說實話,對于加密算法方面,自己是沒有一點(diǎn)發(fā)展余地的,這門課也學(xué)得實在是傷心,每次都感覺是在聽天書。不管怎么說吧,在參考網(wǎng)上的一些資料還有書上的

34、知識點(diǎn)之后,好壞做出來了。雖然學(xué)到的不多,可還是很感謝老師一學(xué)期的教導(dǎo),老師辛苦了2. 網(wǎng)絡(luò)攻擊圖研究隨著Internet技術(shù)的快速發(fā)展,針對計算機(jī)及網(wǎng)絡(luò)系統(tǒng)的惡意攻擊變得越來越多樣化和復(fù)雜化,網(wǎng)絡(luò)攻擊技術(shù)正在不斷地向隱蔽、高效和智能化方向發(fā)展。傳統(tǒng)的漏洞掃描技術(shù)是一種基于規(guī)則的漏洞評估方法,它孤立地分析目標(biāo)網(wǎng)絡(luò)中存在的漏洞,不能綜合評估這些漏洞相互作用所產(chǎn)生的潛在威脅。實踐表明,若干孤立的漏洞盡管影響很小,但如果被黑客通過網(wǎng)絡(luò)有機(jī)地組織起來加以利用,則可能給網(wǎng)絡(luò)系統(tǒng)安全帶來巨大的風(fēng)險影響。如何對一個網(wǎng)絡(luò)進(jìn)行安全性檢查,即對該網(wǎng)絡(luò)環(huán)境中可能發(fā)生的攻擊進(jìn)行建模,是廣大安全人員必須考慮的重要問題。

35、在眾多的網(wǎng)絡(luò)攻擊建模方法中,網(wǎng)絡(luò)攻擊圖以其形象化的特點(diǎn)而被廣泛應(yīng)用。2.1 基本概念基于攻擊圖的網(wǎng)絡(luò)漏洞分析是加強(qiáng)網(wǎng)絡(luò)安全的重要方法。攻擊圖是研究人員綜合攻擊、漏洞、目標(biāo)、主機(jī)和網(wǎng)絡(luò)連接關(guān)系等因素,為發(fā)現(xiàn)網(wǎng)絡(luò)中復(fù)雜的攻擊路徑或者引起系統(tǒng)狀態(tài)變遷的滲透序列而提出的一種基于模型的、可以自動分析目標(biāo)網(wǎng)絡(luò)內(nèi)脆弱性之間的關(guān)系和由此產(chǎn)生的潛在威脅,描述網(wǎng)絡(luò)安全狀態(tài)的分析技術(shù)。攻擊圖通過對網(wǎng)絡(luò)建立模型,來模擬目標(biāo)網(wǎng)絡(luò)的實際狀態(tài),然后在分析網(wǎng)絡(luò)中的脆弱性在網(wǎng)絡(luò)模型中是如何被攻擊者利用,從而使得攻擊者可以通過利用若干個脆弱性達(dá)到其攻擊目標(biāo)。攻擊圖技術(shù)使用圖的方式展示網(wǎng)絡(luò)中脆弱性之間的關(guān)聯(lián)關(guān)系,使網(wǎng)絡(luò)安全管理人員

36、能夠直觀地觀察攻擊者是如何利用若干個脆弱性進(jìn)行攻擊,以及攻擊者對網(wǎng)絡(luò)進(jìn)行攻擊的全部路徑,便于網(wǎng)絡(luò)安全管理人員對網(wǎng)絡(luò)進(jìn)行安全防護(hù)。研究大規(guī)模復(fù)雜網(wǎng)絡(luò)系統(tǒng)的安全策略制定方法具有重要的現(xiàn)實意義。通??梢詫⒐魣D分為狀態(tài)攻擊圖和屬性攻擊圖兩類。狀態(tài)攻擊圖顯式地反映了攻擊者所有的攻擊軌跡,便于用戶理解,但是由于狀態(tài)攻擊圖的每個節(jié)點(diǎn)代表系統(tǒng)全局狀態(tài),因此創(chuàng)建狀態(tài)攻擊圖的效率不高,且存在狀態(tài)爆炸問題,不適應(yīng)于大規(guī)模網(wǎng)絡(luò)。與狀態(tài)攻擊圖相比,屬性攻擊圖更加簡潔,便于分析攻擊產(chǎn)生原因。屬性攻擊圖是攻擊圖的一種,它的節(jié)點(diǎn)分為兩類:一類表示原子攻擊,另一類為屬性節(jié)點(diǎn),它表示這些原子攻擊的每個前提條件或后果。原子攻擊節(jié)

37、點(diǎn)與屬性節(jié)點(diǎn)間存在前提邊和后果邊。所有通過前提邊與原子攻擊節(jié)點(diǎn)相連的屬性節(jié)點(diǎn)都滿足時,該原子攻擊才可被執(zhí)行,從而使通過結(jié)果邊與該原子攻擊相連的屬性都被滿足。屬性攻擊圖定義了網(wǎng)絡(luò)中的安全屬性在脆弱性的作用下的相互關(guān)系,同時也反映出網(wǎng)絡(luò)中脆弱性之間的相互關(guān)系。屬性攻擊圖可以展現(xiàn)出攻擊者在攻擊過程中依賴和改變的網(wǎng)絡(luò)安全屬性。2.2 研究現(xiàn)狀計算機(jī)網(wǎng)絡(luò)攻擊圖歷經(jīng)最初的手動生成到自動生成,從有幾個主機(jī)的簡單網(wǎng)絡(luò)到大規(guī)模網(wǎng)絡(luò)的攻擊圖生成過程。下面重點(diǎn)分析幾種典型的攻擊圖生成方法。1.基于攻擊模板的攻擊圖生成方法2.基于模型檢測的攻擊圖生成方法模型檢測方法為攻擊圖建模提供了自動生成的工具。模型檢測主要有以下

38、種三方法:1、基于符號模型檢測的攻擊圖生成算法2、基于顯式狀態(tài)模型檢測的攻擊圖生成算法3、基于抽象模型的攻擊圖生成方法3.以主機(jī)為中心的攻擊圖生成方法當(dāng)前在攻擊領(lǐng)域所作的研究工作主要分為以下幾個方面。2.2.1、針對攻擊模型的研究建立攻擊模型的目的主要是對攻擊過程進(jìn)行結(jié)構(gòu)化描述和有效分析,提高安全知識的共享以及提高攻擊檢測和安全預(yù)警的效率。在攻擊樹的基礎(chǔ)上定義了一種攻擊描述語言來描述復(fù)雜攻擊過程,但這種攻擊描述語言語言具有的特點(diǎn)支持其作為安全特征描述語言。然而,目前此類安全描述語言存在諸多問題,如語言功能單一,適用性差,缺乏開放性,語義不一致和缺乏可重用性等。最關(guān)鍵的問題是怎樣從不同攻擊中提取

39、出相似特征描述。2.2.2、攻擊分類研究對于各種網(wǎng)絡(luò)攻擊的理解不同,對網(wǎng)絡(luò)攻擊與造成的危害或潛在危脅的認(rèn)識難以保持一致,從而對安全技術(shù)研究帶來極大困難,所以科學(xué)分類攻擊成為攻擊研究的重要環(huán)節(jié)。對攻擊分類研究進(jìn)行了總結(jié),提出以下分類: 基于經(jīng)驗術(shù)語分類方法,按經(jīng)驗將攻擊分成病毒和蠕蟲、資料欺騙、拒絕服務(wù)、非授權(quán)資料拷貝等20余類; 基于單一屬性分類,僅從攻擊某個特定屬性對攻擊進(jìn)行描述的方法; 基于多屬性的分類,同時抽取攻擊的多個屬性,并利用這些屬性組成的序列來 表示一個攻擊過程,或由多個屬性組成的結(jié)構(gòu)來表示攻擊,并對過程或結(jié)構(gòu)進(jìn)行分類的方法; 基于應(yīng)用的分類方法,對特定類型應(yīng)用、特定系統(tǒng)而發(fā)起攻

40、擊的屬性進(jìn)行分類描述的方法。2.2.3、具體攻擊原理的研究2.2.3.1認(rèn)證協(xié)議攻擊研究認(rèn)證協(xié)議作用在于確定主體的身份和為通信主體分發(fā)會話密鑰。認(rèn)證協(xié)議攻擊研究,要研究其協(xié)議內(nèi)在局限性、缺陷和攻擊方式,目的存于對認(rèn)證協(xié)議設(shè)計、分析和攻擊有所借鑒。目前,在此類研究中,多種形式化方法得以提出和發(fā)展。用于檢查和分析協(xié)議安全漏洞,以及能否達(dá)到預(yù)期設(shè)計目標(biāo)。目前,協(xié)議形式化分析還沒有形成規(guī)范。2.2.3.2緩沖溢出研究目前研究著重在于對緩沖區(qū)攻擊代碼的研究,研究攻擊代碼的主要特征、緩沖區(qū)溢檢測方法以及防范措施。比較通用的做法是通過劫持系統(tǒng)調(diào)用的方式為原有的系統(tǒng)調(diào)用函數(shù)增加了強(qiáng)制訪問控制功能,通過監(jiān)測非法

41、系統(tǒng)調(diào)用的方法來檢測和阻止各種獲取特權(quán)的緩沖區(qū)溢出攻擊。較為常見的技術(shù)包括增強(qiáng)系統(tǒng)核心、靜態(tài)分析技術(shù)、增強(qiáng)編譯器和進(jìn)行動態(tài)檢測。2.2.3.3木馬技術(shù)研究目前,木馬研究主要集中在木馬的實現(xiàn)、防御和檢測上。木馬主要隱藏方式借助DLL技術(shù)、遠(yuǎn)程加載、動態(tài)代碼嵌入,通信隱藏技術(shù)主要通過反向連接與隱蔽通道。通過對未知木馬的特征進(jìn)行自主式學(xué)習(xí),不僅能有效檢測已知的木馬,還能對未知的木馬進(jìn)行有效的預(yù)防。2.2.4、攻擊發(fā)現(xiàn)技術(shù)研究網(wǎng)絡(luò)攻擊源追蹤技術(shù)在實時阻斷、隔離攻擊、追究相關(guān)責(zé)任、提供法律舉證、威懾攻擊者等方面具有非常積極的意義。2.3 面臨的問題2.3.1、可擴(kuò)展性在網(wǎng)絡(luò)攻擊圖中,首要被關(guān)注的重點(diǎn)是可擴(kuò)展性,即提出的攻擊圖構(gòu)造方案是否能擴(kuò)展到大型網(wǎng)絡(luò)和漏洞數(shù)量眾多的網(wǎng)絡(luò)中。在實際中,有兩種辦法可以用于提高方案的伸縮性,一個是僅僅產(chǎn)生一個限制圖,即該圖僅能用于解決有著特定安全問題的需求;另一個是將網(wǎng)絡(luò)中主機(jī)進(jì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

提交評論