BẢN DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT CÁC CHỮ VIẾT TẮT 1 AE Authentication Encryption Mã hóa xác thực 3 CCM Counter with CBC-MAC Mã hóa khối đối xứng 4 DAG Directed Acyclic Graph
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Sonxay LUANGOUDOM
NGHIÊN CỨU, PHÁT TRIỂN PHƯƠNG PHÁP PHÁT HIỆN VÀ
XỬ LÝ TẤN CÔNG HỐ ĐEN VÀO GIAO THỨC ĐỊNH TUYẾN RPL
LUẬN ÁN TIẾN SĨ KỸ THUẬT MÁY TÍNH
Hà Nội – 2022
Trang 2
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Sonxay LUANGOUDOM
NGHIÊN CỨU, PHÁT TRIỂN PHƯƠNG PHÁP PHÁT HIỆN VÀ
XỬ LÝ TẤN CÔNG HỐ ĐEN VÀO GIAO THỨC ĐỊNH TUYẾN RPL
Ngành: Kỹ thuật máy tính
Mã số: 9480106
LUẬN ÁN TIẾN SĨ KỸ THUẬT MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS Nguyễn Linh Giang
Hà Nội - 2022
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của tôi Các số liệu, kết quả được viết chung với các tác giả khác đều được sự chấp thuận của đồng tác giả trước khi đưa vào luận án Trong quá trình làm luận án, tôi kế thừa thành tựu của các nhà khoa học với sự trân trọng và biết ơn Các số liệu, kết quả trình bày trong luận án là trung thực
và chưa từng được tác giả khác công bố
Hà Nội, ngày tháng năm 2022
PGS.TS Nguyễn Linh Giang Sonxay LUANGOUDOM
Trang 4LỜI CẢM ƠN
Trước hết, tôi xin trân trọng cảm ơn Trường Đại học Bách Khoa Hà Nội, Phòng Đào tạo – bộ phận Đào tạo Sau đại học, Viện Công nghệ thông tin và Truyền thông, các thầy cô cùng các bạn đã tạo điều kiện thuận lợi và đóng góp nhiều ý kiến quý báu giúp tôi hoàn thành bản luận án này
Đặc biệt, tôi xin bày tỏ lòng biết ơn chân thành và sâu sắc đến Thầy hướng dẫn khoa học PGS.TS Nguyễn Linh Giang, PGS.TS Trần Quang Đức, Nguyễn Gia Tuyến,
TS Nguyễn Thị Thanh Tú, PGS.TS Huỳnh Quyết Thắng Các bạn sinh viên tại trung tâm an toàn an ninh thông tin trường Đại học Bách Khoa Hà Nội đã nhiệt tình hướng dẫn, giúp đỡ và tạo mọi điều kiện thuận lợi cho tôi trong suốt quá trình thực hiện Luận án
Tôi xin cảm ơn Đại sứ quán Lào tại Việt Nam, cảm ơn gia đình và bạn bè người thân
đã luôn bên tôi, ủng hộ và động viên tôi trong suốt quá trình nghiên cứu
Tôi xin chân thành cảm ơn!
Hà Nội, ngày tháng năm 2022
Sonxay LUANGOUDOM Nghiên cứu sinh
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
BẢN DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT vii
CÁC CHỮ VIẾT TẮT vii
DANH MỤC CÁC BẢNG ix
BẢN DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ x
MỞ ĐẦU 1
1 Tính cấp thiết của đề tài 1
2 Mục tiêu nghiên cứu 2
3 Đối tượng nghiên cứu và phương pháp nghiên cứu 2
4 Ý nghĩa khoa học và ý nghĩa thực tiễn của luận án 3
5 Điểm mới của luận án 4
6 Cấu trúc của luận án 4
CHƯƠNG 1 CÁC DẠNG TẤN CÔNG VÀ PHÒNG CHỐNG TẤN CÔNG VÀO GIAO THỨC ĐỊNH TUYẾN RPL 6
1.1 Giao thức định tuyến RPL 6
1.2 Bảo mật trong giao thức định tuyến RPL 9
1.3 Các dạng tấn công vào giao thức định tuyến RPL 11
1.3.1 Tấn công vào tài nguyên mạng (Resources Attacks) 12
1.3.2 Tấn công vào hình trạng mạng (Topology Attacks) 16
1.3.3 Tấn công vào lưu lượng mạng (Traffic Attacks) 21
1.4 Các phương pháp phát hiện và phòng chống tấn công vào giao thức định tuyến RPL 23
1.4.1 Các phương pháp phát hiện tấn công 24
1.4.1.1 Phương pháp phát hiện tấn công dựa trên hệ thống phát hiện xâm nhập (Intrusion Detection System) 24
1.4.1.2 Phương pháp phát hiện tấn công dựa trên giao thức nhịp tim (Heartbeat protocol) 25
Trang 61.4.1.3 Phương pháp phát hiện tấn công dựa trên cơ chế độ tin cậy (Trust
based mechanisms) 26
1.4.2 Các phương pháp phòng chống tấn công 28
1.4.2.1 Phương pháp phòng chống tấn công dựa trên kỹ thuật giảm thiểu (Mitigation mechanism) 29
1.4.2.2 Phương pháp phòng chống tấn công dựa trên nút gốc (Root) 30
1.4.2.3 Phương pháp phòng chống tấn công dựa trên mật mã (Cryptography) 30
1.4.2.4 Phương pháp phòng chống tấn công dựa trên ngưỡng (Threshold) 31 1.5 Những thách thức trong phát hiện và phòng chống tấn công vào giao thức định tuyến RPL 34
1.6 Kết luận chương 1 36
CHƯƠNG 2 KHUYẾN NGHỊ CƠ CHẾ MÃ HÓA XÁC THỰC TRONG GIAO THỨC ĐỊNH TUYẾN RPL 39
2.1 Giới thiệu 39
2.2 Các nghiên cứu liên quan đến cơ chế bảo mật cho mạng LLN 40
2.3 Mã hóa xác thực trong mạng tổn hao và năng lượng thấp 41
2.3.1 AES-CCM (Counter with CBC-MAC) 42
2.3.2 AES-GCM (Galois/Counter Mode) 42
2.3.3 Salsa20-Poly1305 43
2.3.3.1 Salsa20 44
2.3.3.2 Poly1305 45
2.3.3.3 Quá trình tạo và trao đổi khóa 47
2.3.3.4 Phân tích độ an toàn của Salsa20-Poly1305 47
2.3.4 So sánh đánh giá cơ chế mã hóa xác thực AES-CCM, AES-GCM với Salsa20-Poly1305 48
2.3.4.1 Độ an toàn 48
2.3.4.2 Tài nguyên mạng 50
2.4 Mô hình mã hóa xác thực Salsa20-Poly1305 trong LLN 52
2.5 Đánh giá thực nghiệm thuật toán Salsa20-Poly1305 đối với LLN 54
2.5.1 Thiết lập thực nghiệm 54
Trang 72.5.2 Các tham số đánh giá thực nghiệm mô phỏng 56
2.5.2.1 Năng lượng tiêu thụ (Power Consumption) 56
2.5.2.2 Độ trễ trung bình (Average Latency) 56
2.5.2.3 Tỷ lệ nhận gói tin (Packet Delivery Ratio) 57
2.5.3 Kết quả thực nghiệm và đánh giá 58
2.5.3.1 Kết quả thực nghiệm 58
2.5.3.2 Nhận xét đánh giá 60
2.6. Kết luận chương 2 61
CHƯƠNG 3 PHÁT HIỆN VÀ PHÒNG CHỐNG TẤN CÔNG HỐ ĐEN TRONG GIAO THỨC RPL 63
3.1. Giới thiệu 63
3.2. Đánh giá những ảnh hưởng các dạng tấn công vào giao thức định tuyến RPL 64
3.2.1 Thiết lập thực nghiệm 65
3.2.2 Kết quả thực nghiệm 66
3.2.3 Nhận xét đánh giá 68
3.3 Tấn công hố đen 68
3.4 Các nghiên cứu liên quan đến phương pháp phát hiện và phòng chống tấn công hố đen vào giao thức định tuyến RPL 70
3.5 Phương pháp phát hiện và phòng chống tấn công hố đen vào giao thức RPL 72
3.5.1 Xác thực bản tin 73
3.5.2 Mô hình hệ thống 73
3.5.3 Nguyên lý hoạt động hệ thống 75
3.5.3.1 Thu thập thông tin và xây dựng liên kết giữa các nút trong mạng 75
3.5.3.2 Phát hiện và xác định các nút tấn công hố đen 80
3.5.3.3 Cô lập nút tấn công hố đen 81
3.6 Kết quả thực nghiệm và đánh giá 84
3.6.1 Thiết lập thực nghiệm 84
3.6.2 Các tham số đánh giá 86
Trang 83.6.3 So sánh kết quả thực nghiệm svBLOCK với RPL–Collect và SVELTE 87
3.6.3.1 Trong môi trường mạng bị tấn công 87
3.6.3.2 Trong môi trường mạng bình thường 91
3.7 Những hạn chế của svBLOCK trong phát hiện và phòng chống dạng tấn công hố đen 94
3.8 Kết luận chương 3 96
KẾT LUẬN CHUNG VÀ HƯỚNG PHÁT TRIỂN 97
1 Kết luận 97
2 Hướng phát triển 98
DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA LUẬN ÁN 99
TÀI LIỆU THAM KHẢO 100
Trang 9BẢN DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
CÁC CHỮ VIẾT TẮT
1 AE Authentication Encryption Mã hóa xác thực
3 CCM Counter with CBC-MAC Mã hóa khối đối xứng
4 DAG Directed Acyclic Graph Đồ thị có hướng đi không
tuần hoàn
5 DAG ROOT Directed Acyclic Graph
ROOT
Gốc đồ thị có hướng đi không tuần hoàn
6 DAO Destination Advertisement
Object
Bản tin được sử dụng để quảng bá thông tin của các nút đích
7 DAO_ACK Destination Advertisement
10 DoS Denial of Service Tấn công từ chối dịch vụ
11 DODAG Destination-Oriented DAG
Đồ thị có hướng đi không tuần hoàn có điểm đến được định hướng
12 DTLS Datagram Transport Layer
Security
Giao thức truyền thông cung cấp bảo vệ cho datagram
13 E2ED End to end Delay Độ trễ trung bình
14 FPR False Positive Rate Tỷ lệ cảnh báo sai
15 GCM Galois/Counter Mode Chế độ điều khiển trong mã
hóa khối khóa đối xứng
19 IoT Internet of Things Mạng Internet của vạn vật
20 IPv6 Internet Protocol Version 6 Giao thức mạng phiên bản 6
Trang 1021 LLN Low Power and Lossy
Networks
Mạng tổn hao và năng lượng
thấp
Cryptography library Thư viện mật mã và mạng
23 PC Power Consumption Năng lượng tiêu thụ
24 PDR Packet Delivery Ratio Tỷ lệ truyền gói tin thành
công
25 RPL Routing Protocol for Low
Power and Lossy Network
Giao thức định tuyến cho mạng tổn hao và năng lượng thấp
Protocol
Giao thức điều khiển truyền vận
27 TPR True Positive Rate Tỷ lệ phát hiện đúng
28 UDP User Datagram Protocol Giao thức dữ liệu người
dùng
29 W/O.AE Without Authentication
30 WSN Wireless Sensor Network Mạng cảm biến không dây
31 6BR 6LoWPAN Border Router Thiết bị định tuyến biên của
Trang 11DANH MỤC CÁC BẢNG
Bảng 2.1 So sánh các cơ chế mã hóa xác thực dựa trên các chỉ số khác nhau như vectơ khởi tạo (IV), độ dài khóa (Key size), độ dài khối (Block size), nonce 50Bảng 2.2 Thời gian và mức tiêu thụ năng lượng liên quan đến các chức năng mã hóa
và giải mã trên các thiết bị cảm biến khác nhau 51
Bảng 2.3 So sánh Salsa20-Poly1305 với AES-CCM về thời gian và mức tiêu thụ năng lượng liên quan đến các chức năng mã hóa và giải mã trên thiết bị WiSMote 52 Bảng 3.1 Đánh giá những ảnh hưởng của các dạng tấn công vào giao thức RPL 66
Bảng 3.2 Kết quả đánh giá TPR và FPR [23] 89
Trang 12BẢN DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1 Minh họa hình trạng mạng với giao thức định tuyến RPL [2] 6
Hình 1.2 Phân loại các cuộc tấn công vào giao thức định tuyến RPL [3] 12
Hình 1.3 Phân loại các cuộc tấn công vào tài nguyên mạng 12
Hình 1.4 Tấn công tăng hạng (nguồn :[3]) 15
Hình 1.5 Phân loại các cuộc tấn công vào hình trạng mạng 16
Hình 1.6 Tấn công sinkhole 17
Hình 1.7 Tấn công wormhole (nguồn: [3]) 18
Hình 1.8 Tấn công hố đen 19
Hình 1.9 Tấn công DAO inconsistency (nguồn: [3]) 20
Hình 1.10 Phân loại các cuộc tấn công vào lưu lượng mạng [3] 21
Hình 1.11 Phân loại các phương pháp phát hiện và phòng chống tấn công vào giao thức định tuyến RPL 23
Hình 2.1 Mô hình mã hóa xác thực Salsa20-Poly1305 54
Hình 2.2 Minh họa mô hình mạng 56
Hình 2.3 Tỷ lệ nhận gói tin thành công (PDR) 58
Hình 2.4 Độ trễ trung bình (E2ED) 59
Hình 2.5 Tiêu thụ năng lượng của nút (PC) 60
Hình 3.1 Kịch bản mô phỏng tấn công vào giao thức định tuyến RPL 66
Hình 3.2 Tấn công hố đen 69
Hình 3.3 Mô hình hệ thống svBLOCK 75
Hình 3.4 Phát hiện nút ngoại tuyến (nút offline) 76
Hình 3.5 Sơ đồ truyền bản tin từ nút gốc đến các nút lân cận (nút online) 77
Hình 3.6 Sơ đồ truyền bản tin từ nút lân cận (nút online) đến nút offline 78
Hình 3.7 Sơ đồ truyền bản tin từ nút offline đến nút lân cận (nút online) 79
Hình 3.8 Sơ đồ truyền bản tin từ nút lân cận (nút online) đến nút gốc 79
Hình 3.9 Sơ đồ hoạt động tại nút gốc 80
Hình 3.10 Phát hiện nút tấn công hố đen 81
Hình 3.11 Cách ly và xử lý nút tấn công hố đen 82
Trang 13Hình 3.12 Sơ đồ cách ly tấn công hố đen tại gốc 83
Hình 3.13 Sơ đồ cách ly tấn công hố đen tại các nút lân cận 84
Hình 3.14 Mô phỏng các kịch bản tấn công vào giao thức RPL với 16, 25 và 36 nút 85
Hình 3.15 Tỷ lệ phát hiện đúng (TPR) 88
Hình 3.16 Tỷ lệ cảnh báo sai (FPR) 88
Hình 3.17 Tỷ lệ nhận gói tin thành công 90
Hình 3.18 Mức tiêu thụ năng lượng 91
Hình 3.19 Thông số phát hiện sai 92
Hình 3.20 Độ trễ trung bình 92
Hình 3.21 Tỷ lệ nhận gói tin thành công 93
Hình 3.22 Mức tiêu thụ năng lượng 94
Trang 14MỞ ĐẦU
1 Tính cấp thiết của đề tài
Routing Protocol for Low-power and Lossy Network (RPL) là giao thức định tuyến được sử dụng cho các mạng tổn hao và năng lượng thấp Do đặc tính của giao thức định tuyến RPL triển khai trên các mạng có tài nguyên hạn chế (năng lượng, bộ nhớ và năng lực tính toán), nên giao thức định tuyến RPL có thể trở thành mục tiêu của nhiều dạng tấn công khác nhau Luận văn tập trung vào các dạng tấn công nội bộ với giả thiết một số nút cảm biến trong mạng bị chiếm quyền điểu khiển và trở thành nguồn để phát động tấn công Những dạng tấn công mặc dù sử dụng những cơ chế khai thác khác nhau nhưng có thể chia thành ba nhóm chính gồm tấn công làm cạn kiệt tài nguyên mạng, tấn công thay đổi hình trạng mạng, tấn công thông lượng truy cập mạng Việc chia nhóm được hình thành trên cơ sở đánh giá tác động của tấn công đến hoạt động của thiết bị có cài đặt và sử dụng giao thức định tuyến RPL Từ các kết quả thử nghiệm đã cho thấy, dạng tấn công hố đen, tấn công phiên bản, tấn công tăng hạng và tấn công chuyển tiếp chọn lọc là những dạng tấn công gây ảnh hưởng
lớn đến hiệu năng mạng Đặc biệt là dạng tấn công hố đen trở nên nguy hiểm và ảnh
hưởng nghiêm trọng đến hoạt động của giao thức định tuyến RPL
Trên thực tế có nhiều công trình nghiên cứu trước đây đã đề cập đến các giải pháp phát hiện và phòng chống tấn công hố đen đối với giao thức định tuyến RPL Tuy nhiên, theo tác giả tìm hiểu, phân tích, những giải pháp đều có những điểm hạn chế, trong đó điển hình như chưa hỗ trợ các cơ chế xác thực thông điệp, đặc biệt là thông điệp điều khiển, chưa ngăn chặn hoặc có khả năng cô lập các nút tấn công trong mạng Bên cạnh đó, các phương pháp đòi hỏi năng lượng tiêu thụ lớn với tỷ lệ cảnh báo sai (False Positive Rate) cao, trong khi tỷ lệ phát hiện đúng (True Positive Rate) vẫn chưa đặt được như kỳ vọng mong muốn Việc phát triển các giải pháp bảo mật dựa trên mã hóa hạng nhẹ cho giao thức định tuyến RPL phù hợp với các thiết bị hạn chế tài nguyên vẫn là một thách thức lớn và cần được giải quyết Từ đó đặt ra nhu cầu cấp thiết phải có những cách tiếp cận mới để phát hiện và ngăn chặn tấn công hố đen vào giao thức định tuyến RPL
Niềm đam mê về chuyên môn nghiệp vụ và nghiên cứu khoa học đã thôi thúc tôi trở thành nghiên cứu sinh tại trường Đại học Bách Khoa Hà Nội, với đề tài nghiên
cứu chuyên sâu: “Nghiên cứu, phát triển phương pháp phát hiện và xử lý tấn công hố
đen vào giao thức định tuyến RPL” Kết quả nghiên cứu được trình bày trong luận án
này đã được tác giả thực hiện dưới sự hướng dẫn của tập thể hướng dẫn Tại đây, để luận án được thuận lợi cho việc trình bày, tác giả (“tôi”) sẽ đại diện nhóm nghiên cứu trình bày các nội dung nghiên cứu của luận án
Trang 152 Mục tiêu nghiên cứu
Trong quá trình nghiên cứu, tác giả đã tập trung nghiên cứu về tổng quan các các dạng tấn công, những tính chất đặc trưng của các dạng tấn công vào giao thức định tuyến RPL, đặc biệt là dạng tấn công hố đen Từ đó, tác giả đã nghiên cứu, tìm hiểu về các phương pháp phát hiện và phòng chống các dạng tấn công hố đen, những khó khăn, thách thức trong việc phát hiện và phòng chống dạng tấn công đó
Qua việc nghiên cứu các phương pháp phát hiện và phòng chống các dạng tấn công hố đen hiện có thì các công trình nghiên cứu trước đây vẫn chưa đạt được hiệu quả mong muốn như chưa hỗ trợ các cơ chế mã hóa xác thực thông điệp và đã tiêu hao nhiều tài nguyên tính toán Do đó, tác giả đã nghiên cứu, phân tích và đánh giá thực nghiệm các cơ chế mã hóa xác thực để lựa chọn những cơ chế tối ưu nhất Trong
đó, tác giả đã đề xuất sử dụng cơ chế mã hóa xác thực Salsa20-Poly1305 Thuật toán này cung cấp các cơ chế phân tích bảo mật cho giao thức định tuyến RPL theo mô hình CIAA (tính bảo mật, tính toàn vẹn, tính xác thực và tính sẵn sàng), có thể được tích hợp trong các môi trường hạn chế phù hợp với mạng tổn hao và năng lượng thấp Bên cạnh đó, tác giả phát triển phương pháp phát hiện và phòng chống dạng tấn công hố đen dựa trên svBLOCK bằng cách triển khai tích hợp cơ chế mã hóa xác thực Salsa20-Poly1305 vào phương pháp phát hiện và phòng chống dạng tấn công hố đen trong giao thức định tuyến RPL Hệ thống svBLOCK có thể phát hiện, cô lập và xử
lý các cuộc tấn công hố đen và hỗ trợ mạng có thể tái cấu trúc nhằm khôi phục trạng thái hoạt động bình thường
3 Đối tượng nghiên cứu và phương pháp nghiên cứu
Đối tượng nghiên cứu của luận án là phát triển các phương pháp phát hiện và phòng chống các dạng tấn công hố đen vào giao thức định tuyến RPL Trong đó, luận
án tập trung vào một số các vấn đề chính như sau:
Đánh giá những ảnh hưởng các dạng tấn công và tập trung vào dạng tấn công
từ bên trong mạng Đặc biệt là dạng hố đen vào giao thức định tuyến RPL
Phân tích các cơ chế mã hóa xác thực và đề xuất sử dụng Salsa20-Poly1305 trong mã hóa và xác thực thông điệp
Đề xuất phương pháp phát hiện và phòng chống tấn công hố đen svBLOCK bằng cách triển khai tích hợp cơ chế mã hóa xác thực Salsa20-Poly1305 nhằm phát hiện và phòng chống dạng tấn công hố đen vào giao thức định tuyến RPL Đối với phương pháp nghiên cứu, tác giả đã kết hợp giữa lý thuyết, phân tích
và xây dựng những kịch bản mô phỏng, đồng thời tiến hành đánh giá so sánh thực nghiệm dựa trên cơ sở một số tiêu chuẩn đánh giá trên thế giới để tìm ra các vấn đề
Trang 16cần giải quyết Trên cơ sở đó, tác giả đã đề xuất phương pháp phù hợp, tối ưu nhất
để giải quyết các vấn đề đặt ra
4 Ý nghĩa khoa học và ý nghĩa thực tiễn của luận án
Luận án có những đóng góp về mặt khoa học và thực tiễn như sau:
Ý nghĩa khoa học của đề tài được khắc họa cụ thể tại phần Mở đầu và được nhấn mạnh trong phần Kết luận của luận án
b) Ý nghĩa thực tiễn:
Trong quá trình thực hiện các nhiệm vụ của các đề tài nghiên cứu khoa học, tác giả đã xây dựng kịch bản mô phỏng thử nghiệm để phát hiện và phòng chống tấn công hố đen hố đen vào giao thức định tuyến RPL
Đề xuất phương pháp mới, có tính mở và tính ứng dụng cao, có sự cải tiến với
độ chính xác vượt trội so với các phương pháp phát hiện và phòng chống dạng tấn công hố đen đã được công bố trước đây
Đề xuất phương pháp giúp cho các nhà nghiên cứu có cơ sở phát triển các kỹ thuật bảo đảm an toàn thông tin, phát hiện và phòng chống tấn công hố đen dựa trên cơ sở tham khảo các nghiên cứu trong luận án này
Trang 175 Điểm mới của luận án
Những điểm mới của luận án đã được tác giả trình bày cụ thể như sau:
Đánh giá các thuật toán mã hóa xác thực và đề xuất sử dụng Salsa20 - Poly1305 trong mã hóa và xác thực các thông điệp điều khiển từ nút gốc trong giao thức định tuyến RPL
Đề xuất phương pháp phát hiện và phòng chống các dạng tấn công hố đen với svBLOCK cho phép cô lập nút tấn công, hỗ trợ mạng có thể tái cấu trúc để khôi phục trạng thái hoạt động bình thường của mạng
Trong đề xuất thứ nhất, tác giả đã tiến hành đánh giá Salsa20-Poly1305 trên cơ
sở tham chiếu với phương pháp tương tự như AES-GCM và AES-CCM Việc đánh giá đã chứng minh được tính hiệu quả của thuật toán mã hóa xác thực sử dụng Salsa20-Poly1305 trên hai phương diện mức độ tiêu hao năng lượng và thời gian tính toán đối với mã hóa, giải mã và xác thực
Trong đề xuất thứ hai, tác giả đã so sánh svBLOCK với cơ chế SVELTE-IDS, mạng không tích hợp hệ thống phát hiện và ngăn chặn tấn công hố đen và phương pháp của Firoz và Young-Bae (2016)
6 Cấu trúc của luận án
Từ nội dung nghiên cứu, tác giả đã thực hiện trong quá trình nghiên cứu, kết quả đã được trình bày trong luận án theo cấu trúc sau Nội dung của Chương 1 là cơ
sở để tác giả tiếp tục nghiên cứu và phân tích đề xuất lựa chọn áp dụng các phương pháp cụ thể trong Chương 2 và Chương 3
Trong Chương 1, luận án trình bày các nhóm vấn đề chính bao gồm:
Giao thức định tuyến RPL
Các dạng tấn công vào giao thức định tuyến RPL
Các phương pháp phát hiện và phòng chống tấn công vào giao thức định tuyến RPL
Những thách thức trong việc phát hiện và phòng chống tấn công vào giao thức định tuyến RPL
Kết luận Chương 1
Chương 2 của luận án trình bày các biện pháp giải quyết vấn đề đặt ra trong Chương 1 dựa vào những tính chất và những ảnh hưởng của các dạng tấn công đã gây ra cho mạng cũng như những ưu điểm, nhược điểm của các phương pháp nghiên cứu trước đây là cơ sở nghiên cứu cho tác giả đưa ra phân tích đề xuất lựa chọn ứng dụng các thuật toán mã hóa xác thực phù hợp với mạng tổn hao và năng lượng thấp Trong đó, nội dung được trình bày bao gồm các nội dung chính sau:
Trang 18 Phân tích các cơ chế mã hóa xác thực trong mạng tổn hao và năng lượng thấp
Đánh giá, so sánh các cơ chế mã hóa xác thực AES-CCM, AES-GCM và Salsa20-Poly1305
Đề xuất sử dụng Salsa20-Poly1305 trong mã hóa và xác thực thông điệp đối với LLN
Đánh giá thực nghiệm
Kết luận Chương 2
Trong Chương 3, luận án trình bày phương pháp phát hiện và phòng chống tấn công hố đen dựa trên svBLOCK kết hợp triển khai tích hợp cơ chế mã hóa xác thực Salsa20-Poly1305 nhằm phát hiện và phòng chống dạng tấn công hố đen vào giao thức định tuyến RPL Trong đó, nội dung được trình bày bao gồm các nội dung chính sau:
Đánh giá ảnh hưởng các dạng tấn công vào giao thức định tuyến RPL
Trang 19CHƯƠNG 1 CÁC DẠNG TẤN CÔNG VÀ PHÒNG CHỐNG TẤN CÔNG VÀO GIAO THỨC ĐỊNH TUYẾN RPL
1.1 Giao thức định tuyến RPL
RPL – IPv6 Routing Protocol for Low Power and Lossy Network là giao thức định tuyến được thiết kế cho mạng tổn hao và năng lượng thấp nói chung và mạng cảm biến không dây nói riêng được sử dụng rộng rãi trong hệ thống IoT RPL là giao thức gọn nhẹ, có khả năng định tuyến tốt và được trang bị một số chức năng bảo mật
cơ bản RPL được IETF (Internet Engineering Task Force) phát triển năm 2012 [1] được định nghĩa trong tiêu chuẩn RFC 6550 [2] hiện nay vẫn đang trong quá trình nghiên cứu Sự phát triển của giao thức định tuyến RPL cũng nhận được sự quan tâm, đóng góp của rất nhiều tổ chức, cá nhân đến từ những tổ chức nghiên cứu khoa học, các trường đại học, viện nghiên cứu trên toàn thế giới để hoàn thiện với mục tiêu đặt
ra là giải quyết các vấn đề về năng lượng, tổn hao năng lượng nhưng vẫn đáp ứng được chất lượng mạng như thời gian hội tụ, độ trễ, mất gói tin RPL được phát triển dựa trên nền IPv6 [3] là giao thức định tuyến động dạng Distance - Vector, sử dụng
và kế thừa nhiều ưu điểm của giao thức TCP/IP nhằm đạt được những yêu cầu định tuyến
Hình 1.1 Minh họa hình trạng mạng với giao thức định tuyến RPL [2]
Giao thức định tuyến RPL được tổ chức theo cấu trúc phân cấp không có vòng lặp DAG (Directed Acyclic Graph) và gồm một hoặc nhiều DODAG (Destination Oriented DAG) Mỗi DODAG có một nút gốc với nhiệm vụ thu thập thông tin từ các nút khác trong mạng Việc xây dựng và duy trì DODAG đều dựa trên bản tin điều khiển DIO (DODAG Information Object) DIO được gửi thường xuyên và cung cấp thông tin để các nút có thể tính toán thứ hạng và lựa chọn nút cha nhằm phục vụ cho mục đích chuyển tiếp gói tin đến nút gốc Giá trị thứ hạng tăng dần từ nút gốc đến nút lá Thứ hạng của nút cha phải thấp hơn thứ hạng của các nút con Bản tin điều
root 1
P2MP DAO
MP2P
17 DODAG3
Trang 20khiển DIS (DODAG Information Solicitation) được dùng khi một nút mới muốn tham gia vào mạng, trong khi bản tin điều khiển DAO (DODAG Advertisement Object) có nhiệm vụ tạo ra đường đi xuống, hỗ trợ nút gốc gửi bản tin điều khiển khi cần Các thiết bị RPL được kết nối với nhau theo một cấu trúc liên kết cụ thể kết hợp các cấu trúc liên kết lưới và cây được gọi là đồ thị chu kỳ theo hướng đích (DODAG) Một
đồ thị DODAG được xây dựng từ một nút gốc là phần dữ liệu chìm của đồ thị Một mạng có thể vận hành một hoặc nhiều phiên bản RPL bao gồm nhiều đồ thị DODAG như trong Hình 1.1 Mỗi trường hợp RPL được liên kết với một hàm mục tiêu chịu trách nhiệm tính toán định tuyến tốt nhất tùy thuộc vào một tập hợp các số liệu và / hoặc các ràng buộc Chẳng hạn, chức năng này có thể giảm thiểu mức tiêu thụ năng lượng hoặc đơn giản là tính toán định tuyến ngắn nhất
Các gói tin trong giao thức định tuyến RPL có thể được chuyển tiếp theo ba mẫu lưu lượng như được hiển thị trong DODAG thứ ba tại Hình 1.1 multipoint-to-point (MP2P) từ nút lá đến nút gốc thông qua các định tuyến đi lên; point-to-multipoint (P2MP) từ nút gốc đến nút lá theo các định tuyến đi xuống và point-to-point (P2P) được minh họa bằng dấu chấm mũi tên màu đỏ được sử dụng cả định tuyến đi lên và xuống
Những khái niệm chính:
Quá trình thực hiện định tuyến RPL xây dựng các DAG (DODAG) là một hình trạng mạng mà mọi liên kết giữa các nút trong mạng đều có hướng nhất định, hướng đến DAG root và đảm bảo không tạo ra vòng lặp trong mạng
Các thành phần trong mô hình RPL DAG:
RPL Instance: một RPL Instance là tập hợp của một hoặc nhiều DODAG sử dụng chung một hàm mục tiêu OF (objective function)
DAG Identifier (DAGID): mã nhận dạng của mỗi DAG trong mạng, tất cả các nút trong mạng đều lưu DAG-ID của DAG mà nó là một thành viên
DAG Root: là một nút trong DAG có chức năng tập trung và xử lý dữ liệu từ các nút khác trong mạng gửi đến, mọi liên kết trong DAG đều hướng về DAG root và kết thúc tại DAG root
DAG Rank: là thông số cho biết vị trí tương đối của nút so với DAG root Những nút càng xa DAG root thì có thứ hạng càng cao Thứ hạng của nút có thể được tính thông qua khoảng cách hình học giữa nút lá và DAG root hoặc có thể được tính toán thông qua những hàm chức năng khác.Trong RPL, DAG root luôn có thứ hạng bằng 1 Thứ hạng được sử dụng để đánh giá mối quan hệ logic parent
- sibling - children giữa các nút trong cùng một DAG, từ đó tránh các vòng lặp
có thể xảy ra khi truyền gói tin đến DAG root
Trang 21 SUB-DAG: là tập hợp các nút khác mà có đường dẫn đến nút gốc thông qua một nút Các nút trong sub-DAG của một nút luôn có thứ hạng cao hơn nút đó
Object Code Point (OCP): là mã nhận dạng tương ứng với một OF OCP được
sử dụng trong quá trình kiểm tra các bản tin trong mạng và quá trình tìm kiếm những DAG phù hợp
DAG Parent: trong cùng một DAG, nút A được gọi là nút cha của nút B khi A
có khả năng kết nối trực tiếp đến B và A có thứ hạng thấp hơn B Khi đó, A có thể đóng vai trò là next-hop của B trong quá trình truyền gói tin về DAG root
RPL Goal: là một host hoặc một tập hợp gồm nhiều host có khả năng đáp ứng được các Objective Function, phục vụ việc tập trung dữ liệu từ các DAG hoặc tạo kết nối giữa các DAG với các mạng và ứng dụng ngoài
Objective Function (OF): là hàm chức năng cung cấp các phương thức cho phép một nút lựa chọn được DAG phù hợp, tính toán thứ hạng và lựa chọn các nút cha trong DAG
DAG Floating: DAG gọi là floating khi DAG root của nó không thể chuyển dữ liệu hoặc không thực hiện một nhiệm vụ cụ thể
DAG sequence number: là một bộ đếm tuần tự được sử dụng trong quá trình sửa chữa và tạo mới DAG Khi một nút DAG root muốn xây dựng lại một DAG mới, số thứ tự được tăng lên một đơn vị và quảng bá tới các nút khác trong mạng
Các bản tin điều khiển được sử dụng trong giao thức định tuyến RPL:
Giao thức định tuyến RPL sử dụng 04 loại bản tin điều khiển gồm có: DAG Information Solicitation (DIS), DAG Information Object (DIO), Destination Advertisement Object (DAO) và bản tin DAO-ACK [4]
DIO là bản tin điều khiển quan trọng nhất, đóng vai trò quyết định trong việc
Trang 22xây dựng và duy trì DAG DIO được tạo ra tại các DAG ROOT mang những thông tin định tuyến của DAG như Instance, thứ hạng, metric, OCP DIO được
sử dụng để quảng bá các thông tin định tuyến của một DAG xác định trong mạng, phục vụ quá trình xây dựng DAG và định tuyến đi lên Quá trình nhận
và xử lý bản tin DIO cho phép một nút nhận diện và tham gia vào DAG phù hợp Từ đó lựa chọn các nút cha, xác định các thông số cấu hình và tiếp tục quảng bá thông tin DAG đến các nút khác trong mạng
DIS là một bản tin được gửi từ những nút tự do trong mạng nhằm quảng bá sự xuất hiện của nút, thăm dò sự xuất hiện của các nút lân cận và yêu cầu những nút khác phản hồi bằng các bản tin DIO Bản tin DIS được gửi multicast khi nút
ở trạng thái tự do và được gửi unicast đến một nút cha trong DAG khi muốn nhận lại một bản tin unicast DIO nhằm cập nhật các thông tin về DAG của nút cha đó
DAO là bản tin được sử dụng để quảng bá thông tin của các đích, được gửi từ những nút có thứ hạng cao hơn đến những nút có thứ hạng thấp hơn dọc theo DAG DAO được sử dụng chủ yếu để định tuyến theo hướng đi xuống
DAO - ACK là bản tin được gửi lại cho nút gửi bản tin unicast bằng cách phản hồi lại bởi nút nhận bản tin DAO (nút gốc DAO hoặc nút gốc DODAG)
RPL sử dụng các bản tin điều khiển này để xây dựng, duy trì các DAG phục vụ cho quá trình chuyển tiếp các bản tin và định tuyến Trong quá trình gửi - nhận và xử
lý các bản tin điều khiển này, mỗi nút có thể quản lý thông tin các nút lân cận trong phạm vi kết nối để đưa ra quyết định tham gia vào DAG phù hợp, lựa chọn các nút cha, xác định next-hop và gửi gói tin đến DAG ROOT
1.2 Bảo mật trong giao thức định tuyến RPL
Trong phần này, phân tích tính bảo mật của giao thức định tuyến RPL cho mạng tổn hao và năng lượng thấp Các thành phần kiến trúc của giáo thức định tuyến RPL bao gồm một nút gốc và các nút như được mô tả trong Hình 1.1 Nút gốc chịu trách nhiệm tạo cấu trúc liên kết và bảo trì toàn cầu, đóng vai trò như một điểm thu thập dữ liệu và cung cấp chức năng đặc biệt như định tuyến Tất cả các bản tin được trao đổi giữa các nút được truyền qua mạng không dây Điều này khiến cho các dạng tấn công
có thể khai thác các điểm yếu tiềm ẩn của mạng, chẳng hạn như sửa đổi trái phép các bản tin hoặc chiếm quyền truy cập vào thông tin bằng cách giám sát việc trao đổi các bản tin
Cụ thể đối với giao thức định tuyến RPL do đặc điểm riêng biệt nên giao thức này phải đối mặt với rất nhiều các cuộc tấn công Trong khi đó, các giải pháp bảo mật cho mạng truyền thống không thể áp dụng do cấu trúc liên kết của giao thức định
Trang 23tuyến RPL, bảo mật tại lớp vật lý của các nút hạn chế về tài nguyên và liên kết yếu Ngoài ra, các nút trong mạng rất dễ bị xâm nhập và chúng không được trang bị các
cơ chế chống tấn công giả mạo do phải tiết kiệm chi phí năng lượng Thậm chí ngay
cả khi các cơ chế mã hóa được sử dụng chỉ có thể phòng chống được các cuộc tấn công từ bên ngoài Khi các nút đã bị tấn công và trở thành những cuộc tấn công nội
bộ, thuật toán mật mã trở nên vô ích và không còn có thể bảo vệ mạng Đó là lỗ hổng khiến cho tin tặc có thể triển khai các dạng tấn công và gây ra ảnh hưởng nghiêm trọng đến hiệu suất của mạng trong giao thức định tuyến RPL
Trong RFC7416 [5] đã phân tích tính bảo mật của giao thức định tuyến RPL, chức năng cơ bản của giao thức định tuyến là xây dựng các định tuyến cho các gói tin chuyển tiếp, nên điều cần thiết là phải đảm bảo rằng:
Tính toàn vẹn của thông tin định tuyến / hình trạng mạng vẫn còn nguyên vẹn trong quá trình truyền và lưu trữ
Thông tin định tuyến / hình trạng mạng được sử dụng bởi các thực thể được cấp quyền
Thông tin định tuyến / hình trạng mạng sẵn sàng khi cần thiết
Trong đó, cần phải đảm bảo rằng:
Các nút được cấp quyền tự xác thực trong quá trình xử lý phát hiện định tuyến của nút hàng xóm
Thông tin định tuyến / hình trạng mạng nhận được tạo ra theo thiết kế giao thức Tuy nhiên, khi sự tin tưởng không thể được đảm bảo hoàn toàn thông qua xác thực của riêng các nguyên tắc, tức là lo ngại về một cuộc tấn công nội bộ, thì việc đảm bảo tính trung thực và kịp thời của thông tin định tuyến / hình trạng mạng là cần thiết Liên quan đến tính bảo mật, việc bảo mật thông tin định tuyến / hình trạng mạng khỏi bị tấn công trái phép có thể là mong muốn trong một số trường hợp nhất định nhưng nhìn chung không thích hợp với các chức năng định tuyến
Một trong những vấn đề chính việc đồng bộ hóa trạng thái bảo mật của các nút ngoại tuyến (nút offline), gây ra khó khăn trong xác thực; các nút này có thể không nhận được bản cập nhật bảo mật mới nhất Tương tự, các vấn đề về cấu hình thủ công tối thiểu, triển khai kéo dài và việc trì hoãn bổ sung các nút cũng như thay đổi hình trạng mạng cũng làm phức tạp việc quản lý khóa Do đó, định tuyến trong LLN cần phải khởi động quá trình xác thực và cho phép một cơ chế thời hạn linh hoạt của thông tin xác thực
Trang 24Chế độ bảo mật cho giao thức định tuyến RPL:
RPL hỗ trợ ba chế độ bảo mật [6], gồm chế độ không an toàn (Unsecured Mode), chế độ cài đặt trước (Pre-Installed Mode) và chế độ xác thực (Authenticated Mode) được mô tả chi tiết như sau:
Chế độ không an toàn: Trong chế độ bảo mật này, RPL sử dụng các bản tin DIS, DIO và DAO cơ bản không có phần "bảo mật" Vì mạng có thể đang sử dụng các cơ chế bảo mật khác như bảo mật lớp liên kết, không an toàn không có nghĩa
là tất cả các bản tin được gửi đi không có bất kỳ biện pháp bảo mật nào
Chế độ cài đặt trước: Các nút yêu cầu tham gia vào RPL phải có khóa cài đặt trước Vì vậy, các nút này có thể xử lý và tạo ra các bản tin bảo mật RPL
Chế độ xác thực: Chế độ xác thực cũng tương tự như chế độ cài đặt trước, RPL
sử dụng các bản tin bảo mật trong chế độ này, một nút phải có một khóa được chia sẻ trước để tham gia hoặc liên kết với giao thức định tuyến RPL Tuy nhiên, các khóa này chỉ được sử dụng để tham gia RPL như một nút lá
1.3 Các dạng tấn công vào giao thức định tuyến RPL
Trong luận án này, tác giả nghiên cứu các cuộc tấn công vào giao thức định tuyến RPL thông qua một nguyên tắc phân loại các cuộc tấn công chống lại giao thức định tuyến RPL được giới thiệu trong [3] và bổ sung thêm một số dạng tấn công khác Nguyên tắc phân loại này dựa vào mục tiêu và những yếu tố ảnh hưởng của các cuộc tấn công gây ra cho giao thức định tuyến RPL Các cuộc tấn công vào giao thức định tuyến RPL rất đa dạng và được thực hiện với nhiều mục đích khác nhau Tsao và công sự [5] sử dụng mô hình CIAA (Tính mật, tính toàn vẹn, tính xác thực và tính sẵn sàng) để phân loại các cuộc tấn công Việc phân loại được mô tả trong Hình 1.2 Tác giả Mayzaud và cộng sự [3] đã phân chia các cuộc tấn công RPL thành ba nhóm chính như sau Nhóm thứ nhất bao gồm các cuộc tấn công có mục tiêu làm cạn kiệt nguồn tài nguyên mạng (năng lượng, bộ nhớ và khả năng tính toán) Những cuộc tấn công đặc biệt gây tổn hại cho các mạng tổn hao và năng lượng thấp Bởi vì nó rút ngắn thời gian hoạt động của các thiết bị và tuổi thọ của giao thức định tuyến RPL cũng bị giảm đi Nhóm thứ hai bao gồm các cuộc tấn công vào hình trạng giao thức định tuyến RPL Nhóm dạng tấn công này làm ảnh hưởng đến các hoạt động bình thường của mạng Các cuộc tấn công vào hình trạng mạng không chỉ làm chậm tiến trình hội tụ của mạng mà còn khiến cho một số nút bị cô lập ra khỏi mạng Cuối cùng
là nhóm thứ ba tương ứng với các cuộc tấn công vào lưu lượng mạng, gồm các cuộc tấn công nghe lén, giả mạo gói tin Tác động tổng thể của các cuộc tấn công RPL là
sự gián đoạn các đường dẫn định tuyến, suy giảm chất lượng, độ trễ E2E, cạn kiệt, tắc nghẽn, tăng chi phí kiểm soát, vòng lặp định tuyến và tiêu thụ năng lượng cao Trong phần tiếp theo, tác giả sẽ phân tích chi tiết các dạng tấn công đã nêu trên
Trang 25Các cuộc tấn công vào giao thức RPL
Tấn công tài nguyên mạng Tấn công hình trạng mạng Tấn công lưu lượng mạng
Hình 1.2 Phân loại các cuộc tấn công vào giao thức định tuyến RPL [3]
1.3.1 Tấn công vào tài nguyên mạng (Resources Attacks)
Các cuộc tấn công vào tài nguyên mạng thông thường bao gồm các hoạt động khiến cho các nút mạng thực hiện xử lý thông tin không cần thiết, dư thừa dẫn đến làm cạn kiệt nguồn tài nguyên mạng Dạng tấn công này nhằm mục đích tiêu thụ năng lượng của các nút, bộ nhớ hoặc thời gian xử lý Điều này có thể ảnh hưởng tác động đến tính sẵn sàng của mạng do ách tắc liên kết hay đánh sập một số nút mạng và do
đó vòng đời của mạng có thể bị rút ngắn một cách đáng kể
Tấn công vào tài nguyên mạng
Tấn công trực tiếp Tấn công gián tiếp
Tấn công lũ lụt
Tấn công quá tải
Tấn công quá tải bảng định tuyến
Hình 1.3 Phân loại các cuộc tấn công vào tài nguyên mạng
Trong Hình 1.3 các cuộc tấn công vào tài nguyên mạng được chia thành hai nhóm nhỏ hơn Trong đó, nhóm đầu tiên tập hợp các cuộc tấn công trực tiếp khi một nút giả mạo trực tiếp tạo ra quá tải để làm suy giảm hệ thống và làm cạn kiệt tài nguyên mạng Còn nhóm thứ hai là các cuộc tấn công gián tiếp mà những nút giả mạo
sẽ làm cho các nút khác tạo ra một lượng lớn các lưu lượng dư thừa, ví dụ cuộc tấn
Trang 26công có thể được thực hiện bằng cách xây dựng tạo ra các vòng lặp trong giao thức định tuyến RPL để làm cho các nút khác bị quá tải
Tấn công trực tiếp (Direct Attacks)
Trong trường hợp của các cuộc tấn công trực tiếp, nút giả mạo có trách nhiệm tác động trực tiếp làm cạn kiệt tài nguyên mạng Điều này thường được thực hiện bằng các cuộc tấn công lũ lụt hoặc bằng cách thực hiện các cuộc tấn công quá tải đối với bảng định tuyến, khi chế độ lưu trữ đang hoạt động
Tấn công lũ lụt (Flooding Attack)
Tấn công lũ lụt thực hiện tấn công bằng cách quảng bá một thông điệp "HELLO" với tín hiệu mạnh mẽ và định tuyến tốt nhất, cuộc tấn công có thể tự quảng bá là một nút hàng xóm đến nhiều nút hoặc có thể là toàn bộ mạng Các cuộc tấn công lũ lụt tạo ra một lưu lượng lớn trong một mạng và làm cho liên kết các nút trở nên vô hiệu hóa Những cuộc tấn công có thể được thực hiện bởi một cuộc tấn công từ bên ngoài hoặc trong nội bộ mạng Trong trường hợp xấu nhất cuộc tấn công lũ lụt sẽ làm cạn kiệt các năng lượng của một vài nút mạng hoặc tất cả các nút mạng Trong giao thức định tuyến RPL, một nút giả mạo có thể quảng bá bản tin DIS đến các nút lân cận của nó khiến cho các nút này phải thiết lập lại bộ đếm thời gian (trickle timer) hoặc gửi một bản tin DIS unicast đến một nút mà nút đó có thể phản hồi lại bằng một bản tin DIO Trong cả hai trường hợp, cuộc tấn công này dẫn đến tắc nghẽn mạng Các hậu quả của các tấn công đã được nghiên cứu trong [7], các tác giả cho rằng bản tin điều khiển
đã tăng lên đáng kể dẫn đến tắc nghẽn mạng và tiêu tốn nhiều năng lượng nút mạng
Tấn công quá tải (Overload)
Các cuộc tấn công quá tải [3] là một dạng tấn công DoS trong đó một nút giả mạo sẽ gây ra quá tải mạng bằng cách gửi một lưu lượng lớn không cần thiết làm tiêu tốn một cách nhanh chóng năng lượng của các nút, khi các nút này hoạt động dựa trên năng lượng hoặc những nguồn năng lượng tái chế Do đó nó sẽ rút ngắn đáng kể thời gian sống của mạng và tạo nên một cuộc tấn công nghiêm trọng ảnh hưởng đến tính sẵn sàng của hệ thống Năng lượng là một trong những tài sản quan trọng nhất của giao thức định tuyến RPL thì nó trở thành đối tượng của các cuộc tấn công khá là rõ ràng Một cách khác để làm suy giảm năng lượng của một nút bằng cách gửi một lưu lượng lớn dư thừa không cần thiết, tác động đến những đường truyền và gây ra tình trạng nghẽn mạng
Tấn công quá tải bảng định tuyến (Routing Table Overload)
Tấn công bảng định tuyến là một dạng tấn công trực tiếp làm cạn kiệt tài nguyên do
sự quá tải các bảng định tuyến Các nguyên tắc để làm bảng định tuyến quá tải là các nút giả mạo quảng bá các định tuyến giả bằng cách gửi bản tin DAO không hợp lệ đến các nút mục tiêu làm cho các bảng định tuyến của các nút này trở nên quá tải
Trang 27Việc quá tải này ngăn cản việc xây dựng các định tuyến hợp pháp mới và tác động đến chức năng của mạng, nó cũng có thể dẫn đến một lỗi tràn bộ nhớ
Tấn công DIS (DIS Attack)
Các nút giả mạo sẽ gửi bản tin DIS định kỳ cho nút hàng xóm Các bản tin DIS có thể được gửi theo hai cách, điều này sẽ dẫn đến một phản ứng khác nhau từ nút nhận Cách đầu tiên là phát bản tin DIS, bên nhận khi nhận được bản tin DIS sẽ phải đặt lại
bộ hẹn giờ DIO khi chúng nhận ra rằng có vấn đề nào đó đang xảy ra xung quanh với cấu trúc liên kết Cách thứ hai là gửi bản tin DIS này đến tất cả các nút trong danh sách các nút lân cận, bên nhận khi nhận được bản tin DIS sẽ gửi lại bản tin DIO cho bên gửi Cả hai cách này đều tăng thêm quyền kiểm soát mạng dẫn đến tắc nghẽn mạng và độ bão hòa của các nút Cuộc tấn công này tạo ra nhiều bản tin điều khiển
và làm cạn kiệt năng lượng của nút [8]
Tấn công sửa chữa cục bộ (Local Repair Attack)
Tấn công sửa chữa cục bộ, khi một nút giả mạo bắt đầu quảng bá bản tin sửa chữa cục bộ không có bất kỳ vấn đề nào liên quan đến chất lượng liên kết xung quanh nút Khi nút nhận được bản tin sửa chữa cục bộ thì nút sẽ cần tính toán lại định tuyến liên quan đến các nút giả mạo Loại tấn công này tạo ra nhiều bản tin điều khiển quá tải [8], khi một số gói tin bị loại bỏ vì định tuyến tạm thời không sẵn sàng và làm cạn kiệt năng lượng của nút, hình trạng thay đổi làm suy giảm đáng kể hiệu năng mạng
Tấn công gián tiếp (Indirect Attack)
Các cuộc tấn công gián tiếp là các cuộc tấn công mà các nút giả mạo thông qua nút khác tạo ra một tình trạng quá tải cho mạng
Tấn công tăng thứ hạng (Increased Rank Attack)
Cuộc tấn công tăng thứ hạng nhằm tăng thứ hạng của một nút trong giao thức định tuyến RPL để tạo ra các vòng lặp trong mạng Cụ thể, trong giao thức định tuyến RPL, giá trị thứ hạng được gắn với mỗi nút và tương ứng với vị trí của nó trong cấu trúc đồ thị theo các nút gốc [9] Như đã đề cập trước đó, thứ hạng của một nút luôn tăng theo hướng đi xuống và đảm bảo trong toàn bộ cấu trúc của DODAG Khi một nút xác định giá trị thứ hạng của nó, giá trị này phải lớn hơn giá trị thứ hạng của nút cha của nó Khi một nút muốn thay đổi giá trị thứ hạng, đầu tiên nó phải cập nhật danh sách các bậc thứ hạng của nút cha của nó bằng cách loại bỏ các nút có một thứ hạng cao hơn so với giá trị thứ hạng mới
Khi một nút đã thiết lập một tập các nút cha trong một DODAG, nó sẽ chọn nút cha phù hợp nhất của mình từ danh sách này để tối ưu hóa chi phí định tuyến khi truyền một gói tin đến nút gốc Dạng tấn công này, một nút giả mạo quảng bá giá trị thứ hạng cao hơn giá trị thực tế của nó Vòng lặp sẽ được hình thành khi nút cha được
Trang 28ưu tiên mới thuộc vào DODAG con trước đó của nó và chỉ khi nút giả mạo không sử dụng cơ chế tránh vòng lặp Trong trường hợp đó, hai kịch bản tấn công có thể xảy
ra như minh họa trong Hình 1.4
(a) (b)
Hình 1.4 Tấn công tăng hạng (nguồn: [3])
Tấn công khiến mâu thuẫn DAG (DAG Inconsistency Attacks)
Một nút phát hiện một mâu thuẫn DAG khi nó nhận được một gói tin với một trường flag Down là 'O' từ một nút với một cấp bậc cao hơn và ngược lại Điều này
có thể là kết quả do một vòng lặp trong đồ thị Cờ thứ hạng-error 'R' được sử dụng để kiểm soát vấn đề này Khi một sự mâu thuẫn được phát hiện bởi một nút, hai kịch bản
có thể xảy ra: (i) nếu cờ rank-error không được thiết lập, các nút thiết lập nó và các gói tin được chuyển tiếp Nếu chỉ có một sự mâu thuẫn dọc theo một con đường thì
sẽ không được coi là một tình huống nguy hiểm cho giao thức định tuyến RPL, (ii) nếu 'R' bit đã được thiết lập, các nút loại bỏ các gói tin và các bộ đếm thời gian được thiết lập lại Như một hệ quả, bản tin điều khiển được gửi thường xuyên hơn Một nút giả mạo đã chỉ cần sửa đổi những nội dung các trường cờ hoặc thêm một trường cờ mới vào tiêu đề gói tin Kết quả trực tiếp của cuộc tấn công này là các nút phải thiết lập lại cơ chế định thời bản tin DIO của mình Trong trường hợp đó, nút này bắt đầu truyền tải bản tin DIO thường xuyên hơn và gây ra sự không ổn định cục bộ trong giao thức định tuyến RPL Điều này cũng tiêu thụ năng lượng các nút và tác động đến
sự sẵn sàng của các liên kết Tất cả các khu vực lân cận của nút giả mạo sẽ bị ảnh
Rk=5
Relationship link Relationship link Downward movement
Trang 29hưởng bởi cuộc tấn công, vì nó phải tiến hành xử lý các lưu lượng không cần thiết Hơn nữa, bằng cách thay đổi định tuyến hợp pháp, tất cả các gói tin sẽ bị loại bỏ bởi các nút bị tấn công Điều này gây ra một hố đen và cô lập một phần của mạng [3]
Tấn công phiên bản (Version Number Attack)
Phiên bản là một trường quan trọng trong bản tin DIO Nó được truyền không thay đổi trong DODAG và chỉ được gia tăng bởi các nút sink (nút gốc), mỗi lần xây dựng lại DODAG cần thiết phải gọi một cơ chế sửa chữa toàn cục Với một phiên bản thấp hơn phiên bản cũ cho thấy các nút có phiên bản thấp hơn không thể tham gia vào đồ thị DODAG mới và không thể được sử dụng như một nút cha Một nút giả mạo có thể thay đổi phiên bản một cách bất hợp pháp bằng cách tăng giá trị trường này trong bản tin DIO khi nó được chuyển tiếp đến các nút lân cận Như vậy, dạng tấn công này gây ra một cuộc tái thiết không cần thiết toàn bộ DODAG [10] Cuộc tấn công này có thể tạo ra nhiều vòng lặp gây mất mát các gói dữ liệu Ngoài ra, việc tái thiết không cần thiết các DODAG sẽ làm tăng đáng kể số lượng các bản tin điều khiển dẫn đến cạn kiệt năng lượng và ách tắc mạng
1.3.2 Tấn công vào hình trạng mạng (Topology Attacks)
Các cuộc tấn công trong giao thức định tuyến RPL cũng có thể nhắm đến mục tiêu vào hình trạng mạng Các dạng tấn công vào hình trạng mạng được phân chia thành hai loại chính tại Hình 1.5 phân loại các cuộc tấn công vào hình trạng mạng đã được biểu thị như sau: Tấn công giảm tính tối ưu và tấn công cô lập nút
Tấn công DAO Inconsistency
Hình 1.5 Phân loại các cuộc tấn công vào hình trạng mạng
Tấn công giảm tính tối ưu (Sub-optimization Attacks)
Cuộc tấn công làm giảm tính tối ưu hóa, mạng sẽ không thể hội tụ về các hình
Trang 30thức tối ưu (nghĩa là đưa ra được các đường định tuyến ngắn nhất) gây ra hiệu suất kém cho mạng
Tấn công Sinkhole
Một cuộc tấn công sinkhole là một cuộc tấn công giả mạo thu hút rất nhiều lưu lượng truy cập thông qua nó bằng cách quảng bá một thông tin định tuyến giả mạo như trong Hình 1.6 hoạt động của tấn công sinkhole (Ví dụ link up và downward có chất lượng tốt) nhằm thu hút rất nhiều các nút lân cận định tuyến đi qua nó, đánh lừa
về định tuyến tốt Sau đó, khi nhận được một lượng lớn các lưu lượng mạng một cách bất hợp pháp nó sẽ thay đổi hoặc loại bỏ các gói tin và không chuyển tiếp đến đích Trong giao thức định tuyến RPL [3], các cuộc tấn công có thể dễ dàng thực hiện thông qua thay đổi các giá trị thứ hạng Bởi vì, tấn công sinkhole sẽ quảng bá các thông tin giả mạo, các nút giả mạo thường xuyên được lựa chọn làm nút cha ưa tiên bởi các nút khác, trong khi nó không cung cấp một định tuyến tối ưu hay một hiệu suất tốt hơn
Do đó, các định tuyến không được tối ưu hóa cho các mạng Dạng tấn công này làm thay đổi cấu trúc hình trạng và giảm hiệu suất mạng Hơn nữa, nếu cuộc tấn công sinkhole kết hợp với một số dạng tấn công khác như: Dạng tấn công hố đen hay tấn công chuyển tiếp có chọn lọc thì một phần mạng có thể sẽ vô hiệu hóa và gây hậu quả rất nghiêm trọng đến hiệu suất mạng
Hình 1.6 Tấn công sinkhole
Tấn công Wormhole
Tấn công Wormhole là một dạng tấn công kết nối giữa hai nút bằng các liên kết có dây hoặc không dây Tấn công Wormhole có thể được sử dụng để chuyển tiếp các gói tin nhanh hơn thông qua con đường bình thường Các cuộc tấn công Wormhole được định nghĩa là một hoạt động sử dụng một cặp nút tấn công, khi hai nút bị tấn công hoặc bị nhiễm mã độc thì nó nghĩ rằng có một định tuyến ngắn và tốt nhất cho chúng
5
1
Trang 31Hình 1.7 Tấn công wormhole (nguồn: [3])
Một cuộc tấn công Wormhole thuần túy rất khó phát hiện, vì nó không ảnh hưởng tới dữ liệu cũng như lưu lượng truyền thông Trong trường hợp xấu nhất, tấn công Wormhole sẽ khiến thiết bị mạng tính toán lại các định tuyến Khi tấn công Wormhole kết hợp với các dạng tấn công khác như tấn công chuyển tiếp chọn lọc có thể làm gián đoạn truyền thông mạng Một ví dụ được mô tả trong Hình 1.7 các nút
A và B liên kết với nhau thông qua một kết nối mạng riêng
Tấn công phát lại thông tin định tuyến (Routing Information Replay Attack) Một nút trong giao thức định tuyến RPL cũng có thể thực hiện các cuộc tấn công phát lại thông tin định tuyến Nó ghi lại bản tin điều khiển hợp lệ từ các nút khác và phát lại chúng sau này trong mạng Trong trường hợp hình trạng mạng là động, cuộc tấn công này là khá nguy hiểm Bởi vì hình trạng mạng và các đường dẫn định tuyến thường được thay đổi Cuộc tấn công phát lại khiến các nút cập nhật bảng định tuyến của nút với dữ liệu lỗi thời dẫn đến một cấu trúc liên kết sai Các giao thức RPL sử dụng một vài thông số để đảm bảo sự cập nhật sớm nhất của các thông tin định tuyến như version number của bản tin DIO hay path sequence của bản tin DAO [4]
Tấn công nút lân cận (Neighbor Attack)
Trong cuộc tấn công này [8], sau khi nút giả mạo nhận được bản tin DIO thì nó sẽ thay đổi và quảng bá các bản tin DIO Khi nút khác nhận được bản tin này có thể nghĩ rằng nút lân cận mới gửi bản tin DIO Nút tấn công thực hiện sao chép tất cả bản tin DIO mà nó nhận được và thực hiện quảng bá tới các nút khác trong mạng Bản tin DIO tạo ra cảm giác về sự xuất hiện của một nút mới trong mạng Cuộc tấn công này tương tự như cuộc tấn công Wormhole Nó ảnh hưởng đến các tham số mạng QOS không thay đổi trong tỷ lệ truyền gói tin, tăng độ trễ đầu cuối, thay đổi cấu trúc liên kết mạng, điều khiển quá tải gây lãng phí tài nguyên và CPU Cuộc tấn công này có thể nguy hiểm hơn khi kết hợp với các cuộc tấn công khác
1
B
A
Trang 32 Tấn công chuyển tiếp chọn lọc (Selective Forwarding Attack)
Cuộc tấn công chuyển tiếp chọn lọc cũng là một dạng tấn công từ chối dịch vụ (Denial
of Service) cuộc tấn công này làm gián đoạn phá hoại tuyến đường định tuyến và chọn lọc bất kỳ giao thức Trong RPL nút giả mạo có thể chuyển tiếp tất cả các bản tin điều khiển và loại bỏ lưu lượng truy cập mạng Một nút giả mạo có thể chuyển tiếp tất cả các bản tin kiểm soát RPL và loại bỏ phần còn lại lưu lượng mạng Cuộc tấn công này có hậu quả nghiêm trọng hơn khi kết hợp với các cuộc tấn công khác,
ví dụ, các cuộc tấn công sinkhole [11]
Tấn công cô lập các nút (Isolation Attacks)
Các cuộc tấn công này nhằm mục đích cô lập nút hoặc một tập hợp các nút trong giao thức định tuyến RPL khiến cho những nút này không còn khả năng trao đổi liên kết với nút cha hoặc với nút gốc
Tấn công hố đen (Blackhole)
Cuộc tấn công hố đen [5], có thể xem như là một loại tấn công từ chối dịch vụ (DoS) Mục tiêu của các dạng tấn công này sẽ loại bỏ tất cả các gói tin chuyển tiếp qua nó,
cô lập một phần hoạt động của mạng, cuộc tấn công này có thể sẽ rất nguy hiểm khi kết hợp với một cuộc tấn công sinkhole, gây ra mất mát một phần lớn lưu lượng mạng, làm cạn kiệt nguồn năng lượng và thậm chí các vấn đề về chậm trễ gói tin đầu cuối Nếu nút giả mạo nằm tại một vị trí chiến lược trong đồ thị mạng nó có thể cô lập một lượng lớn các nút trong mạng Ngoài ra còn có một biến thể của cuộc tấn công này được gọi là gray hole hoặc tấn công chuyển tiếp chọn lọc khi nút giả mạo chỉ loại bỏ một số gói tin (lựa chọn chuyển tiếp), nút tấn công chỉ chuyển tiếp các bản tin điều khiển của mạng như bản tin DIO, DIS, DAO dựa vào cách lọc giao thức (giao thức bản tin điều khiển đều là ICMP) trong khi loại bỏ tất cả các gói tin khác
Hình 1.8 Tấn công hố đen
1
Trang 33Tại Hình 1.8 minh họa tấn công hố đen, chúng ta có thể thấy rằng nút số 4 (màu đỏ) là một nút giả mạo hố đen, nút giả mạo sẽ thực hiện hút tất cả các nút lân cận định tuyến qua nó Trong đó, nút 5 – 7 lại chọn nút hố đen để làm nút cha tiếp theo của nó
Vì vậy, tất cả các gói tin đi qua nút số 4, nút hố đen sẽ loại bỏ tất cả bản tin mà nó nhận được từ nút 5 – 7 và không chuyển tiếp gói tin đến nút đích
Tấn công mâu thuẫn DAO
Tấn công mâu thuẫn DAO xảy ra khi một nút có một định tuyến đi xuống mà trước đó đã biết được từ một bản tin DAO nhưng định tuyến này không còn hợp lệ trong bảng định tuyến của nút con [3] RPL cung cấp một cơ chế để sửa chữa sự mâu thuẫn này, được gọi là phục hồi vòng lặp mâu thuẫn DAO Cơ chế tùy chọn này cho phép các bộ định tuyến RPL để loại bỏ các định tuyến xuống lạc hậu bằng cách sử dụng Forwarding - Error 'F' trong các gói dữ liệu mà chỉ ra rằng một gói tin không thể được thực hiện bởi một nút con Các gói cờ 'F' được gửi trả lại cho nút cha để sử dụng một nút hàng xóm, như mô tả trong Hình 1.9 Khi một gói tin được truyền downward, thường không bao giờ quay trở lại Khi nó xảy ra router gửi gói tin đến nút cha mà thông qua nó với Forwarding- Error 'F' bit và Down 'O' bit trái Khi nút cha nhận được các gói tin với 'F' nó loại bỏ tình trạng định tuyến tương ứng, xóa 'F' bit, và cố gắng gửi gói tin đến nút lân cận khác
(a) (b)
Hình 1.9 Tấn công DAO inconsistency (nguồn: [3])
Trong phần này, nút giả mạo được thể hiện bằng nút 21 Nó sử dụng cờ 'F' để làm cho router RPL loại bỏ các định tuyến downward và các nút, cô lập từ đồ thị DODAG Mỗi lần nút 21 nhận được một gói tin từ nút 11, nó chỉ thay đổi RPL cờ 'F'
và gửi nó trở lại nút 11 Kết quả là, các nút khác của mạng (các nút 31 đến 33) được phân lập từ biểu đồ Mục tiêu của cuộc tấn công này làm cho các nút định tuyến loại
bỏ các tuyến downward Điều này làm cho cấu trúc liên kết của đồ thị DODAG phụ
1
1
error
Trang 34tối ưu Một hậu quả của cuộc tấn công này là để cô lập các sub-DODAG ràng buộc với nút giả mạo mà không thể nhận các gói tin Điều này cũng dẫn đến tình trạng tắc nghẽn bổ sung (nếu các gói tin được chuyển tiếp qua con đường ít tối ưu), phân vùng
và sự bất ổn trong mạng dẫn đến hậu quả làm cạn kiệt và chậm trễ của nút con
1.3.3 Tấn công vào lưu lượng mạng (Traffic Attacks)
Các cuộc tấn công nhóm thứ ba này liên quan đến lưu lượng mạng trong giao thức định tuyến RPL Cuộc tấn công này chủ yếu được khai thác để truy cập vào mạng nội bộ bao gồm các cuộc tấn công nghe trộm và tấn công sử dụng sai như trong Hình 1.10 phân loại cuộc tấn công vào lưu lượng mạng dưới đây
Tấn công vào lưu lượng mạng
Tấn công Sniffing
Tấn công phân tích lưu lượng
Tấn công giảm thứ hạng
Tấn công định danh
Hình 1.10 Phân loại các cuộc tấn công vào lưu lượng mạng [3]
Tấn công nghe lén (Eavesdropping)
Tính chất của giao thức định tuyến RPL tạo thuận lợi cho việc triển khai nút giả mạo
có thể thực hiện các hoạt động nghe trộm như tìm dấu vết, phân tích lưu lượng mạng
Tấn công sniffing
Một cuộc tấn công sniffing là một dạng cuộc tấn công lắng nghe các gói tin truyền trong mạng [3] Cuộc tấn công này là rất phổ biến trong các mạng có dây và không dây Một nút giả mạo có thể thực hiện sử dụng một thiết bị thỏa hiệp hay trực tiếp bắt các gói tin từ các phương tiện chia sẻ trên các mạng không dây Các thông tin thu được từ các gói tin có thể bao gồm một phần cấu trúc liên kết của mạng, thông tin định tuyến và nội dung dữ liệu gói tin Trong giao thức định tuyến RPL, nếu một nút giả mạo thu được bản tin điều khiển, nó có thể truy cập thông tin về cấu hình DODAG như DODAG ID, số phiên bản, thứ hạng của các nút nằm trong đồ thị mạng bằng cách thu được các gói tin dữ liệu, các nút giả mạo không chỉ khám phá được nội dung gói tin mà còn có một cái nhìn cục bộ tổng quát về cấu trúc liên kết trong phạm
vi nghe trộm bằng cách nhìn vào địa chỉ nguồn/đích Cuộc tấn công này rất khó để phát hiện do tính chất thụ động của nó
Trang 35 Tấn công phân tích lưu lượng (Traffic Analysis)
Cuộc tấn công phân tích lưu lượng nhằm mục đích nhận được thông tin định tuyến bằng cách sử dụng các đặc điểm và các mẫu lưu lượng truy cập vào một liên kết Cuộc tấn công này có thể được thực hiện ngay cả khi các gói dữ liệu được mã hóa Mục tiêu là để thu thập thông tin về mạng RPL xem như là một phần của cấu trúc liên kết bằng cách xác định mối quan hệ giữa nút cha và nút con [3] Nhờ cuộc tấn công này, một nút giả mạo có thể thực hiện các cuộc tấn công khác với các thông tin thu thập được Hậu quả của cuộc tấn công này phụ thuộc vào thứ hạng của nút bị tấn công Nếu nút bị phân tích tấn công là gần với nút gốc, nó có thể xử lý một lưu lượng lớn do đó có thể có được nhiều thông tin hơn khi nút nằm trên các cạnh của một DODAG con
Tấn công sử dụng sai (Misappropriation Attack)
Trong cuộc tấn công sử dụng sai, danh tính của một nút hợp lệ bị chiếm dụng Những cuộc tấn công này không gây tổn hại cho giao thức định tuyến RPL Tuy nhiên, chúng thường được sử dụng như là một bước khởi đầu cho các cuộc tấn công khác như hai dạng tấn công đã trình bày trước đó Chúng cho phép kẻ tấn công đạt được một sự hiểu biết tốt hơn về mạng và cấu trúc liên kết của mạng, tiếp cận tốt hơn hoặc để đánh chặn phần lớn lưu lượng mạng
Tấn công giảm thứ hạng (Decreased Rank Attack)
Trong một đồ thị DAG, nút có thứ hạng càng thấp thì càng gần nút gốc và lưu lương các gói tin đi qua nút này sẽ là nhiều hơn Khi một nút giả mạo quảng bá bất hợp pháp một giá trị thứ hạng thấp hơn thực tế, quảng bá hiệu suất của nó tốt hơn thực tế Kết quả là, nhiều nút mạng sẽ kết nối với đồ thị DODAG qua những nút giả mạo này Điều này dẫn đến việc thu hút một lưu lượng lớn Nhờ hoạt động này, các nút giả mạo có khả năng thực hiện các cuộc tấn công khác như sinkhole và các cuộc tấn công nghe trộm [3] Trong giao thức RPL, nút giả mạo có thể thay đổi giá trị thứ hạng của nó thông qua việc giả mạo bản tin DIO
Tấn công định danh (Identity Attack)
Các cuộc tấn công định danh bao gồm cả hai cuộc tấn công giả mạo và Sybil Một cuộc tấn công giả mạo cũng gọi là tấn công Clone ID xảy ra khi một nút giả mạo giả vờ như là một nút đang tồn tại hoạt động hợp pháp Trong giao thức định tuyến RPL, nút gốc đóng một vai trò quan trọng trong một đồ thị DAG Nó được xây dựng
và duy trì các cấu trúc liên kết bằng cách gửi thông tin định tuyến Một nút giả mạo
có thể thu thập lưu lượng mạng để xác định các nút gốc Khi xác định được, nó có thể giả mạo địa chỉ của các nút gốc DODAG và kiểm soát mạng Trong cuộc tấn công Sybil, một nút giả mạo sử dụng một số thực thể logic trên các nút vật lý giống nhau Các cuộc tấn công Sybil được sử dụng như một tiền đề để thực hiện các hoạt động
Trang 36khác Các tác giả khác đã cho thấy giao thức RPL không thể giải quyết vấn đề này bằng cách riêng của mình và đề nghị xem xét dữ liệu vị trí của các nút trong thực tế
để phát hiện các cuộc tấn công như vậy [3]
1.4 Các phương pháp phát hiện và phòng chống tấn công vào giao thức định tuyến RPL
Trong phần này, tác giả trình bày tổng quan về các phương pháp phát hiện và phòng chống tấn công vào giao thức định tuyến RPL dựa trên cơ sở tham khảo các nghiên cứu liên quan đến các phương pháp đã được công bố trước đây Theo nghiên cứu, phân loại các phương pháp đã được mô tả tại Hình 1.11 dưới đây
Các phương pháp phát hiện và phòng chống tấn công vào giao thức RPL
Phương pháp phát hiện Phương pháp phòng chống
Giải pháp giảm thiểu
Giảm thiểu dựa trên giám sát các hành vi chuyển tiếp sai trái.
SVELTE
IDS dựa trên đặc điểm
kỹ thuật.
IDS dựa trên dấu hiệu
Phát hiện dựa trên nhịp tim.
Parent fail over
Giao thức nhịp tim nhẹ
Cơ chế dựa trên tin cậy
Độ tin cậy dựa trên phân tán.
Nút cha an toàn.
Độ tin cậy nhẹ
Hệ thống bảo mật dựa trên độ tin cậy.
Chỉ số tin cậy mới
Kỹ thuật giảm thiểu
Nút gốc
Mật mã
Ngưỡng
Cơ chế xác thực hạng nhẹ dựa trên bộ lọc cuckoo.
Trang 371.4.1 Các phương pháp phát hiện tấn công
Trong những năm gần đây, nhiều tác giả đã nghiên cứu và triển khai các cơ chế phát hiện các cuộc tấn công vào giao thức định tuyến RPL Trong phần này, tác giả
sẽ trình bày phân tích và đánh giá ngắn gọn một số phương pháp phát hiện tấn công khác nhau dựa trên hệ thống phát hiện xâm nhập (Intrusion Detection System), giao thức nhịp tim (Heartbeat protocol) và dựa trên phân tích độ tin cậy (Trust based mechanisms), tóm tắt các phương pháp phát hiện tấn công được trình bày như sau:
1 .4.1.1 Phương pháp phát hiện tấn công dựa trên hệ thống phát hiện xâm
nhập (Intrusion Detection System)
a) Raza et al đã đề xuất một IDS có tên là SVELTE [12] được phát triển cho mạng IoT Ý tưởng chính là kết hợp dựa trên phát hiện sự bất thường Cơ chế này cung cấp
sự cân bằng giữa chi phí lưu trữ và tính toán Hệ thống phát hiện xâm nhập SVELTE gồm có ba thành phần tập trung có thể được đặt trong thư mục DODAG root Thành phần đầu tiên được gọi là 6Mapper định kỳ gửi các yêu cầu đến các nút RPL khác bao gồm Timestamp, Instance ID, DODAG ID và DODAG version number Mỗi nút đáp ứng yêu cầu bằng cách nối thêm thông tin nút cha và nút lân cận của nó Thành phần thứ hai nhằm đánh giá ánh xạ dữ liệu và phát hiện xâm nhập SVELTE thực hiện ba phương pháp có thể phát hiện thông tin sửa đổi và không nhất quán thông tin Thành phần cuối cùng là một tường lửa mini phân tán có vai trò bảo vệ mạng cục bộ khỏi những cuộc tấn công toàn cầu Ngoài các chức năng ngăn chặn thông thường, tường lửa có thể loại bỏ nút giả mạo bên ngoài được xác định bởi các nút RPL nội bộ trong thời gian thực
b) Le và cộng sự [13] đề xuất hệ thống phát hiện xâm nhập dựa trên đặc điểm kỹ thuật
(Specification based IDS) để khắc phục những vấn đề tồn tại trong phương pháp SVELTE Hệ thống phát hiện xâm nhập dựa trên đặc điểm kỹ thuật là hệ thống IDS
dựa trên việc thu thập thông tin về trạng thái, chuyển đổi một vài thông số khác Cơ
chế này bao gồm hai giai đoạn Đầu tiên, RPL sử dụng máy trạng thái hữu hạn (Finite State Machines) để xác định tất cả các trạng thái có liên quan đến sự bất thường trạng thái mạng và phân tích các trạng thái chuyển đổi đó bằng cách sử dụng log Giai đoạn thứ hai chuyển đổi nhận thức về RPL bằng cách sử dụng giải thuật phát hiện đã được đặt tại IDS agent IDS cho phép phát hiện tấn công sinkhole, tấn công sửa chữa cục
bộ, tấn công nút hàng xóm, tấn công tăng hạng và tấn công DIS với tỷ lệ phát hiện
đúng xấp xỉ 100 % và tỷ lệ cảnh báo sai ở mức 5% - 6% Mục đích của hai hệ thống
trên là phát hiện ra sự bất thường, tuy nhiên chúng không được trang bị cơ chế cô lập
các nút tấn công và khôi phục trạng thái hoạt động của mạng
c) Hệ thống phát hiện xâm nhập dựa trên dấu hiệu (Signature-based IDS), IDS dựa trên dấu hiệu để phát hiện cuộc tấn công DIS và tấn công phiên bản [14] IDS yêu
Trang 38cầu các mô-đun phát hiện và giám sát phải được đặt trên chính các nút, như trong trường hợp cơ chế phát hiện kết hợp Tuy nhiên, các tác giả xem xét hai loại nút bổ sung trong cơ chế này Nút đầu tiên là bộ định tuyến IDS, mang các mô-đun tường lửa Còn nút thứ hai là bộ cảm biến hoặc bộ thăm dò IDS chịu trách nhiệm giám sát
và gửi thông tin lưu lượng giả mạo đến các nút bộ định tuyến Bộ định tuyến IDS kiểm tra tất cả lưu lượng đi qua để quyết định xem nguồn gói tin có giả mạo hay không Công việc của bộ thăm dò IDS là theo dõi lưu lượng cảm biến và tính toán số liệu, tức là Received Signal Strength Indicator (RSSI), tỷ lệ mất gói tin và tỷ lệ gửi gói tin Quyết định cuối cùng về việc phân loại một nút là giả mạo hay không được thực hiện bởi mô-đun phát hiện chạy trên 6BR (Thiết bị định tuyến biên của 6LoWPAN), dựa trên dữ liệu nhận được từ mỗi nút Tuy nhiên, cơ chế này không được xác thực, đó là hạn chế lớn của cơ chế này
1 .4.1.2 Phương pháp phát hiện tấn công dựa trên giao thức nhịp tim
(Heartbeat protocol)
a) Nghiên cứu [15], là một cơ chế phát hiện các cuộc tấn công hố đen dựa trên giao thức nhịp tim (heartbeat protocol) bằng cách sử dụng bản tin UDP gửi các yêu cầu và phản hồi RPL ICMPv6 ECHO Khi IDS gửi một bản tin UDPRequest đến một nút,
nó sẽ đợi một bản tin UDPResponse Sau nhiều lần gửi, nếu không nhận được phản hồi, nó sẽ tạo ra một cảnh báo thông qua đầu ra chính Cụ thể, phương pháp này bao gồm hai giai đoạn như: Tìm kiếm và phát hiện Trong giai đoạn tìm kiếm, IDS được đặt trên cổng (nút gốc) và lưu trữ địa chỉ IP của mỗi nút mạng (ví dụ: sau khi nhận được các bản tin DIO, DIS hoặc DAO) Trong giai đoạn phát hiện, khả năng tấn công
hố đen được kiểm tra bằng cách so sánh bộ đếm với ngưỡng được xác định trước, bộ đếm được đặt lại cho nút được coi là nút giả mạo và cuối cùng gửi một bản tin UDPResquest mới đến tất cả các nút IDS chứa thông tin về nút đã gửi bản tin UDPRequest tương ứng Khi IDS gửi một yêu cầu mới đến nút, nút sẽ nâng cấp bộ đếm và kiểm tra ngưỡng để phát hiện nút giả mạo Nút phản hồi bằng cách gửi bản tin UDPResponse Do đó, bộ đếm sẽ được thiết lập lại và cảnh báo sẽ được kích hoạt khi ngưỡng nút lớn hơn ngưỡng hiện tại
b) Trong [16], các tác giả trình bày cơ chế parent fail-over trong đó các gói tin DoS được sửa đổi để phù hợp với Unheard Node Set (UNS) Nếu không phản hồi trong
10 giây, nút BR sẽ thêm nút vào UNS và làm ngập mạng bằng các gói tin DoS Các nút khác trên mạng nhận được các gói dữ liệu này sẽ kiểm tra UNS và phản hồi tương ứng Phương pháp này chứng tỏ khả năng truyền thông điệp cao, vì mỗi nút phải giao tiếp liên kết với nút BR sau mỗi 10 giây
c) Một phương pháp do Wallgren và cộng sự [17] rất đơn giản nhưng rất hiệu quả Ý tưởng là gửi một yêu cầu ICMPv6 từ một nút đến một nút khác trong mạng Nếu nút
Trang 39gửi yêu cầu ICMPv6 không nhận được phản hồi, có thể một cuộc tấn công hố đen đang diễn ra Ngoài ra, nếu nút bị sự cố vì lý do nào đó, cơ chế có thể phát hiện ra tình huống đó Giao thức nhịp tim hạng nhẹ đã được chứng minh có thể giảm thiểu các cuộc tấn công hố đen Tác giả đã giả định rằng việc liên kết bằng IPSec là an toàn, vì vậy nút tấn công không thể phân biệt gói ICMPv6 với các gói tin khác Tuy nhiên, phần thử nghiệm trong Contiki (không có RAM hoặc ROM), vì ICMPv6 đã là một phần trong quá trình triển khai RPL trong Contiki Trong đó, chi phí giao tiếp liên kết đã tăng lên 10% khi LHP được kích hoạt
1 .4.1.3 Phương pháp phát hiện tấn công dựa trên cơ chế độ tin cậy (Trust
based mechanisms)
a) Các tác giả trong [18] là một cơ chế dựa trên độ tin cậy phân tán để phát hiện các cuộc tấn công hố đen Cụ thể, mỗi nút cần theo dõi tỷ lệ lưu lượng đến và lưu lượng chuyển tiếp của các nút lân cận và sử dụng tỷ lệ này như một giá trị tin cậy trong tính toán hàm mục tiêu của nó Chỉ những nút lân cận có giá trị tin cậy cao mới được coi
là nút cha tiềm năng để giúp chuyển tiếp lưu lượng truy cập Tuy nhiên, cơ chế này cũng có một số hạn chế Để ước tính chính xác hành vi chuyển tiếp lưu lượng của các nút lân cận, các nút mạng ban đầu được thiết kế để tiết kiệm năng lượng bằng cách chuyển sang chế độ chờ phải duy trì hoạt động trong một khoảng thời gian Điều này dẫn đến thời gian hoạt động và tiêu hao năng lượng tăng lên đáng kể Quan trọng hơn, thách thức mới là làm thế nào để đảm bảo rằng mỗi nút bị hạn chế tài nguyên có thể báo cáo một cách đáng tin cậy những hành vi trung thực của các nút lân cận trong một thời gian dài
b) Khan và Herrman [19] đề xuất một cơ chế phân quyền và giá trị tin cậy Tuy nhiên, các giá trị này được gửi đến nút gốc, nơi chúng được tổng hợp thành một tập giá trị tin cậy Từ đó, chúng có thể được sử dụng để xác định các nút tấn công Ngoài ra, giá trị tin cậy cũng bị ảnh hưởng bởi kết quả kiểm tra nhiều lần, bao gồm "kiểm tra chuyển tiếp" để phát hiện tấn công hố đen và các cuộc tấn công chuyển tiếp chọn lọc
c) Lựa chọn nút cha an toàn: Iuchi et al [20] là một cơ chế ngưỡng dựa trên độ tin cậy
để chọn một nút làm nút cha ưu tiên và bảo vệ chúng tránh khỏi các cuộc tấn công thứ hạng Trong cơ chế này, mỗi nút trong mạng chọn nút cha ưa tiên của nó bằng cách giả sử thực tế là nút tấn công yêu cầu thứ hạng thấp hơn nhiều so với các nút mạng Tất cả các nút trong mạng đều có khả năng tìm ra được nút có thứ hạng bất hợp pháp bằng cách tính toán thứ hạng tối đa và trung bình của các nút lân cận Sau
đó, một nút mạng sẽ chọn nút cha của nó bằng cách loại trừ nút hiển thị thiếu thứ hạng “deficient rank” và tránh chuyển tiếp các gói tin đến các nút tấn công Cơ chế này cho thấy hai hạn chế lớn Đầu tiên, trong một số trường hợp có thể dẫn đến việc
Trang 40tạo ra các định tuyến không được tối ưu hóa vì các nút mạng không được chọn làm nút cha Thứ hai, cách tiếp cận này dễ bị tấn công Sybil và tấn công hố đen
d) Tác giả Ariehrour et al [21] là một giao thức định tuyến để phát hiện các cuộc tấn công chuyển tiếp chọn lọc và tấn công hố đen Ý tưởng chính được đề xuất là tỷ lệ mất gói tin của các nút giả mạo cao hơn so với các nút bình thường khi dạng tấn công đang thực hiện một cuộc tấn công chuyển tiếp chọn lọc hay hố đen Hành vi này của các nút được sử dụng để đánh giá độ tin cậy của chúng Cơ chế này sử dụng các giá trị tin cậy để đánh giá độ tin cậy của các nút nhằm tạo điều kiện cho các quyết định định tuyến tối ưu và đồng thời có thể cô lập các nút giả mạo Trong Trust-Aware RPL ban đầu, tất cả các nút thực hiện các hoạt động lựa chọn định tuyến bình thường, tức
là tính toán chất lượng định tuyến qua các nút lân cận khác nhau dựa trên MRHOF Trust-Aware RPL cho thấy hiệu suất tốt hơn so với MRHOF-RPL về các cuộc tấn công được phát hiện, tần suất thay đổi thứ hạng nút, thông lượng và tỷ lệ mất gói tin Nhưng một số hạn chế của giao thức được đề xuất là: (1) hoạt động theo chế độ
“promiscuous mode” làm tăng mức tiêu thụ năng lượng; (2) một nút bình thường có thể loại bỏ các gói tin do các lỗi không cố ý, điều này khiến cho nút bình thường trở thành giống như một nút tấn công hố đen
e) Trong bài báo này, [22] là một cơ chế quản lý độ tin cậy để bảo mật định tuyến trong giao thức RPL RPL dựa trên cơ chế độ tin cậy này, cụ thể là MRTS (Metric-based RPL Trustworthiness Scheme) dựa trên mô hình tin cậy phân tán và hợp tác giữa các nút khác nhau trong mạng Trong đó, các hành vi của các nút được sử dụng
để đánh giá giá trị tin cậy Giá trị này được đặt tên là chỉ số tin cậy ERNT (Extended RPL Node Trustworthiness) Sau khi đánh giá hợp tác ERNT, cơ chế MRST chỉ xem xét các nút đáng tin cậy Chi phí định tuyến các nút trong MRTS hỗ trợ quá trình khám phá định tuyến để thiết lập các định tuyến an toàn Tác giả mô tả hoạt động của MRTS, trên thực tế cách tiếp cận MRTS bảo mật tích hợp trong chính các nút Do
đó, sử dụng chip bảo mật phần cứng "Trust Platform Module (TPM)" làm bộ đồng
xử lý được nhúng vào mỗi nút trong mạng Mục đích sử dụng TPM là bảo mật trao đổi các bản tin điều khiển trong quá trình xây dựng RPL (tức là xác thực và mã xóa) Tuy nhiên, TPM thiết lập độ tin cậy của nút trước khi trao đổi khóa và cài đặt tin cậy chỉ được sử dụng để trao đổi khóa an toàn chứ không phải để định tuyến Ngoài ra, nếu một nút bị tấn công hoặc bị lỗi sau khi cài đặt tin cậy thì việc trao đổi khóa vẫn đáng tin cậy hơn so với các nút khác Trên thực tế, phương pháp này không hiệu quả đối với việc quản lý độ tin cậy trong RPL