4.1. Các tập dữ liệu sử dụng
Trong nghiên cứu này, chúng tôi sử dụng tập đữ liệu CSE-CIC-IDS2018 để huấn luyện mô hình phát hiện tan công, huấn luyện mô hình AdvGAN. Đồng thời, chúng tôi cũng tự xây dựng một tập dữ liệu khác gọi là InSecLab2021 để đánh giá thêm về hiệu quả của AdvGAN trong việc tấn công và phòng thủ NIDS.
e Tập dữ liệu CSE-CIC-IDS2018:
Tập dữ liệu này là kết quả của một dự án hợp tác giữa Cơ quan An ninh Truyền thông (CSE - Communications Security Establishment) và Viện Anh
ninh mang Canada (CIC - The Canadian Institute for Cybersecurity) sử dụng
khái niệm hồ so dé tạo tập dữ liệu an ninh mạng một cách có hệ thống. Nó bao gồm mô tả chỉ tiết và các cuộc xâm nhập cùng với abstract distribution
model cho application, protocol và low level network entity. Tập dữ liệu bao
gồm 7 kịch bản tấn công khác nhau, đó là Brute-force, Heartbleed, Botnet, DoS, DDoS, Web attack và Infiltration. Cơ sở hạ tang dé xay dung nén tap
dữ liệu bao gồm 50 máy va tổ chức bị tắn công bao gồm 5 phòng ban gồm
420 máy tính cá nhân và 30 máy chủ. Tập dữ liệu này bao gồm lưu lượng
mạng và tệp nhật ký của mỗi máy từ phía nạn nhận, cùng với 80 thuộc tính
được trích xuất từ lưu lượng mạng đã thu được bằng công cụ CICFlowMeter-
V3.
Đây là tập dữ liệu chính mà chúng tôi sử dụng trong nghiên cứu này.
Vì giới hạn về phan cứng, tập dữ liệu mà chúng tôi sử dụng không bao gồm tấn công Brute-force va Infiltration. Bên cạnh đó, dữ liệu tấn công DDoS có
số lượng record khá lớn, nên chúng tôi chỉ sử dụng 1 triệu dòng dữ liệu đầu tiên của loại tấn công DDoS LOIC HTTP, còn lại đều được sử dụng toàn bộ.
e Tập dữ liệu InSecLab2021:
Đây là tập dữ liệu do chúng tôi tự tạo sử dụng tài nguyên của Phòng thí nghiệm An Toàn Thông Tin - UIT InSecLab. Tương tự tập dữ liệu CSE- CIC-IDS2018, tập dữ liệu InSecLab2021 cũng là nhật ký lưu lượng mạng
43
4.2.
của mạng bị tấn công với 80 thuộc tính được trích xuất bằng công cụ CICFlowMeter-V3. Điểm khác biệt là tap dit liệu InSecLab2021 có quy mô
hệ thống nhỏ hơn nhiều so với tập dữ liệu CSE-CIC-IDS2018, môi trường mạng bị tấn công của InSecLab2021 chỉ bao gồm 3 máy chủ và 10 người dùng; và loại tấn công trong dùng trong InSecLab2021 là DDoS, cu thé là
UDP Flood, SYN Flood, ACK Flood.
Việc sử dụng tập dữ liệu tự tạo giúp nhận định được độ hiệu quả của
phương pháp dùng GAN sinh dữ liệu dé huấn luyện NIDS đối với các tập
dữ liệu khác nhau về quy mô hệ thống và kịch bản tan công.
Tạo tập dữ liệu tan công InSecLab2021
Việc tạo dữ liệu tân công được chúng tôi triên khai trên môi trường máy ảo
được Phòng thí nghiệm An Toàn Thông Tin - UIT InSecLab cung cấp, chỉ tiết ở
Bang 4.1.
Bảng 4.1: Các máy ảo được InSecLab cung cap
Tờn may vm2 vmẽl
Cấu hình 24GB RAM, 8 CPU 4GB RAM, 2 CPU
Hé diéu hanh | Ubuntu 18.04 Ubuntu 18.04
Vai trò Giả lập mạng bi tan công Gia lập mạng tan công
Chúng tôi tiến hành giả lập 1 môi trường mạng bị tan công va 1 môi trường mang tấn công. Môi trường mạng bị tấn công gồm 1 Switch, 2 Web Server, 10 User và 1 Capturing Server dùng dé thu thập lưu lượng mạng bằng công cụ CICFlowMeter. Môi trường mạng tan công chúng tôi triển khai Botnet Mirai với
3 Switch, 1 CNC và 3 Bot. Hình 4.1 cung cấp cái nhìn tổng quan về mô hình
mạng.
44
vm2 - Victim oa ìằ vm1 - Attacker Network
VA ONOS À% 3 ⁄
Controller \ kh fi CNC
: 5 8 (
ovs
Minenet :: 8 ——-.ỏ°
Lo /10.0.0.0/24 >
ovs O-) / \
104021980/22 _ | NAT pe Se Py
/ ( J ứ ứ ` i fe \ of \ / \
/ Capturing Web Web X i / AK enc XÃ A Bonet
/ Server Server 1 Server2 \ ; / / —— ` \ ow
| QI] GI GI ] | |:z2Tgi0WW8 | | 172220.0.0/6
| User1 User2 User3 User4 | lỏi | Bứ1 Bot2 | “|
\ ] [ ] | Docker ` \ [ ] } |
\ User§ User6 User7 Users / 09 \ \ /ser ise Iser / ` \Bot3 Bot ⁄
oo / | | KK RE
NV User9 User 10 ~~ / a Seca eet Sees
Hình 4.1: So đồ mạng bị tan công và mạng tan công
Sau khi 2 môi trường nói trên được giả lập hoàn tất, chúng tôi tiến hành thu thập lưu lượng mang ở mang bị tấn công và trién khai các cuộc tan công ở mạng tấn công theo kịch bản đã định trước.
Bước cuối của việc tạo tập dữ liệu tấn công là gắn nhãn đữ liệu để phân biệt lưu lượng mạng bình thường với lưu lượng mạng tan công.
4.2.1. Xây dựng mô hình mạng bị tan công
4.2.1.1. Triển khai ONOS Controller
ONOS (Open Network Operating System) Controller là một dự án mã nguồn
mở của Linux Foundation với mục tiêu tạo ra một hệ điều hành cho mạng SDN cung cấp khả năng quản lý (thông qua Web GUI hoặc CLI), mở rộng, tiện dụng
và hiệu suất cao.
Đề triển khai ONOS Controller, chúng ta có thé lựa chon giữa việc cai dat hoặc dùng Docker. ONOS Controller được viết bằng ngôn ngữ Java (chủ yếu) va một số ngôn ngữ khác, vì vậy việc dùng Docker hiển nhiên được ưu tiên hơn việc cài đặt ONOS Controller nhằm tránh khỏi những phức tạp không đáng có.
45
Thực hiện theo hướng dẫn trên trang web tài liệu của ONOS13, chúng tôi dễ dàng triển khai thành công ONOS Controller với các ánh xạ port từ container tới
vm2. Sau đó chúng tôi kích hoạt các ứng dụng org.onosproject.openflow va
org.onosproject.fwd (Hình 4.2) để các gói tin đi tới Controller được định tuyến
Applications (169 Total) œ nh
AllFields v
x Title App ID Version Category Origin
X aes T
<
< Bes eee
Hình 4.2: Giao diện ONOS Controller sau khi đã triển khai thành công và kích
hoạt các ứng dụng cân thiét
4.2.1.2. Giới thiệu về CICFlowMeter
CICFlowMeter được phát triển boi CIC (Canadian Institute for Cybersecurity), là một ứng dụng mã nguồn mở được viết chủ yêu bằng ngôn C và Java, dùng dé trích xuất ra các luồng (flow) lưu lượng mạng từ file pcap. Mỗi flow bao gồm khoảng 80 thuộc tính tuỳ phiên bản. Các flow này được dùng làm tập dir liệu (dataset) trong việc huấn luyện IDS.
Ở mục 4.2.1.3 chúng tôi sử dung package (pip) cicflowmeter — phiên bản CICFlowMeter-V3 đã được viết lại bằng ngôn ngữ Python? thay vì CICFlowMeter phiên bản gốc (viết bang ngôn ngữ C và Java) dé đơn giản hoá
việc cài đặt.
I8 https://wiki.onosproject.org/display/ONOS/Single+Instance+Docker+deployment
!° Nguôn: https://pypi.org/project/cicflowmeter/
46
4.2.1.3. Tạo các Docker Image
Các Docker container trong mô hình đảm nhiệm các chứ năng khác nhau, vi
thế cần phải có những cai đặt khác nhau. Việc chạy tat cả container với cùng 1 image sau đó đi tới từng container để cài đặt những thứ cần thiết là rất tốn công
và không hợp lý.
Docker cho phép soạn ra Dockerfile với những cài đặt mong muốn, sau đó build Dockerfile thành Doker image. Các cai đặt chỉ phải thực thi 1 lần khi build Dockerfile, khi đã có được Docker image, chúng ta có thê chạy container bất cứ
lúc nào.
Mô hình mạng bị tấn công bao gồm các Docker image được mô tả trong
Bảng 4.2.
Bảng 4.2: Chỉ tiết các image dùng trong mô hình mạng bị tắn công
Image Vai trò Image gốc Cài đặt cần thiết
capturing- | Dùng ubuntu:xe | Cài dat python3.8, tepdump, (pip3)
Server: 1 CICFlowMeter | nial cicflowmeter, (pip3) requests.
thu thập lưu Do package (pip 3) cicflowmeter
luong mang chua that su hoan thién nén can
dưới dang các chỉnh sửa code của package này ở flow lưu thành các file flow.py, flow_session.py,
file csv. flow_bytes.py và ghi dé vào vi trí
tương ứng để đảm bảo quá trình
thực thi không bị lỗi.
web- Chay web 1. Cai dat apache2.
server: 1 Lam muc tiéu Sao chép mã ngu6n của web l vào
bị tấn công. thư mục “/var/www/html/”.
web- Chạy web 2. Cài đặt apache2.
Server:2 Làm mục tiêu Sao chép mã ngu6n của web 2 vào
bị tấn công. thư mục “/var/www/html/”.
47
user- Í Chạy user bot Cài đặt python3.7, chromium-
nhằm tạo ra lưu browser, (pIp3) webbot.
lượng nền. Sao chép mã nguồn của user bot vào
thư mục gốc.
4.2.1.4. Dựng mô hình với Containernet
Mininet là một trình giả lập mạng cho phép chúng ta tạo ra một mạng gồm các máy ảo, thiết bị chuyển mạch, controller và liên kết giữa chúng. Mininet chạy trên nền tảng Linux và cung cấp các thiết bị chuyên mạch hỗ trợ giao thức OpenFlow tiện lợi trong việc định tuyến tuỳ chỉnh trong mạng SDN. Và chúng ta
có thé lập trình Mininet một cách dé dàng bằng ngôn ngữ Python.
Containernet là một nhánh phát triển từ trình giả lập mạng nồi tiếng Mininet. Tính năng cải tiến chủ yếu và vượt trội nhất của Containernet so với Mininet đó
là Containernet cho phép sử dụng các Docker container làm các máy trong hệ
thống mạng giả lập của Mininet.
Chúng tôi trién khai mô hình mang bị tắn công bằng Containernet như sau:
e Khởi tạo Containernet.
e Kết nối mạng đến port 6653 của ONOS Controller.
Hình 4.3).`
Devices (1 total) ey Fey] + Mie
AllFields v
FRIENDLY NAME DEVICE ID MASTER PORTS VENDOR H/W VERSION S/W VERSION PROTOCOL
w_ &B__cF0000000000000001 of0000000000000001 1721702 15 Nicira, In 33] of:0000000000000001 x
URI of0000000000000001 HW Version Open vs Type Switch SMW Version 2.9.8 Master ID 172170. Protocol ©F Chassis ID Serial # ) Vendor Nicira, Inc Pipeconf none
Hình 4.3: ONOS Controller đã nhận diện được switch kết nói tới
e Thêm các máy (các Server va User) với các Docker image đã tạo. Các
máy nay dùng dia chỉ IP va default gateway cùng mạng với máy vm2 (chi
48
tiết ở Bảng 4.3). Ngoài ra, chúng tôi tắt interface eth0 (interface mặc định kết nối với mạng Docker) ở tất cả các máy này để đảm bảo mọi hành vi mạng đều thông qua mạng Containernet. Kích hoạt dich vụ web ở các máy Web Server (Hình 4.4), các may User được khởi chạy user bot dé tạo lưu lượng nền (Hình 4.5).
Bang 4.3: Chi tiết cấu hình mạng của các Docker container
Container Image Interface Dia chi IP Default gateway
csl capturing- csl-eth0O
server: 1
wsl web-server: | wsl-ethO | 10.102.196.21 | 10.102.196.1
ws2 web-server:2 ws2-ethO | 10.102.196.22
ul user: | ul-eth0 10.102.196.23
u2 user: | u2-eth0 10.102.196.24
u3 user: | u3-eth0 10.102.196.25
u4 user: | u4-eth0 10.102.196.26
u5 user: | u5-eth0 10.102.196.27
u6 user: Í u6-eth0 10.102.196.28
u7 user: 1 u7-eth0 10.102.196.29
u8 user: 1 u8-eth0 10.102.196.30
u9 user: ẽ u9-eth0 10.102.196.31
u10 user: | u10-eth0 10.102.196.32
49
42 pts/1 : chromium-browse
43 pts/1 : chromium- browse
57 pts/1 0:06: chromium-browse
68 pts/1 9:66: chromium-browse
183 pts/1 9:66: chromium-browse
142 pts/1 ps
Hình 4.5: User bot đã được khởi chạy
e Tạo liên kết giữa các máy và switch.
e Kết nối interface ens160 của vm2 — interface kết nối đến mang máy ảo
10.102.196.0/22 của InSecLab vào switch. Mục dich của việc nay là dé các máy trong mang có thé sử dụng mang máy ảo của InSecLab thông qua
interface ens160 này (Hình 4.6).
containernet> ul ping 19.182.196. 1
PING 18.182.196.1 (18.182.196.1] 56(84) bytes of data.
64 bytes from 10.102.196.1: icmp seq=1 ttl=64 time=0.606 ms
64 bytes from 10.102.196.1: icmp seq=2 ttl=64 time=0.543 ms
64 bytes from 10.102.196.1: icmp seq=3 ttl=64 time=0.276 ms
^C
- 18.182.196.1 ping statistics ---
3 packets transmitted, 3 received, 8% packet Loss, time 2827ms
rtt min/avg/max/mdev = 8.276/8.475/8.686/8.143 ms
containernet> ul ping google.com
PING google.com (172.217.24.78) 56(84) bytes of data.
64 bytes from sinl@s06-in-f14.1e10@.net (172.217.24.78): icmp seq=l ttl=115 time=30.9 ms
64 bytes from sinl@s06-in-f14.1e100.net (172.217.24.78): icmp seq=2 ttl=112 time=28.1 ms
64 bytes from sin18s86-in-f14.1e188.net (172.217.24.78): icmp seq=3 ttl=53 time=59.4 ms
“C
- google.com ping statistics ---
3 packets transmitted, 3 received, 8% packet loss, time 2003ms
rtt min/avg/max/mdev = 28.134/39.511/59.470/14.159 ms
containernet>
Hình 4.6: Cac Docker container cùng mang với mang máy ảo cua InSecLab
e Cài đặt cơ chế port mirroring cho switch. Port mirroring được dùng dé
sao chép tat cả lưu lượng mạng đi qua switch va truyền tới | port chi định của switch. Ở đây chúng tôi truyền lưu lượng mạng tới port mà Capturing Server kết nói tới dé phục vụ cho việc thu thập lưu lượng mạng (Hình
4.7).
50
b-
Hình 4.7: Switch sau khi cài đặt thành công cơ chế port mirroring
4.2.2. Xây dựng mô hình mạng tan công
4.2.2.1. Cai đặt Docker Swarm và Portainer
Docker Swarm là một nhóm máy vật lý hoặc may ao đang chạy ứng dung
Docker và đã được cấu hình đề kết hợp với nhau trong một cụm. Các máy đã tham gia vào cụm được gọi là các nút, hoạt động của các máy trong cụm được kiểm
soát bởi một trình quan lý cụm. Moi câu lệnh Docker sẽ được thực thi ở trình
quản lý cụm.
Portainer là một trình quản lý Docker container mã nguồn mở, tương thích với Docker Swarm. Portainer cung cấp giao diện web trực quan, dễ sử dụng.
Portainer giúp chúng ta dễ dàng quản lý mạng Docker, Docker container chỉ với
những thao tác đơn giản thay vì gõ những dòng lệnh Docker (Hình 4.8).
Việc cài đặt Docker Swarm và Portainer khá đơn giản:
e Triển khai Portainer bằng cách chạy Docker container từ image portainer
với ánh xa port đến vmI.
e Khởi tạo Docker Swarm.
e Triển khai Docker Stack dé kết nối Docker Swarm đến Portainer.
51
Home © @ admin
Endpoints Z#my.account. Jog out
Home
Latest News From Portainer X dismiss __& ủ
Check out our latest release, Portainer CE 2.6.0. Now with support for Git repository deployment, and `
single sign-on for OAuth. Discover the highlights in this blog post, as well as the release notes, and ws
tips and tricks for upgrading.
-
Endpoints
Q fearch by name, group, tag, status, URL
wa! primary i 2021-07-01 1744.21 Group: Unassigned #
Potty
EElstack E34services đ@19containers-(28()11/%O0°%#O @2volumes MM 12 images Swarm 19.03.13 + § Agent
No tags tasks.agent:9001
Items per page | 10 1
Hình 4.8: Giao diện Portainer sau khi cài đặt thành công
4.2.2.2. Dựng mang Botnet Mirai
Mirai là một mã độc nổi tiếng biến cái thiết bi có kết nối sử dung hệ điều hành Linux thành các bot bị điều khiển từ xa, có thé bị sử dụng như là một phan của các cuộc tấn công từ chối địch vụ (DDoS). Botnet Mirai lan dau tién duoc
phat hiện vào thang 8 năm 2016 bởi MalwareMustDie — một nhóm nghiên cứu
phần mềm độc hại mũ trắng. Mirai đã được sử dụng vào nhiều cuộc tấn công
DDoS quy mô lớn gây nhiều rắc rồi như cuộc tan công vào trang web của nhà báo bảo mật máy tinh Brian Krebs, cuộc tan công vào máy cung cấp dịch vụ web OVH
của Pháp.
Tài khoản GitHub lejolly có đăng tai Docker image cua Botnet Mirai cũng
như CNC Server (Command and Control Server) cùng với hướng dan giả lập một mang Botnet Mirai’. Dựa theo hướng dẫn này cùng với Docker Swarm va Portainer đã được triển khai, chúng tôi đã tao ra một mang Botnet Mirai bằng
những bước sau:
e Build image cnc va bot.
e Triển khai mang CNC 10.0.0.0/24 với 1 máy có ánh xa port đến v1.
e Triển khai mạng mạng Botnet 172.20.0.0/16 với 4 máy.
20 Nguồn: https://github.com/lejolly/docker-mirai
52
Hình 4.9 và Hình 4.10 thé hiện các thành phan của hệ thống Botnet Mirai.
Network list 2 @ admin
Networks # my account_ œ log out
ah Networks @ Settings
Q Search...
IPV4 IPV6 IPV6
O IPAM IPV4 IPAM IPAM IPAM IPAM
Name |‡ Stack Driver Attachable Driver Subnet Gateway Subnet Gateway Host Ownership
oO botnet - overlay false default 172.20.0.0/16 172.20.0.1 - - vml ì administratc
bridge = bridge false default 172170.0/16 1721701 - x vml @ public
[E1 docker_gwbridge - bridge false default 17218.0.0/16 172.18.0.1 - - vml = & administrate
host - host false default - - - - vml ® public L] ingress - overlay false default 10.0.0.0/24 10.0.0.1 - - vml = administrate
none - null false default - - - - vm1 @pubilic
oO portainer_agent_network portainer overlay true default 10.0.1.0/24 10.0.1.1 - - vm1_ $& administratc
Hình 4.9: Portainer — Các mạng đã tạo
Service list £Z 8 admin
Services # my account_ @ log out
B Services & Settings
@ Update [ Remove + Ai
Q fearch...
O > Namel‡ Stack Image Scheduling Mode Published Ports Last Update
o wv_ bot - bot:latest replicated 4 / 4 ‡Scale - 2021-06-09 14:58:55
Status | FilterY Task Actions Slot Node Last Update
5Lo3mg4bxudimsta4cjokhvso 5 Om > 1 vm 2021-07-01 10:44:27
Lfmizmnzg8scrwte@szxvh0x0 BOke>›_ 4 vm] 2021-07-01 10:44:12 wxvd72ifm2pjay5wk7hhp6Lpk 6 Om > 5 vm1 2021-07-01 10:44:26 ydndLftuue12bdkwundkkn6o1x BOke>_ z vmi 2021-07-01 10:44:27
O ~ cne - cnc:latest replicated 1 / 1 †Scale [28080:25 2021-06-08 11:53:57
Status}? Filter Y Task Actions Slot Node Last Update
drf7o67n2hbqumj jhsp6jmbo2 HO m> 1 vm 2021-07-01 10:44:21
oO > portainer agent portainer portainer/agent:latest global 1 / 1 - 2021-06-08 11:53:57
oO > portainer_portainer portainer portainer/portainer-ce:latest replicated 1 / 1 [Scale {Z28ooo:8ooo [Z29ooo:9ooo 2021-06-08 11:53:57
Hình 4.10: Portainer — Chi tiết các service
e Telnet đến port ma may CNC đã ánh xa đến vm1 với tài khoản root/root
dé thực thi các lệnh tan công (Hình 4.11).
53
4 Bots Connected | root File Edit View Search Terminal Help
; root
,ố KEK*K
Hình 4.11: Đăng nhập vào CNC để triển khai tan công 4.2.3. Thu thập - tan công và gắn nhãn dữ liệu
4.2.3.1. Thu thập — tan công
Hình 4.12: Capturing Server đang thu thập lưu lượng
Trong 24 giờ đó, tại mô hình mạng tan công, chúng tôi triển khai các đợt tan
công như Bảng 4.4.
Bảng 4.4: Kịch bản tấn công
Thời gian Mục tiêu Loại tan công
19:00 — 19:30 Web Server 1 UDP Flood 03:30 — 04:00 Web Server 2 SYN Flood 10:00 — 10:30 Web Server 1 ACK Flood
4.2.3.2. Gắn nhãn dữ liệu
Sau hoàn tất quá trình thu thập lưu lượng cho ra file csv chứa các flow. Chúng tôi tiễn hành gắn nhãn cho các flow như sau:
e Dùng thư viện pandas của Python dé đọc file csv thành DataFrame.
e Thêm cột “label” vào DataFrame.
54
e© Dựa vào mốc thời gian và địa chỉ IP nguồn dé gắn nhãn cho các flow.
Những flow không phải là lưu lượng tấn công sẽ có label là “Benign” và những flow là lưu lượng tan công sẽ có label là loại tan công — “UDP
Flood” hoặc “SYN Flood” hoặc “ACK Flood”.
e Xuất ra file csv từ DataFrame.
4.2.4. Kết quả
Sau khi thực hiện các công đoạn dựng mô hình mạng, thu thập — tấn công
và gan nhãn đữ liệu, chúng tôi đã hoàn tất việc tạo tập dữ liệu tấn công và đặt tên
cho tập dir liệu là “InSecLab2021”
Tập dữ liệu InSecLab2021 có tổng số flow là 4091376 và có kích thước 1,51GB. Phân bổ của các flow trong tập dit liệu được mô tả trong Bang 4.5.
Bang 4.5: Phân bổ của các flow trong tập dit liệu InSecLab2021
Tổng số flow 4091376
Nhãn Benign UDP Flood SYN Flood | ACK Flood
Số flow 1449212 1027664 836408 778092
Tỉ lệ 35,42% 25,12% 20,44% 19,02%
4.3. Tiền xử lý dữ liệu
4.3.1. Xử lý dữ liệu đầu vào cho mô hình MLP và LSTM
Cả 2 tập dữ liệu CSE-CIC-IDS2018 và InSecLab201 về bản chất đều được tạo băng công cụ CICFlowMeter-V3, nên các bước xử lý của hai tập dữ liệu này
là hoàn toàn giống nhau. Ở đây, chúng tôi chỉ trình bày chỉ tiết quá trình xử lý bộ
dữ liệu CSE-CIC-IDS2018, quá trình xử lý bộ dữ liệu InSecLab2021 là hoàn toàn
tương tự.
Chúng tôi xử lý bộ dit liệu CSE-CIC-IDS2018 bằng thư viện pandas dưới dạng các DataFrame. Từ 80 thuộc tính ban đầu của tập dữ liệu, chúng tôi đã bỏ một số thuộc tính không có giá trị dé huấn luyện hoặc ở dạng chữ như: Flow ID,
Src IP, Sre Port, Dst IP, Timestamp. Ngoài ra, chúng tôi cũng bỏ các thuộc tinh
55