1. Trang chủ
  2. » Luận Văn - Báo Cáo

NGHIÊN CỨU ỨNG DỤNG SVM TRONG HỆ THỐNG IDS MẠNG CẢM BIẾN

45 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên Cứu Ứng Dụng SVM Trong Hệ Thống IDS Mạng Cảm Biến
Tác giả Đinh Đức Duy, Nguyễn Xuân Dương, Nguyễn Tuấn Đạt, Tạ Đức Duy, Nguyễn Văn Dưỡng
Người hướng dẫn Giảng Viên Trần Thị Thanh Thủy
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Mạng cảm biến
Thể loại báo cáo bài tập lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 45
Dung lượng 1,68 MB

Cấu trúc

  • CHƯƠNG I. GIỚI THIỆU (7)
    • 1.1 M ẠNG CẢM BIẾN TRONG CÁC ỨNG DỤNG THỰC TẾ (7)
      • 1.1.1 Giới thiệu về Mạng cảm biến (7)
      • 1.1.2 Đặc điểm của mạng cảm biến (8)
      • 1.1.3 Cấu trúc của mạng cảm biến (8)
      • 1.1.4 Ứng dụng của mạng cảm biến (12)
    • 1.2 T ÍNH BẢO MẬT MẠNG CẢM BIẾN VÀ HỆ THỐNG IDS (13)
      • 1.2.1 Nguy cơ và thách thức trong mạng cảm biến (13)
      • 1.2.2 Các phương thức tấn công trong mạng cảm biến (14)
      • 1.2.3 Hệ thống xâm nhập mạng (IDS) (15)
  • CHƯƠNG II. NGHIÊN CỨU THUẬT TOÁN SVM (22)
    • 2.1 Thuật toán SVM (Support Vector Machine) (22)
      • 2.1.1 Khái niệm (22)
      • 2.1.2 Phương thức hoạt động của SVM (23)
      • 2.1.3 Tiêu chí vẽ và xác định Hyper-plane (24)
    • 2.2 B IẾN THỂ CỦA SVM (30)
      • 2.2.1 Biến thể của SVM và cách áp dụng biến thể SVM (30)
    • 2.3 Ư U ĐIỂM VÀ N HƯỢC ĐIỂM CỦA SVM (31)
      • 2.3.1 Ưu điểm (31)
      • 2.3.2 Nhược điểm (0)
  • CHƯƠNG III. IDS SỬ DỤNG THUẬT TOÁN SVM (32)
    • 3.1 Giới thiệu về Bộ dữ liệu KDD-99. .1 Khái niệm (32)
      • 3.1.2 Các lớp tấn công KDD-99 (34)
    • 3.2 T HỰC NGHIỆM VÀ KẾT QUẢ (35)
      • 3.2.1 Môi trường mô phỏng quá trình thực nghiệm (35)
      • 3.2.2 Hướng dẫn cài đặt Google colab (38)
    • 3.3 X ÂY DỰNG VÀ TRIỂN KHAI THUẬT TOÁN SVM TRÊN G OOGLE COLAB (41)
      • 3.3.1 Khai báo thư viện (41)
      • 3.3.2 Đọc dữ lệu từ bộ dữ liệu KDD-99 (41)
      • 3.3.3 Tiền xử lý và loại bỏ các giá trị trùng lặp (41)
      • 3.3.4 Xây dựng mô hình SVM và training (42)
      • 3.3.5 Đánh giá mô hình và báo cáo (42)
      • 3.3.6 Kết quả thực nghiệm (42)

Nội dung

NGHIÊN CỨU ỨNG DỤNG SVM TRONG HỆ THỐNG IDS MẠNG CẢM BIẾNNGHIÊN CỨU ỨNG DỤNG SVM TRONG HỆ THỐNG IDS MẠNG CẢM BIẾNNGHIÊN CỨU ỨNG DỤNG SVM TRONG HỆ THỐNG IDS MẠNG CẢM BIẾNNGHIÊN CỨU ỨNG DỤNG SVM TRONG HỆ THỐNG IDS MẠNG CẢM BIẾNNGHIÊN CỨU ỨNG DỤNG SVM TRONG HỆ THỐNG IDS MẠNG CẢM BIẾNNGHIÊN CỨU ỨNG DỤNG SVM TRONG HỆ THỐNG IDS MẠNG CẢM BIẾN

GIỚI THIỆU

M ẠNG CẢM BIẾN TRONG CÁC ỨNG DỤNG THỰC TẾ

1.1.1 Giới thiệu về Mạng cảm biến

Mạng cảm biến (Sensor Network) là hệ thống thiết bị cảm biến được phân bố trong một khu vực cụ thể nhằm thu thập và truyền tải thông tin về môi trường Hệ thống này tự động ghi nhận dữ liệu và gửi về trạm cơ sở để xử lý, phân tích hoặc hiển thị thông tin.

1.1.2 Đặc điểm của mạng cảm biến

Mạng cảm biến có khả năng sử dụng đa dạng các loại cảm biến để đo lường thông tin như nhiệt độ, độ ẩm, áp suất, ánh sáng, âm thanh và nhiều yếu tố khác, tùy thuộc vào ứng dụng cụ thể.

Khả năng phân tán của các nút cảm biến trong mạng cho phép triển khai linh hoạt trong môi trường, từ đó thu thập thông tin từ nhiều vị trí khác nhau một cách hiệu quả.

Giao tiếp không dây là phương thức phổ biến trong các nút cảm biến của mạng, sử dụng các công nghệ như Wi-Fi, Bluetooth, Zigbee, LoRa và nhiều phương thức truyền dữ liệu không dây khác để gửi dữ liệu tới trạm cơ sở hoặc hệ thống quản lý.

Cảm biến tiết kiệm năng lượng được thiết kế để hoạt động hiệu quả trong thời gian dài, đặc biệt trong các môi trường có nguồn năng lượng hạn chế như pin hoặc năng lượng mặt trời.

Bảo mật dữ liệu trong mạng cảm biến đóng vai trò thiết yếu trong việc ngăn chặn truy cập trái phép, bảo vệ thông tin nhạy cảm và phòng ngừa các cuộc tấn công mạng.

Mạng cảm biến là công nghệ quan trọng với ứng dụng đa dạng trong nhiều lĩnh vực, cho phép thu thập thông tin và giám sát môi trường một cách hiệu quả và linh hoạt.

1.1.3 Cấu trúc của mạng cảm biến

Mạng cảm biến là hệ thống bao gồm nhiều nút được phân bố dày đặc, được triển khai bên trong hoặc gần đối tượng cần khảo sát để thu thập dữ liệu thông tin hiệu quả.

Cảm biến có thể được triển khai ngẫu nhiên mà không cần định trước vị trí, cho phép tiếp cận các khu vực nguy hiểm hoặc khó tiếp cận Tính năng tự tổ chức và khả năng hợp tác giữa các cảm biến là những đặc điểm quan trọng Khi có nhiều cảm biến được lắp đặt gần nhau, việc sử dụng truyền thông đa liên kết giúp giảm thiểu mức tiêu thụ năng lượng và nâng cao hiệu quả truyền tín hiệu so với truyền khoảng cách xa.

Hình 2: Cấu trúc mạng cảm biến.

Các nút cảm biến được triển khai trong một mạng cảm biến, có khả năng thu thập và định tuyến dữ liệu về bộ thu nhận (Sink) Chúng không chỉ chuyển tiếp số liệu đến người dùng mà còn gửi các yêu cầu từ nút Sink đến các nút cảm biến khác Dữ liệu được định tuyến theo cấu trúc đa liên kết mà không cần cơ sở hạ tầng cố định.

Hình 3: Thành phần nút cảm biến.

Bộ cảm biến (Sensing Unit) là thành phần chính của nút cảm biến, bao gồm nhiều loại cảm biến như cảm biến nhiệt độ, độ ẩm, áp suất, ánh sáng, âm thanh và các cảm biến khác, nhằm thu thập dữ liệu từ môi trường xung quanh tùy thuộc vào ứng dụng cụ thể.

Bộ xử lý (Processing Unit) là thành phần chính trong hệ thống, chịu trách nhiệm xử lý thông tin từ các cảm biến Nó thực hiện phân tích dữ liệu, đưa ra quyết định về các hành động cần thiết và quản lý việc gửi dữ liệu đến trạm cơ sở hoặc trạm điều khiển Ngoài ra, bộ xử lý có thể kết hợp với bộ nhớ để lưu trữ dữ liệu tạm thời và chương trình ứng dụng.

Bộ nhớ/lưu trữ là thành phần quan trọng trong việc lưu trữ dữ liệu, có thể phục vụ cho cả mục đích tạm thời và lâu dài tùy theo ứng dụng Nó hỗ trợ nút cảm biến trong việc xử lý dữ liệu và lưu giữ thông tin thiết yếu.

Bộ thu phát (Transceiver Unit) là thành phần thiết yếu trong việc truyền tải dữ liệu giữa các nút cảm biến và trạm cơ sở hoặc trạm điều khiển Nó có khả năng gửi và nhận dữ liệu qua các kết nối không dây như Wi-Fi, Bluetooth, Zigbee, LoRa và nhiều công nghệ truyền dẫn dữ liệu không dây khác.

Hệ thống định vị địa lý (GPS) cho phép xác định vị trí chính xác của các nút cảm biến trong môi trường, điều này rất hữu ích cho việc thu thập dữ liệu và theo dõi vị trí của chúng.

T ÍNH BẢO MẬT MẠNG CẢM BIẾN VÀ HỆ THỐNG IDS

1.2.1 Nguy cơ và thách thức trong mạng cảm biến

Mạng cảm biến ngày càng đóng vai trò quan trọng trong cuộc sống hàng ngày và ứng dụng công nghiệp, nhưng việc triển khai và quản lý chúng gặp nhiều khó khăn Các nguy cơ và thách thức phổ biến mà mạng cảm biến phải đối mặt bao gồm sự phức tạp trong cấu hình, vấn đề về bảo mật dữ liệu, và khả năng tiêu thụ năng lượng cao.

Bảo mật dữ liệu thông tin là rất quan trọng trong mạng cảm biến, nơi thường xuyên thu thập thông tin nhạy cảm về môi trường và dữ liệu cá nhân Việc đảm bảo an toàn cho dữ liệu giúp ngăn chặn việc lộ thông tin ra bên ngoài mạng và truy cập trái phép, bảo vệ quyền riêng tư của người dùng.

 Giới hạn tài nguyên : Các nút cảm biến trong mạng thường có tài nguyên năng lượng và xử lý hạn chế

Quản lý năng lượng hiệu quả là yếu tố thiết yếu trong mạng cảm biến, vì việc tiêu tốn năng lượng không cần thiết có thể dẫn đến khó khăn hoặc làm cho mạng ngừng hoạt động.

Khả năng chịu tấn công mạng của hệ thống là một yếu tố quan trọng, vì nó dễ dàng trở thành mục tiêu cho các mối đe dọa như tấn công từ chối dịch vụ (DDoS), tấn công xâm nhập và tấn công giả mạo Những nguy cơ này có thể gây ra rủi ro lớn cho mạng, ảnh hưởng đến tính bảo mật và hoạt động của hệ thống.

Trong các môi trường khắc nghiệt như rừng, dưới nước hoặc vùng khó tiếp cận, việc triển khai cảm biến gặp nhiều thách thức Điều này đòi hỏi các biện pháp bảo trì và bảo vệ cảm biến hiệu quả trước các yếu tố môi trường.

Quản lý khóa và quyền truy cập là yếu tố quan trọng để đảm bảo quyền truy cập chính xác cho các nút cảm biến, đồng thời ngăn chặn việc truy cập trái phép Việc này không chỉ bảo vệ thông tin mà còn tăng cường an ninh cho hệ thống.

1.2.2 Các phương thức tấn công trong mạng cảm biến

Hiện nay, có rất nhiều cuộc tấn công mạng đa dạng và nguy hiểm trên toàn cầu Các kẻ tấn công luôn tìm kiếm lỗ hổng và điểm yếu trong hệ thống mạng để thực hiện các hành vi độc hại Dưới đây là một số ví dụ về các cuộc tấn công mạng phổ biến và những nguy cơ mà chúng mang lại.

Hình 4: Các phương thức tấn công mạng.

Tấn công giả mạo (Phishing) là một hình thức tấn công trong đó kẻ xấu giả mạo thông tin từ các cảm biến hoặc nút trong mạng, dẫn đến việc nhận dữ liệu sai lệch và có thể gây ra các hoạt động xâm nhập nguy hiểm.

Tấn công trung gian (Man-in-the-middle attack) là một hình thức tấn công nghe lén, trong đó tin tặc xen vào giữa phiên giao dịch hoặc giao tiếp của hai đối tượng Khi xâm nhập thành công, kẻ tấn công có thể theo dõi mọi hành vi của người dùng và đánh cắp toàn bộ dữ liệu trong giao dịch Hình thức tấn công này thường dễ xảy ra khi nạn nhân kết nối với mạng wifi không an toàn.

Tấn công từ chối dịch vụ (DoS & DDoS) là một hình thức tấn công mạng, trong đó tấn công DDoS diễn ra khi kẻ tấn công gửi một lượng lớn lưu lượng truy cập đến mạng cảm biến Mục tiêu của loại tấn công này là làm cho mạng trở nên quá tải, dẫn đến việc không thể hoạt động bình thường.

Tấn công cơ sở dữ liệu (SQL Injection) là một hình thức tấn công mạng, trong đó tin tặc giả mạo tổ chức hoặc cá nhân uy tín để đánh lừa người dùng Mục tiêu của chúng là thu hút lòng tin của nạn nhân, từ đó yêu cầu cung cấp thông tin cá nhân nhằm đánh cắp dữ liệu nhạy cảm như tài khoản ngân hàng và thẻ tín dụng.

Tấn công mạng là hành vi xâm nhập vào hệ thống máy tính nhằm gây hại hoặc truy cập thông tin trái phép, có thể dẫn đến việc lộ thông tin nhạy cảm và mất tính bảo mật Để bảo vệ mạng khỏi những mối đe dọa này, hệ thống Xâm nhập mạng (IDS) đóng vai trò quan trọng trong việc giám sát hoạt động mạng, phát hiện các bất thường và tấn công IDS kích hoạt các biện pháp bảo vệ như thông báo cho quản trị viên hoặc cắt kết nối để đảm bảo tính bảo mật và toàn vẹn dữ liệu, từ đó giảm thiểu rủi ro và bảo vệ mạng cảm biến trong môi trường không an toàn.

1.2.3 Hệ thống xâm nhập mạng (IDS) a) Tổng quan về IDS

Hệ thống phát hiện xâm nhập (IDS) là một giải pháp phần cứng hoặc phần mềm chuyên giám sát lưu lượng mạng và theo dõi tự động các sự kiện trên hệ thống máy tính Nó có khả năng phân tích để phát hiện các vấn đề an ninh và bảo mật, đồng thời cung cấp cảnh báo kịp thời cho quản trị viên.

Hình 6:IDS mẫu Thu hẹp bề rộng tương ứng với số lượng.

Cảm biến tích hợp với bộ tạo sự kiện để thu thập dữ liệu, với cách thức thu thập được xác định bởi chính sách tạo sự kiện nhằm lọc thông tin Bộ tạo sự kiện, bao gồm hệ điều hành, ứng dụng và mạng, tạo ra các sự kiện nhất quán theo chính sách, có thể là bản ghi sự kiện hệ thống hoặc gói mạng Số liệu chính xác này cùng với thông tin chính sách có thể được lưu trữ trong hệ thống bảo vệ hoặc bên ngoài Trong một số trường hợp, như khi dữ liệu sự kiện được chuyển trực tiếp đến máy phân tích mà không lưu trữ, điều này đặc biệt liên quan đến các gói mạng.

 IDS bao gồm các thành phần chính:

Hình 7: Kiến trúc của một hệ thống phát hiện xâm nhập.

Thành phần thu thập gói tin có nhiệm vụ lấy tất cả các gói tin đi đến mạng, bao gồm cả những gói tin không phải của card mạng Card mạng của IDS được cấu hình để thu nhận tất cả gói tin, cho phép sao chụp, xử lý và phân tích chi tiết từng trường thông tin Bộ phận này sẽ đọc và xác định loại gói tin cũng như dịch vụ tương ứng, sau đó chuyển thông tin đến thành phần phát hiện tấn công.

NGHIÊN CỨU THUẬT TOÁN SVM

Thuật toán SVM (Support Vector Machine)

Thuật toán Support Vector Machine (SVM) là một phương pháp phân loại mạnh mẽ và phổ biến, được ứng dụng rộng rãi trong nhiều lĩnh vực như phân loại ảnh, dữ liệu văn bản và y học SVM hoạt động dựa trên nguyên tắc tạo ra một siêu phẳng (hyperplane) tối ưu để phân chia các lớp dữ liệu, với hyperplane được hiểu là một đường thẳng có khả năng phân tách các lớp thành hai phần riêng biệt.

Hình 10: Các điểm gần mặt phân cách nhất của hai classes được khoanh tròn.

2.1.2 Phương thức hoạt động của SVM:

Mục tiêu của SVM là tạo ra một siêu phẳng tối ưu để phân chia các lớp dữ liệu Siêu phẳng này là một hyperplane tuyến tính trong không gian nhiều chiều, tương ứng với số đặc trưng của dữ liệu Để đạt được hiệu quả tối ưu, siêu phẳng được chọn sao cho khoảng cách từ nó đến các điểm dữ liệu gần nhất của cả hai lớp là lớn nhất, và khoảng cách này được gọi là lề (margin).

Tối ưu hóa lề là mục tiêu chính của SVM, với siêu phẳng được chọn sao cho lề đạt giá trị lớn nhất Điều này đồng nghĩa với việc tối thiểu hóa khoảng cách giữa các lớp trong không gian đặc trưng.

Kernel trick cho phép ánh xạ dữ liệu vào không gian có chiều cao hơn, giúp phân chia dữ liệu bằng siêu phẳng tuyến tính Một số loại kernel phổ biến bao gồm kernel tuyến tính, kernel đa thức và kernel RBF (Radial Basis Function).

Hàm Mất Mát trong SVM được thiết kế để tối ưu hóa siêu phẳng bằng cách tối thiểu hóa lề và kiểm soát sự vi phạm của các điểm dữ liệu Các điểm dữ liệu nằm trong lề hoặc ở phía sai lề được gọi là các điểm vi phạm Hàm mất mát thường bao gồm hai thành phần: một thành phần liên quan đến lề và một thành phần kiểm soát vi phạm.

Tối ưu hóa hàm mất mát là bước quan trọng để tìm ra siêu phẳng tối ưu trong các mô hình học máy Hai phương pháp tối ưu hóa phổ biến được sử dụng là phương pháp đối ngẫu Lagrange và SMO (Sequential Minimal Optimization).

SVM sử dụng siêu phẳng tối ưu để phân loại các điểm dữ liệu mới, gán chúng vào một trong hai lớp dựa trên vị trí của chúng so với siêu phẳng.

SVM là một phương pháp phân loại mạnh mẽ, nổi bật với khả năng xử lý dữ liệu phức tạp Tuy nhiên, việc áp dụng SVM có thể gặp khó khăn khi làm việc với các tập dữ liệu lớn hoặc có nhiều chiều.

2.1.3 Tiêu chí vẽ và xác định Hyper-plane:

 Identify the right hyper-plane (Scenario-1): Ở đây, có 3 đường hyper- lane (A, B and C) Bây giờ đường nào là hyper-lane đúng cho nhóm ngôi sao và hình tròn.

Hình 11: Identify the right hyper-plane (Scenario-1)

Quy tắc số một để chọn 1 hyper-lane, chọn một hyper-plane để phân chia hai lớp tốt nhất Trong ví dụ này chính là đường B.

Để xác định hyper-plane đúng trong Scenario-2, chúng ta có ba đường hyper-plane (A, B và C) đều thỏa mãn quy tắc số 1 Tuy nhiên, nếu chọn hyper-plane thấp hơn, khi dữ liệu tăng lên, nguy cơ xác định nhầm lớp cho dữ liệu sẽ cao hơn.

 Identify the right hyper-plane (Scenario-3): Sử dụng các nguyên tắc đã nêu trên để chọn ra hyper-plane cho trường hợp sau:

Hình 13: Identify the right hyper-plane (Scenario-3)

Mặc dù một số người có thể lựa chọn đường B do có margin cao hơn, nhưng điều này không đúng Nguyên tắc đầu tiên trong việc phân chia các lớp là chọn hyper-plane để tách biệt chúng Do đó, đường A là lựa chọn chính xác.

Trong Scenario-4, chúng ta thấy rằng không thể phân loại hai lớp riêng biệt chỉ bằng một đường thẳng, vì không thể tạo ra một vùng chỉ chứa các ngôi sao và một vùng chỉ chứa các điểm tròn.

SVM (Support Vector Machine) có khả năng mạnh mẽ trong việc chấp nhận ngoại lệ và tìm ra hyper-plane với biên giới tối đa Trong Scenario-4, một ngôi sao bên ngoài được coi là ngôi sao phía ngoài hơn, cho thấy tính năng của SVM trong việc xử lý các lớp dữ liệu khác nhau.

 Find the hyper-plane to segregate to classes (Scenario-5)

Khi không thể xác định một đường hyper-plane để phân chia các lớp, SVM vẫn có thể tách dữ liệu thành hai lớp riêng biệt bằng cách sử dụng các phương pháp khác Đến nay, chúng ta chỉ mới xem xét các đường hyper-plane tuyến tính.

Hình 16: Find the hyper-plane to segregate to classes (Scenario-5)-1

SVM có khả năng giải quyết vấn đề này một cách hiệu quả Để thực hiện điều đó, chúng ta sẽ thêm một tính năng mới, cụ thể là z = x^2 + y^2 Nhờ vào việc bổ sung tính năng này, dữ liệu sẽ được biến đổi theo trục x và z, giúp cải thiện khả năng phân loại.

Hình 17: Find the hyper-plane to segregate to classes (Scenario-5)-1

Trong sơ đồ trên, các điểm cần xem xét là:

• Tất cả dữ liệu trên trục z sẽ là số dương vì nó là tổng bình phương x và y

Trên biểu đồ, các điểm tròn đỏ xuất hiện gần trục x và y cho thấy giá trị z sẽ nhỏ hơn, tức là nằm gần trục x hơn trong đồ thị (z, x) Trong SVM, việc tạo ra một siêu phẳng tuyến tính để phân chia hai lớp là khá đơn giản Tuy nhiên, câu hỏi đặt ra là liệu chúng ta có cần thêm một tính năng phân chia này một cách thủ công hay không.

B IẾN THỂ CỦA SVM

2.2.1 Biến thể của SVM và cách áp dụng biến thể SVM

Các biến thể của thuật toán Support Vector Machine (SVM) có thể được áp dụng hiệu quả trong việc phát hiện xâm nhập, nhằm bảo vệ hệ thống mạng khỏi các hoạt động trái phép và tấn công.

Dưới đây là một số biến thể của SVM được sử dụng trong ngữ cảnh phát hiện xâm nhập:

 Support Vector Machines for Anomaly Detection (One-Class SVM):

Biến thể của SVM này giúp phát hiện các dạng xâm nhập mới và không xác định bằng cách xây dựng mô hình chỉ dựa trên dữ liệu bình thường Mô hình tạo ra một siêu phẳng, đảm bảo tất cả các điểm dữ liệu bình thường nằm bên trong lề, tức là các vectơ hỗ trợ Những điểm dữ liệu không nằm trong lề sẽ được coi là ngoại lệ hoặc dấu hiệu của xâm nhập.

Multi-Class SVMs là một phương pháp hiệu quả trong phát hiện xâm nhập, cho phép phân loại nhiều loại tấn công khác nhau Mỗi lớp trong Multi-Class SVMs đại diện cho một loại tấn công cụ thể, giúp hệ thống nhận diện và phân biệt các cuộc tấn công một cách chính xác SVM được đào tạo để xử lý và phân loại các cuộc tấn công thuộc nhiều lớp, nâng cao khả năng bảo mật cho môi trường mạng.

Online SVMs là một công cụ quan trọng trong việc phát hiện xâm nhập, cho phép mô hình cập nhật liên tục khi có dữ liệu mới Khả năng này giúp mô hình thích nghi với các loại tấn công có thể tiến triển và thay đổi theo thời gian, từ đó nâng cao hiệu quả trong việc bảo vệ hệ thống.

 SVM Ensemble Methods: Ensemble methods như Bagging và

Boosting là một kỹ thuật hữu hiệu trong việc cải thiện độ ổn định và khả năng tổng hợp dự đoán của mô hình SVM Bằng cách kết hợp các mô hình SVM riêng lẻ, ta có thể tạo ra một dự đoán cuối cùng mạnh mẽ và chính xác hơn.

Việc lựa chọn kernel phù hợp là yếu tố quan trọng trong khả năng phát hiện xâm nhập của SVM Các kernel phổ biến như kernel RBF (Radial Basis Function) giúp SVM xử lý hiệu quả các dạng phân phối dữ liệu phức tạp hơn.

Để xác định thời điểm nào một sự kiện được coi là cuộc tấn công, việc thiết lập ngưỡng (thresholding) là cần thiết Ngưỡng này sẽ được áp dụng cho kết quả của SVM; nếu kết quả vượt quá ngưỡng đã định, sự kiện sẽ được đánh giá là một cuộc tấn công.

Các biến thể của SVM có thể được điều chỉnh để phù hợp với từng môi trường phát hiện xâm nhập, yêu cầu kiến thức chuyên môn và phân tích dữ liệu tối thiểu SVM vẫn là một trong những công cụ quan trọng trong việc bảo vệ hệ thống mạng trước các cuộc tấn công và có hiệu quả cao trong việc phát hiện xâm nhập.

Ư U ĐIỂM VÀ N HƯỢC ĐIỂM CỦA SVM

SVM có khả năng phân loại dữ liệu phức tạp, cho phép phát hiện các dạng tấn công phức tạp mà mạng cảm biến có thể đối mặt, bao gồm cả những cuộc tấn công mới và chưa được xác định.

Mạng cảm biến hoạt động hiệu quả trong không gian chiều thấp, và SVM (Support Vector Machine) là một phương pháp lý tưởng trong trường hợp này SVM có khả năng tạo ra các siêu phẳng tối ưu để phân loại dữ liệu, ngay cả khi số lượng đặc trưng thấp.

Kernel Trick là một phương pháp quan trọng trong việc xử lý dữ liệu phi tuyến tính, đặc biệt trong các mạng cảm biến, nơi dữ liệu thường không tuân theo quy luật tuyến tính SVM (Support Vector Machine) áp dụng biến đổi phi tuyến tính để phân loại hiệu quả các phân phối dữ liệu phức tạp, giúp nâng cao khả năng phân loại và xử lý thông tin trong các tình huống đa dạng.

SVM tối ưu hóa lề giữa các lớp dữ liệu, giúp tạo ra mô hình phân loại với khả năng tổng quát cao và giảm thiểu nguy cơ bị quá khớp.

SVM có thể yêu cầu thời gian huấn luyện dài khi xử lý các tập dữ liệu lớn hoặc có nhiều đặc trưng, điều này có thể gây khó khăn trong mạng cảm biến, nơi cần có khả năng kiểm tra và phát hiện tức thì.

SVM có khả năng xử lý dữ liệu thiếu và nhiễu, nhưng vẫn có thể bị ảnh hưởng bởi các yếu tố này Trong mạng cảm biến, dữ liệu thường bị nhiễu do điều kiện môi trường khắc nghiệt, và các cảm biến có thể gặp sự cố hoặc hỏng hóc.

Việc tinh chỉnh siêu tham số cho SVM có thể trở nên phức tạp, bởi vì có nhiều siêu tham số cần điều chỉnh để đạt được hiệu suất tối ưu Quá trình này đòi hỏi kiến thức chuyên sâu và thường xuyên thử nghiệm để tìm ra cấu hình tốt nhất.

SVM có khả năng ứng dụng trong mạng cảm biến để phát hiện xâm nhập, tuy nhiên, cần tiến hành đánh giá chi tiết trong bối cảnh cụ thể của từng ứng dụng và yêu cầu của hệ thống.

IDS SỬ DỤNG THUẬT TOÁN SVM

Giới thiệu về Bộ dữ liệu KDD-99 .1 Khái niệm

Bộ dữ liệu KDD-99 là một trong những bộ dữ liệu phổ biến nhất cho việc kiểm thử các nghiên cứu về hệ thống phát hiện xâm nhập (IDS) trong suốt hai thập kỷ qua Phiên bản KDD Cup 1999 được phát triển từ bộ dữ liệu DARPA 1998 và được sử dụng trong cuộc thi "Các công cụ khai phá dữ liệu và nghiên cứu tri thức quốc tế lần thứ 3" Bộ dữ liệu này được tạo ra bằng cách trích xuất các thuộc tính từ dữ liệu thô của DARPA thành các đặc trưng riêng biệt, trong khi vẫn giữ nguyên độ lớn và số lượng thuộc tính Hiện tại, bộ dữ liệu có sẵn trên trang web chính thức của cuộc thi và trong kho dữ liệu UCU Machine Learning Repository, với 24 loại tấn công và 14 loại tấn công bổ sung cho tập dữ liệu kiểm thử.

KDD99 là phiên bản trích xuất tính năng của bộ dữ liệu DARPA, trong khi NSL-KDD là phiên bản đã được tối ưu hóa và giảm kích thước từ KDD99 NSL-KDD hiện được công nhận là bộ dữ liệu chuẩn cho các nghiên cứu liên quan đến dữ liệu Internet.

Hình 18: Các phiên bản nghiên cứu lĩnh vực IDS.

Bộ dữ liệu NSL-KDD, được công bố bởi Tavallaee và cộng sự vào năm 2009, là phiên bản cải tiến của bộ KDD Cup 1999, với việc loại bỏ các bản ghi thừa và trùng lặp Hiện nay, bộ dữ liệu này được sử dụng rộng rãi trong các nghiên cứu để phát hiện sự bất thường trong kiểm thử và đánh giá So với phiên bản gốc, NSL-KDD không chứa bản ghi dư thừa trong tập huấn luyện, giúp kết quả phân lớp chính xác hơn, đồng thời cũng không có bản ghi trùng lặp trong tập kiểm thử Bộ dữ liệu này xử lý hiệu quả hơn các vấn đề liên quan đến vùng kết quả đánh giá hẹp và cân đối hợp lý số lượng bản ghi giữa tập huấn luyện và kiểm thử NSL-KDD hiện có sẵn trên website của nhóm nghiên cứu dưới dạng tệp tin csv, với hơn 125 nghìn bản ghi trong tập huấn luyện và hơn 22 nghìn bản ghi trong tập kiểm thử.

 Tập dữ liệu này gồm 4 tập dữ liệu con:

KDDTrain+_20Percent là một tập con của dữ liệu huấn luyện, chứa 20% tổng số bản ghi Các bản ghi lưu lượng mạng trong KDDTest-21 và KDDTrain+_20Percent đều xuất hiện trong các tập kiểm tra và huấn luyện, nhưng không có bản ghi nào chung giữa hai tập dữ liệu này.

Tập dữ liệu bao gồm các bản ghi lưu lượng mạng Internet được ghi nhận bởi một mạng phát hiện xâm nhập đơn giản, phản ánh những lưu lượng mà IDS có thể gặp phải Mỗi bản ghi chứa 43 thuộc tính, trong đó 41 thuộc tính liên quan đến lưu lượng chính, hai thuộc tính cuối là nhãn (tấn công hoặc không tấn công) và điểm số (mức độ nghiêm trọng của lưu lượng đầu vào).

3.1.2 Các lớp tấn công KDD-99

Trong bộ dữ liệu KDD99 có 5 lớp tấn công bao gồm :

Tấn công DoS nhằm mục đích gián đoạn lưu lượng mạng đến hoặc đi từ hệ thống mục tiêu, khiến hệ thống IDS bị quá tải với lượng lưu lượng không bình thường và tự ngưng hoạt động để bảo vệ bản thân Hệ quả là lưu lượng bình thường không thể truy cập vào mạng Ví dụ, trong một ngày khuyến mãi lớn, một đơn vị bán hàng trực tuyến có thể bị tràn ngập đơn hàng, dẫn đến việc mạng không xử lý kịp thời tất cả yêu cầu và ngừng hoạt động, làm cho khách hàng không thể hoàn tất giao dịch Đây là loại tấn công phổ biến nhất trong tập dữ liệu hiện nay.

Do thám (Probe) là một hình thức tấn công nhằm thu thập thông tin từ một mạng, tương tự như hành động của kẻ trộm Mục tiêu của loại tấn công này là lấy cắp các thông tin quan trọng, bao gồm thông tin cá nhân của người dùng và dữ liệu tài khoản ngân hàng.

U2R là một loại tấn công bắt đầu từ tài khoản người dùng thông thường, nhằm mục đích chiếm quyền truy cập vào hệ thống hoặc mạng với quyền hạn của người dùng root Kẻ tấn công sẽ khai thác các lỗ hổng trong hệ thống để đạt được quyền truy cập root.

R2L là một kiểu tấn công mạng mà kẻ tấn công cố gắng chiếm quyền truy cập vào hệ thống từ xa mà không có quyền truy cập nội bộ Kẻ tấn công này sử dụng nhiều phương pháp để tấn công nhằm tìm cách xâm nhập vào mạng và hệ thống mục tiêu.

T HỰC NGHIỆM VÀ KẾT QUẢ

3.2.1 Môi trường mô phỏng quá trình thực nghiệm

Google Colab là một công cụ mạnh mẽ cho phép bạn chạy Python trên bất kỳ thiết bị nào có kết nối Internet mà không cần cài đặt Nó hỗ trợ chia sẻ và làm việc nhóm một cách dễ dàng, đồng thời cung cấp GPU miễn phí cho các dự án AI, mang lại nhiều lợi ích vượt trội cho người dùng.

Hình 20: Chức năng của Google Colab.

Cấu hình phần cứng của Google Colab:

Hình 21: Cấu hình phần cứng Google colab.

 Ưu điểm khi sử dụng Google Colab:

Phân phối Anaconda của Jupyter Notebook đi kèm với nhiều thư viện cài sẵn như Numpy, Pandas và Matplotlib Đồng thời, Colab cũng trang bị sẵn nhiều thư viện machine learning như Keras, Pytorch và Tensorflow, giúp người dùng dễ dàng triển khai các dự án học máy.

Khi chọn Jupyter Notebook làm môi trường làm việc, mọi dữ liệu sẽ được lưu trữ cục bộ trên máy tính của bạn, điều này rất phù hợp nếu bạn đề cao quyền riêng tư Ngược lại, nếu bạn muốn truy cập vào dữ liệu từ bất kỳ thiết bị nào có đăng nhập Google, Google Colab là lựa chọn tối ưu Tất cả các tệp Google Colab Notebook sẽ được lưu trữ trong tài khoản Google Drive của bạn, tương tự như các tài liệu Google Docs và Google Sheets.

Google Colab nổi bật với tính năng hợp tác, cho phép người dùng làm việc cùng nhau trên các Notebook giống như trên Google Docs Bạn có thể dễ dàng cộng tác với nhiều nhà phát triển và chia sẻ các dự án đã hoàn thành của mình với họ.

 Sử dụng GPU và TPU miễn phí, Không cần phải suy nghĩ nhiều, khi chọn

Google Colab là sự thay thế tuyệt vời cho Jupyter Notebook, nhờ vào việc Google Research cung cấp GPU và TPU chuyên dụng cho các dự án machine learning cá nhân Việc sử dụng gia tốc GPU và TPU có thể tạo ra sự khác biệt lớn, ngay cả với những dự án nhỏ.

 Sự tổng quát Google Colab là phiên bản chuyên dụng của Jupyter

Notebook là một công cụ chạy trên đám mây, cung cấp tài nguyên điện toán miễn phí Mối quan hệ giữa Ipython, Jupyter Notebook và Google Colab được thể hiện rõ ràng trong hệ sinh thái công nghệ này.

Hình 22: Tổng quát của Google Colab.

 Nhược điểm khi sử dụng Google Colab:

 Thời gian chạy giới hạn: Phiên làm việc trên Google Colab sẽ tự động ngắt kết nối sau khoảng thời gian cố định (thường là khoảng 12 giờ)

Google Colab cung cấp tài nguyên giới hạn cho người dùng, bao gồm CPU và RAM, trong đó phiên làm việc miễn phí không hỗ trợ GPU hoặc chỉ có GPU với khả năng hạn chế.

Trong Google Colab, bạn không thể truy cập trực tiếp dữ liệu cục bộ từ máy tính cá nhân Để làm việc với dữ liệu, bạn cần tải lên hoặc trích xuất dữ liệu từ kho lưu trữ trực tuyến.

Google Colab có giới hạn lưu trữ, nghĩa là dữ liệu và tệp bạn tạo có thể không được lưu trữ lâu dài Sau một khoảng thời gian nhất định, bạn có thể mất quyền truy cập vào các tệp này.

3.2.2 Hướng dẫn cài đặt Google colab

 Bước 1: Tạo một Folder cho Notebook của bạn

Khi sử dụng Google Colab trên Google Drive, việc xác định thư mục làm việc là hữu ích Bạn có thể tạo một thư mục mới bằng cách truy cập vào Google Drive và nhấn "Mới" Điều này giúp tổ chức công việc của bạn một cách hiệu quả hơn.

Drive của tôi gặp vấn đề và trông như có hàng triệu Colab Notebook cùng xuất hiện).

Hình 23: Tạo folder notebook trên drive.

Ngoài ra, bạn có thể tạo một Colab notebook trên Google Drive của bạn.Chỉ cần nhấp vào “New”, kéo xuống phần “More” và chọn “Colaboratory”.

Bạn có thể dễ dàng đổi tên notebook của mình bằng cách nhấp trực tiếp vào tên notebook hoặc chọn “File” trên thanh công cụ và tìm đến phần “Rename”.

 Bước 3: Cài đặt GPU miễn phí

Khi bạn muốn sử dụng GPU, rất đơn giản Bạn chỉ cần nhấp vào

“runtime” trên thanh công cụ, chọn phần “change runtime type” và chọn GPU trong phần “hardware accelerator”.

Và ta tiến hành code.

X ÂY DỰNG VÀ TRIỂN KHAI THUẬT TOÁN SVM TRÊN G OOGLE COLAB

3.3.2 Đọc dữ lệu từ bộ dữ liệu KDD-99.

3.3.3 Tiền xử lý và loại bỏ các giá trị trùng lặp.

3.3.4 Xây dựng mô hình SVM và training.

3.3.5 Đánh giá mô hình và báo cáo.

Chúng tôi sẽ áp dụng thuật toán SVM để thực hiện thí nghiệm trên bộ dữ liệu KDD99 Kết quả thu được sẽ được phân tích thông qua các chỉ số đánh giá hiệu quả của mô hình, từ đó lựa chọn mô hình phù hợp cho bộ dữ liệu dựa trên các thông số liên quan đến các loại tấn công.

Khi chạy thực nghiệm, kết quả được ghi nhận như sau:

Hình 27: Kết quả chạy thực nghiệm.

Kết quả thu được từ việc áp dụng các loại kernel khác nhau trong thuật toán SVM cho thấy mô hình đạt được độ chính xác 92,37%.

Bài viết này cung cấp cái nhìn tổng quan về mạng cảm biến và ứng dụng thực tiễn của nó Chúng ta đã khám phá cấu trúc cơ bản của mạng cảm biến, cũng như tầm quan trọng của tính bảo mật trong mạng này và hệ thống xâm nhập mạng (IDS) nhằm bảo vệ an toàn cho mạng cảm biến.

Bài viết giới thiệu thuật toán SVM (Support Vector Machine) cùng các biến thể của nó, nhấn mạnh ứng dụng của SVM trong việc phát triển hệ thống IDS cho bảo mật mạng cảm biến Chúng ta đã phân tích ưu điểm và nhược điểm của SVM để làm rõ khả năng ứng dụng của thuật toán này trong môi trường mạng cảm biến.

Bài viết đã trình bày việc sử dụng bộ dữ liệu KDD-99 để xây dựng và triển khai thuật toán SVM trên Google Colab Kết quả thực nghiệm cho thấy khả năng của SVM trong việc phát hiện các loại tấn công mạng và độ chính xác của thuật toán SVM trong hệ thống IDS của mạng cảm biến không dây (WSN).

Trong tương lai, nghiên cứu và phát triển các phương pháp bảo mật cho mạng cảm biến và hệ thống IDS dựa trên SVM sẽ đóng vai trò quan trọng trong việc đảm bảo tính bảo mật và ổn định cho mạng cảm biến trong các ứng dụng thực tế.

Ngày đăng: 14/11/2023, 22:44

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w