Tầm quan trọng của dữ liệu trong học máy

nktung

Super Moderator
Thành viên BQT
08/10/2013
400
985 bài viết
Tầm quan trọng của dữ liệu trong học máy
Quá trình quan trọng nhất bắt đầu với mô hình học máy là có được bộ dữ liệu đáng tin cậy. Lý do là trong các định nghĩa, "kinh nghiệm" của máy là một bộ dữ liệu được sử dụng để xây dựng mô hình. Bộ dữ liệu thường được chia làm 3 loại là: tập huấn luyện (để xây mô hình), tập kiểm tra (để đánh giá mô hình) và tập xác thực (để tăng hiệu quả mô hình trên tập kiểm tra).

Machine_learning_data.png

Có một số bộ dữ liệu nổi tiếng để xây dựng mô hình cho hệ thống IDS:

- DARPA 1998: ra đời năm 1998 tại MIT, kích thước 4GB, 5 triệu bản ghi cho huấn luyện, 2 triệu bản ghi kể kiểm thử.
- KDD CUP 1999: ra đời năm 1999 từ cuộc thi mang tên The Third International Knowledge Discovery and Data Mining Tools Competition, bộ này được xây dựng dựa trên bộ DARPA, các thuộc tính từ bộ dữ liệu thô của dataset DARPA được trích ra thành các đặc trưng theo các thuật toán riêng biệt, độ lớn và số thuộc tính của bộ dữ liệu cũ vẫn được giữ nguyên.
- NSL-KDD: ra đời năm 2009, tối ưu bộ KDD Cup 1999 bằng cách loại bỏ một số bản ghi bị thừa, trùng lặp thông tin.
- UNSW-NB15: ra đời năm 2015, bổ sung các mẫu tấn công mới
Trong phần tiếp theo, chúng ta sẽ đi tìm hiểu bộ KDD CUP 1999:
Bộ dữ liệu này chứa các bản ghi đã được dán nhãn (tấn công/không phải tấn công). Tổng số các bản ghi là 4.898.431 (trong đó có 3.925.650 bản ghi tấn công và 972.781 bản ghi không phải dạng tấn công), mỗi bản ghi có 41 thuộc tính, dung lượng mỗi bản ghi là 100 byte. Các dạng tấn công trong bộ dữ liệu này gồm:
upload_2020-5-23_20-59-30.png

Theo các bảng nêu trên, có thể thấy số lượng cũng như tỷ lệ phần trăm của dạng tấn công DoS và PROBE rất lớn, lý do vì mỗi đợt tấn công dạng này thường sinh ra rất nhiều kết nối TCP/IP, mà bộ dữ liệu KDD Cup 99 lại định nghĩa sự kiện an ninh dựa trên từng kết nối.
Mỗi dạng tấn công lại được chia nhỏ thành nhiều kỹ thuật khác nhau. Tổng cộng có 21 kỹ thuật tấn công. Bảng dưới đây liệt kê các dạng tấn công:
upload_2020-5-23_21-7-56.png

upload_2020-5-23_21-10-30.png

Mỗi bản ghi chứa 41 thuộc tính của một kết nối. Bảng dưới đây liệt kê 9 thuộc tính liên quan đến giao thức kết nối TCP/IP.
upload_2020-5-23_21-12-6.png


Trong bảng trên chúng ta có thể thấy những thuộc tính như duration là thời gian (s) của kết nối, protocol_type là giao thức kết nối (UDP, TCP,…), service là dịch vụ mạng sử dụng ở máy đích; src_bytes là số byte được gửi từ máy nguồn về máy đích; dst_bytes là số byte được gửi từ máy đích về máy nguồn; flag chỉ trạng thái của kết nối (bình thường/lỗi); land là trường xác minh thông tin về kết nối; wrong_fragment là số lượng mảnh của một gói tin bị lỗi; urgent là số lượng gói tin có trường urgent được bật.

Bên cạnh các thuộc tính về giao thức TCP/IP, 13 thuộc tính mang tính chuyên gia được liệt kê ở bảng dưới. Các thuộc tính này được đúc rút từ kinh nghiệm giám sát mạng, từ đặc điểm của các dạng tấn công DoS, PROBE, R2L và U2R. Ví dụ num_faiedl_logins là số lần đăng nhập thất bại, logged-in chỉ trạng thái đăng nhập có thành công hay không, v.v.
upload_2020-5-23_21-12-27.png


Câu hỏi đặt ra là tổng số thuộc tính là 41, trong khi mới liệt kê được 9+13=22 thuộc tính. Vậy còn các thuộc tính khác có được sử dụng để phát hiện tấn công hay không? Câu trả lời ở đây là không phải lúc nào cũng sử dụng tất cả các thuộc tính bởi vì có nhiều thuộc tính nếu đưa vào thì có thể gây nhiễu, làm tăng tỉ lệ phát hiện sai và tiêu tốn tài nguyên tính toán. Những thuộc tính được liệt kê ở 2 bảng trên có tính điển hình, được lựa chọn dựa trên kinh nghiệm chuyên gia, dựa trên đặc điểm hoạt động của giao thức và được kiểm thử cẩn thận.
Nguồn tham khảo:
- Website: Machine learning cơ bản.
- Bùi Công Thành, Một số bộ dữ liệu kiểm thử phổ biến cho phát hiện xâm nhập mạng và đặc tính phân cụm.
 
Chỉnh sửa lần cuối:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Bên trên