Thống kê số nút bị gán nhãn Bot

Một phần của tài liệu Nghiên cứu phát triển giải pháp nâng cao an toàn trong mạng internet of things (Trang 64 - 77)

Bị gán nhãn Khơng bị gán nhãn

k Là Bot Khơng phải

Bot Tỉ lệ Báo động giả Là Bot Khơng phải Bot

1 30 83 73.45% 0 62887

2 30 16 34.78% 0 62954

3 30 5 14.29% 0 62965

4 22 4 15.38% 8 62966

Từ Bảng 2.2, đề xuất thiết lập tham số k trong bất đẳng thức (7) với ba mức cảnh báo khác nhau dựa trên Tỉ lệ “Báo động giả”. Kết quả là 3 bất đẳng thức (8), (9) và (10) như sau:

Mức I: bất thường k = 1, bất đẳng thức (8):

𝑁1 > µ+ 𝜎 (8)

Mức II: bất thường k = 2, bất đẳng thức (9):

𝑁1 > µ+ 2𝜎 (9)

Mức III: bất thường k = 3, bất đẳng thức (10): Mức cách ly ngay lập tức nút bị

gán nhãn “Bot tiềm tàng”

𝑁1 > µ+ 3𝜎 (10)

Trong Bảng 2.2, với k = 4, đã cĩ 8 nút Bots khơng được gán nhãn, khơng tuân theo chiến lược khơng Bỏ sĩt nút Bot mà luận án đã đề cập ở phần trên. Vì vậy, giá trị tối đa của k là 3. Đây là mức tối đa để khơng xảy ra hiện tượng Bỏ sĩt cũng như nguy cơ xảy ra hiện tượng Báo động giả là thấp nhất. Với nghiên cứu dựa trên thực nghiệm, luận án đề xuất với k = 3 thì thì thực hiện cách ly cịn với k < 3 thực hiện các cảnh báo nhưng khơng cách ly vì nguy cơ xảy ra hiện tượng Báo động giả là cao,

thực hiện cách ly gây ảnh hưởng tiêu cực đến trao đổi thơng tin trong mạng WSN. Ngồi ra giá trị bất đẳng thức (10) cũng chính là giá trị nằm ngồi khoảng tin cậy trong phân bố Gauss trong tốn học xác suất thống kê [53]. Điều này cho thấy sự phù hợp của đề xuất cả về lý thuyết lẫn thực nghiệm. Qua quá trình quan sát thời gian

54

đủ dài, đồng thời tiến hành tham khảo nhiều tài liệu và các bản thống kê của các cơ chế, luận án nhận thấy kết quả giải pháp phù hợp với chuẩn phân bố GAUSS.

2.4. Thí nghiệm mơ phỏng giải pháp Overhearing

2.4.1. Giới thiệu các kịch bản mơ phỏng thử nghiệm giải pháp

Nhiệm vụ của việc mơ phỏng là cho thấy tác hại của tấn cơng DoS lên WSN cũng như đánh giá hiệu quả, sự an tồn, của giải pháp Overhearing trong việc phịng chống tấn cơng DoS. Luận án thực hiện hai hình thức mơ phỏng bằng hệ điều hành giả lập Contiki và thiết bị thực tế Z1.

Contiki-OS [45] là một hệ điều hành cho phép mơ hình hĩa hoạt động của mạng cảm biến khơng dây và các thiết bị IoT một cách trực quan, các thơng số trong quá trình mơ phỏng được xây dựng dựa trên hoạt động thực của mạng cảm biến khơng dây và cĩ thể được thay đổi, tùy biến theo thực tế. Do đĩ, những hậu quả mà cuộc tấn cơng DoS cũng như sự hiệu quả của cơ chế Overhearing được mơ phỏng trong hệ điều hành Contiki cũng cho độ chính xác từ 90 đến 100% khi áp dụng trên mạng cảm biến khơng dây thực tế. Cĩ thể gắn các cảm biến khơng dây thật và điều khiển hoạt động cũng như quản lý chúng thơng qua cấu hình các tệp mã nguồn trong hệ điều hành Contiki. Contiki cũng mơ phỏng được giao thức RPL chạy năng lượng thấp và cho phép lập trình song song, đa luồng. Hệ điều hành này cũng xây dựng tình huống giống thực tế. So với thí nghiệm trên thiết bị thực tế, thí nghiệm trên mơ phỏng Contiki cho phép xây dựng mơ hình WSN quy mơ vừa và lớn với chi phí phù hợp.

Ngược lại, thí nghiệm dựa trên các thiết bị thực tế là cần thiết để minh chứng cho kết quả của giải pháp. Mặc dù Contiki-OS là một hệ điều hành đáng tin cậy trong việc giả lập, mơ phỏng các tình huống mạng, tuy vậy trong thực tế thường sẽ chịu ảnh hưởng bởi các yếu tố tự nhiên như mơi trường (thời tiết, nhiệt độ, độ ẩm), độ tiêu hao cơ học do thời gian (bo mạch bị han rỉ, kết nối lỏng lẻo) của các thiết bị IoT cũng như về mặt kỹ thuật như hình thái mạng, nhiễu từ các thiết bị điện tử xung quanh. Chính vì vậy, việc thí nghiệm trên các thiết bị thực tế là cần thiết để giúp đánh giá đúng đắn hơn về khả năng phát triển, cải tiến cũng như triển khai của giải pháp Overhearing trên WSN. Để phù hợp với các yêu cầu thơng số bài tốn đặt ra, tác giả lựa chọn các thiết bị Zolertia để tiến hành mơ phỏng thí nghiệm với Contiki OS. Xây dựng một mạng WSN quy mơ nhỏ trên thực tế với 4 thiết bị Zolertia.

55

Thiết bị Zolertia phiên bản Zoul (thường viết tắt là Z1 trên Contiki) [54] mang đặc thù cơ bản của một nút trên mạng IoT đĩ là cĩ khả năng kết nối và truyền nhận dữ liệu độc lập, khơng cần sự thao tác của con người. Z1 cĩ khả năng vừa đĩng vai trị là nút cảm biến thu thập dữ liệu, vừa đĩng vai trị là nút Coordinator nếu kết nối với hạ tầng mạng Internet. Việc truyền nhận dữ liệu cũng tuân theo các chuẩn dành cho IoT như chuẩn Zigbee, chuẩn IEEE 802.15.4,…

Một số thơng số kỹ thuật Z1: Dải tần là 2.4 GHz và 950MHz; Hiệu điện thế đầu vào: 2.0 – 3.3 V dịng điện một chiều; Kích thước bộ nhớ Flash: 512 Kb; Kích thước bộ nhớ RAM: 32Kb; Cường độ tiêu thụ điện năng: 0.4 uA khi nút trong trạng thái S (khơng hoạt động), 0.6 mA khi nút trong trạng thái Rx (nghe ngĩng dữ liệu) và 20 mA khi nút ở trạng thái Tx (truyền dữ liệu).

Một trong những ưu điểm của thiết bị Zolertia là thiết bị cĩ cổng USB cho phép kết nối vào máy tính cá nhân qua cổng USB 3.0 để người lập trình cĩ thể lập trình các tính năng của thiết bị cịn người quản trị cĩ thể theo dõi trạng thái hoạt động thiết bị. Trong Hình 2.3, phần đuơi thiết bị (vị trí hai gần cái nút bấm đối xứng) cĩ hai cổng USB cung cấp khả năng kết nối với máy tính. Thêm vào đĩ, hệ điều hành Contiki OS mà tác giả đã sử dụng để thí nghiệm mơ phỏng cũng hỗ trợ kết nối với thiết bị Zolertia với CPU loại CC2538 cĩ tốc độ xung nhịp 32 MHz.

Luận án đã tiến hành thí nghiệm triển khai giải pháp Overhearing và xây dựng một cuộc tấn cơng Botnet. Phương thức sẽ bao gồm thí nghiệm mơ phỏng trên hệ điều hành Contiki và thí nghiệm với thiết bị thực tế Zolertia.

Thời gian thực hiện mơ phỏng thí nghiệm, tần suất phát sinh giao dịch trên từng thiết bị phải đủ lớn, kịch bản đa dạng để cho ra được kết quả đo đạc khách quan, bao quát, đảm bảo dữ liệu thống kê, so sánh đánh giá. Để lựa chọn tiêu chí phù hợp cho từng ngữ cảnh, tác giả điều chỉnh cân đối trên các bối cảnh thực hiện, tham khảo thêm các thơng số trên các cơ sở lý thuyết cũng như thí nghiệm thực tiễn từ các cơng trình nghiên cứu trước đĩ.

2.4.2. Xây dựng các mơ hình và tình huống thử nghiệm

Mỗi hình thức thí nghiệm sẽ là một kịch bản với nhiều tình huống khác nhau. Các tính huống này diễn ra trên WSN cĩ hình thái mạng giống nhau, cùng theo mơ

56

hình Coordinator – Sensor, nút đĩng vai trị Coordinator khơng thay đổi, nút đĩng vai trị Sensor cĩ thể được chỉ định thành các đĩng vai trị Bot tùy tình huống cụ thể.

a. Kịch bản 1: Thí nghiệm mơ phỏng trên Hệ điều hành Contiki

Cơng việc mơ phỏng trên Hệ điều hành Contiki bao gồm xây dựng cơ sở cho thí nghiệm như mã nguồn, thuật tốn và thiết lập kịch bản hoạt động bao gồm xây dựng tình huống, hình thái mạng, thiết lập thời gian, cơ chế đo đạc dữ liệu.

Việc xây dựng cơ sở cho thí nghiệm mơ phỏng bao gồm các bước như sau: Xây dựng lại cuộc tấn cơng DoS và xây dựng cơ chế Overhearing.

Contiki-OS khơng cĩ sẵn tấn cơng DoS, cần xây dựng một file mơ phỏng hoạt động của nút Client nhưng cĩ thêm đoạn mã thực hiện chức năng sản sinh và truyền các gĩi tin rác tương tự như nút Client truyền dữ liệu đo đạc. File này được đặt tên là

malicious.c, mã nguồn thêm vào (xem Phụ lục Hình 1 (PL)).

Sau đây là lưu đồ thuật tốn thực hiện:

Khi chạy mơ phỏng trên Cooja, đối với nút Bot, sẽ thao tác tương tự như với các nút Client khác, chỉ cĩ điều thay vì sử dụng file udp-Client.c do Contiki cung cấp mà sử dụng file malicious.c cĩ cấu trúc tương tự file udp-Client.c, nhưng chèn thêm đoạn “mã độc” này vào. Sau đĩ, sẽ mơ phỏng mạng bị nhiễm độc này như bất cứ hệ thống mạng bình thường nào khác trong Contiki-OS.

Sau khi xây dựng một cuộc tấn cơng Botnet, cơng việc tiếp theo là xây dựng giải pháp Overhearing. Quá trình triển khai thuật tốn được chia làm 3 giai đoạn.

57

+ Giai đoạn 1: Đếm số gĩi tin, chỉ đơn giản là tạo 2 mảng, mảng

*arrsender dành cho số gĩi tin gửi đi, mảng *arrreceiver dành cho số gĩi tin mà nút

đĩ nhận được. Độ dài mảng chính là tổng số nút trong mơ phỏng. Nút nào khơng phải nút hàng xĩm của nút đang xét sẽ cĩ giá trị là 0. Việc khai báo mảng được tiến hành trong file framer-802154.c và sẽ tham chiếu đến hai file Client.c và malicious.c.

+ Giai đoạn 2: Trong file Client.c và malicious.c, để thực thi thuật tốn này, sử dụng 1 vịng lặp for để tính giá trị trung bình, 1 vịng lặp for để tính phương sai. Sau đĩ dùng hàm sqrt() trong bộ thư viện <math.IoT>. Cuối cùng, dùng if để kiểm tra từng nút một lấy từ file framer-802154.c.

Mã nguồn thực hiện cơng đoạn 1-2 triển khai thuật tốn Overhearing (xem tại Phụ lục Hình 2 (PL)).

Sau đây là lưu đồ thuật tốn thực hiện:

+ Giai đoạn 3: Cấu hình cài đặt giải pháp ngăn chặn Bots.

Cấu hình giải pháp ngăn chặn nút Bots

Khởi tạo thêm 1 mảng nữa cĩ độ dài bằng số nút trong giả lập ở file framer-

802154.c để đánh dấu nút nào là nút Bot. Các giá trị trong mảng được khởi tạo là 0.

Trong quá trình mơ phỏng, mảng này sẽ nhận tham chiếu từ thuật tốn ở file Client.c và malicious.c xem nút nào là Bot để đánh lại giá trị là 1. Sau đĩ, đặt điều kiện if-else trong file framer-802154.c để trong quá trình giao dịch, nếu phát hiện gĩi tin nút đĩ gửi tới, nĩ sẽ trả về FRAMER_FAILED (tức là từ chối xử lý gĩi tin).

58

Sau cơng đoạn xây dựng cơ sở, thí nghiệm cĩ thể được triển khai với mơ phỏng tấn cơng Botnet cũng như mơ phỏng giải pháp Overhearing.

Tiếp theo là xây dựng kịch bản các tình huống thí nghiệm mơ phỏng này. Về mơ hình mạng, luận án chọn mơ hình lưới vì cĩ tính chịu lỗi cao, một nút sẽ cĩ từ 3 đến 8 nút lân cận (nút hàng xĩm là nút nằm trong phạm vi phủ sĩng), cho phép cĩ lựa chọn tuyến đường truyền tin. Thí nghiệm thực hiện trên ba mơ hình dạng lưới là 4x4 (16 nút), 5x5 (25 nút) và 6x6 (36 nút). Việc đưa ra các kịch bản cĩ số nút khác nhau nhằm so sánh ảnh hưởng của tấn cơng DoS lên các hệ thống mạng với quy mơ khác nhau.

a) b)

59

a) b)

Mơ hình Lưới 5x5

a) b)

Mơ hình Lưới 6x6

Hình 2.3. Tấn cơng DoS và giải pháp Overhearing trên WSN

- Chú thích Hình 2.3:

+ Nút nền đỏ, số màu vàng là nút Coordinator. + Nút nền hồng, số màu đen là nút Client.

+ Nút nền đen, số màu trắng là nút bị nhiễm mã độc (Bot).

+ Các nút trong phạm vi phủ sĩng của một nút là các nút nằm 4 bên cạnh và 4 bên chéo. Như vậy, các nút ở trung tâm sẽ cĩ 8 nút hàng xĩm, nút ở cạnh cĩ 5 nút cịn nút ở gĩc chỉ cĩ 3 nút hàng xĩm. Khoảng cách giữa các nút hàng xĩm trong mơ phỏng: Hai nút bên cạnh nhau cách nhau 30m (khoảng cách mơ phỏng trên Contiki), và theo định lý Pythagoras về tam giác vuơng cân thì hai nút chéo nhau sẽ cách nhau một khoảng bằng căn bậc hai của giá trị, gấp đơi bình phương khoảng cách giữa hai nút cạnh nhau, giá trị này là khoảng 42,4m. Tốc độ truyền của các gĩi tin tuân theo tiêu chuẩn Ethernet được mơ phỏng trong hệ điều hành Contiki là 10 Mb/s. Kích thước gĩi tin tối đa cĩ thể tạo ra và gửi trong hệ điều hành Contiki là 128 byte. Các nút Client đều cĩ khả năng đĩng vai trị Bot đồng nghĩa với nút đĩ cĩ khả năng tạo ra và gửi nhiều bản tin rác trong một thời gian ngắn với giao thức UDP.

60

Truyền thơng giữa các nút được mơ tả như sau: Tất cả các nút Client sẽ gửi một bản tin cho nút Coordinator trong khoảng thời gian 10s. Lưu ý rằng khái niệm

bản tin đề cập là thơng điệp ứng dụng (message), khái niệm chỉ các thơng tin ứng

dụng được các nút mạng gửi để phục vụ cơng việc hoặc để tấn cơng DoS. Khái niệm này khác với khái niệm gĩi tin (data packet) là dữ liệu được các nút mạng gửi dưới khái niệm vật lý. Trước khi khi gửi thơng điệp, các nút mạng sẽ chia tách thơng điệp thành các bản tin theo các giao thức phân tầng trong mạng cảm biến trong mơi trường IoT. Cũng theo giao thức RPL thì các gĩi tin sẽ được chuyển tiếp giữa các nút với nhau cho đến khi tới nút root và trong quá trình hoạt động của nút mạng luơn xảy ra trao đổi các gĩi tin với nhau phục vụ các hoạt động cơ bản trong truyền thơng mạng IoT. Như vậy, tần suất gửi và số lượng, kích thước các gĩi tin khơng chỉ phụ thuộc vào chu kỳ gửi thơng điệp mà cịn phụ thuộc vào nhiều yếu tố chủ quan và khách quan như vị trí nút, các hoạt động cơ bản duy trì hệ thống, cùng nhiều yếu tố ngẫu nhiên khác. Vì vậy, mặc dù hoạt động gửi bản tin (message) ở mỗi nút là giống nhau, nhưng hoạt động gửi nhận dữ liệu vật lý là khác nhau. Ngồi ra, mạng cảm biến được thí nghiệm đảm bảo mạng tiêu biểu và xuất hiện phổ biến trong thực tế, khi mà hầu hết các mơ hình mạng cảm biến hiện nay, việc gửi các thơng điệp tuân theo chu kỳ xác định vì các dữ liệu thu thập và thống kê cũng tuân theo một chu kỳ để dễ đồng bộ hĩa. Với mạng cảm biến thí nghiệm khi được triển khai trên thực tế, thơng điệp được gửi về nút root với chu kỳ 10s cĩ thể mang thơng tin của mơi trường xung quanh mà nút cảm biến thu thập được. Các bản tin này được truyền theo mơ hình RPL, khi mà các nút Client ở xa sẽ truyền cho các nút Client gần nút Server hơn đến khi tới nút Client cĩ thể truyền tới nút Server. Như vậy, càng gần nút Server thì tần suất trao đổi dữ liệu càng dày và hệ quả là các cuộc tấn cơng DoS vào các nút Client gần Server sẽ gây hậu quả nghiêm trọng hơn các nút Client ở xa.

Về các tình huống thí nghiệm, cĩ bốn tình huống:

+ Tình huống TH0: Hoạt động bình thường, khơng giải pháp Overhearing

khơng cĩ sự xuất hiện Bot. Kịch bản sử dụng mơ hình mạng (a) trong Hình 2.3: + Tình huống TH1: Hoạt động bình thường, cĩ cài giải pháp Overhearing

khơng cĩ sự xuất hiện Bot. Kịch bản sử dụng mơ hình mạng (a) trong Hình 2.3: + Tình huống TH2: Kịch bản tấn cơng, khơng giải pháp Overhearing ta cĩ thể

61

thấy Mơ hình lưới 4x4 cĩ 1 nút đĩng vai trị Bot, lưới 5x5 cĩ 2 nút và Lưới 6x6 cĩ 3 nút. Các nút này nằm khá gần nút Coordinator nên hậu quả của các cuộc tấn cơng DoS thường nghiêm trọng. Kịch bản sử dụng mơ hình mạng (a) trong Hình 2.3:

+ Tình huống TH3: Tình huống mạng tấn cơng DoS nhưng được cài giải pháp

Overhearing. Tình huống sử dụng Mơ hình mạng trong Hình 2.3 nhưng tất cả các nút đều đã cài đặt giải pháp Overhearing cải tiến. Kịch bản sử dụng mơ hình mạng (a) trong Hình 2.3.

Với mỗi kịch bản sẽ đo đạc cả ba tiêu chí là tỉ lệ truyền nhận thành cơng, Độ trễ và năng lượng tiêu thụ. Ngồi ra, nhằm chứng tỏ sự khả thi của việc xác định Bot dựa trên đếm số gĩi tin gửi nhận của mỗi nút mạng xung quanh, tác giả cũng kiểm đếm số gĩi tin từng nút gửi đi và nhận về. Cơng việc này được thực hiện khi tính tốn tỉ lệ truyền nhận thành cơng của mạng.

b. Kịch bản 2: Thí nghiệm với thiết bị thực tế Zolertia

Tương tự thí nghiệm trên Hệ điều hành Contiki, xây dựng cơ sở vật chất cho

Một phần của tài liệu Nghiên cứu phát triển giải pháp nâng cao an toàn trong mạng internet of things (Trang 64 - 77)

Tải bản đầy đủ (PDF)

(150 trang)