2. GIẢI PHÁP OVERHEARING PHỊNG CHỐNG TẤN CƠNG TỪ CHỐ
2.3. Giải pháp Overhearing phịng chống tấn cơng DoS
2.3.3. Cơ chế Overhearing cải tiến trong phịng chống tấn cơng DoS
Hiện nay, kiểu tấn cơng phổ biến nhất là tấn cơng sử dụng kiến trúc Botnet và cơ chế UDP Flood. Với mục đích giảm thiểu những thiệt hại to lớn do các cuộc tấn cơng UDP Flood bằng Botnet gây ra, luận án đề xuất cơ chế Overhearing nhằm cho phép các nút cĩ thể giám sát lẫn nhau và dựa vào sự bất thường về thơng lượng mạng so với mức trung bình cĩ thể phát hiện các Bot và cĩ biện pháp cách ly phịng ngừa, ngăn chặn Bot trước khi tấn cơng.
Nhiệm vụ của cải tiến giải pháp Overhearing là xây dựng một cơ chế cảnh báo nhiều mức về nguy cơ một nút mạng bị nhiễm mã độc và trở thành Bot, xây dựng biện pháp ứng phĩ nhằm giảm thiểu thiệt hại của các cuộc tấn cơng DoS trên mạng WSN. Cụ thể, luận án đề xuất một phương pháp dựa vào việc thống kê số gĩi tin mà một nút gửi hoặc nhận và sử dụng các phương pháp thống kê để phát hiện nút Bot sau đĩ đưa ra các cảnh báo và quyết định khác nhau về tấn cơng DoS trên mạng WSN.
Cụ thể cĩ ba mức cảnh báo được đề xuất dựa trên tỉ lệ Báo động giả (False possitive rate), nghĩa là một nút khơng phải là Bot nhưng vẫn bị gán nhãn là Bot [51] bao gồm:
• Mức I – Bất thường: là mức thấp nhất, khi thuật tốn phát hiện những
điểm bất thường trong trao đổi dữ liệu giữa các nút cảm biến nhưng chưa thể xác minh rằng những bất thường đĩ cĩ liên hệ rõ ràng đến sự kiện nút bị nhiễm mã độc. Tỉ lệ Báo động giả để đưa ra cảnh báo mức I là trên 60%. Với tỉ lệ này tức là cứ 10 nút bị đánh giá là Bot thì 6 nút, tức hơn một nửa trong tồn bộ số nút khơng phải là Bot.
48
hiện và xác định những điểm bất thường cĩ liên hệ chưa rõ ràng đến sự kiện nút bị nhiễm mã độc. Tỉ lệ Báo động giả để đưa ra cảnh báo mức II là từ 20% đến 60%.
• Mức III – Phản ứng khẩn cấp: là mức cao nhất, khi thuật tốn phát
hiện và xác định những điểm bất thường cĩ liên hệ rõ ràng đến sự kiện nút bị nhiễm mã độc. Tỉ lệ Báo động giả để đưa ra cảnh báo mức II là dưới 20%. Với cảnh báo
mức III thì cơ chế phản ứng khẩn cấp để đối phĩ với các mối nguy về tấn cơng DoS sẽ được kích hoạt. Cơ chế này chính là cách ly nút Bot ra khỏi mạng sau khi phát hiện.
Các mức cảnh báo được thể hiện trong bảng thống kê 2.2 và được xác định bằng các cơng thức (7), (8), (9), (10) trong phần tiếp theo.
Thuật tốn để cách ly Bot mà tác giả đề xuất bao gồm các bước sau:
• Sau khi kiểm tra thuật tốn gãn nhãn tất cả các nút hàng xĩm bao gồm 4 loại nhãn như đã đề cập là “Khơng phải Bot tiềm tàng” hoặc “cĩ nguy cơ là Bot tiềm tàng” với các lần lượt cảnh báo khác nhau là Mức I, Mức II, Mức III.
• Thuật tốn duyệt lại danh sách các nút hàng xĩm và nhãn vủa nút đĩ, nếu nhãn của nút là cảnh báo Mức III, thì địa chỉ IP của nút đĩ sẽ được đưa vào danh sách “cách ly”.
• Sau khi duyệt xong danh sách các nút hàng xĩm, thuật tốn duyệt danh sách “cách ly”, thuật tốn sẽ thiết lập một số lượng nhãn thời gian bằng với số lượng nút trong danh sách “cách ly” và mỗi nhãn thời gian sẽ tương ứng với nút trong danh sách này. Nhãn thời gian được đồng bộ với thời gian hệ thống sẽ đếm lùi từ 3 phút. Hết thời gian thì địa chỉ IP sẽ tự động bị xĩa khỏi danh sách “cách ly”
• Khi nút cĩ địa chỉ IP trùng với danh sách “cách ly” gửi gĩi tin tới, nút cài Overhearing từ chối xử lý gĩi tin đấy. Việc này cĩ mục đích triệt tiêu cơ chế tấn cơng DoS thơng qua cơ chế UDP Flood. Tức là kẻ tấn cơng gửi số lượng lớn gĩi tin cho nạn nhân để nạn nhân phải dành nhiều tài nguyên và năng lượng dẫn đến cạn kiệt tài nguyên hệ thống.
• Trước khi gửi gĩi tin, nếu địa chỉ đích của gĩi tin trung với địa chỉ IP trong danh sách “cách ly”, nút đĩ sẽ khơng gửi gĩi tin cho nút trong danh sách “cách ly”. Nguyên nhân là do quá trình gửi tin của nút cũng tiêu tốn tài nguyên, khơng nhưng vậy, với một số giao thức “bắt tay”, sự kiện gửi tin đồng nghĩa với sự kiện chờ
49
để nhận các bản tin hồi đáp. Điều này tạo sơ hở cho một số kẻ tấn cơng DoS bằng cách gửi các bản tin yêu cầu hồi đáp để bắt tay nhưng lại khơng thực hiện các bước trong quá trình bắt tay, khiến cho nạn nhân phải tiêu tốn thời gian chờ.
Chiến lược của thuật tốn là nhìn nhận và xử lý cách ly nút Bot, yêu cầu khơng
Bỏ sĩt nút Bot nào. Hậu quả của cuộc tấn cơng DoS khá nghiêm trọng, một nút Bot
khơng được phát hiện sẽ gây ra những thiệt hại lớn, so với việc một nút cĩ biểu hiện bất thường và cĩ thể bị cách ly nhầm. Sau 3 phút thì được gỡ bỏ cho nút bị cách ly.
Tùy theo quy mơ từng mạng, khĩ để xác định mức cảnh báo dựa trên số lượng gĩi tin mà một nút nhận được hoặc gửi đi. Cơ chế Overhearing cũng chỉ cho phép một nút theo dõi các nút trong vùng phủ sĩng nên các nút khơng cĩ khả năng theo dõi được các nút bên ngồi. Tuy nhiên, trong truyền thơng giao thức RPL, do tính ít biến thiên của cây định tuyến DODAG, tần suất giao dịch, gửi nhận ở nút trong một cụm nút cảm biến cĩ quan hệ cha con hoặc quan hệ hàng xĩm cĩ xu hướng tương đồng nhau, ít chênh lệch [52]. Trên cơ sở này, cĩ thể nhận định rằng “Nút được coi là Bots nếu tổng số gĩi tin nĩ gửi đi và nhận được tại một thời điểm là vượt trên mức trung bình của tất cả các nút hàng xĩm một ngưỡng đủ lớn”. Theo lý thuyết về giá trị trung bình trong thống kê, một giá trị cĩ độ chênh lệch đến một ngưỡng đủ lớn so với trung bình của tồn mẫu chứa giá trị đĩ cĩ thể xem giá trị đĩ là bất thường [53]. Trên các cơ sở phân tích trên, luận án tiến hành xây dựng thuật tốn phát hiện cảnh báo dựa trên các cơng đoạn sau:
Bước 1: Tính giá trị trung bình:
Cơng thức (4) tính giá trị trung bình (µ) đối với số lượng gĩi tin các nút hàng xĩm của nút đấy gửi hoặc nhận.
µ= ∑!"#$ )"
* (4)
Trong đĩ:
• N: Số nút hàng xĩm
• χi: Số gĩi tin mà nút hàng xĩm đĩ gửi đi hoặc nhận vào. • i: chỉ số khi duyệt từng nút.
• Đơn vị đo của µ là số gĩi tin.
50
Theo lý thuyết về tốn học thống kê, phương sai và độ lệch chuẩn cĩ vai trị đánh giá sự chênh lệch của tất các giá trị với trong tập mẫu [53].
Phương sai hay cịn gọi là Variance, đây là dạng số liệu đặc trưng thể hiện mức độ phân tán của các giá trị so với giá trị trung bình của bộ số liệu. Khái niệm này được dùng để so sánh sự biến thiên giữa hai bộ số liệu. Điều đĩ cũng đồng nghĩa rằng bộ số liệu cĩ giá trị phương sai nhỏ hơn thì các số liệu ít chênh lệch hơn và ngược lại. Trong trường hợp phương sai bằng 0 tức là các số liệu khơng cĩ sự biến thiên trong suốt quá trình quan sát.
Cơng thức (5) sẽ dùng để tính phương sai:
𝜎+ = ∑!"#$ ()- /)*
* (5)
Trong đĩ:
• µ: giá trị trung bình tính ở cơng thức (4) • χi, N và i tương tự các giá trị cơng thức (4). • Đơn vị đo của σ2 là bình phương số gĩi tin.
Độ lệch chuẩn hay cịn gọi là Standard Deviation. Là đại lượng dùng để phản ánh độ phân tán của các giá trị trong bộ dữ liệu. Thể hiện sự biến thiên của giá trị trong một thời điểm phản ánh xu thế của sự thay đổi.
Cơng thức (6) sẽ dùng để tính độ lệch chuẩn 𝜎 = √𝜎+ (6)
Trong đĩ:
• σ2: phương sai tính ở cơng thức (5) • Đơn vị σ là số gĩi tin
Bước 3: Xây dựng cơ chế phát hiện nút Bot:
Như đã đề cập, trong truyền thơng giao thức RPL trên mạng WSN, số lượng gĩi tin gửi hoặc nhận ở các nút trong một cụm nút mạng cụ thể cĩ xu hướng chênh lệch ít [52]. Vì vậy độ lệch chuẩn từ cơng thức (5) thường cĩ giá trị thấp và ít phụ thuộc vào số lượng các nút hàng xĩm cũng như số gĩi tin gửi hoặc nhận được thống kê. Chính vì sự ít phụ thuộc của độ lệch chuẩn nên khi bất kỳ nút nào cĩ số gĩi tin gửi hoặc nhận là giá trị bất thường so với tồn bộ các nút hàng xĩm xung quanh, độ lệch chuẩn cũng sẽ tăng nhưng khơng lớn. Xuất phát từ đặc điểm này đồng thời qua các kết quả thử nghiệm, với những số liệu thống kê được, luận án đề xuất cơ chế phát
51
hiện một nút cĩ bất thường trong trao đổi dữ liệu dựa trên chênh lệch giá trị (số gĩi tin gửi hoặc nhận) của nút đĩ với độ lệch chuẩn. Nĩi cách khác, Nút được coi là cĩ sự trao đổi dữ liệu bất thường (cĩ khả năng là Bot) nếu nĩ gửi đi hoặc nhận vào một số lượng gĩi tin trên mức trung bình của tất cả các nút hàng xĩm một khoảng bằng độ lệch chuẩn của tất cả các nút hàng xĩm”. Qua đĩ, luận án đề xuất bất đẳng thức (7) mà nút thứ i được xem là cĩ sự trao đổi dữ liệu bất thường (Bot) khi thỏa mãn
điều kiện:
𝑁1 > µ + 𝑘 ∗ 𝜎 (7)
Trong đĩ:
- Ni: Số gĩi tin mà nút i đĩ gửi hoặc nhận. - µ: giá trị trung bình tính ở cơng thức (4)
- 𝜎: độ lệch chuẩn tính ở cơng thức (6)
- k: số tự nhiên lớn hơn 0
Lưu ý rằng tại một nút sẽ tính hai giá trị là số gĩi tin gửi và nhận từ đĩ cũng đưa ra hai độ lệch chuẩn khác nhau là độ lệch chuẩn cho số gĩi tin gửi và độ lệch chuẩn cho số gĩi tin nhận. Và chỉ cĩ các nút cĩ sự bất thường trong cả gửi và nhận tin mới bị nhận diện là nút cĩ giao dịch bất thường. Cụ thể, nút đĩ bị coi là cĩ bất thường khi cả hai thơng số gửi và nhận đều đáp ứng bất đẳng thức (7), do trong mạng IoT mỗi nút thường cĩ các nhiệm vụ khác nhau dẫn đến việc tần số gửi hay số lượng các gĩi tin gửi là khác biệt rất lớn. Chẳng hạn, các nút ở bậc thấp (nút nhánh) cĩ xu hướng phải truyền nhiều gĩi tin hơn các nút ở bậc cao (nút lá). Tuy nhiên, theo nguyên tắc truyền tin trong giao thức RPL, các nút bậc thấp cĩ xu hướng phải truyền nhiều gĩi tin thì lại nhận ít gĩi tin hơn các nút bậc cao.
Từ bất đẳng thức (7) ta cĩ thể thấy, k càng lớn thì chênh lệch giữa giá trị trung bình μ và giá trị đo đạc Ni càng lớn, mà việc đánh dấu một nút là Bot hay khơng dựa trên cơ sở chênh lệch đĩ. Khi chênh lệch đĩ càng lớn thì nguy cơ một nút khơng phải là Bot nhưng bị đánh dấu là Bot sẽ giảm đi và nguy cơ một nút Bot khơng được đánh dấu Bot lại tăng lên. Hiện tượng mà một nút khơng phải là Bot nhưng bị đánh dấu là Bot là hiện tượng Báo động giả, khiến cho những nút bị cách ly một cách khơng đúng và ảnh hưởng tiêu cực đến truyền tải trên mạng cảm biến khơng dây. Cịn hiện tượng mà một nút Bot khơng được đánh dấu Bot là hiện tượng Bỏ sĩt, khiến cho các Bot bị
52
bỏ sĩt khơng bị cách ly và vẫn tiến hành tấn cơng DoS vào WSN. Như vậy, việc xây dựng ngưỡng để đưa ra mức cảnh báo sẽ phụ thuộc vào tham số k để tỉ lệ Báo động
giả phù hợp và đảm bảo khơng Bỏ sĩt bất kỳ nút Bot nào như chiến lược đã đề cập.
Để xác định tham số k thì tác giả đã tiến hành thí nghiệm mơ phỏng trên hệ điều hành Contiki. Về cơ bản, tác giả xây dựng thí nghiệm mơ phỏng tấn cơng DoS với mạng lưới, trong mạng đĩ các một số nút mạng được chỉ định là các nút Bot và thực hiện các cuộc tấn cơng Botnet bằng UDP Flood.
Cơ chế Overhearing cũng được thực thi với thời gian mỗi nút mạng tiến hành tổng hợp dữ liệu là 10 giây (s) một lần. Thuật tốn tính giá trị trung bình, phương sai và độ lệch chuẩn với hai giá trị là số gĩi tin gửi và số gĩi tin nhận của các nút hàng xĩm cũng được xây dựng. Các nút Cảm biến trong mạng WSN cũng được cài đặt bất đẳng thức (7) với các giá trị k khác nhau để theo dõi kiểm tra và gán nhãn “Bot tiềm
tàng” cho các nút mạng khơng đáp ứng bất đẳng thức (7). Sau đĩ, tác giả sẽ đối chiếu
các nút bị gán nhãn “Bot tiềm tàng” với các nút Bot đã chỉ định để xem việc phát hiện này là cĩ Báo động giả hay Bỏ sĩt. Trường hợp “Báo động giả” xảy ra khi một nút bị gán nhãn là “Bot tiềm tàng” nhưng khơng phải là Bot được chỉ định. Ngược lại, trường hợp “Bỏ sĩt” xảy ra khi một nút là Bot nhưng khơng được gán nhãn.
Mỗi thí nghiệm kéo dài 100 phút nên sẽ cĩ 600 lần tổng hợp dữ liệu. Thí nghiệm diễn ra trên 3 loại mạng là 16 nút (15 nút Cảm biến), mạng 25 nút (24 nút Cảm biến) và mạng 36 nút (35 nút Cảm biến). Như vậy cĩ tổng cộng 75 nút, nhưng cĩ 6 nút Bot được chỉ định, vì vậy, chỉ cĩ 69 nút Cảm biến. Các nút này mới tham gia gán nhãn nên qua thí nghiệm. Về mặt kỹ thuật, thí nghiệm này tương tự như thí nghiệm mà tác giả sẽ trình bày chi tiết ở Phần 2.5.
Mơ hình thí nghiệm tương tự như Hình 2.4. Tổng kết từ mơ hình đĩ, trong 69 nút: cĩ 1 nút cĩ 2 hàng xĩm, 10 nút cĩ 3 hàng xĩm, 9 nút cĩ 4 hàng xĩm, 25 nút cĩ 5 hàng xĩm, 7 nút cĩ 6 hàng xĩm, 14 nút cĩ 7 hàng xĩm và 3 nút cĩ 8 hàng xĩm. Như vậy, một lần thống kê sẽ cĩ 350 lần nút được xem xét gán nhãn và tổng cộng tồn thí nghiệm sẽ cĩ 63.000 lần lần nút được xem xét gán nhãn. Thí nghiệm này cũng tương tự về mặt kỹ thuật, thiết kế, triển khao với thí nghiệm mà tác giả sẽ trình bày ở Phần
2.5, chỉ khác là trong các thí nghiệm ở Phần 2.5, các ngưỡng cảnh báo đã được thiết
53
Bảng 2.2 mơ tả kết quả với từng ngưỡng khác nhau, thống kê, so sánh giữa số nút bị gán nhãn Bot so với số nút Bot thực tế dựa trên ngưỡng k khác nhau.
Bảng 2.2. Thống kê số nút bị gán nhãn Bot
Bị gán nhãn Khơng bị gán nhãn
k Là Bot Khơng phải
Bot Tỉ lệ Báo động giả Là Bot Khơng phải Bot
1 30 83 73.45% 0 62887
2 30 16 34.78% 0 62954
3 30 5 14.29% 0 62965
4 22 4 15.38% 8 62966
Từ Bảng 2.2, đề xuất thiết lập tham số k trong bất đẳng thức (7) với ba mức cảnh báo khác nhau dựa trên Tỉ lệ “Báo động giả”. Kết quả là 3 bất đẳng thức (8), (9) và (10) như sau:
Mức I: bất thường k = 1, bất đẳng thức (8):
𝑁1 > µ+ 𝜎 (8)
Mức II: bất thường k = 2, bất đẳng thức (9):
𝑁1 > µ+ 2𝜎 (9)
Mức III: bất thường k = 3, bất đẳng thức (10): Mức cách ly ngay lập tức nút bị
gán nhãn “Bot tiềm tàng”
𝑁1 > µ+ 3𝜎 (10)
Trong Bảng 2.2, với k = 4, đã cĩ 8 nút Bots khơng được gán nhãn, khơng tuân theo chiến lược khơng Bỏ sĩt nút Bot mà luận án đã đề cập ở phần trên. Vì vậy, giá trị tối đa của k là 3. Đây là mức tối đa để khơng xảy ra hiện tượng Bỏ sĩt cũng như nguy cơ xảy ra hiện tượng Báo động giả là thấp nhất. Với nghiên cứu dựa trên thực nghiệm, luận án đề xuất với k = 3 thì thì thực hiện cách ly cịn với k < 3 thực hiện các