


Preview text:
lOMoAR cPSD| 59285474
GIỚI THIỆU CHUNG VỀ BÀI BÁO VÀ ĐỒ ÁN
Với sự phát triển mạnh mẽ của mạng Internet và ứng dụng của nó trong mọi lĩnh vực,
các vấn đề về an ninh mạng cũng theo đó mà trở nên ngày càng tinh vi, phổ biến và
đầy nan giải. Điều này đòi hỏi ta phải không ngừng nghiên cứu, triển khai, cải tiến các
giải pháp phòng phủ, bảo vệ an ninh mạng để đối phó với các cuộc tấn công mạng trong tương lai.
Hệ thống Tường lửa Firewall được xem là giải pháp được sử dụng rộng rãi trong an
ninh mạng hiện nay bởi dễ triển khai, tường lửa có thể được tích hợp vào hệ điều hành
(như Windows Firewall), cung cấp khả năng bảo vệ ở mức độ cơ bản và là lớp phòng
thủ đầu tiên trước các truy cập trái phép từ bên ngoài. Hạn chế của Firewall là không
thể nhận diện được mã độc tinh vi hoặc lưu lượng đã được mã hóa. Ngoài ra, một giải
pháp truyền thống khác, thường được kết hợp với Firewall là Hệ thống Phát hiện và
Phòng chống Xâm nhập (IDS/IPS). Hệ thống IDS dựa trên chữ ký (signature-based
IDS) hoạt động bằng cách sử dụng các mẫu chữ ký đã biết để phát hiện phần mềm độc
hại, trong khi IDS dựa trên hành vi (behavior-based IDS) học và xây dựng mô hình
hành vi thông thường của hệ thống để nhận diện các hoạt động bất thường. Tuy nhiên,
cả hai phương pháp này đều tồn tại những hạn chế nhất định.
An ninh mạng lại đang dần chú ý hơn đến các giải pháp ứng dụng Machine Learning
(ML). Lĩnh vực an ninh mạng sử dụng ML để phân tích và phân loại các tác nhân xấu
từ các tập dữ liệu. Các thuật toán ML được chia thành hai nhóm chính: học có giám
sát và học không giám sát. Học có giám sát chủ yếu được áp dụng trong các bài toán
phân loại và hồi quy, trong khi học không giám sát thường được sử dụng để phân cụm
và giảm chiều dữ liệu. Cả hai phương pháp đều có tiềm năng ứng dụng mạnh mẽ
trong lĩnh vực an ninh mạng, hỗ trợ phân tích phần mềm độc hại đồng thời có thể khắc
phục những hạn chế của các phương pháp trước đây.
Trong dự án này chúng tôi sử dụng phương pháp NetFlow để thực hiện phân tích
mạng. NetFlow là một chuẩn công nghiệp giám sát lưu lượng mạng mà không chứa
thông tin riêng tư của người dùng. NetFlow cung cấp nhiều thuộc tính như địa chỉ IP
nguồn và đích, cổng (port), giao thức, … NetFlow nổi bật nhờ có khả năng bảo vệ
thông tin cá nhân và tính khả dụng cao, điều này khiến NetFlow trở thành một lựa chọn hiệu quả.
Báo cáo này được tổ chức theo các phần sau: Chương 2 là hướng tiếp cận và các
nghiên cứu liên quan. Chương 3 là các phương pháp và kỹ thuật áp dụng. Thông tin
chi tiết về việc phân tích dữ liệu được trình bày trong Chương 4 với sự tập trung vào
quá trình trích xuất dữ liệu và chọn lọc các đặc trưng. Chương 5 đưa ra kết quả thực
nghiệm bao gồm các thuật toán và các chỉ số đánh giá theo từng thuật toán đó. Cuối
cùng, phần 6 là đánh giá, kết luận nghiên cứu. lOMoAR cPSD| 59285474
HƯỚNG TIẾP CẬN VÀ CÁC NGHIÊN CỨU LIÊN QUAN
Tổng quan vấn đề
Trong những năm gần đây, botnet đã phát triển mạnh mẽ và gây rủi ro cho an ninh
mạng, trở thành một trong những mối đe dọa lớn nhất đối với an toàn thông tin trên
Internet. Đây là mạng lưới các máy tính bị nhiễm mã độc (bot), được các tin tặc, gọi là
botmaster, điều khiển từ xa. Mỗi bot là một phần mềm độc hại, được lập trình để
hoạt động tự động và có khả năng nhận lệnh từ máy chủ điều khiển (Command and
Control - C&C). Điều này giúp bot khác biệt so với các loại malware khác, vì nó có
thể giao tiếp, nhận lệnh mới, và báo cáo trạng thái hoạt động của mình về cho botmaster.
Botnet được tin tặc khai thác cho nhiều mục đích nguy hiểm khác nhau. Chúng có thể
được sử dụng để phát tán thư rác trên diện rộng, lừa người dùng truy cập vào các liên
kết độc hại hoặc trang web giả mạo. Ngoài ra, botnet thường được dùng để phân phối
phần mềm độc hại, xâm nhập và đánh cắp thông tin cá nhân hoặc các tài khoản nhạy
cảm của người dùng. Một mục đích khác là giả mạo lượt truy cập (click ảo) để thao
túng quảng cáo hoặc tạo ra lợi nhuận bất hợp pháp. Đặc biệt, botnet còn là công cụ
mạnh mẽ cho các cuộc tấn công mạng quy mô lớn, tiêu biểu là tấn công từ chối dịch
vụ phân tán (DDoS), nhằm làm gián đoạn hoặc sập hoàn toàn hệ thống mục tiêu.
Những hoạt động này không chỉ gây thiệt hại về tài chính mà còn đe dọa đến an ninh
thông tin và vận hành mạng.
Hiện nay, theo một số báo cáo, khoảng 80% lưu lượng Internet liên quan đến hoạt
động của botnet. Điều này cho thấy mức độ phổ biến và nguy hiểm của botnet trong
thế giới số và việc phát hiện botnet trong hệ thống mạng lưới cũng trở thành một chủ
đề nghiên cứu quan trọng
Hướng giải quyết
Ứng dụng Machine Learning (ML) để phát hiện botnet đã được nghiên cứu rất nhiều.
Ví dụ, Stevanovic và Pedersen (2014) đã phát triển một hệ thống phát hiện botnet dựa
trên dòng chảy dữ liệu bằng cách sử dụng học máy có giám sát. Santana, Suthaharan
và Mohanty (2018) cũng đã nghiên cứu các mô hình học máy khác nhau để đánh giá
khả năng, hiệu suất và những hạn chế của chúng trong việc phát hiện các cuộc tấn
công botnet. Trong đó vấn đề quan trọng là chọn đúng các tham số để đạt được kết
quả chính xác và hiệu quả cao (Wagner, Francois, Engel, và các cộng sự, 2011).
Các thuật toán như Extreme Learning Machine, Random Forest, Gradient Boosting,
SVM, và Logistic Regression đều được sử dụng phổ biến trong các nghiên cứu liên
quan đến phát hiện botnet. lOMoAR cPSD| 59285474
Extreme Learning Machine (ELM) - một phương pháp học máy nhanh chóng có khả
năng huấn luyện nhanh và hiệu quả. Trong nghiên cứu của Zhang et al. (2016), ELM
đã được áp dụng để phát hiện các cuộc tấn công DDoS trong môi trường botnet, cho
thấy độ chính xác và tốc độ cao hơn so với các thuật toán truyền thống.
Random Forest - sử dụng nhiều cây quyết định để phân loại và dự đoán. Liu et al.
(2018) đã sử dụng Random Forest để phát hiện botnet, và kết quả cho thấy thuật toán
này có khả năng phân loại chính xác các mẫu lưu lượng mạng liên quan đến botnet,
đồng thời giảm thiểu sai sót khi phân tích dữ liệu lớn.
Gradient Boosting - Phương pháp này được sử dụng để cải thiện hiệu suất học máy
bằng cách kết hợp nhiều mô hình học yếu. Chandrashekaran và Nair (2019) đã áp
dụng Gradient Boosting trong phát hiện botnet và đạt được kết quả ấn tượng với độ
chính xác cao trong việc phân biệt giữa các loại lưu lượng mạng hợp lệ và độc hại.
Support Vector Machine (SVM) - một thuật toán mạnh mẽ cho bài toán phân loại,
được sử dụng trong nghiên cứu của Kaur và Arora (2017), SVM đã đạt được kết quả
tốt trong việc nhận diện các cuộc tấn công botnet với độ chính xác cao.
Logistic Regression - Thuật toán này được sử dụng trong các bài toán phân loại nhị
phân, chẳng hạn như phân loại lưu lượng mạng là hợp lệ hay độc hại. Singh và
Chana (2019) đã sử dụng Logistic Regression trong việc phân tích lưu lượng mạng để
phát hiện botnet, với kết quả cho thấy thuạt toán rất hiệu quả khi kết hợp với các
phương pháp khác để nâng cao độ chính xác.
Ngoài ra còn có hai phương pháp phân cụm phổ biến dựa trên hành vi trong việc phát
hiện botnet là Bclus và K-means
Bclus (Behavior-based Clustering): Trong một nghiên cứu của Jin et al. (2018),
Bclus được áp dụng để phân cụm các botnet dựa trên hành vi lưu lượng mạng và đạt
được kết quả tốt trong việc phát hiện các botnet ẩn danh, có hành vi phức tạp, giúp cải
thiện khả năng nhận diện các mối đe dọa chưa được biết đến.
K-means:Trong phát hiện botnet, K-means được sử dụng để phân loại lưu lượng
mạng vào các cụm dựa trên các đặc tính hành vi. Nghiên cứu của Fadi et al. (2019)
đã áp dụng K-means để phân nhóm các mẫu lưu lượng mạng, giúp phát hiện các hoạt
động của botnet dựa trên các mẫu hành vi khác biệt so với lưu lượng mạng bình
thường, từ đó phát hiện các cuộc tấn công botnet hiệu quả.