Đề tài Phần mềm bảo mật trên môi trường Solaris

Bảo vệ gói IP bằng kỹ thuật mật mã là một h-ớng nghiên cứu có nhiều triển vọng và có ý nghĩa thực tiễn cao. Giải pháp đ-ợc giới thiệu trong phần này có thể áp dụng cho các mạng sử dụng các hệ đIều hành thuộc họ UNIX có hỗ trợ cơ chế STREAMS và không cần mã nguồn mở. Thiết kế của hệ thống là mở và cho phép chúng ta dễ dàng thay đổi các môđun mật mã và các giao thức quản lý khoá. Chúng ta có thể hoàn thiện bộ phầnmềm IPSEC_SUN theo mô hình của IPSEC bằng cách chèn header xác thực, phân phối khoá theo từng cặp Gateway hoặc xây dựng Firewall có chức năng mật mã.

pdf98 trang | Chia sẻ: maiphuongtl | Lượt xem: 1837 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Phần mềm bảo mật trên môi trường Solaris, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
hñ tôc put */ int (*qi_srvp) ( ); /*thñ tôc service */ int (*qi_qopen) ( ); /*®−îc gäi ®Ó më driver/chÌn m« ®un */ int (*qi_qclose) ( ); /*®−îc gäi ®Ó ®ãng driver/®Èy m« ®un lÇn cuèi */ int (*qi_qadmin) ( ); /*dù tr÷ cho t−¬ng lai*/ struct module_info *qi_minfo; /*cÊu tróc th«ng tin m« ®un */ struct module_stat *qi_mstat; /*Tr−êng lùa chän */ }; 2.4.7.4 CÊu tróc module_info struct module_info { short mi_idnum; /*sè ®Þnh danh cña m« ®un */ char *mi_idname; /*tªn m« ®un */ short mi_minpsz; /*cì gãi tèi thiÓu */ short mi_maxpsz; /*cì gãi tèi ®a */ short mi_hiwat; /*møc n−íc cao */ 52 short mi_lowat; /*møc n−íc thÊp */ }; 2.4.7.5 C¸c cÊu tróc th«ng b¸o msgb struct msgb{ Struct msgb *b_next /*th«ng b¸o tiÕp theo trªn queue */ Struct msgb *b_prev /*th«ng b¸o tr−íc trªn queue*/ Struct msgb *b_cont /*khèi th«ng b¸o tiÕp theo*/ Unsighed char * b_rptr /*byte ch−a ®äc ®Çu tiªn trong buffer*/ Unsigned char b_wptr /*byte ch−a viÕt ®Çu tiªn trong buffer*/ Struct datab *b_datap /*chØ tíi khèi d÷ liÖu*/ Unsighed char b_band /*quyÒn −u tiªn th«ng b¸o*/ Unsighed short b_flag /*cê th«ng b¸o*/ } Gi¸ trÞ cê: MSGMARK byte cuèi cïng cña th«ng b¸o ®−îc ®¸nh dÊu MSGDELIM th«ng b¸o kh«ng bÞ giíi h¹n 2.4.7.6 CÊu tróc datab struct datab { unsigned char *db_base; /* byte ®Çu tiªn cña buffer */ unsigned char *db_lim; /* byte cuèi cïng cña buffer +1 */ unsigned char db_ref; /* sè th«ng b¸o dïng chung khèi d÷ liÖu nµy */ unsigned char db_type; /* kiÓu th«ng b¸o */ 2.5 C¸c tr×nh ®iÒu khiÓn (drivers) 2.5.1 Tæng quan vÒ tr×nh ®iÒu khiÓn Mét tr×nh ®iÒu khiÓn thiÕt bÞ (device driver) lµ mét phÇn mÒm cung cÊp mét giao diÖn gi÷a hÖ ®iÒu hµnh vµ mét thiÕt bÞ. Tr×nh ®iÒu khiÓn ®iÒu khiÓn thiÕt bÞ ®¸p øng c¸c ®ßi hái cña nh©n (kernel). C¸c ®ßi hái ®−îc ®−a ra th«ng qua c¸c ®iÓm vµo (entry points). Tr×nh ®iÒu khiÓn cung cÊp vµ qu¶n lý mét ®−êng dÉn cho 53 d÷ liÖu ®i vµ ®Õn tõ thiÕt bÞ phÇn cøng, vµ c¸c ng¾t dÞch vô ®−îc dïng bëi tr×nh ®iÒu khiÓn thiÕt bÞ. Trong STREAMS c¸c tr×nh ®iÒu khiÓn ®−îc më (opened) vµ c¸c m« ®un ®−îc chÌn vµo (pushed). Trong SunOS5 cã ba kiÓu cña tr×nh ®iÒu khiÓn thiÕt bÞ: Tr×nh ®iÒu khiÓn phÇn cøng (Hardware Driver) KiÓu nµy cña tr×nh ®iÒu khiÓn chØ truyÒn th«ng víi mét thµnh phÇn ®Æc biÖt cña phÇn cøng. NhËn mét sè thiÕt bÞ ngo¹i vi, c¸c tr×nh ®iÒu khiÓn nµy cã nhiÒu chøc n¨ng. Tr×nh ®iÒu khiÓn ¶o (Pseudo Driver): Tr×nh ®iÒu khiÓn nµy ®−îc cÊu h×nh vµ cµi ®Æt gièng nh− tr×nh ®iÒu khiÓn phÇn cøng, nh−ng kh«ng giao tiÕp víi phÇn cøng. Tr×nh ®iÒu khiÓn ®a luång (Multiplexer Driver): §©y lµ mét tr×nh ®iÒu khiÓn STREAMS th«ng th−êng nh−ng cã nhiÒu luång kÕt nèi víi nã. Kh«ng gièng nh− m« ®un, mét tr×nh ®iÒu khiÓn thiÕt bÞ cã mét tr×nh (routine) ng¾t cã thÓ truy nhËp tõ mét ng¾t phÇn cøng còng nh− tõ mét luång, trõ khi nã lµ mét tr×nh ®iÒu khiÓn ¶o hoÆc mét tr×nh ®iÒu khiÓn ®a luång. Tuy nhiªn nh÷ng sù kh¸c nhau nµy kh«ng ®−îc nhËn biÕt bëi c¬ chÕ STREAMS. Chóng ®−îc ®iÒu khiÓn bëi m· ®−îc cung cÊp bëi nhµ ph¸t triÓn bao gåm trong c¸c thñ tôc tr×nh ®iÒu khiÓn. 2.5.2 §a luång (Multiplexing) 2.5.2.1 Giíi thiÖu vÒ ®a luång: Mét ®a luång STREAMS (STREAMS Multiplexer) lµ mét tr×nh ®iÒu khiÓn víi nhiÒu luång kÕt nèi tíi nã. Chøc n¨ng chÝnh cña tr×nh ®iÒu khiÓn ®a luång lµ chuuyÓn c¸c th«ng b¸o trong c¸c luång ®−îc kÕt nèi víi nhau. C¸c cÊu h×nh ®a luång ®−îc t¹o tõ møc ng−êi dïng bëi c¸c lêi gäi hÖ thèng. 54 2.5.2.2. X©y dùng ®a luång STREAMS TCP/IP H×nh 2.8 chØ ra mét ®a luång víi giao thøc TCP/IP H×nh 2.8: M« h×nh STREAMS TCP/IP ®a luång §Ó ng−êi dïng kh«ng cÇn cã nh÷ng hiÓu biÕt vÒ cÊu tróc giao thøc nÒn, mét tiÕn tr×nh ngÇm (daemon ) møc ng−êi dïng sÏ ®−îc x©y dùng ®Ó qu¶n lý viÖc cÊu h×nh ®a luång. Ng−êi dïng sau ®ã cã thÓ truy nhËp giao thøc vËn t¶i mét c¸ch trùc tiÕp b»ng viÖc më mét ®Çu mèi (node) thiÕt bÞ ®iÒu khiÓn giao thøc TCP. Mét tr×nh ®iÒu khiÓn giao thøc liªn m¹ng IP chuyÓn d÷ liÖu tõ mét luång ®¬n phÝa trªn tíi mét trong hai luång thÊp h¬n. Tr×nh ®iÒu khiÓn nµy cung cÊp hai thµnh phÇn luång bªn d−íi nã.Hai luång nµy kÕt nèi ®Õn hai m¹ng ph©n biÖt. Mét m¹ng dïng chuÈn IEEE 802.3 th«ng qua tr×nh ®iÒu khiÓn 802.3 vµ m¹ng kh¸c dïng chuÈn IEEE 802.4 th«ng qua tr×nh ®iÒu khiÓn 802.4. Tr×nh ®iÒu khiÓn TCP ®a kÕt nèi (multiplexes) c¸c luång phÝa trªn qua mét luång ®¬n tíi tr×nh ®iÒu khiÓn IP. §a luång STREAMS nhiÒu møc nµy ®−îc x©y dùng tõ d−íi lªn. B¾t ®Çu tõ viÖc x©y dùng ®a luång IP (IP Multiplexer). Tr×nh 55 ®iÒu khiÓn ®a luång IP còng gièng nh− c¸c tr×nh ®iÒu khiÓn phÇn mÒm kh¸c. Nã cã mét node trong hÖ thèng file cña Solaris vµ ®−îc më gièng nh− c¸c tr×nh ®iÒu khiÓn thiÕt bÞ kh¸c. B−íc ®Çu tiªn lµ më mét tr×nh ®iÒu khiÓn ®a luång vµ tr×nh ®iÒu khiÓn 802.4 ®Ó t¹o ra hai luång riªng rÏ trªn mçi tr×nh ®iÒu khiÓn nh− chØ ra trong h×nh 2.9 H×nh 2.9: Qu¸ tr×nh t¹o STREAMS IP ®a luång B©y giê luång g¾n víi 802.4 cã thÓ ®−îc kÕt nèi víi phÝa d−íi tr×nh ®iÒu khiÓn IP ®Ó ®−îc mét STREAMS IP nh− sau: H×nh 2.10: M« h×nh STREAMS IP TiÕp tôc kÕt nèi víi tr×nh ®iÒu khiÓn 802.3 ®Ó ®−îc mét STREAMS IP ®a luång nh− sau: 56 H×nh 2.11: M« h×nh STREAMS IP ®a luång Cuèi cïng tr×nh ®iÒu khiÓn IP sÏ liªn kÕt víi phÝa d−íi cña tr×nh ®iÒu khiÓn ®a luång TCP ®Ó ®−îc mét ®a luång STREAMS TCP/IP nh− sau: H×nh 2.12: X©y dùng mét STREAMS TCP/IP ®a luång 57 Ch−¬ng iii Gi¶i ph¸p B¶O VÖ D÷ LIÖU TRONG nh©n hÖ ®iÒu hµnh solaris 3.1 Gi¶i ph¸p b¶o vÖ GãI ip TR£N Solaris b»ng kü thuËt mËt m· 3.1.1 §Æt vÊn ®Ò Trong giao thøc TCP/IP, d÷ liÖu cña c¸c øng dông khi truyÒn trªn m¹ng ®−îc chøa trong c¸c gãi IP. Mçi gãi IP bao gåm d÷ liÖu øng dông vµ c¸c th«ng tin ®iÒu khiÓn (header cña tÇng Internet vµ tÇng vËn t¶i ). Trong qu¸ tr×nh truyÒn tõ m¸y göi tíi m¸y nhËn, gãi IP ph¶i ®i qua c¸c ®−êng truyÒn c«ng khai, c¸c thiÕt bÞ kÕt nèi m¹ng vµ c¸c m¸y tÝnh trung gian. T¹i bÊt cø ®©u, c¸c gãi IP ®Òu cã thÓ bÞ tÊn c«ng tõ nh÷ng ng−êi kh«ng uû quyÒn mµ ta gäi chung lµ hacker: - §äc néi dung gãi : hacker t×m c¸ch ®äc ®−îc c¸c th«ng tin trªn gãi nh− d÷ liÖu øng dông, c¸c th«ng tin ®iÒu khiÓn trong IP header, TCP (UDP) header. Kh«ng dõng l¹i ë viÖc ®äc néi dung cña mét gãi riªng lÎ, cã nh÷ng ch−¬ng tr×nh phÇn mÒm hacker ®−îc cµi ®Æt ë c¸c m¸y tÝnh trung gian trªn ®−êng truyÒn cho phÐp thu ®−îc toµn bé néi dung cña c¸c file v¨n b¶n, th− tÝn ®iÖn tö, trang WEB,...tõ nh÷ng gãi IP thu ®−îc. - Söa ®æi néi dung gãi IP: hacker cã thÓ thu vµ söa mét sè th«ng tin trong gãi IP nh− d÷ liÖu øng dông, c¸c th«ng tin trong c¸c ®Çu (header) ®Ó nh»m c¸c môc ®Ých nh− : + Lµm sai lÖch th«ng tin ®−îc truyÒn b»ng c¸ch söa néi dung cña d÷ liÖu øng dông trong gãi IP. + Thay ®æi ®Ých ®Õn cña gãi IP, b»ng c¸ch söa ®Þa chØ ®Ých cña gãi IP . + Ph¸ mét liªn kÕt TCP b»ng c¸ch söa c¸c gi¸ trÞ cê trong TCP header ,.... - Gi¶ ®Þa chØ nguån : Mét m¸y nµo ®ã cña hacker gi¶ ®Þa chØ IP cña mét m¸y ®−îc uû quyÒn ®Ó trao ®æi d÷ liÖu víi ng−êi nhËn hîp ph¸p - ChÌn c¸c gãi IP gi¶ : khi mét liªn kÕt ®· ®−îc x¸c lËp gi÷a hai ng−êi dïng hîp ph¸p, mét ng−êi thø ba chÌn c¸c gãi IP gi¶ vµo. Môc ®Ých cña viÖc b¶o vÖ gãi IP trªn ®−êng truyÒn lµ: 58 - BÝ mËt néi dung cña d÷ liÖu ®−îc truyÒn: b»ng c¸ch m· ho¸ d÷ liÖu øng dông trong gãi IP. Khi d÷ liÖu øng dông cña c¸c gãi IP ®−îc m· ho¸, hacker kh«ng thÓ thu ®−îc néi dung cña d÷ liÖu truyÒn trªn m¹ng nh− c¸c file, th− tÝn, trang WEB,... - X¸c thùc gãi IP: ph¸t hiÖn vµ huû nh÷ng gãi IP bÞ söa ®æi tr¸i phÐp bëi hacker hoÆc nh÷ng gãi IP gi¶ b»ng c¸ch m· ho¸ TCP (UDP) header. Trong TCP (UDP) header cã tr−êng tæng kiÓm tra cã t¸c dông kiÓm tra nh»m ph¸t hiÖn ra nh÷ng gãi IP bÞ söa ®æi tr¸i phÐp. Do TCP (UDP) header ®−îc m· ho¸ , nªn tr−êng tæng kiÓm tra ®−îc che dÊu, chÝnh v× vËy nÕu mét hacker ®· söa ®−îc néi dung gãi IP th× hä kh«ng thÓ tÝnh l¹i ®−îc tæng kiÓm tra, chÝnh v× vËy t¹i m¸y nhËn TCP sÏ ph¸t hiÖn ra viÖc gãi IP bÞ söa bÊt hîp ph¸p b»ng c¸ch dùa vµo tæng kiÓm tra vµ sÏ huû gãi. H¬n n÷a viÖc m· TCP (UDP) header còng hç trî cho viÖc n©ng cao tÝnh bÝ mËt cña néi dung d÷ liÖu ®−îc truyÒn trªn m¹ng. Khi TCP/UDP header ®−îc m·, mét sè tr−êng mµ hacker cÇn sö dông ®Ó tÊn c«ng gãi IP nh− sè cæng ®Ých ch¼ng h¹n sÏ gióp cho hacker t¸ch ®−îc c¸c gãi IP t−¬ng øng víi c¸c øng dông kh¸c nhau ®Ó thu ®−îc th«ng tin truyÒn tõ m¸y nguån ®Õn m¸y ®Ých nh− néi dung mét file, mét bøc th− ®iÖn tö, mét trang WEB,...Khi cæng ®Ých ®−îc m· ho¸ phÇn mÒm b¾t gãi cña hacker kh«ng thÓ t¸ch c¸c gãi d÷ liÖu cña tõng øng dông ®Ó t¹o ra file ban ®Çu. Qua thö nghiÖm khi gÆp nh÷ng gãi IP cã ph©n ®o¹n TCP ®−îc m· th× nh÷ng ch−¬ng tr×nh b¾t gãi ®ã bÞ treo. Ngoµi ra viÖc m· TCP (UDP) header sÏ rót ng¾n thêi gian xö lý gãi. Khi m· ho¸ c¶ ph©n ®o¹n TCP , hÖ thèng chØ cÇn x¸c ®Þnh byte ®Çu tiªn cña ph©n ®o¹n TCP b»ng c¸ch tÝnh ®é dµi IP header. NÕu chØ m· d÷ liÖu øng dông, hÖ thèng ph¶i tiÕn hµnh thªm b−íc x¸c ®Þnh giao thøc vËn t¶i lµ TCP hay UDP, tõ ®ã truy nhËp ®Õn byte ®Çu tiªn cña phÇn d÷ liÖu øng dông (TCP header cã ®é dµi 20 bytes, UDP header cã ®é dµi 8 bytes). H×nh 3.1 chØ ra phÇn néi dung cña gãi IP ®−îc m· ho¸. H×nh 3.1: Ph©n ®o¹n TCP cña gãi IP ®−îc m· ho¸ 59 3.1.2 M« h×nh m¹ng WAN b¶o vÖ gãi IP b»ng kü thuËt mËt m· H×nh 3.2: M« h×nh m¹ng WAN b¶o vÖ gãi IP dïng kü thuËt mËt m· ƒ Cã n m¹ng Lan ®ùîc kÕt nèi víi nhau ®Ó t¹o thµnh mét m¹ng WAN. T¹i mçi m¹ng Lan cã mét Solaris gateway cã chøc n¨ng b¶o vÖ gãi IP b»ng kü thuËt mËt m· vµ gäi lµ nót m· ho¸ ƒ C¸c gãi IP ®−îc sinh ra bëi c¸c øng dông dïng giao thøc TCP/IP trªn c¸c m¹ng Lan (Th− tÝn ®iÖn tö, C¬ së d÷ liÖu, WEB,...) ®−îc b¶o vÖ t¹i c¸c nót m· ho¸. Th«ng tin cña gãi IP ®−îc b¶o vÖ lµ ph©n ®o¹n TCP (TCP segment ), bao gåm TCP/UDP header vµ d÷ liÖu øng dông. Chóng ta quy −íc gäi lµ “d÷ liÖu cña gãi IP” ƒ Kü thuËt mËt m· ®−îc sö dông ®Ó m· ho¸ “d÷ liÖu cña gãi IP” lµ kü thuËt m· khèi ƒ T¹i mét thêi ®iÓm, c¸c nót m· ho¸ sö dông chung mét kho¸ phiªn K ƒ Qu¶n lý vµ ph©n phèi kho¸: + Ph©n phèi kho¸: Kho¸ phiªn ®−îc ph©n phèi b»ng hÖ mËt kho¸ c«ng khai RSA th«ng qua mét giao thøc x¸c thùc. Kho¸ c«ng khai ®−îc ph©n phèi ®Õn tõng nót + Thay ®æi kho¸ phiªn : Theo ®Þnh kú, kho¸ phiªn cò ®−îc thay thÕ bëi kho¸ phiªn míi. Trong hÖ thèng cã mét nót cã chøc n¨ng qu¶n lý kho¸ phiªn cho toµn m¹ng bao gåm viÖc t¹o, ph©n phèi vµ thay ®æi kho¸. Nót nµy ®−îc gäi lµ Master. C¸c nót kh¸c nhËn khãa phiªn tõ nót Master vµ ®−îc gäi lµ Slave. H×nh 3.3 lµ m« h×nh thö nghiÖm cña hÖ thèng b¶o vÖ gãi IP trªn m¹ng LAN: 60 M¸y chñ IP: 10.0.0.3 M¸y tr¹m IP: 10.0.0.5 Gateway m· ho¸ IP: 10.0.0.1 M¸y chñ IP: 10.0.0.2 M¸y tr¹m IP: 10.0.0.4 M¸y chñ IP: 192.168.0.2 M¸y tr¹m IP: 192.168.0.3 Gateway m· ho¸ IP: 192.168.0.1 M¸y tr¹m IP: 192.168.0.4 IP: 201.160.0.1 IP: 201.160.0.2 H×nh 3.3 M« h×nh thö nghiÖm cña hÖ thèng b¶o vÖ gãi IP 3.1.3 Gi¶i ph¸p b¾t gãi IP ®Ó thùc hiÖn viÖc m· ho¸: §Ó cã thÓ b¶o vÖ gãi IP, chóng ta cÇn ph¶i b¾t ®−îc c¸c gãi IP ®Ó m· ho¸ ph©n ®o¹n TCP sau ®ã l¹i tr¶ l¹i gãi IP ®Ó hÖ thèng xö lý tiÕp. Thùc chÊt cña viÖc b¾t gãi IP chÝnh lµ kh¶ n¨ng can thiÖp ®−îc vµo néi dung cña gãi IP. C¬ chÕ STREAMS cña UNIX cho phÐp chóng ta x©y dùng mét tÇng läc gãi IP trong m« h×nh STREAMS TCP/IP. H×nh 3.4: M« h×nh STREAMS TCP/IP cã chÌn thªm tÇng läc gãi IP 61 Theo c¬ chÕ STREAMS chóng ta cã thÓ chÌn thªm mét m«®un cã tªn gäi lµ “TÇng läc gãi IP”, gäi t¾t lµ IPF vµo d−íi tÇng IP (h×nh 3.4). Mçi m¸y sÏ cã hai c¹c m¹ng t−¬ng øng víi hai giao diÖn elx0 vµ elx1. TÇng IPF cho phÐp chóng ta chÆn b¾t vµ m· ho¸ ph©n ®o¹n TCP cña c¸c gãi IP. D÷ liÖu cña gãi IP t¹i tÇng IPF sÏ ®−îc qu¶n lý bëi cÊu tróc hµng ®îi trong STREAMS TCP/IP. Chóng ta t×m hiÓu vÒ c¸c thµnh phÇn cña STREAMS TCP/IP tr−íc vµ sau khi chÌn tÇng IPF. STREAMS TCP/IP tr−íc khi chÌn tÇng IPF: Khi hÖ thèng khëi ®éng, c¸c m« ®un ®−îc t¶i (load) tù ®éng vµo hÖ thèng lµ: IP, TCP, UDP, ELX. Dïng lÖnh modinfo, chóng ta cã thÓ xem th«ng tin vÒ c¸c m«®un trªn: VÝ dô: dßng d−íi ®©y lµ th«ng tin vÒ m« ®un IP. 11 f56099e8 18b28 0 1 ip (ip streams module) Ngoµi ra mét m«®un cã thÓ ®−îc t¶i vµo hÖ thèng b»ng lÖnh modload, víi tham sè lµ tªn cña file t−¬ng øng víi m«®un trong th− môc dev vµ dõng t¶i b»ng lÖnh modunload. C¸c m« ®un trªn ®−îc kÕt nèi tù ®éng ®Ó t¹o thµnh mét ®a luång TCP/IP. Ng−êi dïng kh«ng thÓ dïng lÖnh modunload ®Ó dõng viÖc t¶i mét m«®un nµo ®ã. Streams TCP/IP sau khi cã module ipf Module IPF ®−îc t¶i vµ dõng t¶i vµo nh©n nhê lÖnh modload vµ modunload víi ®−êng dÉn file lµ /usr/kernel/drv/ipf. §Ó kiÓm tra xem m« ®un IPF ®· ®−îc t¶i vµo nh©n ch−a ta dïng lÖnh modinfo | grep ipf . Sau khi ®−îc t¶i vµo nh©n, m« ®un IPF ®−îc chÌn vµo gi÷a m«®un IP vµ m«®un elx . 3.1.4 Qu¶n lý d÷ liÖu cña gãi IP t¹i tÇng IPF Theo cÊu tróc STREAMS, mçi luång bao gåm mét danh s¸ch c¸c cÆp hµng ®îi. Mçi cÆp bao gåm mét hµng ®îi ®äc vµ mét hµng ®îi viÕt. Hµng ®îi ®äc dïng ®Ó ®ãn d÷ liÖu tõ d−íi lªn. Hµng ®îi viÕt dïng ®Ó ®ãn d÷ liÖu tõ trªn xuèng. Trong STREAMS TCP/IP, mçi luång cã tÊt c¶ 4 cÆp hµng ®îi t−¬ng øng víi ®Çu luång, tÇng vËn t¶i, tÇng Internet, tÇng truy nhËp m¹ng. Riªng tÇng vËn t¶i cã hai giao thøc TCP vµ UDP nªn cã hai cÆp hµng ®îi, mét cÆp cho giao thøc TCP, mét cÆp cho giao thøc UDP. ChÝnh v× ®iÒu nµy nªn STREAMS TCP/IP cßn ®−îc gäi lµ STREAMS ®a luång. D÷ liÖu cña c¸c gãi IP khi chuyÓn qua giao thøc TCP/IP ®−îc qu¶n lý t¹i 62 c¸c hµng ®îi vµ ®−îc chøa trong c¸c vïng ®Öm cña c¸c khèi th«ng b¸o. Mçi khèi th«ng b¸o bao gåm mét khèi d÷ liÖu, mçi khèi d÷ liÖu qu¶n lý trùc tiÕp mét vïng ®Öm bëi mét lo¹t c¸c con trá. Khi mét tÇng IPF ®−îc chÌn vµo d−íi tÇng IP, mét cÆp hµng ®îi ®äc vµ viÕt cña tÇng IPF ®−îc t¹o ra. ViÖc xö lý c¸c gãi IP ®−îc thùc hiÖn t¹i c¸c hµng ®îi nµy. Sau ®©y chóng ta t×m hiÓu vÒ qu¸ tr×nh ®iÒu khiÓn vµ m· ho¸ d÷ liÖu cña gãi IP t¹i STREAMS TCP/IP cã chÌn thªm tÇng IPF. H×nh 3.5 m« t¶ c¸c cÆp hµng ®îi trong m« h×nh STREAMS TCP/IP cã chÌn thªm tÇng IPF: 3.1.5 C¬ chÕ m· ho¸ d÷ liÖu gãi IP cña streams TCP/IP Gãi IP ®−îc sinh ra bëi c¸c øng dông trªn m¹ng Lan ®−îc truyÒn theo c¸p m¹ng ®Õn giao diÖn elx1 cña “nót m· ho¸” cña m¹ng LAN vµ ®−îc chøa trong hµng ®îi ®äc cña giao diÖn elx1. TiÕp ®ã gãi IP lÇn l−ît ®−îc chuyÓn lªn hµng ®îi ®äc cña tÇng IPF vµ hµng ®îi ®äc cña tÇng IP. T¹i ®©y ®Þa chØ ®Ých cña gãi IP ®−îc sö dông ®Ó hÖ thèng quyÕt ®Þnh ®−êng ®i tiÕp theo nhê vµo c¸c lÖnh route. H×nh 3.5: CÊu tróc queue vµ qu¸ tr×nh m·/gi¶i m· gãi IP trong m« h×nh STREAMS TCP/IP víi hai giao diÖn m¹ng Gãi IP ®−îc chuyÓn sang hµng ®îi viÕt cña tÇng IP, sau ®ã ®−îc chuyÓn xuèng hµng ®îi viÕt cña tÇng IPF. T¹i hµng ®îi viÕt cña tÇng IPF, ph©n ®o¹n TCP (TCP segment) ®−îc m· ho¸ vµ ®−îc chuyÓn tiÕp xuèng hµng ®îi viÕt cña giao diÖn elx0 vµ ®−îc chuyÓn theo lªn m¹ng ®Ó ®i tiÕp . Sau khi qua kªnh truyÒn c«ng khai, gãi IP sÏ ®Õn giao diÖn elx0 cña “nót m· ho¸” cña m¹ng Lan ®Ých vµ ®−îc chøa trong hµng ®îi ®äc cña giao diÖn elx0. TiÕp ®ã gãi IP ®−îc chuyÓn lªn 63 hµng ®îi ®äc cña tÇng IPF vµ ®−îc gi¶i m·. Sau khi ®−îc gi¶i m·, gãi IP lÇn l−ît ®−îc chuyÓn lªn hµng ®îi ®äc vµ hµng ®îi viÕt cña tÇng IP, sau ®ã ®−îc chuyÓn xuèng hµng ®îi viÕt cña tÇng IPF vµ tiÕp ®Õn lµ hµng ®îi viÕt cña giao diÖn elx1 cña nót m· ho¸ ®Ó ®i vµo m¹ng LAN ®Ých. 3.1.6 Qu¶n lý gãi t¹i streams TCP/IP Mçi gãi IP t−¬ng øng víi mét th«ng b¸o (message) cña luång TCP/IP. Mçi hµng ®îi qu¶n lý nhiÒu gãi. Mçi gãi ®−îc qu¶n lý bëi nhiÒu khèi th«ng b¸o (msgb), mçi khèi th«ng b¸o qu¶n lý mét mét sè bytes th«ng tin cña gãi vµ phÇn th«ng tin nµy ®−îc chøa trong mét vïng ®Öm cña khèi th«ng b¸o. Vïng ®Öm nµy ®−îc trá bëi hai con trá b_rptr vµ b_wptr trong cÊu tróc khèi th«ng b¸o msgb, chóng lÇn l−ît chØ ®Õn ®Þa chØ cña byte ®Çu vµ byte cuèi cña d÷ liÖu IP trong vïng ®Öm. ViÖc chuyÓn gãi IP gi÷a c¸c thµnh phÇn cña luång thùc chÊt lµ chuyÓn c¸c con trá cña hµng ®îi. 3.1.7 M· d÷ liÖu trong gãi IP: H×nh 3.6 m« t¶ c¸c vïng ®Öm cña mét th«ng b¸o chøa gãi IP. §Ó m· ho¸ ph©n ®o¹n TCP cña gãi IP t¹i tÇng IPF, cÇn thùc hiÖn c¸c viÖc sau: - X¸c ®Þnh khèi th«ng b¸o chøa gãi IP. - X¸c ®Þnh ®Þa chØ b¾t ®Çu cña ph©n ®o¹n TCP cÇn m· ho¸. §Ó x¸c ®Þnh ®Þa chØ b¾t ®Çu cña phÇn d÷ liÖu cÇn m· ta ph¶i x¸c ®Þnh ®−îc vïng ®Öm nµo chøa byte ®Çu tiªn vµ ®Þa chØ offset cña byte ®ã. §Ó lµm ®−îc ®iÒu nµy, ph¶i c¨n cø vµo ®é dµi IP header (ngÇm ®Þnh lµ 20 bytes) vµ sö dông cÊu tróc con trá cña msgb. Dïng thuËt to¸n m· khèi ®Ó m· ho¸ ph©n ®o¹n TCP. C¸c thµnh phÇn cña gãi IP chøa trong c¸c vïng ®Öm cña mét khèi th«ng b¸o. 64 H×nh 3.6: C¸c vïng ®Öm cña mét th«ng b¸o chøa gãi IP ViÖc m· ho¸ ®−îc thùc hiÖn t¹i tõng vïng ®Öm. Khi m· hÕt d÷ liÖu ë mét vïng ®Öm nµo ®ã th× hÖ thèng chuyÓn xuèng vïng ®Öm cña khèi th«ng b¸o tiÕp theo, cø tiÕp tôc cho ®Õn khi m· hÕt d÷ liÖu cña vïng ®Öm cuèi cïng trong th«ng b¸o. 3.1.8 TÝch hîp nót m· ho¸ víi Router läc gãi . Chóng ta cã thÓ tÝch hîp nót m· ho¸ gãi IP víi mét router läc gãi ®Ó cã mét firewall cã ®é an toµn cao. Chøc n¨ng m· ho¸ cña nót m· ho¸ sÏ t¨ng c−êng kh¶ n¨ng cña firewall trong viÖc chèng l¹i nh÷ng tÊn c«ng ®èi víi gãi IP mµ nh÷ng firewall kh«ng cã chøc n¨ng mËt m· kh«ng thÓ gi¶i quyÕt ®−îc. Tr−íc hÕt chóng ta quan t©m ®Õn vÞ trÝ cña nót m· ho¸ khi kÕt hîp víi router läc gãi. 65 H×nh 3.7: KÕt hîp router läc gãi víi nót m· ho¸ Khi kÕt hîp víi router läc gãi, nót m· ho¸ sÏ n»m ë bªn ngoµi router läc gãi. V× hÖ thèng m· ho¸ c¶ ph©n ®o¹n TCP nªn nh÷ng th«ng tin vÒ TCP/UDP header bÞ che lÊp. NÕu nót m· ho¸ n»m trong router läc gãi th× router läc gãi kh«ng thÓ dïng c¸c luËt liªn quan ®Õn nh÷ng th«ng tin trong TCP/UDP header nh− sè cæng nguån, sè cæng ®Ých, c¸c cê,... NÕu chóng ta chØ m· ho¸ phÇn d÷ liÖu øng dông trong gãi IP th× nót m· ho¸ cã thÓ ®Æt ë trong bé router läc gãi. Khi tÝch hîp nót m· ho¸ vµ router läc gãi trong mét firewall sÏ cã nh÷ng −u ®iÓm lµ gióp firewall chèng l¹i nh÷ng tÊn c«ng ®èi víi router läc gãi : - Gi¶ ®Þa chØ mét m¸y ®−îc router läc gãi uû quyÒn Gi¶ sö mét gãi IP tõ mét m¸y cã ®Þa chØ IP nguån lµ “gi¶” (dïng ®Þa chØ IP cña mét m¸y ®−îc uû quyÒn cña router läc gãi), v× m¸y göi gãi IP “gi¶” kh«ng thuéc hÖ thèng an toµn cña chóng ta nªn gãi IP “gi¶” kh«ng ®−îc m· ho¸ nh−ng khi qua nót m· ho¸, th«ng tin trong ph©n ®o¹n TCP cña gãi IP “gi¶” vÉn bÞ gi¶i m· dÉn ®Õn th«ng tin cña gãi IP bÞ söa ®æi, chÝnh v× vËy gãi sÏ bÞ huû ngay t¹i router läc gãi nÕu router läc gãi thùc hiÖn c¸c luËt liªn quan ®Õn th«ng tin cña TCP/UDP header. Cßn nÕu router läc gãi kh«ng dïng c¸c luËt liªn quan ®Õn th«ng tin cña TCP/UDP header th× gãi sÏ qua router läc gãi vµ ®Õn m¸y ®Ých. T¹i ®©y gãi sÏ bÞ huû t¹i tÇng TCP do nhê vµo tæng kiÓm tra, hoÆc sè cæng nguån, cæng ®Ých. - Soi gãi: Th«ng ti · ho¸. - Söa néi dung gãi trong TCP header tæng kiÓm tra sai, n vÒ ph©n ®o¹n TCP ®−îc gi÷ bÝ mËt do ®−îc m: ViÖc söa néi dung gãi sÏ dÉn ®Õn sù thay ®æi gi¸ trÞ c¸c thµnh phÇn vµ tÇng TCP cña m¸y ®Ých sÏ kh«ng chÊp nhËn gãi víi c¸c lý do nh− sè cæng ®Ých sai, gi¸ trÞ cê sai,... 66 ch−¬ng IV Kh¶o s¸t kh¶ n¨ng chèng l¹i c¸c phÇn mÒm hacker vµ tèc ®é truyÒn d÷ liÖu cña hÖ thèng b¶o vÖ gãi Ip trªn solaris Ch−¬ng nµy giíi thiÖu kÕt qu¶ kh¶o s¸t mét sè ®Æc tr−ng cña bé phÇn mÒm b¶o vÖ gãi IP b»ng kü thuËt mËt m· (IPSEC_SUN) trªn Solaris nh− sau: - Kh¶ n¨ng ng¨n chÆn c¸c tÊn c«ng cña mét sè phÇn mÒm Hacker - Thêi gian vµ tèc ®é truyÒn d÷ liÖu cña hÖ thèng trong c¸c tr−êng hîp kh«ng ch¹y vµ ch¹y phÇn mÒm IPSEC_SUN PhÇn nµy còng giíi thiÖu c¸c ®Æc tÝnh trªn cña bé phÇn mÒm FreeS/WAN víi t− c¸ch nh− mét s¶n phÈm ®èi chøng. 4.1 Kh¶o s¸t kh¶ n¨ng b¶o vÖ gãi IP trªn m¹ng LAN cña bé phÇn mÒm IPSEC_SUN H×nh 4.1: M« h×nh thö nghiÖm bé phÇn mÒm IPSEC_SUN trªn m¹ng LAN 67 H×nh 4.1 lµ m« h×nh m¹ng thö nghiÖm c¸c chøc n¨ng cña bé phÇn mÒm IPSEC_SUN. HÖ thèng m¹ng ®−îc dïng ®Ó kh¶o s¸t gåm hai ph©n ®o¹n m¹ng ®−îc kÕt nèi víi nhau qua c¸p m¹ng, ta ký hiÖu lµ LAN 1 vµ LAN 2. Mçi ph©n ®o¹n cã mét Gateway cã chøc n¨ng b¶o vÖ gãi IP b»ng phÇn mÒm IPSEC_SUN vµ ®−îc gäi lµ nót b¶o vÖ gãi IP. C¸c øng dông ®−îc cµi ®Æt trªn m¹ng bao gåm: hÖ th− ®iÖn tö Lotus Notes, WEB, truyÒn tÖp FTP, C¬ së d÷ liÖu Oracle, Netmeeting víi ¶nh ®éng vµ ©m thanh, m«®un thu ph¸t gãi Multicast. Trªn kªnh truyÒn gi÷a hai Gateway cã cµI ®Æt mét m¸y tÊn c«ng m¹ng víi mét giao diÖn m¹ng. Cã 4 phÇn mÒm ®−îc cµI ®Æt trªn tr¹m tÊn c«ng lµ Packeyboy 1.3, Sniffit V.0.3.5. , IPScan vµ ICMP_Bomber. Trong ®ã ba phÇn mÒm Packeyboy 1.3, Sniffit V.0.3.5., IPScan cã chøc n¨ng chÆn b¾t th«ng tin vµ phÇn mÒm ICMP_Bomber cã chøc lµm c¹n kiÖt tµI nguyªn hÖ thèng hay cßn gäi lµ kiÓu tÊn c«ng tõ chèi dÞch vô. Sau ®©y lµ nh÷ng kÕt qu¶ thu ®−îc trong viÖc kh¶o s¸t kh¶ n¨ng ng¨n chÆn c¸c tÊn c«ng dïng c¸c phÇn mÒm Packeyboy 1.3, Sniffit V.0.3.5. , IPScan vµ ICMP_Bomber cña IPSEC_SUN. 4.1.1 Kh¶ n¨ng ng¨n chÆn c¸c tÊn c«ng b»ng phÇn mÒm Sniffit V.0.3.5 PhÇn mÒm Sniffit V.0.3.5 lµm viÖc trªn m«I tr−êng LINUX, cho phÐp thu ®−îc toµn bé d÷ liÖu gi÷a hai øng dông ®−îc truyÒn trªn m¹ng nh− th− ®IÖn tö, trang WEB, file d÷ liÖu, d÷ liÖu chatting, mËt khÈu vµ tªn ng−êi dïng, .... D−íi ®©y lµ mét sè vÝ dô vÒ kh¶ n¨ng chÆn b¾t th«ng tin cña Sniffit V.0.3.5. 4.1.1.1 C¸c th«ng tin vÒ tªn, mËt khÈu ng−êi dïng, c¸c lÖnh cña dÞch vô truyÒn tÖp FTP USER root pass admin TYPE I REST 100 REST 0 CWD /root/ pwd TYPE A PORT 192,168,1,7,4,27 LIST CWD / pwd TYPE I PORT 192,168,1,7,4,28 68 REST 29962240 RETR filetest ABOR 4.1.1.2 Néi dung cña mét file d¹ng text ®−îc truyÒn bëi FTP #include #include #include #include #include #include #include #include main() { char a[20]; int handle,i,n=5; int *p; cout <<"Enter the string for a: "; cin >> a; cout << "\n " <<a << endl; handle = open("/root/data.txt",O_CREAT | O_RDWR |S_IREAD | S_IWRITE); if (handle == -1) { cerr << "I/O error 1"<<endl; exit (1); } for (i=1;i<=n;i++) { cout << " "<<i; *p = i; write(handle,p,1); } close(handle); cout <<endl; return 0; } 3.1.1.3 KÕt qu¶ cña lÖnh ls -l trªn m¸y kh¸ch hµng cña dÞch vô FTP total 18756 -rw------- 1 root root 2009 May 9 23:11 .ICEauthority -rw------- 1 root root 265 May 9 23:09 .Xauthority -rw-r--r-- 1 root root 1126 Aug 24 1995 .Xdefaults -rw------- 1 root root 11676 Jul 20 09:57 .bash_history -rw-r--r-- 1 root root 24 Jul 14 1994 .bash_logout -rw-r--r-- 1 root root 238 Aug 24 1995 .bash_profile -rw-r--r-- 1 root root 267 May 9 22:33 .bashrc 69 drwx------ 2 root root 4096 May 13 03:30 .cedit -rw-r--r-- 1 root root 182 Mar 22 1999 .cshrc drwxr-xr-x 3 root root 4096 Apr 5 22:43 .eXtace drwx------ 3 root root 4096 May 9 23:11 .enlightenment drwx------ 6 root root 4096 May 9 23:11 .gnome drwxr-xr-x 2 root root 4096 Mar 22 01:41 .gnome-desktop drwxr-xr-x 2 root root 4096 Mar 21 23:53 .gnome-help- browser drwx------ 2 root root 4096 Mar 21 23:52 .gnome_private -rw------- 1 root root 12288 Apr 7 05:26 .hello.c.swp drwxr-xr-x 3 root root 4096 Jul 20 09:36 .mc drwxr-xr-x 5 root root 4096 Apr 14 03:50 .netscape -rw-r--r-- 1 root root 166 Mar 4 1996 .tcshrc -rw-r--r-- 1 root root 27999 May 13 04:49 README.FIRST -rw-r--r-- 1 root root 1259 Apr 21 00:41 SSS drwxr-xr-x 2 root root 4096 Apr 20 05:45 So_nguyento -rw-r--r-- 1 root root 30720 Apr 6 21:55 So_nguyento.tar -rw-r--r-- 1 root root 2442 Apr 14 03:02 bimat drwxr-xr-x 3 root root 4096 May 13 03:27 config drwxr-xr-x 4 root root 4096 Apr 25 03:27 config.old1 drwxr-xr-x 3 root root 4096 Apr 1 05:22 config_luu -r-sr----- 1 root root 0 Apr 7 05:25 data.txt -rwxr-xr-x 1 root root 13790 Apr 9 23:15 expfile -rwxr-xr-x 1 root root 209 Apr 21 02:58 free_vers drwxr-xr-x 10 root root 4096 Apr 2 02:49 freeswan.idea.ok -rwxr-xr-x 1 root root 6778880 Apr 2 02:13 freeswan_idea_ok.tar drwxr-xr-x 2 root root 4096 Mar 22 20:05 h1 -rwxr-xr-x 1 root root 13639 Apr 7 05:25 hello -rw-r--r-- 1 root root 551 Apr 7 05:23 hello.c drwxr-xr-x 2 root root 4096 Apr 6 05:45 install_Freeswan drwxr-xr-x 2 root root 4096 Apr 14 00:18 keys -rw-r--r-- 1 root root 97455 May 7 04:40 ldthich_3105.taz -rw------- 1 root root 1447 Apr 6 04:21 mbox drwx------ 2 root root 4096 Mar 22 00:04 nsmail -rw-r--r-- 1 root root 0 Apr 9 23:15 output.txt -rw-r--r--1 root root 69539 Mar 31 07:29 pfkey_v2_parser.c -rw-r--r-- 1 root root 2652160 Mar 31 03:27 pluto.tar Nguyªn t¾c ho¹t ®éng cña Sniffit lµ chÆn b¾t c¸c gãi IP ®−îc truyÒn trªn kªnh, sau ®ã dùa vµo gi¸ trÞ cña cæng øng dông ®Ých trong header tÇng vËn t¶I ®Ó kh«I phôc ®−îc toµn bé d÷ liÖu cu¶ øng dông tõ c¸c gãi IP thu ®−îc. Khi header tÇng vËn t¶I ®−îc m· ho¸ lµm cho th«ng tin vÒ cæng øng dông bÞ che lÊp, chÝnh v× vËy Sniffit kh«ng thÓ kh«I phôc ®−îc d÷ liÖu cña øng dông. Qua kh¶o s¸t chóng t«I thÊy r»ng khi kh«ng ch¹y IPSEC_SUN, phÇn mÒm Sniffit ho¹t ®éng rÊt tèt vµ chÆn b¾t ®−îc toµn bé d÷ liÖu cña øng dông nh− th− ®IÖn tö, néi dung file ®−îc truyÒn, trang WEB, th«ng tin ng−êi dïng,... Nh−ng khi ch¹y phÇn mÒm 70 IPSEC_SUN, phÇn mÒm Sniffit sÏ bÞ cheo vµ kh«ng thÓ cung cÊp ®−îc th«ng tin g×. KÕt luËn : PhÇn mÒm IPSEC_SUN cã kh¨ n¨ng lµm v« hiÖu ho¸ c¸c tÊn c«ng dïng phÇn mÒm Sniffit. 4.1.2 Kh¶ n¨ng ng¨n chÆn c¸c tÊn c«ng b»ng phÇn mÒm IPSCAN PhÇn mÒm IPScan lµm viÖc trªn m«I tr−êng LINUX, cho phÐp ng−êi sö dông cã thÓ gi¸m s¸t ho¹t ®éng cña c¸c cæng TCP/UDP trªn mét hoÆc nhiÒu tr¹m ë xa. Nã cã kh¶ n¨ng quÐt c¸c cæng TCP/UDP cña mét tr¹m trªn m¹ng vµ cho biÕt t¹i thêi ®iÓm ®ã cã bao nhiªu øng dông ®ang ch¹y vµ ch¹y t¹i cæng sè nµo. ViÖc kÕt hîp IPScan víi Sniffit cho phÐp t¹o ra c¸c tÊn c«ng hiÖu qu¶. Trong ®ã IPScan cã vai trß cung cÊp cho Sniffit gi¸ trÞ c¸c cæng vµ giao thøc t−¬ng øng ®ang cã giao dÞch ®Ó Sniffit tiÕn hµnh chÆn b¾t th«ng tin. D−íi ®©y lµ vÝ dô vÒ th«ng tin do phÇn mÒm IPSCAN x¸c ®Þnh ®−îc, bao gåm ®Þa chØ IP, gi¸ trÞ cæng, giao thøc. 200.1.1.2 echo 7/tcp Echo [95,JBP] 200.1.1.2 discard 9/tcp Discard [94,JBP] 200.1.1.2 daytime 13/tcp Daytime [93,JBP] 200.1.1.2 chargen 19/tcp Character Generator [92,JBP] 200.1.1.2 ftp 21/tcp File Transfer [Control] [96,JBP] 200.1.1.2 telnet 23/tcp Telnet [112,JBP] 200.1.1.2 smtp 25/tcp Simple Mail Transfer [102,JBP] 200.1.1.2 time 37/tcp Time [108,JBP] 200.1.1.2 finger 79/tcp Finger [52,KLH] 200.1.1.2 sunrpc 111/tcp SUN Remote Procedure Call [DXG] 200.1.1.2 exec 512/tcp remote process execution (rexecd) 200.1.1.2 login 513/tcp remote login (rlogind) 200.1.1.2 shell 514/tcp rlogin style exec (rshd) 71 200.1.1.2 uucp 540/tcp uucpd 200.1.1.2 unknown 2525/tcp unassigned 200.1.1.2 unknown 4045/tcp unassigned T−¬ng tù nh− ®èi víi Sniffit, khi header tÇng vËn t¶I bÞ m· ho¸ phÇn mÒm IPScan kh«ng thÓ x¸c ®Þnh ®−îc cæng øng dông nµo ®−îc dïng ®èi víi giao thøc tÇng vËn t¶i. ChÝnh v× vËy nã kh«ng thÓ ho¹t ®éng ®−îc vµ bÞ v« hiÖu ho¸. NhËn xÐt : PhÇn mÒm IPSEC_SUN cã kh¶ n¨ng ng¨n chÆn c¸c tÊn c«ng dïng phÇn mÒm IPScan. 4.1.3 Kh¶ n¨ng ng¨n chÆn c¸c tÊn c«ng b»ng phÇn mÒm Packetboy PhÇn mÒm Packetboy lµm viÖc trªn m«i tr−êng Windows, cho phÐp chÆn b¾t vµ hiÓn thÞ toµn bé th«ng tin vÒ c¸c thµnh phÇn cña Ethernet frame bao gåm Ethernet header, IP header, TCP(UDP) header, d÷ liÖu øng dông. Kh¸c víi hai phÇn mÒm Sniffit vµ IPSCan, khi ch¹y IPSEC_SUN phÇn mÒm Packetboy vÉn ho¹t ®éng b×nh th−êng vµ hiÓn thÞ th«ng tin vÒ c¸c gãi IP mµ nã chÆn b¾t ®−îc. ChÝnh v× vËy, víi Packetboy kÎ tÊn c«ng vÉn thu ®−îc Frame chøa gãi IP víi mét sè thµnh phÇn bÞ m·, nh−ng hä kh«ng thÓ ®äc ®−îc néi dung cña TCP(UDP) header vµ d÷ liÖu øng dông mµ chØ cã thÓ ®äc ®−îc c¸c th«ng tin trong IP header vµ Ethernet header. D−íi ®©y lµ mét sè h×nh ¶nh minh ho¹ kh¶ n¨ng chÆn b¾t gãi IP cña phÇn mÒm Packetboy vµ chøc n¨ng m· ho¸ c¸c thµnh phÇn gãi IP cña IPSEC_SUN. 72 H×nh 4.2 : D÷ liÖu øng dông trong gãi IP tr−íc khi m· ho¸ H×nh 4.3 : D÷ liÖu øng dông trong gãi IP tr−íc vµ sau khi m· ho¸ 73 Trong h×nh 4.3 , d÷ liÖu cña gãi IP ®· ®−îc m· ho¸ nªn kÎ tÊn c«ng kh«ng thÓ ®äc ®−îc néi dung th«ng tin cña nã. Tuy nhiªn Packetboy vÉn cho phÐp ®äc c¸c th«ng tin trong Ethernet header vµ IP header. Riªng th«ng tin vÒ TCP header ®· bÞ m· ho¸. H×nh 4.4 Th«ng tin vÒ 20 bytes cña TCP header trong gãi IP khi ch−a m· H×nh 4.4 chøa c¸c th«ng tin vÒ c¸c thµnh phÇn cña mét TCP header, trong ®ã gi¸ trÞ cña cæng ®Ých trong phiªn FTP-data lµ 20. 74 H×nh 4.5: Th«ng tin vÒ 20 bytes cña TCP header sau khi m· H×nh 4.5 chøa c¸c gi¸ trÞ cña c¸c tr−êng trong TCP header ®· bÞ m· ho¸, trong ®ã gi¸ trÞ cña cæng ®Ých trong phiªn giao dÞch FTP-data lµ 60907. Lý do lµ v× c¸c bÝt biÓu diÔn gi¸ trÞ cña cæng ®Ých trong phiªn FTP-data lu«n lµ 20 d−íi d¹ng nhÞ ph©n ®· bÞ m· ho¸ ®Ó trë thµnh d·y nhÞ ph©n kh¸c t−¬ng øng víi gi¸ trÞ 60907. NhËn xÐt : PhÇn mÒm IPSEC_SUN cã kh¶ n¨ng b¶o vÖ toµn bé ph©n ®o¹n tÇng vËn t¶I cña gãi IP tr−íc tÊn c«ng b»ng phÇn mÒm Packetboy. H×nh 4. 6 lµ h×nh ¶nh mét gãi Multicast khi ch−a can thiÖp mËt m·. 75 H×nh 4.6: C¸c thµnh phÇn cña gãi Multicast tr−íc khi m· H×nh 4.7 : D÷ liÖu øng dông cña mét gãi Multicast ®· ®−îc m· 76 4.1.4 Kh¶ n¨ng ng¨n chÆn c¸c tÊn c«ng b»ng phÇn mÒm ICMP_ Bomber ICMP_Bomber lµ mét phÇn mÒm tiªu biÓu cho mét lo¹t c¸c phÇn mÒm mµ c¸c Hacker chuyªn dïng ®Ó tÊn c«ng c¸c hÖ thèng an toµn th«ng tin theo kiÓu “tõ chèi dÞch vô” hay cßn gäi lµ c¸c phÇn mÒm lµm lôt hÖ thèng (flooder). Nã ho¹t ®éng dùa trªn nguyªn t¾c lµ khi ®−îc kÝch ho¹t, nã sÏ liªn tiÕp göi tíi m¸y ®Ých (m¸y bÞ tÊn c«ng) c¸c gãi tin ICMP vµ yªu cÇu m¸y ®Ých tr¶ lêi, trong khi tù th©n nã sÏ kh«ng nhËn c¸c gãi tr¶ lêi nµy. Khi sè gãi tin ®−îc göi tíi lµ lín, lóc ®ã m¸y bÞ tÊn c«ng sÏ ph¶i liªn tôc xö lý vµ dÉn ®Õn hiÖn t−îng bÞ suy kiÖt dÇn tµi nguyªn. NÕu sö dông ®ång thêi nhiÒu m¸y ®Ó tÊn c«ng vµo mét m¸y chñ cung cÊp dÞch vô th× dÞch vô ®ã sÏ bÞ tª liÖt. ICMP_Bomber ®−îc viÕt ®Ó ch¹y trªn c¸c hÖ thèng Windows, ta chØ cÇn sao chÐp file ICMP_Bomber.exe vµo ®Üa cøng hoÆc ®Üa mÒm lµ cã thÓ ch¹y ®−îc ngay. Giao diÖn cña ch−¬ng tr×nh nh− sau: H×nh 4.8: Giao diÖn ng−êi dïng cña ICMP BOMBER C¸c tham sè ®Ó ch¹y bao gåm: - Host: §Þa chØ IP cña m¸y bÞ tÊn c«ng - Size: §é lín cña gãi tin göi ®i 77 - Interval: Kho¶ng thêi gian gi÷a c¸c lÇn göi gãi tin (Tèc ®é göi), ®−îc tÝnh b»ng mili gi©y. C¸c lÖnh ch¹y: - Start: B¾t ®Çu ch¹y ICMP_Bomber - Stop: Dõng ch¹y ICMP_Bomber H×nh 4.9: KÕt qu¶ khi ch¹y Qua qu¸ tr×nh kh¶o s¸t kh¶ n¨ng tÊn c«ng cña ICMP_bomber ®èi víi c¸c hÖ thèng an toµn th«ng tin, ta thu ®−îc c¸c kÕt qu¶ sau: Khi ta sö dông m¸y Windows98 (cã cÊu h×nh nh− sau: Processor Pentium Celeron 333 Mhz, 32 Mb RAM, 7.5 Gb HDD, ...) ®Ó kÝch ho¹t phÇn mÒm ICMP_Bomber ®Ó tÊn c«ng mét m¸y chñ Sun Slaris (IP address: 200.1.1.3, CÊu h×nh phÇn cøng : Processor Pentium Celeron 300, 32 Mb RAM, 7.5 Gb HDD) theo c¸c tham sè sau: - Host : 200.1.1.3 ( §©y chÝnh lµ ®Þa chØ IP cña m¸y chñ Sun) - Size : 1000 ( §é lín d÷ liÖu cña mçi gãi lµ 1000 byte) - Interval: 0.01 (Kho¶ng c¸ch gi÷a 2 lÇn göi lµ 0.01 mili gi©y) 78 Ta thÊy r»ng, trong c¶ 2 tr−êng hîp lµ cã ch¹y vµ kh«ng ch¹y phÇn mÒm b¶o vÖ gãi IP th× m¸y chñ Sun ®Òu chÞu mét sù tÊn c«ng nh− nhau, hiÖn t−îng nhËn biÕt ®−îc lµ tèc ®é xö lÝ cña m¸y chËm h¼n l¹i. Khi ta tiÕp tôc gia t¨ng søc tÊn c«ng b»ng c¸ch cho ch¹y ICMP_Bomber trªn mét m¸y Windows NT (Cã cÊu h×nh phÇn cøng nh− sau: Processor PII 450, 64 Mb RAM, 9.2 Gb HDD,..) ®Ó tÊn c«ng vµo m¸y chñ Sun ë trªn th× kÕt qu¶ lµ m¸y chñ sun hoµn toµn bÞ tª liÖt, kh«ng thÓ ®¸p øng ®−îc c¸c dÞch vô m¹ng th«ng th−êng n÷a (ta cã thÓ kiÓm nghiÖm b»ng c¸ch tõ mét m¸y ë trªn m¹ng ftp hoÆc telnet vµo ®Þa chØ 200.1.1.3). NhËn xÐt : PhÇn mÒm IPSEC_SUN kh«ng cã kh¶ n¨ng ng¨n chÆn c¸c tÊn c«ng kiÓu tõ chèi dÞch vô dïng phÇn mÒm ICMP_BOMBER. 4.1.4 So s¸nh kh¶ n¨ng chèng l¹i c¸c phÇn mÒm tÊn c«ng cña bé phÇn mÒm IPSEC_SUN vµ bé phÇn mÒm FreeS/WAN FreeS/WAN lµ mét s¶n b¶o vÖ gãi IP trªn m¹ng LINUX, ®−îc x©y dùng dùa trªn chuÈn IPSEC vµ cã m· nguån më. Giao thøc IPsec cung cÊp chøc n¨ng an toµn, c¸c dÞch vô x¸c thùc (authentication) vµ m· ho¸ (encryption) ë møc IP (Internet Protocol) cña chång giao thøc m¹ng, ®ång thêi nã yªu cÇu mét giao thøc IKE ë møc cao h¬n møc IP ®Ó thiÕt lËp c¸c dÞch vô ë møc IP. §−îc b¾t ®Çu víi phiªn b¶n 1.0, ®Õn nay ®· cã phiªn b¶n 1.9. FreeS/WAN dïng kü thuËt m· khèi DES, 3DES trong mode CBC ®Ó ®Ó m· ho¸ d÷ liÖu , dïng phÐp biÕn ®æi HMAC víi c¸c hµm Hash lµ MD5, SHA-1 ®Ó x¸c thùc d÷ liÖu. ViÖc trao ®æi kho¸ ®−îc cµI ®Æt dïng giao thøc IKE víi giao thøc Diffie-Hellman 768, 1024 and 1512 bits ®−îc x¸c thùc b»ng c¸ch dïng kho¸ bÝ mËt chia sÎ hoÆc ch÷ ký sè RSA Cã 3 giao thøc ®−îc dïng trong IPsec ®ã lµ: AH (Authentication Header): cung cÊp mét dÞch vô x¸c thùc ë møc gãi (packet-level). ESP (Encapsulating Security Payload): cung cÊp dÞch vô m· ho¸ céng víi x¸c thùc d÷ liÖu. IKE (Internet Key Exchange): tho¶ thuËn c¸c tham sè cña kÕt nèi, bao gåm c¸c kho¸ cho hai ®èi t−îng kh¸c nhau. H¹n chÕ cña IPsec lµ kh«ng ®¸ng kÓ, cã tr−êng hîp IPsec dïng c¶ 3 giao thøc trªn, cã tr−êng hîp chØ dïng AH vµ ESP. Hai chÕ ®é lµm viÖc cña FreeS/WAN lµ chÕ ®é tunnel vµ chÕ ®é transport. Trong chÕ ®é tunnel toµn bé gãi IP ®−îc b¶o vÖ cßn trong chÕ ®é transport ph©n ®o¹n tÇng vËn t¶I cïng mét sè tr−êng kh«ng thay ®æi trong IP header ®−îc b¶o vÖ 79 Th«ng tin vÒ FreeS/Wan ®−îc giíi thiÖu trong Tr−íc hÕt chóng t«i giíi thiÖu mét sè kÕt qu¶ trong viÖc thiÕt kÕ x©y dùng bé phÇn mÒm b¶o vÖ gãi IP trªn LINUX theo c«ng nghÖ IPSEC dùa trªn m· nguån më cña FreeS/WAN. Cô thÓ lµ gi÷ nguyªn thiÕt kÕ hÖ thèng hiÖn cã, chØ thay thÕ, bæ xung c¸c module mËt m· nh− c¸c module m· khèi vµ c¸c tham sè mËt nh− c¸c sè nguyªn tè cho thuËt to¸n Diffie-Hellman vµ RSA C¸c c«ng viÖc mµ chóng t«i ®· hoµn thµnh lµ: -§· kh¶o s¸t ®−îc cÊu tróc hÖ thèng vµ c¬ chÕ ho¹t ®éng cña FreeS/Wan -ThiÕt kÕ, x©y dùng vµ tÝch hîp m« ®un cña kü thuËt m· khèi IDEA phôc vô cho viÖc b¶o vÖ d÷ liÖu -ThiÕt kÕ, x©y dùng m« ®un sinh c¸c tham sè (bao gåm kho¸ bÝ mËt vµ khãa c«ng khai) phôc vô cho viÖc t¹o ch÷ ký sè RSA víi ®Çu vµo lµ c¸c cÆp sè nguyªn tè p,q cña Häc viÖn Kü thuËt mËt m· (512 bits vµ 1024 bits). -TÝch hîp ®−îc 3 sè nguyªn tè lín cña Häc viÖn Kü thuËt mËt m· phôc vô cho viÖc x¸c thùc lÉn nhau gi÷a c¸c m¸y chñ LINUX, tho¶ m·n ®Çy ®ñ c¸c yªu cÇu an toµn (c¸c sè nguyªn tè cã d¹ng p=2q+1, trong ®ã q lµ c¸c sè nguyªn tè vµ 64 bit cao vµ 64 bit thÊp cã gi¸ trÞ b»ng 1). -X©y dùng xong bé phÇn mÒm b¶o vÖ gãi IP trªn mét phiªn b¶n cña LINUX lµ RedHad 6.2 theo c«ng nghÖ IPSEC dùa trªn FreeS/Wan 1.5 víi c¸c m« ®un vµ tham sè mËt m· cña Häc viÖn kü thuËt mËt m·. -Cµi ®Æt kiÓm tra nhiÒu lÇn bé phÇn mÒm trªn hÖ thèng gåm nhiÒu m¸y chñ LINUX vµ c¸c m¹ng LAN phÝa sau kÕt nèi qua c¸p m¹ng. -X©y dùng quy tr×nh t¹o, qu¶n lý vµ ph©n phèi c¸c tham sè cña hÖ mËt kho¸ c«ng khai RSA cho c¸c m¸y chñ LINUX b¶o vÖ gãi IP trªn m¹ng diÖn réng -X©y dùng quy tr×nh cµi ®Æt vµ cÊu h×nh bé phÇn mÒm b¶o vÖ gãi IP trªn m¹ng diÖn réng Còng víi sù kh¶o s¸t t−¬ng tù nh− ®èi víi phÇn mÒm IPSEC_SUN, chóng t«I ®· kh¶o s¸t kh¶ n¨ng cña FreeS/WAN trong viÖc chèng l¹i c¸c tÊn c«ng b»ng bèn phÇn mÒm Packeyboy 1.3, Sniffit V.0.3.5. , IPScan vµ ICMP_Bomber vµ ®· thu ®−îc kÕt qu¶ sau: 80 PhÇn mÒm FreeS/WAN cã kh¶ n¨ng chèng l¹i c¸c tÊn c«ng dïng c¸c phÇn mÒm Sniffit, IPScan, Packetboy vµ kh«ng cã kh¶ n¨ng chèng l¹i tÊn c«ng dïng phÇn mÒm ICMP_BOMBER. Tuy nhiªn, cã mét sù kh¸c nhau gi÷a kh¶ n¨ng ng¨n chÆn tÊn c«ng cña hai phÇn mÒm FreeS/WAN vµ IPSEC_SUN lµ trong FreeS/WAN ë chÕ ®é Tunnel, IP header cña gãi IP ban ®Çu ®−îc che dÊu (do toµn bé gãi IP ®−îc m· ho¸), thay vµo ®ã lµ mét IP header míi víi ®Þa chØ IP lµ ®Þa chØ cña hai Gateway. D−íi ®©y lµ h×nh ¶nh minh ho¹ vÒ gãi IP ®· ®−îc cµI ®Æt c¸c dÞch vô an toµn b»ng FreeS/WAN do Packetboy chÆn b¾t ®−îc. H×nh 4.10: Gãi IP ®· ®−îc cµI ®Æt dÞch vô an toµn trong chÕ ®é Tunnel víi giao thøc ESP cña FreeS/WAN Khi ch¹y FreeS/WAN, tÊt c¶ c¸c gãi d÷ liÖu ®−îc truyÒn tõ client 1 ®Õn client 2 ®· ®−îc chÆn b¾t, m· ho¸ vµ ®ãng gãi l¹i t¹i Gateway 1. Mét IP header míi ®−îc bæ xung víi ®Þa chØ nguån vµ ®Ých lµ ®Þa chØ IP cña hai Gateway. Trong h×nh trªn, packetboy ®· ®äc ®−îc c¸c th«ng tin cña IP header míi víi ®Þa chØ nguån (200.1.1.12), ®Þa chØ ®Ých (200.1.1.10) lµ c¸c ®Þa chØ cña 2 gateway cã cµi 81 ®Æt FreeS/WAN, giao thøc tÇng trªn cña IP l¹i lµ ESP (cã gi¸ trÞ lµ 0x32). Packetboy kh«ng thÓ ph©n tÝch ®Ó lÊy ra ®−îc c¸c th«ng tin cña gãi IP bªn trong ®−îc truyÒn gi÷a hai m¸y client, d÷ liÖu cña chóng ®−îc m· ho¸ vµ chøa trong thµnh phÇn ESP (Encapsulating Security Payload). Tõ kÕt qu¶ trªn chóng ta cã nhËn xÐt lµ: C¶ hai phÇn mÒm IPSEC_SUN vµ FreeS/WAN ®Òu cã kh¶ n¨ng chèng l¹i c¸c tÊn c«ng chÆn b¾t th«ng tin b»ng c¸c phÇn mÒm nh− Packeyboy 1.3, Sniffit V.0.3.5. , IPScan vµ kh«ng thÓ ng¨n chÆn c¸c tÊn c«ng kiÓu tõ chèi dÞch vô nh− ICMP_Bomber. Cô thÓ lµ nh÷ng thµnh phÇn cña gãi IP ®· ®−îc m· ho¸ sÏ ®−îc gi÷ bÝ mËt khi tÊn c«ng b»ng Packetboy vµ do th«ng tin vÒ cæng øng dông trong header tÇng vËn t¶I ®−îc gi÷ bÝ mËt nªn c¶ hai phÇn mÒm Sniffit vµ IPScan ®· bÞ v« hiÖu ho¸ vµ kh«ng thÓ ho¹t ®éng ®−îc. Cßn ®èi víi phÇn mÒm ICMP_BOMBER, tµI nguyªn hÖ thèng bÞ c¹n kiÖt do ph¶I ®¸p øng l¹i rÊt nhiÒu c¸c “®ßi hái gi¶” vµ c¶ hai phÇn mÒm IPSEC_SUN vµ FreeS/WAN ®Òu kh«ng cã kh¶ n¨ng chèng l¹i ®−îc. Tõ c¸c kÕt qu¶ kh¶o s¸t ë trªn, chóng ta cã kÕt luËn sau: - C¸c øng dông vÉn lµm viÖc æn ®Þnh khi c¸c gãi IP ®−îc b¶o vÖ t¹i hai Gateway b»ng phÇn mÒm IPSEC_SUN. - HÖ thèng cã kh¶ n¨ng chÆn b¾t vµ can thiÖp mËt m· vµo c¸c gãi IP. - HÖ thèng cã kh¶ n¨ng chèng l¹i c¸c tÊn c«ng chÆn b¾t th«ng tin dïng c¸c phÇn mÒm Packetboy 1.3, Sniffit V.0.3.5 vµ IPScan. - HÖ thèng kh«ng cã kh¶ n¨ng chèng l¹i tÊn c«ng dïng phÇn mÒm ICMP_Bomber. 82 4.2 Kh¶o s¸t sù ¶nh h−ëng cña bé phÇn mÒm IPSEC_SUN ®èi víi thêi gian truyÒn d÷ liÖu cña mét sè dÞch vô. §Ó cµi ®Æt c¸c dÞch vô an toµn ®èi víi c¸c gãi IP, IPSEC_SUN ph¶i tiÕn hµnh chÆn b¾t vµ can thiÖp mËt m· vµo ph©n ®o¹n tÇng vËn t¶i. Môc tiªu khi x©y dùng phÇn mÒm an toµn b»ng kü thuËt mËt m· lµ viÖc cµI ®Æt c¸c dÞch vô an toµn sÏ lµm ¶nh h−ëng Ýt nhÊt tíi hiÖu n¨ng hÖ thèng. Chóng t«i ®· kh¶o s¸t sù ¶nh h−ëng cña bé phÇn mÒm IPSEC_SUN vµ bé phÇn mÒm FreeS/WAN ®èi víi thêi gian truyÒn d÷ liÖu cña dÞch vô truyÒn tÖp FTP. 4.2.1 Kh¶o s¸t sù ¶nh h gian truyÒn d÷ liÖu cña H×nh 4.11 lµ m« h cµi ®Æt bé phÇn mÒm IP vµ client 2 ch¹y trªn hÖ vô FTP. Víi mçi file d÷ vµ tèc ®é vµ cã ®−îc c¸c B¶ng sau lµ kÕt qu ®−îc tÝnh b»ng gi©y cña Blowfish, m· dïng IDE −ëng cña bé phÇn mÒm IPSEC_SUN ®èi víi thêi dÞch vô truyÒn tÖp FTP (File transfer Protocol) ×nh m¹ng ®−îc dïng ®Ó kh¶o s¸t, bao gåm 2 Gateway cã SEC_SUN trªn hÖ ®iÒu hµnh Solaris vµ hai m¸y client 1 ®IÒu hµnh LINUX 6.2 dïng ®Ó truyÒn sè liÖu dïng dÞch liÖu chóng t«I ®· tiÕn hµnh truyÒn 5 lÇn ®Ó ®o thêi gian kÕt qu¶ kh¸c nhau tõ th«ng b¸o cña dÞch vô FTP. H×nh 4.11: M« h×nh m¹ng kh¶o s¸t ¶ thu ®−îc qua kh¶o s¸t, trong ®ã ghi thêi gian truyÒn 5 lÇn truyÒn file trong ba tr−êng hîp kh«ng m·, m· dïng A : 83 KÝch th−íc Thêi gian truyÒn (s), tèc ®é (Kytes/s) Kh«ng m· Blowfish IDEA 0.54 0.63 0.74 0.57 0.59 0.62 512KB 0.61 0.58 0.61 0.63 0.57 0.61 0.6 0.61 0.65 Trung b×nh 0.59 ( 868 ) 0.596 ( 859 ) 0.646 ( 793 ) 1.2 1.2 1.4 1.1 1.1 1.3 1MB 1.3 1.3 1.3 1.3 1.3 1.2 1.2 1.2 1.2 Trung b×nh 1.22 ( 839 ) 1.22 ( 839 ) 1.28 ( 800 ) 8.4 7.6 9.4 8.3 8.5 7.4 6MB 7.8 9.4 8.3 8.9 8.1 8.8 8 7.6 8.3 Trung b×nh 8.28 ( 742 ) 8.24 ( 746 ) 8.44 ( 728 ) 25 23 24 24 22 24 15MB 22 23 22 22 22 23 20 24 24 Trung b×nh 22.6 ( 680 ) 22.8 ( 674 ) 23.4 ( 656 ) 84 H×nh 4.12: BiÓu ®å vÒ thêi gian truyÒn d÷ liÖu cña hÖ thèng cµI ®Æt IPSEC_SUN 0 200 400 600 800 1000 1:512KB 2:1MB 3:6MB 4:15MB 868 839 742 680 859 839 746 674 793 800 728 656 1 2 3 4 Kh«ng m· Blowfish IDEA H×nh 4.12 lµ biÓu ®å cña thêi gian truyÒn trung b×nh c¸c file d÷ liÖu trong c¸c tr−êng hîp kh«ng ch¹y vµ ch¹y IPSEC_SUN víi IDEA vµ Blowfish. H×nh 4.13 lµ biÓu ®å vÒ tèc ®é truyÒn d÷ liÖu ®−îc tÝnh theo Kbytes/s. B¶ng d−íi ®©y chØ ra tû lÖ % gi÷a tèc ®é truyÒn d÷ liÖu khi ch¹y vµ kh«ng ch¹y IPSEC_SUN : KÝch th−íc Kh«ng m· Blowfish IDEA 512 KB 100% 99% 91% 1 MB 100% 100% 95% 6 MB 100% 101% 98% 15 MB 100% 99% 96% Trung b×nh 99,75% 95 % 0 5 10 15 20 25 1:512 K - 2:1MB - 3:6MB - 4:15MB 0.59 1.22 8.28 22.6 0.596 1.22 8.24 22.8 0.646 1.28 8.44 23.4 1 2 3 4 Kh«ng m· Blowfish IDEA H×nh 4.13 BiÓu ®å tèc ®é truyÒn d÷ liÖu cña hÖ thèng dïng IPSEC_SUN 85 Tõ c¸c sè liÖu trªn chóng ta cã nhËn xÐt lµ: Víi mét file d÷ liÖu, thêi gian vµ tèc ®é truyÒn tõ client 1 ®Õn client 2 lµ kh¸c nhau. Víi m« h×nh m¹ng nh− trªn, nãi chung viÖc m· ho¸ gãi IP hÇu nh− kh«ng lµm gi¶m tèc ®é truyÒn sè liÖu gi÷a hai client 1 vµ client 2. Khi m· víi IDEA, tû lÖ tèc ®é ®¹t 95 %, ®Æc biÖt khi m· víi Blowfish tû lÖ tèc ®é ®¹t 99,75%. Víi file cã kÝch th−íc cµng lín, tèc ®é truyÒn d÷ liÖu cã xu h−íng gi¶m nh−ng tû lÖ % gi÷a tèc ®é truyÒn d÷ liÖu khi ch¹y vµ kh«ng ch¹y IPSEC cã xu h−íng t¨ng lªn Khi sö dông m· khèi Blowfish, nãi chung tèc ®é truyÒn d÷ liÖu nhanh h¬n khi dïng kü thuËt m· khèi IDEA. Mét trong c¸c lý do ®Ó thêi gian truyÒn d÷ liÖu kh«ng t¨ng ®¸ng kÓ khi cµi ®Æt bé phÇn mÒm IPSEC_SUN lµ do c¸c m¸y ®−îc dïng ®Ó kh¶o s¸t cã cÊu h×nh m¹nh. Víi c¸c m¸y víi cÊu h×nh thÊp, viÖc cµI ®Æt IPSEC_SUN sÏ ¶nh h−ëng ®¸ng kÕ ®Õn thêi gian truyÒn d÷ liÖu. Víi m« h×nh m¹ng nh− trong h×nh 4.11 nh−ng c¸c m¸y cã cÊu h×nh thÊp h¬n nh− sau: Gateway1 : Compaq Celeron 400MHZ, 32 MB RAM, 4.3 GB HDD. Gateway2 :Compaq Celeron 400MHZ, 32 MB RAM, 4.3 GB HDD. Client1 : Celeron 400MHZ, 32 MB RAM, 4,3 GB HDD. Client 2 : IBM Pentium II 133 MHZ, 32 MB RAM, , 2,1 GB HDD. Chóng t«i ®· truyÒn hai file cã ®é lín 16 MB vµ 61 MB tõ Client 1 ch¹y Windows 95 ®Õn m¸y Client 2 ch¹y Windows NT 4.0 vµ ®· thu ®−îc kÕt qu¶ trong biÓu ®å sau: 86 0 100 200 300 400 500 600 1:16MB 2:61MB 48.06 137.86 178.29 531.13 1 2 Kh«ng m· IPSEC_SUN - IDEA H×nh 4.14: BiÓu ®å vÒ thêi gian truyÒn d÷ liÖu cña hÖ thèng cµI ®Æt IPSEC_SUN (Víi c¸c m¸y cã cÊu h×nh thÊp) Qua biÓu ®Æt IPSEC_SUN g êng hîp nµy thêi ¶ng 2,8 lÇn. Chón truyÒn d÷ liÖu m· trong s¬ ® 4.2.2 So s¸nh vµ FreeS/WA Do c¸c p IDEA, nªn ® FreeS/WAN ® m« ®un m· k trong h×nh 4.1 tr−êng hîp kh ®å trªn chóng ta thÊy r»ng khi cÊu h×nh m¸y thÊp, viÖc cµI ©y ¶nh h−ëng ®¸ng kÓ ®Õn thêi gian truyÒn d÷ liÖu. Trong tr− gian truyÒn d÷ liÖu khi chÆn b¾t vµ m· ho¸ gãi IP sÏ t¨ng kho g ta còng l−u ý r»ng ngay c¶ khi kh«ng ch¹y IPSEC_SUN thêi gian trong tr−êng hîp nµy ®· gÊp ®«I thêi gian truyÒn d÷ liÖu khi kh«ng å. thêi gian truyÒn d÷ liÖu gi÷a hai hÖ thèng dïng IPSEC_SUN N hiªn b¶n hiÖn t¹i cña FreeS/WAN kh«ng cµI ®Æt kü thuËt m· khèi Ó so s¸nh sù ¶nh h−ëng cña hai phÇn mÒm IPSEC_SUN vµ Õn tèc ®é truyÒn d÷ liÖu cña m¹ng, chóng t«I ®· cµI ®Æt bæ xung hèi IDEA vµo bé phÇn mÒm FreeS/WAN. Víi m« h×nh m¹ng nh− 1, chóng t«I ®· kh¶o s¸t thêi gian vµ tèc ®é truyÒn d÷ liÖu trong hai «ng m· vµ m· dïng FreeS/WAN víi kü thuËt m· khèi IDEA. 87 KÝch th−íc Thêi gian truyÒn (s) Tû lÖ % Kh«ng m· FreeS/WAN (IDEA) cña tèc ®é 512K 0.65 0.737 Tèc ®é 788 695 88% 1 MB 1.48 1.48 Tèc ®é 692 692 100% 6 MB 9.43 9.65 Tèc ®é 652 637 98% 15 MB 23.8 24.6 Tèc ®é 645 624 96% Tû lÖ % trung b×nh cña tèc ®é 95.5 % B¶ng trªn chØ ra thêi gian (s) vµ tèc ®é (Kbytes/s) truyÒn c¸c file d÷ liÖu cã kÝch th−íc 512KB, 1MB, 6 MB vµ 15 MB tõ client 1 ®Õn client 2 trong hai tr−êng hîp ch¹y vµ kh«ng ch¹y FreeS/WAN víi m· khèi IDEA. H×nh 4.15 lµ biÓu ®å vÒ thêi gian truyÒn d÷ liÖu cña hÖ thèng cµI ®Æt FreeS/WAN víi m· khèi IDEA 0 5 10 15 20 25 1:512K 2:1MB 3:6MB 4:15MB 0.65 1.4 9.43 23.8 0.737 1.48 9.65 24.6 1 2 3 4 Kh«ng m· FreeS/WAN - IDEA 88 H×nh 4.15: BiÓu ®å vÒ thêi gian truyÒn d÷ liÖu cña hÖ thèng dïng FreeS/WAN víi m· khèi IDEA Tõ c¸c sè liÖu trªn, chóng ta nhËn xÐt r»ng, còng nh− IPSEC_SUN, víi cÊu h×nh m¸y m¹nh nh− trong h×nh 4.11, phÇn mÒm FreeS/WAN kh«ng ¶nh h−ëng ®¸ng kÓ ®Õn tèc ®é truyÒn d÷ liÖu. Víi c¸c m¸y cã cÊu h×nh thÊp, thêi gian truyÒn d÷ liÖu khi ch¹y FreeS/WAN còng sÏ t¨ng kho¶ng 2,85 lÇn so víi thêi gian truyÒn d÷ liÖu khi kh«ng can thiÖp mËt m·. B¶ng d−íi ®©y tæng hîp c¸c sè liÖu vÒ tèc ®é vµ thêi gian truyÒn c¸c file d÷ liÖu cña c¸c hÖ thèng m¹ng khi kh«ng ch¹y vµ khi ch¹y IPSEC_SUN vµ FreeS/WAN víi cïng m· khèi IDEA. KÝch th−íc IPSEC_SUN - IDEA FreeS/WAN – IDEA M· Kh«ng m· Tû lÖ tèc ®é M· Kh«ng m· Tû lÖ tèc ®é 512K 0.646 (793) 0.59 (868) 91% 0.737 (695) 0.65 (788) 88% 1 MB 1.28 (800) 1.22 (839) 95% 1.48 (692) 1.48 (692) 100% 6 MB 8.44 (728) 8.28 (742) 98% 9.65 (637) 9.43 (652) 98% 15 MB 23.4 (656) 22.6 (680) 96% 24.6 (624) 23.8 (645) 96% Tû lÖ tèc ®é ( trung b×nh ) 95 % Tû lÖ tèc ®é ( trung b×nh ) 95.5% Chóng ta thÊy r»ng thêi gian truyÒn d÷ liÖu cña hai hÖ thèng khi can thiÖp mËt m· t¨ng kh«ng ®¸ng kÓ so víi thêi gian truyÒn d÷ liÖu khi kh«ng can thiÖp mËt m·. TÝnh trung b×nh, tû lÖ cña tèc ®é truyÒn d÷ liÖu khi m· vµ kh«ng m· b»ng 95% ®èi víi IPSEC_SUN vµ b»ng 95,5 % khi ch¹y FreeS/WAN. Tõ c¸c sè liÖu kh¶o s¸t, chóng ta thÊy r»ng thêi gian trÔ cña gãi IP do qu¸ tr×nh chÆn b¾t vµ m· ho¸ phô thuéc vµo c¸c yÕu tè sau: CÊu h×nh m¸y: CÊu h×nh m¸y cµng m¹nh th× thêi gian m· ho¸ gãi IP cµng Ýt. ThuËt to¸n m· khèi: Trong c¸c thuËt to¸n m· khèi th«ng dông hiÖn nay lµ DES, IDEA vµ Blowfish th× thuËt to¸n Blowfish cã tèc ®é tÝnh to¸n nhanh nhÊt C¸c dÞch vôan toµn ®−îc cµI ®Æt VÒ mÆt lý thuyÕt ta thÊy r»ng, viÖc m· ho¸ toµn bé ph©n ®o¹n tÇng vËn t¶I (bao gåm TCP/UDP header vµ d÷ liÖu øng dông) sÏ nhanh h¬n nÕu ta chØ m· d÷ liÖu øng dông. 89 KÕt luËn B¶o vÖ gãi IP b»ng kü thuËt mËt m· lµ mét h−íng nghiªn cøu cã nhiÒu triÓn väng vµ cã ý nghÜa thùc tiÔn cao. Gi¶i ph¸p ®−îc giíi thiÖu trong phÇn nµy cã thÓ ¸p dông cho c¸c m¹ng sö dông c¸c hÖ ®IÒu hµnh thuéc hä UNIX cã hç trî c¬ chÕ STREAMS vµ kh«ng cÇn m· nguån më. ThiÕt kÕ cña hÖ thèng lµ më vµ cho phÐp chóng ta dÔ dµng thay ®æi c¸c m«®un mËt m· vµ c¸c giao thøc qu¶n lý kho¸. Chóng ta cã thÓ hoµn thiÖn bé phÇn mÒm IPSEC_SUN theo m« h×nh cña IPSEC b»ng c¸ch chÌn header x¸c thùc, ph©n phèi kho¸ theo tõng cÆp Gateway hoÆc x©y dùng Firewall cã chøc n¨ng mËt m·. 90 Tµi liÖu tham kh¶o TiÕng ViÖt 1. §Æng Vò S¬n (2000), Nghiªn cøu b¶o vÖ d÷ liÖu ë tÇng IP cho c¸c m¹ng m¸y tÝnh sö dông hÖ ®iÒu hµnh UNIX, B¸o c¸o ®Ò tµi cÊp bé - Ban C¬ yÕu ChÝnh phñ. 2. NguyÔn H÷u Giao, Vò Quèc Kh¸nh, §Æng Vò S¬n (2001), ”VÒ mét giao thøc ph©n phèi kho¸ phiªn trong bé phÇn mÒm b¶o vÖ gãi IP trªn Solaris”, Giíi thiÖu c¸c kÕt qu¶ nghiªn cøu cña Häc viÖn kü thuËt mËt m· - N¨m 1999-2000, tr. 155-162, Häc viÖn Kü thuËt MËt m· (KTMM), Ban C¬ yÕu chÝnh phñ. TiÕng Anh 1. Arto Pulkki (1996), The IP Security Architecture, Department of Physis Helsinki University of technology. 2. Bill Rieken, Lyle Weiman (1992), Adventures in Unix Network Applications Programming, John Wiley & Sons, Inc. , Canada. 3. D.R. Stinson (1995), Cryptography: Theory and Practice, CRC Press, Inc., USA. 4. David A.Curry (1992), UNIX System Security, Addition-Wesley Publishing company, INC., USA. 5. D. Harkins, D. Carrel, (1998), “The Internet Key Exchange (IKE)”, RFC 2409. 6. D.W. Davies and W.L. Price (1989), Security for Computer Networks - Second Edition, John Wiley & Sons Ltd, USA. 7. D. Harkins, D. Carrel ( 1998), “The Internet Key Exchange (IKE)”, RFC 2049. 8. D. Brent Chapman and Elizabeth D.Zwicky (1995), Building Internet Firewalls, O’Reilly & Associates, Inc., USA. 9. D. Maughan, M. Schertler, M. Schneider, J. Turner (1998) ‘Internet Security Association and Key Management Protocol (ISAKMP)’, RFC2408. 10. Gary R.Wright, W. Richard Stevens (1995), TCP/IPIllustrated, Volume 2, Adddison-wesley publishing company, USA. 91 11.George Pajari (1992), Writing unix device drivers, Addison-Wesley Publishing Company, Inc., Canada. 12. Janice Winsor (1993), Solaris System Administrator’s Guide, Ziff-Davis Press, USA. 13. John R. Vacca (1996), Internet Security Secrets, IDC books Worldwide, Inc. USA. 14. John Hughes (1998), Implementation and application of virtual private networks, Trusted information systems, England. 15.Marcus Goncalves (1998), Firewalls complete, McGraw-Hill, USA. 16. Randall Atkinson (1995), “Security Architecture for Internet Protocol”, RFC 1825. 17. Randall Atkinson (1995), “IP Authentication Header “, RFC 1826. 18. Sean Boran (2001), “Hardening Solaris - Security installing a firewall bastion host”, 19. Sun Microsystems, Inc. (1995), Streams Programming Guide, USA. 20. Sun Microsystems, Inc. (1995), Writing Device Drivers, USA. 21. SUN(2002) , “Solaris Security Guide”, 22. William Caelli, Dennis Longley, Michael Shain (1994), Information Security Handbook, Macmillan Press Ltd., Great Britain. 23. William Stallings, Ph.D. (1995) Network and internetwork security - Principles and Practice, Prentice -Hall, Inc., USA. 24. William Stallings Ph.D. (1999), Cryprography and Network security: Principles and Practice - Second edition, Prentice -Hall, Inc.,USA. 25. 92

Các file đính kèm theo tài liệu này:

  • pdf543310.pdf