Trên cơ sở những phân tích, lập luận trên, nhóm tác giả đã xác định mục tiêu của bài báo này là thực hiện xây dựng một bộ dữ liệu dạng Netflow hoàn chỉnh trên cơ sở bộ dữ liệu[r]
(1)Nguyễn Hoàng Giang, Trần Quang Anh
BỘ DỮ LIỆU DẠNG NETFLOW DÙNG TRONG PHÁT HIỆN
XÂM NHẬP TRÁI PHÉP VÀ ỨNG DỤNG Nguyễn Hoàng Giang*, Trần Quang Anh+
*Cục Công nghệ thông tin & Thống kê Hải quan
+ Học Viện Công Nghệ Bưu Chính Viễn Thơng
Tóm tắt: Các liệu mẫu xâm nhập trái phép mạng máy tính ứng dụng rộng rãi việc nghiên cứu phát xâm nhập mạng trái phép Trên giới có nhiều liệu khác nhau, liệu có ưu, nhược điểm khác Bộ liệu dạng Netflow có nhiều ưu điểm việc phát xâm nhập trái phép, đặc biệt mạng có lưu lượng liệu lớn Hiện tại, liệu DARPA nhà khoa học sử dụng nghiên cứu phát xâm nhập trái phép, nhiên liệu DARPA không dạng Netflow Mục tiêu báo trình bày phương thức xây dựng liệu dạng Netflow từ nguồn liệu DARPA; ứng dụng liệu phát xâm nhập trái phép phương pháp học máy Bộ liệu sử dụng rộng rãi nghiên cứu phát xâm nhập trái phép dựa Netflow
Từ khóa: Bộ liệu (dataset), Nạve Bayes, Netflow, phát xâm nhập trái phép (IDS) I GIỚI THIỆU
Ngày nay, mạng máy tính thường xuyên mục tiêu công tin tặc nhằm mục đích ăn cắp liệu bí mật quan trọng tổ chức
Tác giả liên hệ: Nguyễn Hồng Giang, email: giangnh@customs.gov.vn
Đến tịa soạn: 28/3/2016, chỉnh sửa: 08/5/2016, chấp nhận đăng: 30/5/2016
làm dừng hệ thống cung cấp dịch vụ tổ chức Để phát ngăn chặn cơng này, có nhiều giải pháp phần cứng phần mềm đời Các giải pháp IDS (Intrusion Detection Systems), IPS (Intrusion Prevention Systems), IDP (Intrusion Detection Prevention Systems), Firewall, hệ thống giám sát Để nghiên cứu, cho đời giải pháp, công nghệ IDS, IPS, IDP cần thiết phải có liệu mẫu xâm nhập trái phép để thực việc huấn luyện kiểm thử
Netflow giao thức hãng Cisco phát triển vào năm 1996, phát triển thành công nghệ giám sát lưu lượng mạng
(2)BỘ DỮ LIỆU DẠNG NETFLOW DÙNG TRONG PHÁT HIỆN XÂM NHẬP TRÁI PHÉP VÀ ỨNG DỤNG
Bảng I Tổng hợp tập liệu
trong nghiên cứu IDS dựa thống kê
Tác giả công bố Năm Định dạng dữ liệu Tập liệu sử dụng Phương pháp thựchiện
Eskin 2000 Packet-based DARPA99 Probability Model Manikopoulos and
Papavassilou 2002 Packet-based Real-life Statistical model withneural network Mahoney and Chan 2003 Packet-based DARPA99 LERAD algorithm
Chan et al 2003 Packet-based DARPA99 Learning rules Wang and Stolfo 2004 Packet-based DARPA99 Payload-basedalgorithm Song et al 2007 Packet-based KDDCUP99 Gaussian mixturemodel Chhabra et al 2008 Packet-based Real-time FDR method Lu and Ghorbani 2009 Packet-based& Flow-based DARPA99 Wavelet analysis Wattenberg et al 2011 Packet-based Real-time GLRT model
Yu 2012 Packet-based Real-time Adaptive CUSUM
Bảng II Tổng hợp tập liệu nghiên cứu IDS dựa phân loại
Tác giả công bố Năm Định dạngdữ liệu Tập liệu sử dụng Phương pháp thực hiện
Tong et al 2005 Packet-based DARPA99, TCPSTAT KPCC model Gaddam et al 2007 Packet-based NAD, DED, MSD K-means + ID3
Khan et al 2007 Packet-based DARPA98 DGSOT + SVM Das et al 2008 Packet-based KDDCUP99 APD algorithm Lu and Tong 2009 Packet-based DARPA99 CUSUM – EM Quadeer et al 2010 Packet-based Real-time Traffic statistics
Wagner et al 2011 Flow-based Flow Traces Kernel OCSVM Muda et al 2011 Other KDDCUP99 KMNB algorithm
Kang et al 2012 Packet-based DARPA98 Differentiated SVĐ
Để xây dựng liệu phục vụ cho nghiên cứu đòi hỏi phải thực nghiêm túc tốn thời gian Đó phải thiết lập môi trường mạng, cài đặt phần mềm, có hiểu biết biết sử dụng cơng cụ để thực công thực tế, bắt giữ đánh nhãn gói tin mạng để hình thành liệu Trên giới tồn số liệu tiếng DARPA, KDD-99, ISCX Tuy vậy,
các liệu tồn dạng Tcpdump, dạng Netflow nên không ứng dụng nghiên cứu IDS Netflow Các liệu dạng Netflow ít, có khơng đầy đủ (như UT) chưa hoàn chỉnh (như liệu công bố [8], xây dựng liệu Netflow cho loại công) Theo tổng hợp [11], cơng trình nghiên cứu IDS sử dụng phương pháp học máy (học máy dựa thống kê học máy dựa phân loại trình bày Bảng I II) phần lớn sử dụng định dạng liệu Packet-based Điều có nghĩa chưa có, có liệu định dạng Netflow công bố để phục vụ mục đích nghiên cứu IDS Trên sở phân tích, lập luận trên, nhóm tác giả xác định mục tiêu báo thực xây dựng liệu dạng Netflow hoàn chỉnh sở liệu DARPA tiếng ứng dụng phát xâm nhập trái phép
(3)Nguyễn Hoàng Giang, Trần Quang Anh học máy để phát xâm nhập trái phép
một loại xâm nhập; cuối phần kết luận hướng nghiên cứu tương lai
II CÁC BỘ DỮ LIỆU DÙNG TRONG PHÁT HIỆN XÂM NHẬP TRÁI PHÉP
A Dữ liệu DARPA
Bộ liệu DARPA hình thành Cục dự án nghiên cứu cao cấp Bộ quốc phòng Mỹ (Defense Advanced Research Project Agency) tài trợ đề tài xây dựng sở liệu mẫ xâm nhập trái phép Phòng thí nghiệm Lincoln, Đại học MIT [1] Để xây dựng tập liệu này, nhà khoa học lấy liệu mạng quân Mỹ hoạt động bình thường làm liệu bình thường; sau đưa thêm liệu xâm nhập trái phép vào tập liệu Cách làm cho phép biết chắn đâu liệu bình thường, đâu liệu xâm nhập trái phép
Mỗi liệu DARPA bao gồm liệu mạng liệu máy chủ tương ứng Dữ liệu mạng thu thập lưu trữ dạng Tcpdump Dữ liệu máy chủ lưu giữ dạng BSM (Basic Security Module) Tập liệu bao gồm liệu thu thập vòng tuần Đi kèm với liệu tài liệu mô tả liệu chi tiết, bao gồm loại xâm nhập, thời gian bắt đầu, thời gian kết kết, địa máy công, địa máy bị công kiện xâm nhập trái phép Tồn liệu có kích thước khoảng 10Gb, gồm 54 loại xâm nhập phân làm nhóm: R2L (Remote to Local – nhóm xâm nhập cho phép kẻ công từ xa lấy quyền người dung máy chủ), U2R (User to Root – nhóm xâm nhập cho phép người dùng bình thường máy chủ đoạt quyền quản trị root), DoS (Denial of Service – nhóm cơng từ chối dịch vụ, phá hoạt tính sẵn sàng hệ thống), Probe (là nhóm cơng thám, ảnh hưởng đến tính bảo mật hệ thống, đồng thời cung cấp thông tin cần thiết để tiến hành bước công Các hình thức xâm nhập trái phép thể bảng sau:
Bảng III Các nhóm xâm nhập trái phép liệu DARPA
Nhóm Tên loại công
R2L Dictionary, Ftpwrite, Guest, Httptunnel, Imap, Named, ncftp, netbus, netcat, Phf, ppmacro, Sendmail,
sshtrojan, Xlock, Xsnoop
U2R anypw, casesen, Eject, Ffbconfig, Fdformat, Loadmodule, ntfsdos, Perl, Ps, sechole, Xterm, yaga DoS Apache2, arppoison, Back, Crashiis, dosnuke, Land,
Mailbomb, SYN Flood (Neptune), Ping of Death (POD), Process table, selfping, Smurf, sshprocesstable, Syslogd,
tcpreset, Teardrop, UDPstorm
Probe insidesniffer, Ipsweep, ls_domain, Mscan, NTinfoscan, Nmap, queso, resetscan, Saint, Satan
Nhược điểm lớn liệu DARPA thu thập lưu giữ dạng Tcpdump, có kích thước lớn
B Dữ liệu KDD-99
Như đề cập Mục II.A, liệu DARPA lưu dạng Tcpdump Nên để sử dụng để đánh giá phương pháp, thuật tốn, liệu cần thơng qua q trình xử lý ban đầu, bao gồm: Định nghĩa kiện, lựa chọn đặc trưng kiện, sau trích rút đặc trưng lưu dự kiện dạng vector Như vậy, phương pháp xử lý ban đầu khác cho định nghĩa khác kiện hay đặc trưng khác nhau, từ dẫn đến khó khăn việc so sánh, phân tích thuật tốn xâm nhập trái phép Vì thế, với tài trợ DARPA, hội nghị khai pháp liệu phát triển tri thức năm 1999 (Knowledge Discovery and Data Mining 1999 – viết tắt KDD -99) thực trình xử lý ban đầu tập liệu Darpa cho tập liệu KDD-99 [2] Dữ liệu KDD-99 định nghĩa kiện dựa tảng kết nối TCP/ IP: Mỗi kiện bao gồm hoạt động mạng sinh máy chủ kết nối với máy chủ khác, hoạt động bên máy chủ bị kết nối thời gian kết nối
(4)BỘ DỮ LIỆU DẠNG NETFLOW DÙNG TRONG PHÁT HIỆN XÂM NHẬP TRÁI PHÉP VÀ ỨNG DỤNG
bình thường Phân bố liệu theo nhóm tập liệu KDD-99 trình bày bảng sau
Bảng IV Phân bố liệu theo nhóm trong tập huấn luyện
Nhóm Số lượng Phần trăm(%)
R2L 1.126 0.023
U2R 52 0.001
DoS 3.883.370 79.278
Probe 4.102 0.839
NORMAL 972.781 19.859
Bảng V Phân bố liệu theo nhóm trong tập thử nghiệm
Nhóm Số lượng Phần trăm(%)
R2L 14.745 4.738
U2R 246 0.079
DoS 231.455 74.374
Probe 14.166 1.339
NORMAL 60.593 19.47
Theo bảng nêu trên, để ý thấy số lượng tỷ lệ % nhóm xâm nhập DoS Probe lớn Điều khơng có nghĩa nhóm DoS Probe xảy nhiều mà KDD-99 định nghĩa kiện dựa kết nối TCP/IP Thông thường mối đợt công DoS Probe thường sinh nhiều kết nối, tập liệu KDD-99 kết nối TCP/IP xem kiện
Mỗi liệu KDD-99 trích rút thành 41 đặc trưng, gồm phần: Phần thứ (từ đặc trưng đến 9) đặc trưng kết nối TCP/IP; Phần thứ hai (từ đặc trưng 10 đến 22) đặc trưng máy chủ bị kết nối; Phần thứ ba (từ đặc trưng 23 đến 31) đặc trưng lưu lượng
trong khoảng thời gian giây; Phần thứ tư (từ đặc trưng 32 đến 41) đặc trưng lưu lượng khoảng thời gian 256 giây
C Dữ liệu ISCX
Information Security Centre of Excellence (ISCX) trung tâm nghiên cứu an tồn thơng tin trường đại học New Brunswick (UNB) – Canada Xuất phát từ yêu cầu nghiên cứu hệ thống IDS địi hỏi phải có Dataset xác, đầy đủ, ISCX xây dựng mơ hình mạng, mơ cơng mạng dựa giao thức HTTP, SMTP, SSH, IMAP, POP3 FTP Những luồng liệu thông thường bất thường bắt giữ đánh dấu Bộ liệu giới thiệu Ali Shiravi, Hadi Shiravi, Mahbod Tavallaee, Ali A Ghorbani báo “Toward developing a systematic approach to generate benchmark datasets for intrusion detection, Computers & Security, Volume 31, Issue 3, May 2012, Pages 357 -374, ISSN 0167-4048, 10.1016/j cose.2011.12.012.(http://www.sciencedirect.com/science/ article/pii/S0167404811001672)
Bộ liệu UNB ISCX 2012 IDS [9] bao gồm liệu thu thập vòng ngày, gồm liệu thông thường bất thường, cụ thể:
Bảng VI Bộ liệu ISCX
Thứ Ngày Mô tả Kích thước liệu (GB)
6 11/6/2010 Dữ liệu thông thường 16.1 12/6/2010 Dữ liệu thông thường 4.22 Chủ nhật 13/6/2010 Infiltrating the network from inside vàdữ liệu thông thường 3.95 14/6/2010 HTTP Denial of Service liệuthông thường 6.85 15/6/2010 Distributed Denial of Service using anIRC Botnet 23.4 16/6/2010 Dữ liệu thông thường 17.6 17/6/2010 Brute Force SSH liệu thôngthường 12.3
Bộ liệu ISCX dạng Tcpdump
D Dữ liệu UT
(5)Nguyễn Hoàng Giang, Trần Quang Anh sử dụng; có lưu lượng mạng phát
sinh lưu lượng xâm nhập
Đây liệu theo dạng Netflow, nhiên so sánh với tập liệu DARPA KDD-99, liệu UT có số vấn đề:
- Trong tập liệu UT khơng có liệu bình thường;
- Các liệu xâm nhập trái phép xây dựng tự động Honeypot (trong liệu DARPA KDD-99 xây dựng chuyên gia an ninh mạng);
- Các liệu xâm nhập trái phép có loại liệu bất thường
III XÂY DỰNG BỘ DỮ LIỆU DẠNG NETFLOW DÙNG TRONG IDS
A Phương pháp xây dựng
Nhóm tác giả thực chuyển đổi liệu DARPA thành liệu dạng Netflow theo sơ đồ Hình
Tcpdump files
Netflow exporter
Netflow Collector
Netflow reader
Flow labelling
DARPA IDS Data (xxx.inside.tcpdump)
Softflowd-0.9.9 software
Flowd-0.9.1 software
Manually (Thủ công) Flowd-0.9.1
software
Hình Sơ đồ chuyển đổi từ liệu Tcpdump sang Netflow Dữ liệu đầu vào chuyển đổi liệu định dạng Tcpdump (bộ liệu DARPA)
Dữ liệu truyền đến Module Netflow exporter Module Netflow exporter thực đọc liệu Tcpdump, sau trích rút flow, tạo gói tin theo chuẩn Netflow (v5, v7, v9) gửi đến Module Netflow collector Module Netflow collector thu thập gói tin Netflow lưu liệu Netflow vào nhớ (ổ cứng) Module Netflow reader đọc liệu Netflow từ nhớ hiển thị theo yêu cầu người dùng Sau đó, nhóm tác giả vào tài liệu mô tả công trái phép DARPA để tiến hành đánh nhãn tay flow xâm nhập trái phép flow bình thường Sau trình này, thu thập liệu dạng Netflow đầy đủ từ liệu DARPA
B Quá trình thực hiện
Dữ liệu đầu vào hệ thống chuyển đổi file liệu Tcpdump (inside.Tcpdump) tập liệu DARPA Dữ liệu Tcpdump thu thập cách bắt gói tin mạng nội (mạng mô xâm nhập trái phép DARPA) Về lý thuyết, bao gồm tồn lưu lượng mạng đến từ tất máy chủ bên mạng Tuy nhiên, có cố q trình thực nên khơng có liệu Tcpdump ngày Thứ (Tuesday) Tuần
(6)BỘ DỮ LIỆU DẠNG NETFLOW DÙNG TRONG PHÁT HIỆN XÂM NHẬP TRÁI PHÉP VÀ ỨNG DỤNG
nhất mà Cisco công bố Khi chạy phần mềm softflowd, nảy sinh vấn đề thời gian bắt đầu thời gian kết thúc flow thu thập lại thời gian tham chiếu tới thời gian máy chủ cài đặt phần mềm softflowd, thời điểm năm 1999 liệu Tcpdump thu thập Điều dẫn đến sai số timestamp thu thập file Netflow, mà vấn đề thời gian vấn đề quan trọng phương pháp chuyển đổi này, từ nhãn thời gian đánh nhãn thủ công xâm nhập trái phép công bố DARPA Để giải vấn đề này, phải tham chiếu lại thời gian thực DARPA, thiết lập máy chủ thời điểm năm 1999 gần thời điểm DARPA thực thu thập liệu Tuy vậy, sai số thu thập thời gian bắt đầu, thời gian kết thúc Việc lại phải thực hiệu chỉnh tay, với độ xác đến giây
Module Netflow collector xây dựng dựa phần mềm mã nguồn mở Flowd phiên 0.9.1 [4] Module thu thập flow lưu trữ nhớ (ổ cứng) để sử dụng cho bước
Module Netflow reader cấu phần nằm phần mềm mã nguồn mở Flowd Module có nhiệm vụ đọc liệu mà Module Flowd thu thập lưu trữ nhớ Nó thực đọc trường Netflow Mặc dù Netflow có nhiều trường, nhiên, quan tâm tới số trường quan trọng, sử dụng phát xâm nhập trái phép Bao gồm:
- Source IP, source port;
- Destination IP, destination port; - Protocol, flag;
- Packets; Octets;
- Flow-start, flow-finish
Vì sniffer thu thập liệu DARPA đặt dải mạng có nhiệm vụ thu thập thơng tin
của máy chủ victim bị công, nên liệu inside.Tcpdump thu thập chứa đựng tất luồng liệu đến, máy chủ victim Để thuận tiện cho việc thao tác liệu máy chủ victim, thuận tiện cho việc đánh nhãn sau này, thực chỉnh sửa đoạn mã cấu hình file cấu hình phần mềm Flowd để thực thu thập liệu Netflow cho máy chủ victim Kết quả, thu thập liệu Netflow cho máy chủ victim pascal (172.16.112.50), zeno (172.16.113.50), marx (172.16.114.50) hume (172.16.112.100)
Bước cuối cùng, thực đánh dấu phương pháp thủ công flow xâm nhập trái phép dựa theo tài liệu cơng bố, mơ tả DARPA Q trình đánh dấu thực dựa thời gian bắt đầu, thời gian kết thúc, địa IP nguồn, địa IP đích, cổng dịch vụ đích Việc đánh dấu cho luồng liệu dễ dàng việc sử dụng tài liệu mô tả DARPA kết hợp công cụ lọc (filter) theo thuộc tính (địa IP đích, cổng dịch vụ đích); flow liệu thuộc loại cơng thường liên tục có dấu hiệu tương đối giống Chính vậy, việc đánh dấu cho luồng liệu nhanh có độ xác cao Chỉ có số trường hợp nhiều lý khách quan (sai lệch thời gian milisecond trình chuyển đổi) chủ quan (do ghi nhận chưa xác tài liệu mơ tả DARPA), chúng tơi nhận thấy có số chỗ không thống thời gian nhãn cơng Lưu ý: cơng bao gồm nhiều flow, flow thuộc cơng định Đó sở để đánh dấu flow xâm nhập trái phép hay bình thường
C Kết chuyển đổi so sánh với tập liệu gốc
(7)Nguyễn Hoàng Giang, Trần Quang Anh
Bảng VI Bảng so sánh thông số 02 liệu
Tuần
(Kích thước file (byte Số lượng
Packets trong Tcpdump
Số lượng Flow trong
Netflow
Tcpdump Netflow
Week1 1.929.080.092 160.344.163 7.810.861 342.837 Week2 1.613.234.838 193.322.991 7.199.540 394.623 Week3 2.215.279.595 165.561.281 8.912.974 316.613 Week4 1.571.862.354 134.873.898 7.655.034 310.053 Week5 3.413.554.375 299.771.599 14.299.343 511.289
Tổng
cộng 10.743.011.254 953.873.932 45.877.752 1.875.415
Từ bảng so sánh số thông số hai liệu (Tcpdump Netflow), nhận thấy:
- Kích thước liệu Netflow giảm nhiều lần so với kích thước liệu Tcpdump (khoảng 1/10 lần); - Số lượng liệu cần xử lý liệu Netflow
giảm nhiều lần so với liệu Tcpdump, cụ thể khoảng 1.875.415 flows so với 45.877.752 packets (tức giảm khoảng 1/20 lần);
- Số lượng trường liệu flow nhiều so với trường liệu packet Do đó, việc thao tác, xử lý liệu liệu Netflow phương pháp học máy dễ dàng, nhanh chóng nhiều so với liệu Tcpdump Chính thế, liệu Netflow phù hợp mạng máy tính có lưu lượng lớn, đòi hỏi thời gian xử lý nhanh
IV MÔ TẢ CÁC TẬP DỮ LIỆU NETFLOW DARPA Như đề cập Mục III.B, thu thập phân tách liệu Netflow tương ứng với máy chủ victim Trong phạm vi báo này, chúng tơi trình bày thơng số liệu Netflow máy chủ Pascal (172.16.112.50), zeno (172.16.113.50), marx (172.16.114.50) hume (172.16.112.100), trình bày chi tiết sau:
A Bộ liệu cho máy chủ pascal
Bảng VII Các thông số của liệu Netflow máy chủ Pascal
Mô tả Giá trị
Kích thức liệu DARPA dạng
Tcpdump Xấp xỉ10Gb
Số lượng flow đến máy chủ Pascal 170.153 Số lượng flow công vào máy chủ
Pascal 29.416
Số lượng flow bình thường vào máy chủ
Pascal 140.737
Số lượng flow kết nối vào cổng dịch vụ
ftp máy chủ Pascal 649 Số lượng flow công vào cổng dịch
vụ ftp máy chủ Pascal 70 Số lượng flow kết nối bình thường vào
cổng dịch vụ ftp máy chủ Pascal 579 Số lượng flow kết nối vào cổng dịch vụ
22 máy chủ Pascal 763 Số lượng flow công vào cổng dịch
vụ 22 máy chủ Pascal 239 Số lượng flow kết nối bình thường vào
cổng dịch vụ 22 máy chủ Pascal 3.176 Số lượng flow kết nối vào cổng dịch vụ
23 máy chủ Pascal 3.246 Số lượng flow công vào cổng dịch
vụ 23 máy chủ Pascal 70 Số lượng flow kết nối bình thường vào
cổng dịch vụ 23 máy chủ Pascal 3.176 Số lượng flow kết nối vào cổng dịch vụ
25 máy chủ Pascal 3.145 Số lượng flow công vào cổng dịch
vụ 25 máy chủ Pascal 1.176 Số lượng flow kết nối bình thường vào
cổng dịch vụ 25 máy chủ Pascal 1.969 Số lượng flow kết nối vào cổng dịch vụ
khác máy chủ Pascal 130.787 Số lượng flow công vào cổng dịch
vụ khác máy chủ Pascal 2.065 Số lượng flow kết nối bình thường vào