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ã.
98 trang |
Chia sẻ: maiphuongtl | Lượt xem: 1850 | Lượt tải: 0
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:
- 543310.pdf