-
08/10/2013
-
401
-
989 bài viết
Bộ dữ liệu lưu vết các vụ tấn công IoT 23
Để có thể phát hiện các cuộc tấn công vào hệ thống IoT thì cách tiếp cận dựa trên học máy (Machine Learning) đang là hướng khả thi nhất hiện nay. Các mô hình học máy cần phải được huấn luyện trên một bộ dữ liệu (training data) để có được khả năng phân biệt các vụ tấn công vào hệ thống IoT. Bộ dữ liệu vì thế rất quan trọng trong quá trình huấn luyện. Trong bài này sẽ giới thiệu về bộ dữ liệu IoT 23.
IoT23 là bộ dữ liệu được tạo bởi phòng thí nghiệm Avast AIC. Bộ dữ liệu chứa 20 capture độc hại từ các thiết bị IoT khác nhau và 3 capture bình thường. Dữ liệu được thu thập hợp tác với Đại học Kỹ thuật Séc tại Prague, dữ liệu được thu thập từ năm 2018 đến 2019.
Tập dữ liệu ở dạng hoàn chỉnh chứa: Các tệp .pcap, là các tệp capture mạng ban đầu, các tệp conn.log.labeled, được tạo bằng cách chạy máy phân tích mạng gọi là Zeek, các chi tiết và thông tin khác nhau về từng capture. Tập dữ liệu chứa tổng cộng 325.307.990 capture, trong đó 294.449.255 là độc hại. Tập dữ liệu bao gồm loại tấn công sau:
IoT23 là bộ dữ liệu được tạo bởi phòng thí nghiệm Avast AIC. Bộ dữ liệu chứa 20 capture độc hại từ các thiết bị IoT khác nhau và 3 capture bình thường. Dữ liệu được thu thập hợp tác với Đại học Kỹ thuật Séc tại Prague, dữ liệu được thu thập từ năm 2018 đến 2019.
Tập dữ liệu ở dạng hoàn chỉnh chứa: Các tệp .pcap, là các tệp capture mạng ban đầu, các tệp conn.log.labeled, được tạo bằng cách chạy máy phân tích mạng gọi là Zeek, các chi tiết và thông tin khác nhau về từng capture. Tập dữ liệu chứa tổng cộng 325.307.990 capture, trong đó 294.449.255 là độc hại. Tập dữ liệu bao gồm loại tấn công sau:
Loại tấn công | Mô tả |
Attack | nhãn chung được quy cho đến những bất thường không thể xác định được |
Benign | nhãn chung cho một bản chụp không đáng ngờ |
C&C | kiểm soát và chỉ huy, một kiểu tấn công chiếm quyền kiểm soát thiết bị để ra lệnh cho thiết bị thực hiện các cuộc tấn công khác nhau trong tương lai |
C&C - File-Download | máy chủ điều khiển thiết bị bị nhiễm đang gửi cho nó một tệp |
C&C - Mirai | cuộc tấn công được thực hiện bởi mạng bot Mirai |
C&C - Torii | cuộc tấn công được thực hiện bởi mạng bot Torii, một phiên bản tinh vi hơn của mạng Mirai |
DDoS | thiết bị bị nhiễm đang thực hiện từ chối dịch vụ phân tán |
C&C - Heart-Beat | máy chủ điều khiển thiết bị bị nhiễm gửi tin nhắn định kỳ để kiểm tra trạng thái của thiết bị bị nhiễm, điều này được nắm bắt bằng cách tìm kiếm các gói nhỏ được gửi định kỳ từ một nguồn đáng ngờ |
C&C - Heart-Attack | giống như trên, nhưng phương pháp không rõ ràng, chỉ có một thực tế là cuộc tấn công đến định kỳ từ một nguồn đáng ngờ |
C&C - Heart-Beat - FileDownload | quá trình kiểm tra được thực hiện thông qua một tệp nhỏ được gửi thay vì gói dữ liệu |
C&C - PartOfA - Horizontal - PortScan | mạng đang gửi các gói dữ liệu để thu thập thông tin cho một cuộc tấn công trong tương lai |
Okiru | cuộc tấn công được thực hiện bởi mạng bot Okiru, một phiên bản phức tạp hơn của mạng Mirai |
Okiru - Attack | kẻ tấn công được công nhận là mạng bot Okiru, nhưng phương thức tấn công khó xác định hơn |
PartOfAHorizontal - PortScan | thông tin được thu thập từ một thiết bị cho một cuộc tấn công trong tương lai |
PartOfAHorizontal - PortScan Attack | giống như trên, nhưng các phương pháp tấn công không thể được xác định chính |
Bảng 1. Mô tả chi tiết các loại tấn công
Mỗi tệp conn.log.labeled chứa 23 cột dữ liệu, có loại được trình bày trong bảng trên. Các cột này là:
Cột | Mô tả | Loại dữ liệu |
ts | thời điểm capture xong, được biểu thị bằng Unix Time | int |
uid | ID của capture | str |
id_orig.h | địa chỉ IP nơi xảy ra cuộc tấn công, IPv4 hoặc IPv6 | str |
id_orig.p | cổng được sử dụng bởi bộ phản hồi | int |
id_resp.h | địa chỉ IP của thiết bị mà quá trình capture xảy ra | str |
id_resp.p | cổng được sử dụng cho phản hồi từ thiết bị nơi xảy ra quá trình chụp | int |
proto | giao thức mạng được sử dụng cho gói dữ liệu | str |
service | giao thức ứng dụng | str |
duration | lượng thời gian dữ liệu được giao dịch giữa thiết bị và kẻ tấn công | float |
orig_bytes | lượng dữ liệu được gửi đến thiết bị | int |
resp_bytes | lượng dữ liệu được gửi bởi thiết bị | int |
conn_state | trạng thái của kết nối | str |
local_orig | có kết nối cục bộ hay không | bool |
local_resp | có phản hồi cục bộ hay không | bool |
missed_bytes | số byte bị miss trong một tin nhắn | int |
history | lịch sử của trạng thái kết nối | str |
orig_pkts | số lượng gói tin được gửi đến thiết bị | int |
orig_ip_bytes | số byte được gửi đến thiết bị | int |
resp_pkts | số lượng gói tin được gửi từ thiết bị | int |
resp_ip_bytes | số byte được gửi từ thiết bị | int |
tunnel_parents | ID của kết nối, nếu tunnelled | str |
label | loại capture, an toàn hay độc hại | str |
detailed_label | chi tiết capture nếu là loại độc hại | str |
Bảng 2. Mô tả chi tiết kiểu dữ liệu
Cột conn-state là một biến dành riêng cho Zeek và biểu thị trạng thái kết nối giữa hai thiết bị. Ví dụ: S0 có nghĩa là một thiết bị đã thử kết nối nhưng phía bên kia không trả lời. Trong tập dữ liệu này, tất cả các giá trị bị thiếu trong bất kỳ mục nhập nào đều được đánh dấu bằng dấu gạch ngang (“-”), ngoại trừ địa chỉ IP, được đánh dấu bằng hai dấu hai chấm (“::”).
Chỉnh sửa lần cuối bởi người điều hành: