3.1. Mô hình tổng quan
Network Traffic
se —
\
® Packet capture
Feature Extractor
Global Explanation
ia 4
(ios structure 0 ° (
silts i—> §š
i|ÌI sẽ Improtant
>a Feature
sũ |
SHAP #3
e
= synsoy 2I)ÁJeu
TreeExplainer
Attack Propability
X%
\
Manager
System Administrator
Hinh 3.1 M6 hinh thuc hién
Hình trên mô tả các sơ đồ khôi của hệ thông phát hiện xâm nhập sử dụng máy học có kha năng giải thích, gồm các thành phan:
ô Packet capture
Liên tục thực hiện quá trình theo dõi, trích xuất va bắt các gói tin. Nó liên quan đến việc nắm bắt các gói dữ liệu đang được truyền qua mạng máy tính và lưu trữ chúng dé phân tích hoặc kiểm tra sau này. Khi đó các dữ liệu
mạng sẽ được chuyền xuống khối tiếp theo dé tao ra các dữ liệu trực tiếp từ
các dữ liệu thô.
Với công cụ CICFlowMeter sử dụng thư viện JNetPcap nó được sử
dụng phổ biến cho việc theo gói và bắt các gói tin trên các hệ điều hay Unix
và Windows. JNetPcap cho phép các nhà phát triển viết các chương trình có
thê tương tác với các giao thức mang, theo dõi va lưu lại các gói và thực hiện
41
các công việc phân tích khác nhau. JNetPcap cho phép thực hiện bắt các gói tin trong thời gian thực hoặc chuyên đổi các gói tin thô đã bat trong thời gian
trước.
Feature Extrator:
Với thư viện JNetPcap cung cấp chức nang phân tích gói tin, khi các gói tin được bắt chúng ta có thê trích xuất thông tin từ phần headers của gói
tin như là địa chi IP nguồn, IP đích, Port, Protocol,...
Sau khi trích xuất các thông tin sẽ được tính toán, thống kê các luồng mạng và xây dựng bộ dữ liệu gồm các tính năng liên quan dé sử dụng cho mô hình máy học. Nó có thể tao ra các luồng hai chiều, trong đó gói đầu tiên xác định hướng chuyền tiếp (nguồn đến đích) và hướng ngược (đích đến nguồn),
do đó các tính năng liên quan đến thời gian thông kê có thé được tính riêng theo hướng chuyền tiếp và hướng ngược lại.
Các tính năng sẽ được tính toán và thống kê
Bảng 3.1 Các tính năng được tính toán và thống kê
¢ Flow duration: Thời gian tôn tai của một luông
Total bytes: Tổng số byte đã truyền qua luồng s_ Total packet: Tông số gói tin đã truyền qua luồng
Tinh năng co ban | s Source/ Destination IP addresses: Dia chỉ IP
ngu6n/ dich của luồng.
ô Source/ Destination port numbers: Số cụng nguồn/
dich của luông.
e Average packet size: Kích thước gói tin trung bình
trong luồng.
, ô Packet size variance: Phương sai kớch thước gúi tin Tính năng thông kê :
trong luông.
e Packet inter-arrival time: Thời gian giữa hai gói tin
liên tiếp trong luồng.
42
ô Flow duration statictical feature: Cỏc tớnh năng
thông kê về thời gian va tôn tại của luông.
ô Protocol: Giao thức được sử dụng (vớ dụ: TCP,
UDP)
e Application layer protocol: Giao thức lớp ứng dụng
được sử dụng trong luồng (ví dụ: HTTP, DNS,
Các tính năng dựa
FTP...) trờn nội dung ơ
e Payload length: Độ dài nội dung (payload) của
luéng.
ô Number of unique destination IP addresses: Số
lượng địa chi IP đích duy nhất trong luồng.
Trained Attack Detection Model:
Chịu trắc nhiệm sử dụng mô hình đã được học và đưa ra các dự đoán cho các network feature. Ở đây em sẽ sử dụng mô hình Decision Tree và Random Forest để huấn luyện và đưa ra dự doán cho dữ liệu mạng theo dõi và
giám sát.
Bộ dữ liệu mạng tấn công DDOS cho việc huấn luyện mô hình, em sẽ tổng hợp từ bộ đữ liệu CIC-IDS-2017 và CSE-IDS-2018. Đây là những bộ dữ liệu công khai và đạt được các tiêu chuẩn, đặc điểm của các cuộc tấn công phù
hợp và có sự uy tín trong lĩnh vực bảo mật sử dụng máy học.
Trong quá trình huấn luyện của mô hình sẽ học từ các mẫu lưu lượng mang của bộ dữ liệu tong hợp với các đặc trưng tương ứng của cuộc tấn công
dé phân loại và xác định liệu dữ liệu mạng có chưa tan công DDOS hay không.
Mô hình sẽ học các mối liên quan và đặc điểm của lưu lượng mạng trong quá trình tan công DDOS và có gắng tìm ra các đặc trưng dé phân biệt tan công và
lưu lượng bình thường.
Sau khi đã huấn luyện xong mô hình DDOS sẽ được triển khai dé phân tích lưu lượng mạng thời gian thực và xem một luồng dữ liệu mạng có đang
43
dau hiệu tắn công DDOS không. Nếu mô hình phát hiện cuộc tan công sẽ gửi các cảnh báo đến khối tiếp theo.
Đây là khối đóng vai trò quan trọng trong việc phát hiện nhanh chóng
và kip thời các cuộc tan công DDOS. Vì DDOS là cuộc tấn công có tốc độ nhanh và áp lực lớn vì vậy việc phát hiện nhanh cuộc tấn công được chú trọng.
Attack Result:
Nhận các kết quả đưa ra từ khối Model và đưa các kết quả xuống cho khối Manager. Trong quá trình này, thông báo cảnh báo sẽ chuyền đến người quản lý và đưa ra các hành động tiếp theo.
1. Mô hình huấn luyện phân tích lưu lượng mạng đang diễn ra và xác
định xem liệu có khả năng có tồn tại cuộc tan công hay không.
2. Dựa trên phân tích các kết quả về tình trạng lưu lương mạng thực tế
sẽ được tạo ra. Các kết quả này sẽ được chuyên đến khối Manager
(Quản lý).
Quá trình Attack Result giúp các kết quả và thông tin quan trọng liên quan đến tấn công được phát hiện từ mô hình phát hiện tấn công đến người quan lý dé đưa ra các biện pháp và quyét định tiếp theo dé bảo vệ mạng và hệ thống.
Manager:
Khối Manager đóng vai trò quan trọng trong quá trình quan lý và ứng phó các sự cố tân công mạng. Các hoạt động mà khối quản lý thực hiện gồm:
1. Lưu trữ bản ghi: Manager ghi nhận và lưu trữ các bản ghi về các sự
cố và tan công xảy ra. Các bản ghi sẽ gồm thông tin chi tiết về tan công, thời gian xảy ra, loại tan công và các thông số liên quan. Việc này sẽ giúp cho việc phân tích các cuộc tan công mới hoặc giám sát
dé hiểu và cải thiện khả năng ngăn chặn các cuộc tan công.
2. Cảnh báo người dùng: Manager có trách nhiệm đưa ra thông báo cho
người quản lý hệ thống hoặc nhóm phan ứng sự cố. Cảnh báo này
44
thông báo về tình trạng tấn công, mức độ nghiêm trọng và yêu cầu
hành động.
Dựa trên thông báo hoặc cảnh báo từ Attack Result, Manager có thể thực hiện các biện pháp ngăn chặn lưu lượng mạng hoặc giảm thiểu tác động của cuộc tấn công. Các biện pháp chặn có thể là tạm thời giảm băng thông hệ thống, thiết lập các quy tắc trên tường lửa, cầu
hình chặn IP hay giao thức,...
‹ôồ Explanation:
Sử dụng phương pháp SHAP Tree Kernel dé tính toán, thống kê các giá trị đầu vào của lưu lượng mạng gồm các bước:
1. Tạo đường cơ sở: Tạo tham chiêu đường cơ sở bằng cách sử dụng
đường cơ sở toàn cầu (ví dụ: giá trị trung bình hoặc trung vị của dữ liệu huấn luyện) hoặc chọn một điểm tham chiếu cụ thể. Đường cơ sở đại diện cho "điểm bắt đầu" cho các đóng góp tính năng.
2. Phân tích các tính năng: Phương pháp SHAP Tree Kernel phân tích
các tính năng của từng gói tin trong lưu lượng mang. Các tính năng đã
được tính toán thông kê thông qua khối Feature Extrator. Giá trị
Shapley, định lượng tác động của từng tính năng vào dự đoán của mô
hình. Nó thực hiện điều này băng cách xem xét các tô hợp tính năng khác nhau và đánh giá tác động của chúng đối với dự đoán.
3. Tính toán giá trị Shap: Đối với mỗi kết hợp tính năng, Shap đánh giá
quyết định của mô hình băng cách thay đôi sự đóng góp của từng tính năng. Nó đo lường sự khác biệt trong dự đoán khi bao gồm hoặc loại
trừ một tính năng cụ thé. Giá trị Shapley cho một đối tượng dia lý thể
hiện mức đóng góp cận biên trung bình của đối tượng địa lý đó trên tất cả các kết hợp đối tượng địa lý có thể có.
4. Xác định tính quan trọng: Khi đủ lượng dữ liệu, phương pháp SHAP
Tree Kernel sẽ xác định tính quan trọng của từng tính năng đối với
45
việc phân loại các cuộc tấn công hoặc dữ liệu bình thường. Phương pháp sẽ đưa ra giá trị quan trọng (SHAP values) cho mỗi tính năng,
cho biết mức độ ảnh hưởng của tính năng đối với kết quả quyết định. Sau tính toán chúng sẽ được chuẩn hóa dé thé hiện tam quan trong
hoặc đóng góp của từng tính năng so với các tính năng khác.
Các giá trị dương cho biết ảnh hưởng tích cực của một tính năng đối
với dự đoán, trong khi các gia tri âm cho biệt ảnh hưởng tiêu cực.
Trực quan hóa kết quả: Các giá trị Shapley có thể được trực quan hóa theo nhiều cách khác nhau, chăng hạn như biéu đồ thanh hoặc biéu đồ tóm tắt,
dé cung cấp hiểu biết rõ ràng về tam quan trọng của tính năng đối với trường
hop cụ thé. Những hình ảnh trực quan này giúp người quan trị có thé hiểu
được các quyết định của mô hình bằng cách làm nồi bật những tính năng nao
có tác động nhiêu nhât.
Đối với giải thích cục bộ (Local Explainable):
Các gói tin đầu vào sẽ được quan sát, phân tích và tính toán dé đưa ra lời giải thích cục bộ (Local Explainable) nhằm trình bày thông tin về các tính năng và đặc trưng của một điểm đầu vào cụ thê và cách đóng góp vai trò trong quyết định của mô hình. Các giá tri Shapley được tính toán dựa trên việc xáo trộn và kết hợp với các giá trị đặc trưng trong các mẫu dữ liệu.
Mục tiêu của Local Explainable giúp những người không có chuyên
môn hoặc các chuyên gia có thê hiểu về các tính năng quan trọng và mức độ ảnh hưởng tới dự đoán. Chúng có thé dựa trên việc xây dựng mô hình giải thích cục bộ xung quanh điểm dữ liệu. Việc hiểu và phân tích trên mỗi điểm
dữ liệu sẽ giúp các chuyên gia có thể nghiên cứu các cuộc tấn công mới.
Đối với giải thích toàn cục (Global Explainable):
Đây là quá trình cung cấp sự giải thích dé hiểu rõ về các quyết định về hoạt động tông thê của mô hình. Khác với giải thích cục bộ thì giải thích toàn
46
cục sẽ tập trụng vào giải thích và trình bày các thông tin về cách mô hình hoạt
động trên toàn bộ dữ liệu và sự liên kết giữa các tính năng.
Mục tiêu của Global Explainable là cung cấp cái nhìn tổng quan về cách
hệ thống đưa ra dự đoán và giải thích các dự đoán được đưa ra. Điều đó giúp chúng ta có thé hiéu sâu về cấu trúc, quy tắc và mô hình hóa mô hình.
Các phương pháp giải thích toàn cục thường dựa trên việc phân tích và
thống kê các đặc trưng quan trọng trên từng gói dữ liệu , tương tác giữa các đặc trưng và mức độ ảnh hưởng của chúng đối với dự đoán của mô hình trên
toàn bộ dữ liệu.
Analytic Results: Tông hợp các hình anh giải thích trực quan trên từng gói tin
và tổng quát cho toàn bộ mô hình ở hiện tại.
Biểu diễn cho giải thích cục bộ:
Biểu đồ có trục hoành là giá trị SHAP của dự đoán và đóng góp của mỗi tính năng được hiện thị trên một khối. Đường cơ sở cho các giá trị Shapley
là giá trị trung bình của tất cả các dự đoán bên trái là các giá trị Shap đương day xác suất dự đoán lên cao hơn và giá trị Shap thấp hơn ở bên phaari đây
xác suât xuông thâp hơn.
Biểu diễn cho giải thích toàn cục sẽ có hai loại:
Feature Importance (Độ quan trọng của đặc trưng): Đây là phương
pháp đánh giá mức độ quan trọng của các đặc trưng đối với quyết định của mô hình. Các tính năng quan trọng cao được coi là có tác động lớn đến dự đoán của mô hình và được xếp độ quan trọng thấp dan.
Global Surrogate Models (Mô hình đại diện toàn cục): Day là phương
pháp xây dựng một mô hình đại diện đơn giản dé giải thích hoạt động tong thé của mô hình chính. Mô hình đại diện này có thé dé hiểu và giúp người dùng trực quan hóa các quy tắc và quyết định của mô hình đối với mỗi quyết định.
47
Mỗi giá trị Shap sẽ được biểu diện dạng các chấm màu đại diện cho mỗi gói
tin.
Biểu đồ hiển thi các giá tri SHAP phức tap hơn và nhiều thông tin hơn, cho thấy không chỉ tầm quan trọng tương đối của các tính năng mà còn
cả mối quan hệ thực tế của chúng với kết qua dự đoán.
Các giá trị của tính năng thấp hơn của giá trị SHAP đương (các điểm kéo dài về phía bên phải ngày càng có màu xanh lam) và các giá trị cao hơn
có giá trị SHAP âm (các điểm kéo dài về phía bên trái ngày càng có màu đỏ).
Người dùng có thé xem các biểu đồ trực quan dé phân tích từ đó tăng khả năng phản ứng nhanh với các cuộc tấn công xảy ra hoặc các cuộc tan công
mới.
3.2. Phương pháp thực hiện
3.2.1. Lựa chọn thuật toán
Mô hình cây quyết định là một trong những mô hình dễ diễn giải và dé hiéu trong lĩnh vực học máy. Khi bạn cần một mô hình đơn giản và dé hiểu, cho phép dé dàng hình dung và hiéu rõ quá trình ra quyết định. Khi dữ liệu chứa cả các tính năng phân loại và số. Khi bạn muốn xác định các tính năng quan trọng và hiểu rõ hơn về
dir liệu.
Mô hình rừng ngẫu nhiên là một mô hình máy học phô biến và độ chính xác cao. Mô hình bao gồm nhiều cây quyết định độc lập cùng nhau dé đưa ra dự đoán. Mỗi cây quyết định sẽ được huấn luyện trên một tập dữ liệu con xáo trộn khác nhau
và sử dụng ngẫu nhiên trong quá trình phân tách dữ liệu
Các yếu tô sử dụng mô hình rừng ngẫu nhiên
48
ô Khi bạn muốn cải thiện hiệu suất dự đoỏn bằng cỏch giảm trang bị quỏ mức
và tăng tính tổng quát hóa.
ô Khi xử lý dỡ liệu nhiều chiều hoặc một số lượng lớn cỏc tớnh năng.
¢ Khi bạn muốn xử ly các giá tri còn thiếu va giá trị ngoại lai một cách hiệu quả.
¢ - Khi bạn muốn có được các thước do tam quan trọng của tính năng đề xác định
các yếu tô dự đoán có ảnh hưởng nhất.
Một số ưu điểm chung của hai thuật toán:
e - Hiệu suât ôn định.
ô Toc độ tớnh toỏn được tụi húa do xử lý song song và huõn luyện nhiờu luụng.
‹ Phu hợp mô hình hồi quy, phân loại.
Việc lựa chọn hai mô hình phụ thuộc vao bai toán cụ thể, đặc điểm dữ liệu và yêu cau thực tế.
3.2.2. Si dụng phương pháp giải thích SHAP
+ KernelSHAP
KernelSHAP tính toán cho một giá tri x tac động của từng tinh năng cho dự
đoán. KernelSHAP bao gồm 5 bước:
ô Kột hợp với mẫu: z’, € {0,1}, k € {1,...,K} (1 = tớnh năng trong tập hop,
0 = không có tính năng).
¢ Du đoán với mỗi z’, bằng cách chuyên đổi z’, vào tập tính năng gốc rồi áp
dụng mô hình f : f (h„(Z'„)).
¢ Tinh toán giá trị với mỗi z'„ vớ SHAP kernel.
ô Ap dụng vao mụ hỡnh tuyến tớnh.
‹ _ Cuối cựng trả về giỏ trị Shapley ỉ„.
49
+ TreeSHAP
La một biến thé của SHAP dùng dé phát triển một thuật toán chính xác tốc độ
cao cho các mô hình tập hợp cây như Decisicion Tree, Random Forest, XGBoost,...
TreeSHAP xác định hàm giá trị bằng cách sử dụng kỳ vọng có điều kiện
E(x,|X | Cf (x) |x;) vì kỳ vọng cận biên. Tuy nhiên vấn đề của kỳ vọng có điều kiện
eo)
là các tinh năng không anh hưởng đến dự đoán f có thé khác 0 trong khi ước tính khác
0 có thé xảy ra khi có ảnh hưởng đến dự đoán.
So với kernelSHAP thì TreeSHAP giảm độ phức tạp tính toán từ O(TL2")
xuống O(TLD*) (T = số cây trong mô hình, L = số lá tối đa trên cây, M = số tính năng được giải thích, D = độ sâu của cây). Có thé làm được điều này nhờ vào cấu trúc của các thuật toán cây quyết định và thuộc tính giá trị Shapley, chủ yếu là thuộc tính Additivity (Nghia là giá trị SHAP cho mô hình là tổng cúa các giá trị SHAP cho tat
cả các cây trong mô hình).
+ Tính năng quan trọng
Dé xem tông quan sự đóng góp của các tính năng [19] vì vậy muốn biết tam quan trọng các tính năng, chúng ta sẽ tính trung bình các giá trị Shapley tuyệt đối cho
mỗi tính năng:
n
== ) [01 .
t=1
50