Contiki là một hệ điều hành mở được thiết kế dành riêng cho các ứng dụng có bộ nhớ bị giới hạn ví dụ như các node trong mạng cảm biến không dây. Contiki được xây dựng trên ngôn ngữ C, là hệ điều hành mở với dung lượng nhỏ và được xây dựng dựa trên việc điều khiển các sự kiện (event-driven). Contiki cung cấp đa nhiệm vụ theo thứ tự ưu tiên. Cấu hình Contiki chiếm 2kB bộ nhớ R M và 40kB bộ nhớ ROM.. Contiki được bắt đ u nghiên cứu từ năm 2001, phát hành phiên bản đ u tiên năm 2003, phiên bản hiện nay là Contiki 3.0 với nhiều thay đổi, bổ sung và phát triển vượt bậc đã được ứng dụng trong nhiều dự án thực tế.
Đặc điểm của hệ điều hành Contiki:
- Contiki được chia thành nhiều mô-đun hoạt động độc lập. Nhờ đó các ứng dụng có thể s dụng các mô-đun một cách linh động và ch load những mô-đun c n thiết.
- Cơ chế hoạt động điều khiển sự kiện làm giảm năng lượng tiêu hao và hạn chế dung lượng bộ nhớ c n s dụng.
- Có thể s dụng IP trong mạng cảm biến thông qua uIP stack được xây dựng dựa trên nền TCP/IP.
- Có những mô-đun cho phép ước lượng và quản l năng lượng một cách hiệu quả.
- Các giao thức tương tác giữa các lớp và các node trong mạng dễ dàng hơn.
- S dụng RIME stack phục vụ các giao thức dành cho mạng năng lượng thấp một cách hiệu quả.
28
Contiki chạy trên một loạt các nền tảng khác nhau, hỗ trợ nhiều vi điều khiển và yêu c u ít bộ nhớ.
29
CHƢƠNG 2: CÁC CUỘC TẤN CÔNG CHỐNG LẠI RPL 2.1. Vấn đề bảo mật trong RPL
Như đã đề cập trong mục 1.3 giao thức RPL xác định một số cơ chế giúp đảm bảo bảo mật cho nó như cơ chế s a chữa cục bộ, cơ chế s a chữa toàn cục và tránh vòng lặp. Nó cũng định nghĩa hai phương thức bảo mật để mã hóa các gói dữ liệu. Tuy nhiên, đặc trưng triển khai của các mạng này là độ an toàn của nó dựa trên t ng liên kết và vận chuyển hoặc t ng ứng dụng. Trong ph n tiếp theo của luận văn, tôi giả định r ng một k tấn công có thể bỏ qua an ninh tại các t ng liên kết bẳng cách khai thác được một lỗ hổng hoặc đạt được quyền truy cập vào một khóa chia s . Những k tấn công cũng có thể là một node bị cấu hình sai hoặc bị lỗi mà hành vi của nó có thể làm xáo trộn chức năng của mạng.
Trong luận văn này, tôi nghiên cứu các cuộc tấn công 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 [1 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 của các cuộc tấn công và những yếu tố nào của mạng RPL có thể bị ảnh hưởng. Việc phân loại được mô tả trong hình 4 và chúng ta sẽ phân 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 năng lượng thấp bởi vì nó rút ngắn tuổi thọ của thiết bị và do đó tuổi thọ của mạng RPL cũng bị giảm đi. Nhóm thứ hai bao gồm các cuộc tấn công nhắm vào topo mạng RPL. Nó làm ảnh hưởng các hoạt động bình thường của mạng: topo có thể được tối ưu kém so với một hội tụ
30
bình thường của mạng hoặc một tập hợp các node trong RPL có thể bị cô lập ra khỏi mạng. Loại thứ ba tương ứng với các cuộc tấn công chống lại lưu lượng mạng, chẳng hạn như các cuộc tấn công nghe trộm, s dụng sai. Trong các ph n tiếp theo tôi thảo luận các tính chất của các cuộc tấn công cũng như các phương pháp và kỹ thuật để giải quyết chúng.
Hình 4: Phân loại các cuộc tấn công giao thức định tuyến RPL
2.2.Tấn công làm cạn kiệt tài nguyên
Các cuộc tấn công làm cạn kiệt các nguồn tài nguyên thông thường bao gồm các hoạt động khiến các node hợp pháp thực hiện những x l không c n thiết, dư thừa dẫn đến làm cạn kiệt nguồn tài nguyên của nó. Dạng tấn công này nh m mục đích tiêu thụ bớt năng lượng của các node, bộ nhớ hoặc năng lực tính toán. Điều này có thể tác động đến tính sẵn có của mạng do ách tắc liên kết hay đánh sập một số node mạng và do đó vòng đời của mạng có thể bị rút ngắn đáng kể. Chúng tôi phân biệt các cuộc tấn công làm cạn kiệt tài nguyên thành hai nhóm nhỏ hơn. Nhóm đ u tiên tập hợp các cuộc tấn công trực tiếp khi một node độc hại sẽ trực tiếp tạo ra sự quá tải để làm suy giảm hệ thống mạng. Nhóm thứ hai chứa các
31
cuộc tấn công gián tiếp mà những k tấn công sẽ làm cho các node khác tạo ra một lượng lớn các lưu lượng dư thừa. Ví dụ, một cuộc tấn công như vậy có thể được thực hiện b ng cách xây dựng các vòng lặp trong mạng RPL để làm cho các node khác bị quá tải. Bảng 1 tóm tắt các cuộc tấn công làm cạn kiệt tài nguyên. Tính chất đ u tiên được phân tích là dạng tấn công xuất phát từ nội bộ (I hay bên ngoài mạng (E . Bản chất của cuộc tấn công nội bộ là cuộc tấn công được khởi xướng bởi một node độc hại hoặc một tổn hại của mạng RPL. Trong khi các cuộc tấn công từ bên ngoài được thực hiện bới các node không thuộc mạng RPL hoặc không được phép truy cập vào nó. Chúng ta quan sát thấy r ng ch có tấn công lũ lụt có thể được thực hiện từ bên ngoài bởi vì k tấn công không phải tham gia vào một DOD G để thực hiện tấn công. Đối với các cuộc tấn công còn lại, các node độc hại c n phải là một ph n của DOD G để có đủ các tri thức để khởi động được cuộc tấn công. Tính chất thứ hai chúng ta c n quan tâm là phải xác định xem dạng tấn công đó là chủ động ( hay thụ động (P . Các cuộc tấn công thụ động sẽ không làm thay đổi hành vi của mạng. Ngược lại, các cuộc tấn công chủ động sẽ yêu c u các node thực hiện các hoạt động có thể tác động đến các node khác trong mạng. Tấn công chủ động thường nguy hiểm hơn tấn công thụ động khi mà hình thức tấn công thụ động chủ yếu được thực hiện để nghe trộm dữ liệu hoặc các thông tin về topo mạng. Các cuộc tấn công làm cạn kiệt tài nguyên mạng đều là các cuộc tấn công chủ động bởi vì các node độc hại đều có thể tiến hành g i các gói tin. Tính chất thứ ba là điều kiện tiên quyết. Các điều kiện tiên quyết là những điều kiện c n thiết để khởi động một cuộc tấn công chẳng hạn như cấu hình cụ thể của mạng. Chế độ lưu trữ phải được kích hoạt thì k tấn công mới khởi động được
32
tấn công làm quá tải bảng định tuyến. Hay thay đổi tiêu đề gói tin phải được tiến hành để thực hiện các cuộc tấn công mâu thuẫn D G. Tính chất tiếp theo tương ứng với đối tượng tác động của các cuộc tấn công. Mục tiêu là để định lượng những hậu quả gây ra bởi một cuộc tấn công đã được tiến hành thành công. Các đối tượng tác động là loại tài nguyên tiêu thụ (ví dụ bộ nhớ, pin, liên kết sẵn có . Chúng tôi nhận thấy r ng tất cả các cuộc tấn công đều khiến tiêu thụ nhanh chóng năng lượng của một node b ng cách khiến các node phải x l dữ liệu dư thừa hay tiến hành các cơ chế s a chữa. Trong h u hết thời gian, sự sẵn có của các liên kết cũng bị ảnh hưởng từ các cuộc tấn công khi mà chúng đòi hỏi phải g i một số lượng lớn các bản tin điều khiển. Bộ nhớ cũng là một đối tượng để tác động trong trường hợp của cuộc tấn công quá tải bảng định tuyến. Tính chất thứ năm tương ứng với chữ viết tắt CI là tính bảo mật, tính toàn vẹn và tính sẵn có. Trong giao thức RPL, bảo mật là bảo mật các thông tin định tuyến và dữ liệu trao đổi giữa các node mạng. Trong khi tính toàn vẹn liên quan đến việc bảo vệ các thông tin định tuyến không cho s a đổi trái phép, và tính sẵn sàng yêu c u các dịch vụ chuyển tiếp và định tuyến để trao đổi thông tin giữa các node phải luôn sẵn sàng. Về các cuộc tấn công nh m mục tiêu làm cạn kiệt các nguồn lực, nó có thể tác động đến tính sẵn có của mạng. Cột cuối cùng của bảng tương ứng cơ chế bảo mật có thể giải quyết các cuộc tấn công. Chúng tôi thấy r ng bản thân RPL cũng cung cấp các cơ chế nội bộ để góp ph n phản công lại các cuộc tấn công. Ví dụ, các cơ chế tránh vòng lặp ngăn chặn các cuộc tấn công tăng rank. Giao thức này cũng đề xuất một cơ chế giảm nhẹ tổn hại tác động bởi các cuộc tấn công mâu thuẫn D G [1]. Vera và TR IL là các phương pháp để ngăn chặn tấn công s a đổi version
33
number [1]. Trong nhiều trường hợp, rất khó để đánh giá đúng chi phí gây ra bởi các cơ chế bảo mật này, vì ph n lớn các cơ chế này vẫn đang được đưa ra ở mức khái niệm. Hơn nữa, chúng ta cũng không thể thực sự xem r ng các cơ chế đó là gắn liền với chi phí hoạt động giao thức RPL.
Dạng tấn công
I/E A/P Điều kiện Đối tượng CIA Biện pháp bảo vệ
Tấn công l lụt
I/E A Link/Energy A
Overload I A Link/Energy A Đưa ra hạn mức lưu lượng tối đa cho phép mỗi node được g i trong khoảng thời gian nhất định Tấn công quá tải bảng định tuyến I A Storing mode Memory/ Energy A/I Tấn công t ng rank I A Link/ Energy A Cơ chế phát hiện và tránh vòng lặp trong RPL Tấn công khiến mẫu I A Option header Link/ Energy A/I Giới hạn số l n thiết lập bộ đình
34
thuẫn DAG thời DIO
Tấn công số phiên bản I A Link/ Energy A/I Xác thực rank và số phiên bản, TRAIL
Bảng 1: Tóm tắt các cuộc tấn công làm cạn kiệt tài nguyên
2.3. Tấn công topo mạng
Các cuộc tấn công chống lại các giao thức RPL cũng có thể nhắm đến mục tiêu topo mạng. Chúng ta phân biệt làm hai loại chính của các cuộc tấn công này: không tối ưu topo mạng và cô lập một ph n của mạng. Bảng 2 tổng hợp các cuộc tấn công nh m vào topo mạng. Tôi nhận thấy r ng những dạng tấn công này đều là những dạng tấn công nội bộ. Thật vậy, các node độc hại phải tham gia DODAG để tác động lên topo mạng. Các cuộc tấn công liên quan đến các bảng định tuyến như giả mạo bảng định tuyến thì điều kiện tiên quyết là chế độ storing mode phải được kích hoạt. Ngoài ra phải có it nhất hai k tấn công để thực hiện dạng tấn công wormhole. Trong bảng này,các tác động đặc trưng là cách mạng bị ảnh hưởng (bị s a đổi hoặc bị cô lập và hướng của các loại traffic liên quan (ví dụ donward (D) hoặc upward traffic (U)). Chúng tôi cũng xem xét hai lĩnh vực chính mà mạng có thể bị ảnh hưởng: (1 khu vực lân cận của một node (2 các DOD G con của một node. Cuộc tấn công giả mạo bảng định tuyến sẽ phá hỏng bảng định tuyến của các node mục tiêu. Mặt khác ch traffic theo hướng đi xuống là bị ảnh hưởng vì bảng định tuyến ch được s dụng cho việc định tuyến xuống. Do đó, các mạng con của các node mục tiêu bị s a đổi nhưng lưu lượng không trở lên bị xáo trộn. Tất cả các cuộc tấn công khác có thể có để lại những hậu quả trên cả hai hướng traffic đi về node gốc và từ node gốc đi xuống node lá. Ngoài ra có trường hợp, cả
35
hai khía cạnh là các DOD G con và các vùng lân cận của một node đều có thể bị hư hỏng. Những cuộc tấn công này không nhắm vào mục tiêu là một node cụ thể nhưng nó sẽ cố gắng để tác động vào mạng lưới giao thông tổng thể nói chung. Trong cột tiếp theo ta sẽ thấy tính sẵn có của mạng bị ảnh hưởng bởi tất cả các cuộc tấn công . Bởi vì các node độc hại đã thay đổi topo mạng và sau đó nó cô lập các node hoặc làm thoái hóa mạng thông qua việc làm giảm tính tối ưu hóa của mạng. Hơn nữa tính toàn vẹn cũng bị ảnh hưởng bởi các cuộc tấn công nhắm mục tiêu vào topo mạng. Ví dụ, các cuộc tấn công giả mạo bảng định tuyến đã thay đổi bảng định tuyến. Hơn nữa, thông tin định tuyến được tổ chức bởi các node như danh tính các node cha mẹ, đường dẫn định tuyến bị phá hỏng bởi các cuộc tấn công phát lại thông tin định tuyến, sinkhole, wormhole và blackhole. Cuộc tấn công phát lại thông tin định tuyến có thể ngăn chặn b ng số thứ tự thực hiện theo mặc định trong giao thức RPL. Các tác giả khác đã đề xuất một số biện pháp đối phó với các cuộc tấn công topo như việc xác minh Rank, Parent fail-over [1]. Tuy nhiên, chi phí của các giải pháp này chưa được đánh giá thông qua kiểm chứng. Chugh et al. nghiên cứu hậu quả của các cuộc tấn công Blackhole trong các mạng RPL thông qua trình mô phỏng Cooja. Ngoài ra IDS SVELTE đã được đề xuất để phát hiện các cuộc tấn công chuyển tiếp chọn lọc trong đó mạng.
Dạng tấn công I/E A/P Điều kiện Đối tượng CIA Biện pháp bảo vệ
Giả mạo bảng định tuyến
I A Storing mode
Sub-DODAG A/I
36 & Neighbourhood D/U thực rank và Parent-fail-over Wormhole I A Có ít nhất hai node tham gia tấn công
Sub-DODAG A/I Dữ liệu vị trí của các node
Tấn công phát lại thông tin định tuyến
I A Neighbourhood
D/U
A/I Sequence Number
Blackhole I A Sub-DODAG A/I
Bảng 2: Tóm tắt các cuộc tấn công topo mạng
2.4.Tấn công lƣu lƣợng mạng
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