Đặc điểm Kiến trúc Cơ chế
Định nghĩa Thành phẩn những kẻ tấn cơng và cách chúng bố trí, quản lý. Phương thức các kẻ tấn cơngthực hiện tấn cơng vào hệ thống máy tính
Đặc tính Trừu tượng Vật chất
Vấn đề
Kẻ tấn cơng gồm thành phần nào?
Chúng bố trí như thế nào, liên lạc ra làm sao?
Kẻ tấn cơng lợi dụng kẽ hở nào để tấn cơng?
Nguyên lý tấn cơng là gì?
Mục đích Tìm phương pháp phát hiện sớm và ngăn chặn Hiểu cơ chế để vá lỗ hổng bảo mật
Phân loại
Tấn cơng DoS và tấn cơng DDoS (tấn cơng từ chối dịch vụ phân tán – Distributed DoS)
Phân loại theo mơ hình OSI/ISO: tấn cơng tầng vật lý, tầng Liên kết dữ liệu, tầng Giao vận và tầng ứng dụng.
Ví dụ
Tấn cơng peer to peer (một - một), tấn cơng Botnet, tấn cơng DRDoS (tấn cơng từ chối dịch vụ phân tán Phản ứng – Reflection Distributed DoS)
Tấn cơng gây nhiễu, tấn cơng ARP, giả mạo IP, UDP Flood, TCP Flood, Tấn cơng ACK, Death of Ping, tấn cơng Blackhole, cài virus hoặc adware.
Tấn cơng DoS được mơ phỏng trong trong thí nghiệm sắp tới theo cơ chế UDP Flood (tầng Giao vận) và kiến trúc Botnet (họ tấn cơng DDoS). Đây đều là cơ chế và kiến trúc tương đối đơn giản, dễ thực hiện nhưng đều gây ra hậu quả vơ cùng nghiêm trọng.
b. Cơ chế tấn cơng UDP Flood
Để định nghĩa tấn cơng UDP Flood, tiến hành phân tích UDP và Flood [42]. UDP là một giao thức truyền tin (cần phân biệt với giao thức định tuyến RIP, OSPF hay RPL) theo nguyên lý chuyển mạch gĩi nằm trên tầng Giao vận. Đặc điểm quan trọng của giao thức này là cho phép các bên khơng cần kết nối và đồng bộ mà vẫn cĩ thể truyền tin cho nhau. Ngồi ra, giao thức UDP cho phép mất mát thơng tin để cĩ được tốc độ truyền thơng nhanh và lưu lượng lớn. Chính vì thế, giao thức này thường được dùng trong mạng cảm biến khơng dây với số lượng cảm biến lớn (địi hỏi tốc độ cao) và các nút cảm biến cĩ thể kiểm tra chéo lẫn nhau nên mất mát thơng tin
39
khơng thành vấn đề. Tuy nhiên, cũng như giao thức định tuyến RPL, để cĩ được tốc độ truyền tin cao, người ta cũng loại bỏ rất nhiều nhiều xác thực so với giao thức cĩ độ tin cậy cao như TCP để nâng cao tốc độ truyền tin. Điều này khiến cho giao thức này trở nên dễ bị tổn hại trước các cuộc tấn cơng mạng, đặc biệt là tấn cơng DoS.
Tấn cơng DoS, Flood đơn giản là một lượng lớn các gĩi tin hoặc bất ngờ xâm nhập hệ thống mạng, gây thiệt hại cho cơ sở hạ tầng mạng máy tính như tắc nghẽn băng thơng, làm quá tải việc xử lý dữ liệu của máy chủ, làm phiền người dùng. Việc gửi quá nhiều thư và quảng cáo rác cũng được xem như là cuộc tấn cơng Flood, mặc dù người ta cĩ thuật ngữ riêng cho nĩ là Spam.
Như vậy cuộc tấn cơng UDP Flood là gửi rất nhiều gĩi tin rác chiếm dụng bộ xử lý, bộ nhớ và đường truyền của cơ sở hạ tầng mạng máy tính sử dụng giao thức UDP. Đây là một cuộc tấn cơng khá đơn giản nhưng cĩ thể gây ra những hậu quả nghiêm trọng, đặc biệt với hệ thống cảm biến khơng dây cĩ năng lượng và khả năng lưu trữ, xử lý giới hạn và giao thức định tuyến RPL là giao thức cĩ độ bảo mật kém hơn các giao thức định tuyến truyền thống khác như đã trình bày trong phần trước.
c. Kiến trúc tấn cơng Botnet
Botnet là mạng lưới các Bot, là các đoạn mã lập trình cĩ khả năng chạy các tác vụ tự động hĩa trên khơng gian mạng. Những kẻ tấn cơng DoS rất hiểu tiềm năng của các Bot trong việc tự động hĩa các tác vụ sản xuất hàng loạt các gĩi tin và bơm chúng vào trong hạ tầng mạng gây thiệt hại cho hệ thống đĩ.
Botnet là kiểu tấn cơng thuộc họ tấn cơng từ chối dịch vụ phân tán (DDOS) một hình thức tấn cơng DoS với nhiều thành phần tham gia. Trước đây, kẻ tấn cơng DoS (gọi là Botmaster) thường tự xây dựng các Bot để chúng tự thâm nhập và trở thành một nút Client trong mạng Internet. Tuy nhiên, việc xây dựng các Bot rất tốn kém và các Bot lạ rất dễ dàng bị phát hiện bởi các chức năng kiểm đếm của nút Coordinator. Chính vì thế, một hình thức cài Bot tinh vi hơn được sử dụng là cài một đoạn mã độc vào trong một nút Client và chiếm một phần quyền của nút Client đĩ, biến chúng thành Bot theo đúng nghĩa đen, tức là nút Client đĩ sử dụng tài nguyên của chính mình để sản xuất gĩi tin rác. Phương pháp này tỏ ra hiệu quả hơn vì các đoạn mã độc rất khĩ bị phát hiện và các Bot là các nút Client hợp pháp trong mạng
40
nên khơng bị loại bỏ. Hơn nữa, việc tận dụng tài nguyên của các nút Client sẽ làm tiêu tốn hơn nữa tài nguyên hạ tầng mạng và giúp tiết kiệm cho kẻ tấn cơng.
Cho dù với giao thức RPL hay giao thức định tuyến truyền thống, việc xây dựng Botnet vẫn tuân thủ các bước như sau (được trình bày cho giao thức RPL):
Bước 1: Botmaster thám thính. Với giao thức RPL cĩ đường định tuyến gần như khơng đổi trong suốt quá trình hoạt động. Kết quả thám thính cĩ thể được sử dụng cho rất nhiều đợt tấn cơng DoS.
Bước 2: Botmaster sẽ gài mã độc vào một nút mà nĩ cho là phù hợp (gây hậu
quả đủ lớn nhưng khơng dễ bị phát hiện) và biến nĩ thành Bot. Thường thì nếu càng
gần nút gốc thì Bot càng dễ bị phát hiện nhưng hiệu năng tấn cơng sẽ càng lớn và ngược lại. Hắn cĩ thể đĩng vai là người sử dụng hệ thống cảm biến, gửi các mệnh lệnh, yêu cầu cĩ đính kèm mã độc cho mạng cảm biến khơng dây. Các gĩi dữ liệu nguy hiểm này sẽ đi từ qua nút Coordinator nhưng nút này khơng nhận ra vì gĩi tin là của người dùng hợp pháp và mã độc lúc này vơ hại. Tiếp theo, mã độc sẽ truyền theo cây DAG đến các nút mục tiêu. Tại đây mã độc sẽ kích hoạt việc yêu cầu các nút Client đĩ sản xuất tự động các gĩi tin và giữ liên lạc với kẻ tấn cơng. Một mạng lưới được Bot được hình thành trong chính mạng cảm biến khơng dây mà khơng ai hay biết cho đến khi cuộc tấn cơng bắt đầu.
Bước 3: Phát động tấn cơng DoS: Botmaster yêu cầu các Bot gửi một lượng lớn các gĩi tin mã nút đĩ sản xuất để gây tiêu tốn băng thơng hoặc hủy hoại khả năng xử lý hoặc trao đổi dữ liệu của hạ tầng IoT.
Bước 4: Sau khi cuộc tấn cơng kết thúc, mã độc lại trở thành vơ hại để tránh sự truy lùng của các cơ chế bảo mật. Bot sẽ lại trở thành các nút Client vơ hại và chờ đến đợt tấn cơng tiếp theo.
Cuộc tấn cơng Botnet được thực hiện bài bản, tinh vi thì dù cơ chế tấn cơng cĩ đơn giản cũng khĩ cĩ thể bị phát hiện và gây hậu quả đặc biệt nghiêm trọng. Phần tiếp theo tiến hành mơ phỏng với Contiki-OS, so sánh kết quả và đưa ra kết luận.
2.2. Các tiêu chí đo đạc và đánh giá hiệu năng mạng
Hiệu năng mạng được hiểu như độ hiệu quả của mạng trong các hoạt động truyền tin bao gồm từ lúc bản tin được gửi từ nút nguồn cho đến khi nhận được ở nút đích. Độ hiệu quả việc truyền tin được xét theo hai tiêu chí là tính tin cậy và tính kịp
41
thời. Tính tin cậy trả lời cho câu hỏi cĩ gĩi tin nào bị mất mát trong quá trình truyền tin khơng, trong khi tính kịp thời trả lời cho câu hỏi gĩi tin cĩ đến trễ khơng. Mục tiêu của tấn cơng DoS là làm suy yếu tính tin cậy và tính kịp thời của việc truyền tin, từ đĩ làm giảm hiệu quả của truyền thơng trong IoT. Vì vậy, việc đánh giá hiệu năng mạng sẽ dựa vào hai tiêu chí là tỉ lệ truyền nhận thành cơng đại diện cho tính tin cậy và Độ trễ đại diện cho tính kịp thời.
WSN là cảm biến bị giới hạn về năng lượng, tấn cơng DoS làm gia tăng mức độ tiêu thụ năng lượng khiến mạng IoT bị cạn kiệt tài nguyên, giảm thơng số liên quan đến truyền thơng. Trong một số tình huống, mức độ tiêu thụ năng lượng cũng được xét như một tiêu chí quan trọng để đánh giá hiệu năng mạng.
2.2.1. Tỉ lệ truyền nhận thành cơng (PDR)
PDR (Packet Delivery Ratio) của một nút là thơng số chỉ ra tỉ lệ phần trăm giữa số lượng gĩi tin gửi đến nút đĩ với số lượng gĩi tin mà nút đĩ nhận được. Nĩi cách khác, thơng số này chỉ ra bao nhiêu phần trăm gĩi tin đến được đích. PDR càng lớn, phần trăm gĩi tin đến được đích càng cao. Ngược lại, lượng gĩi tin khơng đến được mục tiêu càng thấp và điều đĩ cĩ nghĩa là hiệu quả hoạt động càng cao.
Ở đây, việc xác định số gĩi tin mà một nút gửi đi hoặc nhận được khơng khĩ, nhưng biết gĩi tin mà nút đĩ gửi đi là đến nút nào thì khơng đơn giản. Do đĩ, để tính được PDR của tồn mạng, ta sẽ sử dụng cơng thức (1) 𝑃𝐷𝑅 = !" 𝑥 100 (1)
Trong đĩ:
• R: Tổng số gĩi tin mà tất cả các nút nhận được (tính cả nút Coordinator). • S: Tổng số gĩi tin mà tất cả các nút gửi đi (tính cả nút Coordinator). • Đơn vị của PDR là %
Do mạng mơ phỏng là một hệ khép kín, gĩi tin gửi từ một nút chắc chắn phải đến một nút khác trong mạng đĩ. Vì thế cơng thức (1) cho phép tính tốn chính xác PDR của tồn mạng mà khơng cần phải lần xem gĩi tin từ một nút sẽ gửi đến nút nào. Để tính tốn PDR, tính số lượng bản tin gửi đi từ các nút Client và phân tích bản tin mà nút root nhận được, từ đĩ truy địa chỉ nguồn của từng bản tin và đếm số lượng các bản tin đã gửi thành cơng cho nút Coordinator với từng nút Client, truyền thơng các gĩi tin trong hệ thống hay truyền thơng trung gian khơng được sử dụng để phục vụ tính tốn PDR.
42
PDR phản ánh độ tin cậy truyền thơng, PDR càng lớn, càng nhiều bản tin đến đích thành cơng, độ tin cậy càng cao [43]. Theo Mansfield đến từ Trung tâm Cengage thì PDR từ 95% trở lên là đảm bảo mạng hoạt động ổn định [44].
2.2.2. Độ trễ trung bình (Latency)
Latency của một nút là thơng số chỉ ra thời gian trung bình của thương giữa một gĩi tin từ nơi xuất phát đến mục tiêu với quãng đường gĩi tin đĩ đi (khơng tính các gĩi tin khơng đến được đích). Nĩi cách khác, thơng số này chỉ ra một gĩi tin mất bao nhiều thời gian trên một đơn vị đường truyền mạng (cĩ thể gọi là vận tốc của gĩi tin) [47]. Ngược lại với PDR, Latency càng nhỏ, gĩi tin đi càng nhanh, hiệu năng mạng càng cao. Sau khi tính được Latency của từng nút, sẽ lấy giá trị trung bình của các nút này (khơng tính nút Bot và nút Coordinator). Cơng thức (2) tính Latency của một nút. 𝐿𝑎𝑡𝑒𝑛𝑐𝑦 = ∑ ! "#$ %&"'%(" )" $ (2) Trong đĩ:
• n: Tổng số gĩi tin đến được mục tiêu.
• i: Số thứ tự gĩi tin (được đánh theo thời gian gĩi tin đĩ tới đích) từ 0 tăng thêm 1 với mỗi gĩi tin tới đích.
• TRi – TSi: Thời gian gĩi tin đĩ từ khi nĩ rời khỏi nơi xuất phát cho đến khi đến được nút đo đạc. Đơn vị là mili giây (ms).
• Di: Khoảng cách từ nơi gĩi tin đĩ xuất phát tới đích đến (nút đo đạc được). Đơn vị là mét (m). Ý nghĩa của thơng số này là tạo sự cân bằng giữa các nút ở xa nút nguồn và các nút ở gần nút nguồn. Các nút ở xa nút nguồn sẽ cĩ thời gian truyền tin dài hơn các nút ở gần nút nguồn, chính vì vậy, việc chia thời gian với khoảng cách sẽ giúp các nút cĩ giá trị đạt độ tương đồng cao trên tồn mạng, khơng phân biệt nút đĩ ở xa hay gần nút nguồn. • Đơn vị của Latency là mili giây trên mét (ms/m)
Quãng đường là giá trị cĩ thể tính tốn, thời gian gĩi tin ra vào cũng cĩ thể lần ra từ việc đọc địa chỉ gĩi tin, việc tính tốn Latency khơng khĩ khăn.
2.2.3. Năng lượng tiêu thụ (E)
43
Contiki-OS chỉ là một hệ điều hành mơ phỏng, nĩ khơng thể cho biết thơng số chính xác năng lượng tiêu thụ ở cấp độ vật lý. Do đĩ, Contiki quy ước một cách trừu tượng năng lượng tiêu thụ dựa trên phần trăm giữa thời gian nút này hoạt động (tiêu thụ năng lượng) so với tổng thời gian mà chương trình mơ phỏng hoạt động. Thời gian nút này hoạt động càng lớn, nút tiêu thụ càng nhiều và điều này chứng tỏ mạng hoạt động khơng hiệu quả, gây lãng phí năng lượng [45]. Ngồi ra, Contiki cũng là hệ điều hành mơ phỏng thực tế, cĩ thể ước tính năng lượng vật lý mà mạng cảm biến sẽ tiêu thụ nếu nĩ được triển khai trên thực địa bằng cơng thức (3) do V.Gokilapriya và các cộng sự đề xuất trên bài báo “Energy measurements and conversions” tại Tạp chí quốc tế về xu hướng nghiên cứu nâng cao trong Kỹ thuật và Cơng nghệ [46]:
𝐸 = (𝑇𝑥 𝑥 𝐸% + 𝑅𝑥 𝑥 𝐸&+ 𝐶𝑃𝑈 𝑥 𝐸' + 𝐿𝑃𝑀 𝑥 𝐸() 𝑥 τ (3)
Trong đĩ Tx, Rx, CPM và LPM là các tham số và thay đổi với mỗi lần thí nghiệm dù là mơ phỏng hay thực tế:
• Tx: phần trăm giữa thời gian nút đấy thức để gửi một gĩi tin với tổng thời gian của chương trình.
• Rx: phần trăm giữa thời gian nút đấy thức để chờ được nhận các gĩi tin đến với tổng thời gian của chương trình.
• CPU: Năng lượng CPU tiêu thụ cho chương trình mơ phỏng. Thơng số này cố định với từng cấu hình Hệ điều hành Contiki trong mỗi lần mơ phỏng, khơng phụ thuộc vào hoạt động mơ phỏng.
• LPM: phần trăm giữa thời gian chạy các thuật tốn duy trì hoạt động mơ phỏng của các nút với tổng thời gian của chương trình. Thơng số này cũng cố định với từng cấu hình Hệ điều hành Contiki mỗi lần mơ phỏng, khơng phụ thuộc vào hoạt động mơ phỏng.
• Năng lượng vật lý được đo bằng mili Jun (mJ)
Trong đĩ Et, Er, Eo, EI và τ là các hằng số và khơng đổi với mỗi lần thí nghiệm dù là mơ phỏng hay thực tế. Tuy nhiên, với các thiết bị khác nhau thì các hằng số này lại cĩ giá trị khác nhau:
• Et: Hằng số năng lượng gửi là độ tiêu thụ năng lượng của nút mạng khi thức để gửi một gĩi tin.
44 thức để chờ được nhận các gĩi tin.
• Eo: Hằng số Cache độ tiêu thụ năng lượng của trong quá trình lưu trữ và truy cập dữ liệu giữa Cache và CPU trong hoạt động của nút mạng.
• EI: Hằng số trễ giữa các thao tác nhận, gửi,..... • τ: Hằng số điện áp đầu vào của nút mạng.
Như vậy, với từng thí nghiệm với các loại nút mạng khác nhau, trên các loại thiết bị khác nhau, các hằng số sẽ khác nhau. Với từng thí nghiệm cụ thể (mơ phỏng hoặc thực tế), tác giả sẽ thiết lập hằng số cụ thể dựa trên loại hình và các thơng số kỹ thuật của các thiết bị đĩng vai trị nút thí nghiệm, từ đĩ sẽ cĩ cơng thức cụ thể.
2.3. Giải pháp Overhearing phịng chống tấn cơng DoS
Như những phân tích trước, tấn cơng từ chối dịch vụ (DoS) khơng nhằm mục đích hủy hoại hay đánh cắp dữ liệu mà hủy hoại tính sẵn sàng của hệ thống hoặc dữ liệu đĩ. Việc đối phĩ với tấn cơng DoS cũng khơng thể theo phương pháp thơng thường là loại bỏ hồn tồn được. Do đĩ, cách tiếp cận hiện nay của các giải pháp thường là phát hiện sớm tấn cơng và hạn chế ảnh hưởng của tấn cơng DoS. Giải pháp Overhearing thực chất là phát hiện sớm tấn cơng, tuy nhiên, cũng sẽ trình bày phương pháp cải tiến, cấu hình ngăn chặn ảnh hưởng của tấn cơng DoS và so sánh với kịch bản khơng bị tấn cơng.
2.3.1. Cơ chế Overhearing nguyên bản
Overhearing là từ ghép của từ “Over” (vượt lên) và “hearing” (nghe ngĩng),