Tấn công lƣu lƣợng mạng

Một phần của tài liệu Nghiên cứu và thử nghiệm các phương pháp phát hiện và ngăn chặn tấn công mạng (Trang 37)

Loại thứ ba này liên quan đến các cuộc tấn công nh m vào lưu lượng mạng RPL. Nó chủ yếu bao gồm các cuộc tấn công nghe trộm và s dụng sai. Như chúng ta có thể quan sát ở bảng 3, các cuộc tấn công nghe trộm có thể được thực hiện từ bên ngoài. Chúng thường được khai thác để truy cập vào mạng nội bộ. Đối với các dạng tấn công khác, những k tấn công phải là một node trong DODAG để thực hiện các cuộc tấn công s dụng sai. Ch có các cuộc tấn công nghe trộm là các cuộc tấn công thụ động. Tất cả các cuộc tấn công khác được thực hiện bởi việc tạo ra hoặc s a đổi các gói tin. Các cuộc tấn công thụ động là khá khó khăn để phát hiện, đặc biệt là trong các mạng RPL mà thường được hỗ trợ bởi các liên kết không dây. Không có điều kiện tiên quyết cho các cuộc tấn công về

37

lưu lượng mạng. Bảng 3 cũng mô tả các những hậu quả nguy hiểm mà những dạng tấn công này có thể gây ra đối với các mạng RPL. Hiệu quả của các cuộc tấn công nghe trộm sẽ phụ thuộc vào bản chất của dữ liệu mà chúng thu được. Ví dụ, với dữ liệu về thể trạng của các bệnh nhân trong các khu vực của mạng cảm biến y tế sẽ có t m quan trọng rất cao và phải đảm bảo bí mật tuyệt đối, trong khi các dữ liệu này sẽ có giá trị thấp hơn khi mục tiêu của nó là các mạng RPL ch đơn giản là để thu thập nhiệt độ thời tiết, độ m... Trong trường hợp của các cuộc tấn công s dụng sai, hậu quả được xác định bởi vị trí của các node độc hại hoặc node giả mạo. Thật vậy, khi node độc hại có rank càng thấp, nó càng g n node gốc do đó nó có khả năng ngăn chặn một lượng lớn lượng dữ liệu và cơ hội để tấn công mạng RPL là lớn hơn. Các thuộc tính tiếp theo sẽ được thảo luận là việc phân loại theo mô hình CIA. Tính bảo mật sẽ bị vi phạm bởi các cuộc tấn công nghe trộm khi mục tiêu của những k tấn công là để thu được trái phép thông tin về cấu hình mạng, nội dung gói tin được truyền đi. Do tính chất của các cuộc tấn công chiếm đoạt, gói tin sẽ bị ảnh hưởng toàn vẹn trong các trường hợp này. Cách duy nhất để ngăn chặn nghe trộm là s dụng mã hóa tuy nhiên trong mô hình bảo mật của tôi, tôi giả định r ng những k tấn công có thể phá vỡ mật mã do những hạn chế vật l của mạng RPL. Như đã đề cập trước đó, thậm chí nếu các cơ chế mã hóa được đưa ra như là một tiêu chu n, nó vẫn sẽ rất khó khăn để thực hiện chúng bởi vì các tính năng quan trọng như quản l khóa đã không được mô tả trong các tài liệu RFC. Hơn nữa, các thuật toán mật mã đã được biết đến chiếm rất nhiều bộ nhớ và rất nhiều chu kỳ CPU để tính toán, do đó ảnh hưởng đáng kể hiệu suất của các thiết bị mạng hạn chế về nguồn lực. Vì vậy việc triển khai RPL hiện tại, không

38

cho phép thực thi dưới một chế độ hoạt động an toàn. Hiện tại, không có giải pháp nào để ngăn chặn phân tích lưu lượng mạng. Tuy nhiên, các cuộc tấn công giảm rank đã được nghiên cứu rộng rãi bởi vì nó cũng được s dụng trong các cuộc tấn công hố trình bày trong mục 2.2 và đã có một số biện pháp được đề xuất.

Dạng tấn công I/E A/P Điều kiện

tiên quyết

Đối tượng CIA Biện pháp bảo vệ

Nghe tr m I/E P Dữ liệu

quan trọng C Mã hóa Phân tích lƣu lƣợng mạng I/E P Dữ liệu quan trọng C Tấn công giảm rank I A Rank của node I VeRA, TRAIL Xác thực rank, SVELTE Tấn công định danh I A Rank của node I

39

CHƢƠNG 3: CẢI TIẾN RPL, MÔ PHỎNG VÀ ĐÁNH GIÁ 3.1Thuật toán cải tiến RPL

Như đã biết, mạng 6LoWP N là một mạng tổn hao năng lượng thấp nên thời gian sống của mạng này sẽ phụ thuộc rất nhiều vào vòng đời của các node mạng vì ph n lớn những node mạng này đều hoạt động dựa trên một bộ pin có năng lượng hạn chế. Vì vậy năng lượng là một tài sản qu giá và là đối tượng chính của các cuộc tấn công. Như đã trình bày trong chương 2, g n như tất cả các dạng tấn công đều có ảnh hưởng đến năng lượng của các node trong mạng nhưng h u hết các phương pháp ngăn chặn đã được công bố đều chưa có một cơ chế nào để theo d i hay quản l và tối ưu hóa năng lượng. Đặc biệt là đối với dạng tấn công quá tải khi mà một số node bị tấn công trở thành node độc hại và nó sẽ tiến hành g i một lượng lớn các gói tin nh m đánh sập một node có vị trí quan trọng trong mạng. Vì vậy trong luận văn này tôi đề xuất xây dựng một hàm OF s dụng đồng thời 2 tham số ETX và Energy để hạn chế đến mức thấp nhất ảnh hưởng của các cuộc tấn công nh m làm cạn kiệt năng lượng đặc biệt là cuộc tấn công quá tải.

3.1.1 Objective Function dựa trên ETX và Energy

tưởng của hàm OF này dựa trên việc nhận thấy khi một node độc hại thực hiện tấn công quá tải nó sẽ g i một lượng lớn các thông điệp đi qua một node mạng nào đó. Khi một node phải chuyển tiếp một lượng lớn các gói tin nó sẽ nhanh chóng bị cạn kiệt năng lượng dẫn đến bị đánh sập. Vì vậy chúng ta sẽ muốn tránh việc xây dựng một tuyến đường cho một lưu lượng mạng quá lớn đi qua một node nào đó khi năng lượng của node đó xuống dưới một ngưỡng. B ng cách s dụng các số liệu định tuyến dựa trên mức năng lượng

40

tiêu thụ nó sẽ cho phép phân biệt giữa các node mạng chạy b ng pin hay những node có năng lượng mạnh mẽ, đồng thời các node có thể quảng bá được lượng năng lượng tiêu thụ trên thực tế của mình đến các node khác. Mặt khác như đã trình bày trong mục 1.3 một thông số định tuyến là một giá trị định lượng để biểu thị chi phí cho một con đường và giúp thực hiện chọn đường đi tốt nhất trong trường hợp có nhiều con đường có sẵn. Trong mạng RPL, nó là 1 giá trị để xác định đường đi tốt nhất dựa vào các hàm mục tiêu. Hiện nay RPL s dụng 2 thông số định tuyến dựa trên 2 hàm mục tiêu OF0 và ETX tương ứng là hop count và ETX. Ta cũng thấy r ng hàm OF s dụng số liệu định tuyến ETX sẽ tốt hơn s dụng hop count rất nhiều vì nó sẽ tăng t lệ nhận gói tin PDR, giảm delay và cải thiệu mức tiêu thụ năng lượng do giảm đến mức thấp nhất việc của việc truyền lại các gói tin và điều này đã được chứng minh thông qua thực nghiệm trong [3 . Tuy nhiên hàm OF s dụng ETX vẫn tồn tại một vài nhược điểm. Đó chính là việc quản l năng lượng của các node như đã nói ở trên. Nếu một mạng bị tấn công lưu lượng đi qua một vài node có trong mạng sẽ tăng đột biến khiến chúng phải tiêu tốn rất nhiều năng lượng để x l . Tuy nhiên với việc không có một cơ chế nào để đánh giá mức độ năng lượng còn lại của một node mạng thì với việc một node bị tấn công thì sẽ phải chịu một lưu lượng mạng đi qua càng lớn và do đó năng lượng tiêu thụ của nó sẽ cành nhanh và dẫn đế bị cạn kiệt và bị đánh sập. Nếu những node này bị đánh sập thì sẽ ảnh hưởng rất lớn đến topo của cả mạng do nó là những node ở vị trí chiến lược của mạng. Mạng sẽ phải tái cơ cấu lại toàn bộ khiến cho một lượng lớn dữ liệu bị mất và thêm một ph n

41

năng lượng của mạng bị tiêu thụ mất cho quá trình hội tụ lại mạng. Từ đó càng về sau tỷ lệ PDR của mạng sẽ càng giảm trong khi đột trễ sẽ bị tăng cao và cuối cùng vòng đời của mạng sẽ bị rút ngắn. Vì vậy nếu có một cơ chế để khi mức năng lượng của một node là xuống dưới một ngường nào đó thì các node khác sẽ không chọn node đó là cha nữa hay cơ chế giúp cân bẳng tải trong khi vẫn đảm bảo được tỷ lệ nhận gói tin và độ trễ là rất c n thiết để giảm thiểu ảnh hưởng của cuộc tấn công quá tải xuống mức thấp nhất. Vì vậy trong luận văn này tôi đề xuất xây dựng một hàm OF mới s dụng đồng thời hai thông số định tuyến là ETX và Energy của 1 node. B ng cách này, chúng tôi đảm bảo r ng một node sẽ không chết quá nhanh và chuyển bớt một ph n lưu lượng mạng không cho nó đi qua các nút này quá thường xuyên khi mức pin của node đó là thấp. Hàm OF mới này sẽ biểu hiện như sau:

- Một P-node (power node bắt buộc phải chọn P-node làm node cha mẹ ưa thích nếu trong tập các cha mẹ của nó tồn tại ít nhất một P-node.

- B-node (battery node có thể chọn P-node hoặc B-node làm cha mẹ ưa thích

- Tuyến đường được lựa chọn sẽ phải là tuyến đường có ETX nhỏ nhất và tránh dùng cạn năng lượng của node cha.

Yêu cầu giao thức

Để áp dụng cả hai ETX và Energy trong OF mới này, node sink sẽ phải thiết lập các thông số định tuyến trong D G Metric Container [12] một

42

cách thích hợp. Nó chứa hai đối tượng routing metric là link ETX và node Energy.

Như tôi đã trình bày trong mục 1.3 ETX được giới thiệu là một thông số đinh tuyến mới cho các mạng không dây ad-hoc, WSN. Nó giảm thiểu tổng số gói tin c n thiết phải truyền (bao gồm cả truyền lại để cung cấp thành công một gói tin đến đích cuối cùng của nó b ng các phép đo tỷ lệ mất gói tin theo cả hai hướng cho mỗi liên kết không dây. Các ETX của một liên kết được tính dựa trên tỷ lệ nhận gói tin theo hai hướng theo công thức sau:

Tỷ lệ giao nhận gói tin được dựa trên thăm dò link-layer. Mỗi một node phát sóng thông một điệp ngắn có chứa địa ch của nó, ở một t n số nhất định, đồng thời nó đếm số lượng tin nhắn như vậy nhận được từ mỗi một node hàng xóm trong khoảng thời gian Δt. B ng cách này, một node có thể tính toán tỷ lệ số gói tin nhận được trong thực tế trên số lượng gói tin dự kiến, từ đó chuyển thành df và dr.

Thông số định tuyến dựa trên việc ước lượng mức năng lượng của một node cho phép phân biệt các node dựa trên nguồn năng lượng của nó như s dụng pin, năng lượng tái chế, năng lượng điện.., đồng thời nó cho phép một node quảng bá năng lượng tiêu thụ trên thực tế của nó đến các node

43

láng giềng. Cũng giống như thông số Link ETX, Node energy cũng bao gồm một số đối tượng con như hình dưới đây:

Hình 5: Node Energy Object format [12]

Trong đó các trường quan trọng sẽ là Type flag (T , Estimation flag (E), trường dự toán năng lượng (E_E . Trường E ch được thiết lập khi có một dự toán năng lượng trong trường E_E. Trường E_E được lưu trữ bởi 8 bit nên sẽ cho độ chính xác khá nhỏ. Tuy nhiên ta phải xét đến các mạng tổn hao năng lượng thấp thường có băng thông rất nhỏ (250kbs).

{

[2]

Việc thiết lập một ước lượng năng lượng của một node dựa trên cách tính tổng năng lượng tiêu thụ EC của một node trong bốn trạng thái hoạt động của nó. Tổng năng lượng của một node khi nó được nạp đ y năng lượng là ET. Ta có công thức để tính tổng năng lượng tiêu thụ của một node như sau:

[2]

Bởi vì trường E_E ch bao gồm 8 bit, vì vậy chúng ta c n phải quy đổi ước lượng năng lượng còn lại của một node EE về khoảng 0 đến 255 theo công thức sau:

44

[2]

Tính toán path cost và rank

Khi một nút nhận được một DIO từ nút khác với một rank thấp hơn so với chính nó, ngay cả khi nó đã được kết nối với DOD G, nó phải tính toán lại và so sánh các chi phí đường đi qua tất cả các node cha mẹ của nó để có thể tìm ra được tuyến đường tốt nhất trong mạng. Công thức chung để tính path cost dựa trên hai thông số định tuyến Link ETX và Node energy là như sau:

{ [2]

tưởng chính là cộng thêm vào chi phí đường đi qua một node pin một giá trị b ng t lệ tiêu thụ pin của nó. Đối với việc tính rank, các giải pháp vẫn giống như trong hàm OF-ETX:

3.1.2 Thực thi hàm OF dựa trên ETX và Energy trong hệ điều hành Contiki Contiki

Trong Contiki, các mô-đun lớp mạng n m trong <Thư mục Contiki >\core\net. Việc thực hiện các RPL được mô hình hóa trong thư mục <Thư mục Contiki >\core\net\rpl.

Mỗi một file code C với sẽ đặc tả một ph n cụ thể của quá trình định tuyến: - rpl.c: khởi tạo của quá trình định tuyến, quản l các tuyến đường; - rpl-dag.c: tất cả các cơ chế c n thiết để xây dựng và duy trì một

45

- rpl-icmpv6.c: đ u vào và đ u ra của bản tin ICMPv6 (DIO, DAO, DIS, DAO ACK)

- rpl-timers.c: Bộ đình thời của bản tin DIO và DAO - rpl-of-etx-energy.c: thực hiện OF-ETX-ENERGY;

- rpl-conf.h: file chứa khai báo tĩnh của các h ng số được s dụng trong cấu hình RPL. Những giá trị này có thể được s a đổi tùy thuộc vào ứng dụng, kích thước của mạng và các đặc điểm khác có liên quan; - rpl.h: file chứa khai báo tĩnh các giá trị phụ thuộc vào các tiêu chu n

của giao thức RPL và các dự thảo liên quan

Quảng bá n ng lƣợng tiêu thụ của m t node

Như đã trình bày trong ph n 1.3 một nút sẽ g i một bản tin DIO khi: - Bộ định thời bản tin DIO của nó hết hạn

- Nó nhận được một bản tin DIO hữu ích (từ một nút có rank thấp hơn, trong đó giới thiệu những thay đổi như là rank hoặc cha mẹ ưa thích - Phát hiện có một mâu thuẫn (nhận được bản tin DIO từ một nút có rank

cao hơn, phát hiện vòng lặp..)

Trong quá trình chạy một node không c n thiết phải thường xuyên tính toán lượng năng lượng nó đã tiêu thụ mà ch c n tính toán khi nó chu n bị g i một bản tin DIO mới, để quảng bá ước lượng năng lượng của nó một cách chính xác nhất.

Để thực hiện một dự toán năng lượng của một node hệ diều hành Contiki cung cấp một mô-đun Energest để thực hiện việc đó. Mô-đun này liên tục cập nhật tổng thời gian hoạt động của một node trong bốn trạng thái hoạt động

46

của nó là LISTEN, TR NSMIT, LPM, CPU. Các giá trị trả về dưới dạng số tick của bộ vi x l . Từ tốc độ của bộ vi x l chúng ta dễ dàng quy đổi thời gian hoạt động của mỗi trạng thái về đơn vị giây sau đó có thể tính được tổng năng lượng tiêu thụ của một node dựa vào công thức được trình bày trong mục 3.1.1 Với một node cảm biển s dụng nền tảng Zolertia Z1 mà chúng ta dùng để mô phỏng trong ph n tiếp theo. Nó có tốc độ của bộ vi x l là 8MHz/1024 = 7812.5 ticks/second và có mức điện năng tiêu thụ cho từng trạng thái như bảng sau:

State Current [mA]

(Z1 spreadsheet) Power [mW] (voltage = 3V) ENERGEST_TYPE_CPU 1.8 5.4 ENERGEST_TYPE_LPM 0.545 1.635 ENERGEST_TYPE_TRANSMIT 17.7 53.1 ENERGEST_TYPE_LISTEN 20 60

Bảng 4: Mức tiêu thụ điện năng cho từng trạng thái [2]

Một phần của tài liệu Nghiên cứu và thử nghiệm các phương pháp phát hiện và ngăn chặn tấn công mạng (Trang 37)