Tải bản đầy đủ (.pdf) (13 trang)

Tấn công lỗ đen và giải pháp chống lại tấn công lỗ đen trong mạng không dây Mesh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.01 MB, 13 trang )

JOURNAL OF SCIENCE OF HNUE

FIT., 2011, Vol. 56, pp. 124-136

TẤN CÔNG LỖ ĐEN VÀ GIẢI PHÁP CHỐNG LẠI TẤN CÔNG
LỖ ĐEN TRONG MẠNG KHÔNG DÂY MESH

Bùi Hải Bằng
Trường Cao đẳng Nghề Giao thông vận tải Trung ương I

Kiều Tuấn Dũng(∗) , Đỗ Như Long

Khoa Công nghệ thông tin, trường Đại học Sư phạm Hà Nội

Vũ Xuân Bảo

(∗)

Văn phòng Bộ Y Tế
E-mail:

Tóm tắt. Mạng không dây Mesh (Wireless Mesh Network – WMN) là mạng
multi-hop không dây trong đó các điểm truy cập giao tiếp với nhau thông
qua kết nối không dây với chi phí thấp. Trong những năm gần đây, nhiều
nghiên cứu về WMN đã được thực hiện. Tuy nhiên, an ninh trên mạng nói
chung và trên WMN nói riêng là vấn đề rất quan trọng cần phải quan tâm
một cách đúng mức vì nó ảnh hưởng đến hiệu suất mạng. Trong bài báo
này, chúng tôi tập trung giải quyết một vấn đề cụ thể về việc đảm bảo an
ninh trong WMN bằng việc mô tả một dạng tấn công trong mạng WMN
nói riêng và các mạng không dây nói chung là tấn công lỗ đen (blackhole
attack) từ đó tìm hiểu giải pháp chống lại tấn công dạng này. Việc thực hiện


mô phỏng tấn công lỗ đen và giải pháp ngăn chặn được thực hiện trên bộ
mô phỏng mạng NS-2 với các kịch bản khác nhau nhằm phân tích một cách
chính xác nhất kết quả thực hiện mô phỏng. Các kết quả mô phỏng được
phân tích đánh giá để làm rõ hơn hiệu quả của đề xuất đồng thời chỉ ra các
tồn tại cần khắc phục của đề xuất đã nêu.

1.

Mở đầu

Cùng với sự phát triển nhanh chóng của nhiều mạng không dây khác nhau,
công nghệ WMN đã nổi lên như là một trong những công nghệ tiên tiến nhất và có
thể được xem là công nghệ của tương lai. Trong WMN, cùng với việc hoạt động như
một thiết bị thông thường, các nút cũng đồng thời hoạt động như một router và
chuyển tiếp gói tin đến các nút khác trong mạng khi đường truyền được thiết lập [5].
Tương tự như các mạng Ad-hoc, WMN sử dụng các giao thức định tuyến như AODV
124


Tấn công lỗ đen và giải pháp chống lại tấn công lỗ đen...

(Ad-hoc On-Demand Distance Vector) hoặc DSR (Dynamic Source Routing),. . . để
làm giao thức truyền dẫn.
Do tính chất truyền thông quảng bá của truyền dẫn và sự phụ thuộc vào các
nút trung gian trong định tuyến lưu lượng người sử dụng của WMN dẫn đến các lỗ
hổng bảo mật làm cho WMN rất dễ bị tấn công dưới nhiều dạng khác nhau. Các
tấn công có thể từ bên ngoài hoặc từ bên trong mạng dẫn đến hậu quả làm giảm
hiệu suất của mạng.
Tấn công lỗ đen (blackhole attack) là một kiểu tấn công dẫn đến việc từ chối
dịch vụ. Tấn công này cũng khai thác cơ chế khám phá tuyến đường của các giao

thức định tuyến theo yêu cầu (AODV). Trong tấn công lỗ đen, nút độc hại luôn
luôn trả lời một cách tích cực với các thông báo yêu cầu định tuyến mặc dù có thể
đó không phải là một lộ trình hợp lệ đển đến đích. Vì nút độc hại không cần kiểm
tra các đầu vào của đường định tuyến, nó luôn luôn là nút đầu tiên trả lời thông
báo yêu cầu định tuyến. Do đó, hầu như tất cả lưu lượng trong phạm vi vùng lân
cận nút độc hại sẽ có hướng đi và hướng về nút độc hại, nó có thể loại bỏ tất cả các
gói dữ liệu dẫn đến việc từ chối dịch vụ [2].
Trong bài báo này, chúng tôi tập trung mô phỏng tấn công lỗ đen trong WMN
và đánh giá ảnh hưởng của nó đối với hiệu suất mạng. Bằng việc cài đặt thêm giao
thức với hành vi lỗ đen, các mô phỏng thực hiện đánh giá trên các topo mạng khác
nhau để chỉ ra được ảnh hưởng của các nút có hành vi lỗ đen lên mạng. Từ việc
thông lượng mạng bị xấu đi khi có sự tham gia của các nút mạng có hành vi lỗ đen,
chúng tôi đề xuất thực hiện giải pháp sửa đổi hoạt động của giao thức AODV để
chống lại tấn công dạng này bằng cách bỏ qua tuyến đường thiết lập đầu tiên trong
mạng. Cả hai giao thức hành vi lỗ đen và giao thức chống lại hành vi lỗ đen đều
được cài đặt và mô phỏng trên bộ mô phỏng NS-2. Bằng việc thực hiện giao thức
AODV và giao thức AODV đã sửa đổi khi không có và có tấn công lỗ đen, chúng
tôi đưa ra đánh giá về ảnh hưởng của các giao thức mới này trên mạng.

2.
2.1.

Nội dung nghiên cứu
Mạng không dây Mesh

WMN đang được coi là công nghệ chủ chốt cho thế hệ mạng không dây hiện
tại về việc cung cấp nhanh chóng các dịch vụ miễn phí cho người dùng. Các nút
trong WMN bao gồm các bộ định tuyến lưới (mesh router) và những người dùng
lưới (mesh client). Mỗi nút hoạt động không chỉ là một máy chủ mà còn là một
router, chuyển tiếp các gói dữ liệu thay cho các nút khác có thể không trực tiếp nằm

trong phạm vi truyền dữ liệu không dây.
Khả năng kết nối giữa các nút trong WMN là tự động thiết lập và duy trì
125


Bùi Hải Bằng, Kiều Tuấn Dũng, Đỗ Như Long và Vũ Xuân Bảo

giữa các nút tham gia vào mạng khiến cho WMN trở nên năng động hơn và có thể
tự tổ chức cũng như tự cấu hình. Đặc điểm này mang lại rất nhiều lợi thế như chi
phí lắp đặt và bảo trì thấp cùng với các dịch vụ chắc chắn và đáng tin cậy [5].
Trên lý thuyết, có nhiều giao thức định tuyến được đề xuất cho WMN [6].
Do WMN là mạng multi-hop nên các giao thức thiết kế cho mạng Ad-hoc cũng làm
việc tốt trên mạng WMN. Mục tiêu chính của các giao thức này là nhanh chóng
thích ứng với sự thay đổi đường đi khi đường đi bị gián đoạn bởi sự di chuyển của
các nút. Những triển khai hiện tại cho mạng WMN cũng sử dụng các giao thức
dùng cho mạng Ad-hoc như AODV (Ad hoc On-Demand Distance Vector), DSR
(Dynamic Source Routing) và TBRPF (Topology Broadcast based on Reverse Path
Forwarding),. . . Tuy nhiên, trong WMN, các bộ định tuyến lưới rất ít di chuyển và
không có sự ràng buộc về năng lượng, trong khi người sủ dụng thì cơ động và giới
hạn về năng lượng. Sự khác biệt này cần được xem xét để phát triển các giao thức
một cách hiệu quả khi áp dụng cho WMN. Khi những liên kết trong WMN tồn tại
lâu, việc tìm ra một con đường tin cậy và có thông lượng cao là vấn đề quan tâm
chính hơn là việc thích ứng nhanh chóng với lỗi đường truyền như ở trường hợp các
mạng Ad-hoc.

2.2.

Giao thức AODV [4]

AODV là một giao thức định tuyến theo yêu cầu cho mạng Ad-hoc di động.

Mặc dù ban đầu được thiết kế cho mạng Ad-hoc nhưng hiện nay giao thức này đã
được sử dụng cho cả WMN. AODV cho phép các thiết bị không dây có thể trao đổi
dữ liệu bằng cách truyền lại các gói dữ liệu thông quá các nút lân cận của chúng
nếu chúng không thể trực tiếp liên lạc được với nút đích. Lưu lượng dữ liệu được
chuyển đến đích với sự trợ giúp của các thiết bị trung gian có hỗ trợ quá trình định
tuyến.
Để hoạt động, AODV định nghĩa 4 loại thông báo điều khiển, mỗi một loại
mang thông tin định tuyến cho một vai trò cụ thể:
- RREQ (Yêu cầu định tuyến): yêu cầu được phát quảng bá để khám phá
tuyến đường đến đích khi không có tuyến đường nào được xác định. Nó bao gồm
thông tin về nút nguồn, nút đích, thời gian sống của gói tin IP; một định danh duy
nhất kết hợp với địa chỉ của người gửi nhằm phát hiện, tránh các vòng lặp và để
phân biệt các bản RREQ tràn ngập trên mạng.
- RREP (Trả lời định tuyến): câu trả lời được sinh ra bởi nút đích hoặc bất
kỳ một nút trung gian với tuyến đường được cập nhật đến đích như là một câu trả
lời cho thông báo yêu cầu định tuyến.
- RERR (Lỗi định tuyến): thông báo lỗi được phát quảng bá để thông báo
điểm đến không thể truy cập được. Khi một nút nhận được thông báo lỗi, nó gỡ bỏ
126


Tấn công lỗ đen và giải pháp chống lại tấn công lỗ đen...

tất cả các tuyến đường đã đề cập đến nút này trong bảng định tuyến của mình. Sau
đó nó tiếp tục lan truyền tin nhắn này đến những nút trước nó là nút lân cận đã
chuyển tiếp thông báo yêu cầu định tuyến cho nút đã cho.
- RREP ACK (Xác nhận trả lời định tuyến): là một thông báo không bắt
buộc, nó được sinh ra chỉ khi có một yêu cầu rõ ràng cho sự thừa nhận được tạo ra
bởi thông báo yêu trả lời định tuyến.
Thông báo AODV được nhúng số tuần tự (Sequence numbers). Những số này

được sử dụng bởi các nút cho trước để đánh giá độ “tươi” của thông tin duy trì cục
bộ về các nút lân cận của nó. Mỗi nút lưu một số tuần tự của các nút mà nó giao
tiếp. Số càng cao thì các thông tin liên quan đến nó càng mới. Sau khi nhận thông
báo điều khiển, số tuần tự được đóng gói trong gói tin được so sánh với số tuần tự
cuối cùng nút nhận đang lưu trữ về nút truyền tải và quá trình cập nhật xảy ra chỉ
khi nếu số nhận được lớn hơn số đang được lưu trữ. Điều kiện này đảm bảo rằng
đường truyền mới nhất được lựa chọn, và cũng đảm bảo không bị lặp vòng.

2.3.

Tấn công lỗ đen

Tấn công lỗ đen (blackhole attack) là một kiểu tấn công dẫn đến việc từ chối
dịch vụ trong mạng. Tấn công này khai thác cơ chế khám phá tuyến đường của các
giao thức định tuyến theo yêu cầu. Trong tấn công lỗ đen, nút độc hại luôn luôn trả
lời một cách tích cực với các thông báo yêu cầu định tuyến mặc dù có thể đó không
phải là một lộ trình hợp lệ để đến đích. Vì nút độc hại không cần kiểm tra các đầu
vào của đường định tuyến, nó luôn luôn là nút đầu tiên trả lời thông báo yêu cầu
định tuyến. Do đó, hầu như tất cả lưu lượng trong phạm vi vùng lân cận nút độc
hại sẽ có hướng đi và hướng về nút độc hại, nó có thể loại bỏ tất cả các gói dữ liệu
dẫn đến việc từ chối dịch vụ. Một hình thức phức tạp hơn của loại tấn công này là
tấn công lỗ đen kết hợp khi mà nhiều nút độc hại thông đồng với nhau, dẫn đến
việc phá vỡ hoàn toàn chức năng định tuyến và chuyển tiếp gói tin trên mạng [2, 3].
Trong một mạng không dây sử dụng giao thức AODV, một nút lỗ đen hấp
thụ lưu lượng và bỏ tất cả các gói tin. Khi nút nguồn phát tán thông báo yêu cầu
định tuyến với nút đích, nút lỗ đen lập tức trả lời nút nguồn với thông báo RREP
bao gồm số tuần tự lớn nhất của nút đích như thể nó được đến từ nút đích. Nút
nguồn cho rằng nút đích đứng ngay sau nút lỗ đen với khoảng cách 1 chặng và từ
chối thông gói tin RREP đến từ các nút khác. Sau đó, nút nguồn bắt đầu gửi dữ
liệu đến nút lỗ đen và tin rằng dữ liệu này sẽ được chuyển đến nút đích nhưng nút

lỗ đen sẽ loại bỏ tất cả các gói dữ liệu chuyển đến.
Trong một cuộc tấn công lỗ đen, nếu dữ liệu gửi đi là các gói TCP thì sau
một thời gian, nút gửi sẽ nhận ra rằng có lỗi đường truyền vì nút nhận được không
gửi các gói tin RREP ACK. Do đó nó sẽ hủy đường định tuyến và tiếp tục phát đi
127


Bùi Hải Bằng, Kiều Tuấn Dũng, Đỗ Như Long và Vũ Xuân Bảo

các gói RREQ mới để tìm kiếm tuyến đường khác đến nút đích và việc tấn công lỗ
đen phải bắt đầu lại. Tuy nhiên, nếu dữ liệu gửi đi các gói dữ liệu UDP thì việc tấn
công sẽ khó phát hiện được bởi vì các kết nối dữ liệu UDP không chờ đợi để nhận
các gói RREP ACK từ nút đích [3].
Trong khuôn khổ bài báo này, chúng tôi sử dụng gói tin UDP trong các kịch
bản mô phỏng của mình nhằm thể hiện rõ ảnh hưởng của tấn công lỗ đen lên các
mạng WMN.

2.4.

Cài đặt và mô phỏng tấn công lỗ đen trong chương trình
NS-2

Để đánh giá sự ảnh hưởng của tấn công lỗ đen đến các mạng không dây, chúng
tôi sử dụng chương trình mô phỏng NS-2.34 [1, 7]. Một giao thức được thiết kế để
mô phỏng việc thực hiện tấn công lỗ đen. Giao thức này sử dụng các nút có biểu
hiện hành vi lỗ đen trong mạng không dây sử dụng giao thức AODV.
Khi các nút hoạt động như một lỗ đen, chúng sẽ sử dụng một giao thức định
tuyến mới có thể tham gia vào thông báo AODV. Khi một gói tin nhận được thông
báo, nó xử lý các gói tin dựa vào dạng của nó. Nếu gói tin nhận được là gói dữ liệu,
thông thường giao thức AODV sẽ gửi nó đến địa chỉ đích, nhưng nếu là hoạt động

lỗ đen, nó sẽ bỏ gói tin dữ liệu miễn là gói tin không truyền đến chính nó.
Giao thức tấn công lỗ đen blackholeAODV được cài đặt vào NS-2.34 tương tự
như giao thức AODV nhưng có một số thay đổi như sau [3]:
- Thay đổi hàm nhận sao cho nó sẽ bỏ gói tin dữ liệu miễn là gói tin không
truyền đến chính nó. Câu lệnh dưới đây mô tả nếu nút đích là chính nó thì nó sẽ
nhận gói tin, ngược lại, nó loại bỏ tất cả các gói tin còn lại:
if ((u_int32_t)ih → saddr() == index)
forward((blackholeaodv_rt_entry*) 0, p, NO_DELAY);
else
drop(p, DROP_RTR_ROUTE_LOOP);
exit(1);
- Thay đổi thông báo RREP: Khi nút độc hại nhận được một gói tin RREQ,
ngay lập tức nó gửi thông báo RREP như là nó đã có đường đến đích. Nút độc hại
cố gắng đánh lừa nút gửi bằng gói RREP. Số tuần tự lớn nhất của giao thức AODV
là 4294967295 với giá trị số nguyên 32 bít. Số tuần tự được đặt là 4294967295 và số
đếm hop được đặt là 1. Thông báo RREP giả trong tấn công lỗ đen được thể hiện
như sau:
128


Tấn công lỗ đen và giải pháp chống lại tấn công lỗ đen...

sendReply(rq → rq_src,
Destination
1,
index,
4294967295,
MY_ROUTE_TIMEOUT,
rq → rq_timestamp);


// IP
// Hop Count
// Dest IP Address
// Highest Dest Sequence Num
// Lifetime
// timestamp

Để kiểm tra tính đúng đắn của giao thức có hành vi lỗ đen đã được cài vào
chương trình NS-2.34, chúng tôi xây dựng một kịch bản kiểm tra với các thông số
mô phỏng như sau: Kịch bản tạo ra một mạng nhỏ gồm 7 nút di động (đánh số từ 2
đến 8), 1 nút có dây (Nút 0) và 1 nút Base Station (Nút 1), trong đó nút có dây kết
nối với nút Base Station qua một kết nối có dây. Mô phỏng tạo ra kết nối UDP giữa
nút Base Station và Nút 3, gắn vào nguồn CBR (Constant Bit Rate) để sinh ra các
gói tin không đổi cho kết nối UDP. Kích thước gói tin CBR là 512, tốc độ dữ liệu
là 512Kb. Trong khoảng thời gian 20 giây, nguồn CBR bắt đầu truyền vào khoảng
thời gian 1 giây và tiếp tục truyền đến hết thời gian mô phỏng. Trong một không
gian phẳng 500m × 500m, vị trí của các nút được đặt thích hợp để hiển thị dòng
dữ liệu và mô phỏng thể hiện sự di chuyển của Nút 6 để chỉ ra sự thay đổi dòng dữ
liệu trong mạng. Khi không có nút nào có hành vi lỗ đen, dữ liệu được truyền đi
theo đúng yêu cầu của giao thức AODV.

Hình 1. Dữ liệu truyền từ Base station đến Nút 3
bằng giao thức AODV khi Nút 6 di chuyển
Tuy nhiên, khi Nút 2 được cài đặt hành vi lỗ đen, nó hấp thụ tất cả lưu lượng
truyền từ nút nguồn và loại bỏ các gói dữ liệu này.
129


Bùi Hải Bằng, Kiều Tuấn Dũng, Đỗ Như Long và Vũ Xuân Bảo


Hình 2. Nút 2 (nút Black hole) hấp thụ kết nối từ Base station đến Nút 3

2.5.
2.5.1.

Giải pháp chống lại tấn công lỗ đen và hiệu quả của nó
Ý tưởng thực hiện và cài đặt giao thức

Khi nút Black hole gửi thông báo RREP không cần kiểm tra bảng định tuyến,
chúng tôi giả định rằng nhiều khả năng thông báo RREP đầu tiên sẽ đến từ nút Black
hole. Khi kiểm tra tệp vết (trace file) của mô phỏng trong đó có 1 nút blackhole,
chúng tôi nhận thấy một thời gian sau khi thông báo RREP thứ nhất (thông báo
của nút Backhole) đến nút nguồn thì thông báo RREP thứ hai đến nút nguồn là
thông báo của nút đích thực sự. Do vậy, ý tưởng xây dựng một giao thức mới chống
lại hành động lỗ đen là thay đổi hàm nhận thông báo RREP bỏ qua thông báo
RREP đầu tiên và sử dụng thông báo RREP thứ hai [3].
Giao thức chống lại tấn công lỗ đen idsAODV được cài đặt vào NS-2.34 tương
tự như giao thức AODV và giao thức tấn công lỗ đen blackholeAODV. Tuy nhiên,
để thực hiện giải pháp cho giao thức này, chúng tôi thay đổi hàm nhận RREP
(recvReply) và tạo ra cơ chế đệm cho RREP để đếm thông báo RREP thứ hai.
Trong hàm “recvReply”, đầu tiên ta kiểm soát nếu thông báo RREP đến chính
nó. Nếu đúng, hàm sẽ tìm kiếm thông báo RREP nếu nó tồn tại; nếu không, nó
chèn thông báo RREP cho địa chỉ đích của nó và trả về hàm. Nếu thông báo RREP
được lưu trữ trước đó có cùng địa chỉ đích, hàm RREP thông thường được thực
hiện. Sau đó, nếu thông báo RREP không dành cho chính nó, nút sẽ chuyển tiếp
thông báo đến nút lân cận thích hợp. Đoạn mã sau đây thể hiện cách hàm nhận
thông báo RREP của giao thức idsAODV thực hiện:

130



Tấn công lỗ đen và giải pháp chống lại tấn công lỗ đen...

idsAODV::recvReply(Packet *p) {
idsBroadcastRREP * r = rrep_lookup(rp->rp_dst);
if(ih → daddr() == index) {
if (r == NULL) {
count = 0;
rrep_insert(rp → rp_dst); }
else {
r → count ++;
count = r → count; }
CẬP NHẬT BẢNG ĐỊNH TUYẾN }
else {
Forward(p); }}

Hiệu quả của chống lại tấn công lỗ đen idsAODV được đánh giá dựa trên bộ
mô phỏng NS-2.34. Để thực hiện giải pháp cho giao thức chống lại hành vi lỗ đen,
chúng tôi thay đổi hàm nhận RREP và tạo ra cơ chế đệm cho RREP để đếm thông
báo RREP thứ hai. Giao thức này được thực hiện trên bộ mô phỏng NS-2.34 với
kịch bản 7 nút cố định và vị trí nút tương tự như kịch bản thử nghiệm trước đó.
Trong mô phỏng này, giao thức chống lại hành vi lỗ đen idsAODV được sử dụng
thay cho giao thức AODV áp dụng cho tất cả các nút không dây kể cả nút Base
station trừ nút Black hole (Nút 2). Khi mô phỏng được thực hiện, ta sẽ nhận thấy
nút gửi gửi thông báo đến nút nhận đúng cách.

Hình 3. Kết quả thực hiện giao thức chống lại tấn công lỗ đen
131



Bùi Hải Bằng, Kiều Tuấn Dũng, Đỗ Như Long và Vũ Xuân Bảo

2.5.2.

Đánh giá giao thức

Trên đây là một trong các ý tưởng nhằm chống lại hành vi lỗ đen tấn công vào
giao thức AODV trong mạng không dây nói chung và WMN nói riêng. Giải pháp
này giúp ngăn chặn hành vi lỗ đen trong một số trường hợp cụ thể. Tuy nhiên, trong
một số trường hợp, ý tưởng này không thực hiện được. Ví dụ, thông báo RREP thứ
hai có thể được tiếp nhận ở nút nguồn từ một nút trung gian nào đó mà thông tin
không đủ mới (fresh) về nút đích hoặc thông báo RREP thứ hai có thể là thông báo
đến từ nút blackhole nếu nút đích thực sự của nó gần nút nguồn hơn nút blackhole.
Do vậy, phương pháp này cố gắng tìm cách giảm thiểu hiệu ứng lỗ đen trong các
mạng AODV nếu nó làm giảm hiệu suất mạng.

2.6.

Mô phỏng thực nghiệm

Qua phần thử nghiệm hai giao thức blackholeAODV và giao thức idsAODV
ở phần trên cho thấy hai giao thức cài đặt thêm vào hoạt động đúng như mong
đợi. Tuy nhiên, với việc thực hiện trên một mạng WMN nhỏ với 7 nút cùng 1 Base
Station và các nút đặt ở những vị trí xác định trước sẽ không thể hiện rõ được ảnh
hưởng của tấn công lỗ đen lên WMN cũng như hiệu quả của giao thức phòng ngừa
tấn công lỗ đen trên các mạng này. Do đó, chúng tôi xây dựng một số mô phỏng
WMN với nhiều nút di động và nhiều trạm cơ sở hơn. Kịch bản cố gắng xây dựng
một mạng “thật” nhất qua đó đánh giá hiệu quả của các giao thức được cài đặt qua
tỉ lệ gửi và nhận gói tin đồng thời tính toán số lượng gói tin bị loại bỏ do tấn công
lỗ đen. Số lượng các nút có hành vi lỗ đen cũng được thay đổi nhằm thấy rõ hơn

ảnh hưởng của các tấn công lỗ đen vào mạng. Từ kết quả tính toán được, chúng tôi
đưa ra kết luận về ảnh hưởng của tấn công lỗ đen trên giao thức AODV sử dụng
cho WMN và hiệu quả của giao thức ngăn chặn tấn công lỗ đen khi thay cho giao
thức AODV trên các mạng này.
2.6.1.

Kịch bản mô phỏng

Kịch bản mô phỏng được thiết kế trên một không gian phẳng diện tích 1000m
× 1000m với 4 nút có dây nối với 4 nút không dây làm Base Station (BS). Các nút
này được đặt ở những vị trí xác định trong mạng. Ngoài ra có 50 nút (N) được tạo
ra với vị trí đặt tại các tọa độ khác nhau và chuyển động khác nhau với mục đích
mô phỏng các bộ định tuyến lưới và mesh client trong WMN.
Các kết nối được thiết lập giữa các nút nhằm mô phỏng sự truyền dữ liệu giữa
các nút trong WMN. Trong đó:
- 4 kết nối từ 4 Base Station đến các nút tương ứng từ 0 đến 3: BS0 → N(0);
BS1 → N(1); BS2 → N(2); BS3 → N(3). Các thực thể UDP được gắn vào các Base
Station và các thực thể NULL được gắn vào các nút từ 0 đến 3.
132


Tấn công lỗ đen và giải pháp chống lại tấn công lỗ đen...

- 21 kết nối giữa các nút với nhau từ nút 4 đến nút 45 trong đó các nút chẵn
gửi dữ liệu đến các nút lẻ có số ngay sau nó theo từng cặp tương ứng: N(4) → N(5);
N(6) → N(7); N(8) → N(9); . . . ; N(44) → N(45). Các thực thể UDP được gắn vào
các nút chẵn và các thực thể NULL được gắn vào các nút lẻ.
- 4 nút N(46), N(47), N(48), N(49) không kết nối với nút nào trong mạng. Các
nút này chỉ thực hiện chức năng chuyển tiếp dữ liệu khi mô phỏng mạng với các
giao thức AODV, giao thức chống lại tấn công lỗ đen (idsAODV) hoặc được cài đặt

giao thức lỗ đen (blackholeAODV) trong các tấn công lỗ đen. Số lượng các nút có
hành vi lỗ đen tăng dần từ 0 đến 4 đối với từng kịch bản mô phỏng.
- Nguồn CBR (Constant Bit Rate) được gắn vào các thực thể UDP để sinh
ra các gói lưu lượng không đổi. Thời lượng kết nối là 500s và nguồn CBR bắt đầu
từ giây thứ hai đến giây thứ 450. Thông số của nguồn CBR bao gồm: kích thước
gói tin: 512 bytes; Tốc độ truyền 10Kb (không sử dụng gói tin ngẫu nhiên trong mô
phỏng).
Tất cả các kết nối UDP luôn giống nhau giữa các nút. Trong từng kịch bản,
từng nút được đặt tại các tọa độ khác nhau và thực hiện các chuyển động khác
nhau. Điều này giúp cho việc đưa ra các kết quả khác nhau với vị trí nút và chuyển
động được sinh ra ngẫu nhiên bởi lệnh “./setdest” trong NS-2. Tốc độ di chuyển tối
đa của các nút là 10m/s trong khoảng thời gian 500s.

Hình 4. Một kịch bản mô phỏng
2.6.2.

Phân tích kết quả mô phỏng

Qua 5 kịch bản mô phỏng với việc tính toán tỷ lệ gói tin bị mất khi sử dụng
hai giao thức AODV và idsAODV có tấn công và không có tấn công lỗ đen với số
133


Bùi Hải Bằng, Kiều Tuấn Dũng, Đỗ Như Long và Vũ Xuân Bảo

lượng các nút tấn công lỗ đen tăng dần từ 0 đến 4, kết quả mô phỏng được thể hiện
như sau:
- Khi thực hiện tấn công lỗ đen trên mạng sử dụng giao thức AODV ta nhận
thấy tỉ lệ gói tin bị mất tăng lên rất nhiều (73% - 76%) so với khi không bị tấn công
lỗ đen. Điều này cũng cho thấy ảnh hưởng của tấn công lỗ đen đến kết nối của toàn

mạng và số lượng tấn công lỗ đen tăng thì tỉ lệ mất gói tin cũng tăng lên.
- Khi sử dụng giao thức idsAODV thay cho giao thức AODV, trên các kịch
bản tương tự, tỉ lệ mất gói tin khi có tấn công lỗ đen giảm xuống (54% - 64%). Tuy
nhiên trong trường hợp không có tấn công lỗ đen, tỉ lệ mất gói tin của idsAODV lại
cao hơn của AODV (≈ 6%).
Số
lượng
nút lỗ
đen

Bảng 1. Kết quả mô phỏng (kết quả trung bình)
Số lượng gói tin
Gửi
aodv
idsaodv

0

24275

24060

1

27413

27127

2


27516

27219

3

27539

27262

4

27550

27342

Nhận thành công
aodv
idsaodv
19017
17380
(78.34%) (72.24%)
1319
4888
(4.81%) (18.02%)
1345
3311
(4.89%) (12.17%)
974
2450

(3.54%) (8.99%)
668
2046
(2.43%) (7.48%)

Bị loại bỏ bởi nút lỗ đen
aodv
idsaodv
0
0
(0.00%)
(0.00%)
7864
5425
(28.69%) (20.00%)
10898
6031
(39.60%) (22.16%)
13473
6502
(48.92%) (23.85%)
14615
6749
(53.05%) (24.68%)

Từ bảng kết quả tính toán ở trên, ta dễ dàng nhận thấy khi không có tấn công
lỗ đen, việc áp dụng giao thức AODV hiệu quả hơn so với việc áp dụng giao thức
idsAODV. Điều này có được là do giao thức AODV áp dụng triệt để đường định
tuyến ngắn nhất dựa trên việc sử dụng thông báo RREP đầu tiên trong khi giao
thức idsAODV sử dụng thông báo RREP thứ hai nếu nó đến nằm trong khoảng

thời gian định trước. Tuy nhiên, khi có tấn công lỗ đen thì việc sử dụng giao thức
idsAODV thay cho giao thức AODV sẽ đem lại hiệu quả hơn nhiều do cơ chế sử dụng
thông báo RREP thứ hai. Do vậy, việc sử dụng giao thức nào trong từng trường
hợp cụ thể để đạt được hiệu quả cao nhất cho hiệu suất của mạng là vấn đề người
dùng cần cân nhắc và quyết định.
134


Tấn công lỗ đen và giải pháp chống lại tấn công lỗ đen...

3.

Kết luận

WMN đang nổi lên như là một công nghệ đầy hứa hẹn cho các công nghệ
mạng thế hệ tiếp theo với tính linh động, khả năng thích nghi cao và kiến trúc tự
cấu hình lại trong khi đưa các giải pháp hiệu quả về chi phí cho người cung cấp dịch
vụ. WMN có nhiều thuận lợi so với các mạng không dây khác trong việc cài đặt
đơn giản, năng lực của băng thông và khả năng kháng lỗi vốn có trong trường hợp
mạng bị lỗi. Triển khai WMN cũng khá đơn giản. Chúng cấu hình và tổ chức một
cách tự động với các nút có sẵn trong mạng, vì vậy, WMN mang lại vùng dịch vụ
tin cậy trong mạng. Trong tất cả các dạng mạng thì bảo mật là một trong những
nhân tố chính cho sự an toàn và tin cậy của việc truyền dữ liệu. Do tính chất của
truyền dẫn không dây và sự phụ thuộc vào các nút trung gian trong định tuyến lưu
lượng người dùng làm cho WMN rất dễ bị tấn công dưới nhiều dạng khác nhau.
Các tấn công có thể thực hiện từ bên ngoài cũng như từ bên trong mạng. Một số
lỗ hổng tồn tại trong các giao thức dùng cho WMN có thể bị lợi dụng bởi những kẻ
tấn công nhằm làm giảm hiệu suất của mạng trong đó tấn công lỗ đen là một ví dụ
điển hình.
Qua bài báo này, chúng tôi tập trung trình bày chi tiết một dạng tấn công

trong WMN là tấn công lỗ đen trên giao thức định tuyến AODV. Ngoài việc giải
thích cơ chế hoạt động của giao thức AODV và phương thức tấn công lỗ đen trên
giao thức AODV, phần thực nghiệm đã mô phỏng các tấn công này trên bộ mô
phỏng NS-2.34. Từ những đánh giá sự ảnh hưởng của tấn công lỗ đen trên giao
thức, chúng tôi đề xuất một phương pháp chống lại tấn công lỗ đen trên giao thức
AODV bằng cách tạo ra một giao thức mới dựa trên giao thức AODV gọi là giao
thức idsAODV. Bằng việc áp dụng giao thức này thay cho giao thức AODV và thực
hiện mô phỏng tấn công lỗ đen trên giao thức đã đề xuất, chúng tôi đã đánh giá
được hiệu quả của giao thức idsAODV trong việc chống lại các tấn công lỗ đen.
Tuy nhiên, giao thức đề xuất cũng không tránh khỏi một số hạn chế như việc áp
dụng giao thức idsAODV sẽ không hiệu quả hơn giao thức AODV trong trường hợp
không có tấn công lỗ đen hoặc tấn công lỗ đen không ảnh hưởng đến các nút đang
truyền dữ liệu. Do đó, việc áp dụng giao thức nào để đạt được hiệu quả tối ưu nhất
cho hiệu năng hoạt động của mạng vẫn còn phụ thuộc vào người dùng.
Từ những ưu điểm và hạn chế của giao thức đề xuất ở trên, hướng nghiên cứu
tiếp theo của của chúng tôi là nghiên cứu hoàn thiện giao thức đã đề xuất nhằm
nâng cao hiệu quả định tuyến chống lại tấn công trên trên giao thức AODV và các
giao thức khác đồng thời nghiên cứu, xây dựng, triển khai và đánh giá hiệu quả của
giao thức idsAODV trên các mạng thực.

135


Bùi Hải Bằng, Kiều Tuấn Dũng, Đỗ Như Long và Vũ Xuân Bảo

REFERENCES
[1] Nguyễn Đình Việt, 2009. Bài giảng đánh giá hiệu năng mạng máy tính. Trường
Đại học Công nghệ, Đại học Quốc gia Hà Nội.
[2] M. Al-Shurman, S. Yoo and S. Park, 2004. Blackhole attack in mobile ad
hoc networks. Proceedings of the 42nd Annual Southeast Regional Conference,

Huntsville, Alabama.
[3] Semih Dokurer, Y. M. Erten, Can Erkin Acar, 2007. Performance analysis of
ad-hoc networks under blackhole attacks, Southeast Con. Proceedings. IEEE.
[4] C. E. Perkins and E. M. Royer, 1999. Ad-Hoc On-Demand Distance Vector Routing. Proceedings of IEEE Workshop on Mobile Computing Systems and Applications.
[5] Mihail L. Sichitiu, 2006. Wireless Mesh Networks Challenges and Opportunities.
Electrical and Computer Eng. Dept.NC State University, Raleigh, NC, USA.
[6] Yan Zhang, Jun Zheng, Honglin Hu, 2008. Auerbach Security in Wireless Mesh
Networks. CRC Press, Auerbach Publications, Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton.
[7] />ABSTRACT
Blackhole attack and solutions against this type of attack
in wireless Mesh networks
Wireless Mesh networks (WMN) is a multi-hop wireless network which access
points of communicate with each other through a wireless connection at low cost. In
recent years, many studies about WMN have been done. However, network security
or WMN security in particular is a very important issue which needs special attention
because it affects network performance. In this paper, we focus on solving a specific
problem in ensuring security in WMN by describing a type of attack in WMN
particular and wireless networks in general is the blackhole attack, and then we learn
the solution against this type of attack. The implementation of the blackhole attack
simulation and the solution are implemented on the NS-2 network simulator with
various scenarios to analyze the most accurate performance result. The simulation
results are analyzed to better assess the effectiveness of proposed actions and indicate
the existence need to overcome the proposal.

136



×