Giới thiệu về GAN

Một phần của tài liệu Khóa luận tốt nghiệp An toàn thông tin: Trình phát hiện xâm nhập trong mạng khả lập trình dựa trên mạng đối sinh (Trang 34 - 44)

Generative Adversarial Network (GAN) là mang dùng dé sinh dữ liệu mới giống với dit liệu trong dataset có săn. GAN được cấu thành từ 2 mạng gọi là Bộ sinh (Generator) và Bộ phân biệt (Discriminator) luôn đối nghịch nhau trong quá trình huấn luyện. Vi dụ những khuôn mặt người trong Hình 2.13 là do GAN sinh

Hình 2.13: StyleGAN sinh ra nhiều khuôn mặt khác nhau!9

2.5.2. Cấu trúc mang GAN

GAN cấu tao gồm 2 mang là Generator va Discriminator. Trong khi Generator sinh ra các dữ liệu giống như thật thi Discriminator cố gắng phan biệt đâu là dữ liệu được sinh ra từ Generator và đâu là đữ liệu thật có. Ý tưởng của GAN bắt nguồn từ zero-sum non-cooperative game!!, hiểu đơn giản như trò chơi

đôi kháng 2 người (cờ vua, cờ tướng), nêu một người thăng thì người còn lại sẽ

I0 Nguồn: https://github.com/N Vlabs/stylegan

!1 https://cs.stanford.edu/people/eroberts/courses/soco/projects/1998 -99/game-theory/nonzero.html

23

thua. Ở mỗi lượt, cả hai đều muốn tối đa cơ hội thắng của mình và tối thiểu cơ hội thang của đối phương. Discriminator va Generator trong mang GAN giống như hai đối thủ trong trò chơi. Trong lý thuyết trò chơi thì GAN model sẽ hội tụ khi cả Generator và Discriminator đạt tới trạng thái cân bằng Nash, tức là 2 người chơi đạt trạng thái cân bằng và đi tiếp các bước không làm tăng cơ hội thắng. “A

strategy profile is a Nash equilibrium if no player can do better by unilaterally

changing his or her strategy””!.

x :

Real data ————_ằ

Discriminator ———>

G(z)

Noise

(z,

i

!

I Backpropagation

Ue se a a cs ee 2ù

Hình 2.14: Mô hình GAN?

Hình trên mô ta cấu trúc của GAN, mang G (Generator) có input là nhiễu (noise) z, output là tạo ra các mau (sample) G(z), mang này sẽ học về phân bố dữ

liệu ?zz¿„ của dữ liệu that x. Mạng còn lại là D (Discriminator) có nhiệm vụ phân

biệt một sample xem đâu là thật đâu là sample gia được sinh ra bởi mạng G. Cả

hai mạng G và D đều thực hiện ánh xạ phi tuyến tính (non-linear) bằng cách sử dụng cau trúc mạng như multi-layer perceptron.

Nói một cách dễ hiểu, G muốn đánh lừa D và tối đa xác suất D mắc lỗi bằng cách tạo ra các mẫu có chất lượng cao, và D muốn phân biệt tốt nhất giữa các mẫu thực x và các mẫu được sinh ra G(z). Việc tối ưu hoá GAN được thực hiện bằng cách tìm điểm cân bang Nash giữa G và D thông qua ham giá trị V(D, G).

mrarmaeV' (D,G) = Ez.p„„(ô) LogD (#)] + E„.„. (2) llog(1 = D(G(z)))]

!2 https://medium.com/cantors-paradise/the-nash-equilibrium-explained-c9ad7e97633a

13 https://www.mdpi.com/2072-4292/12/7/1149/htm

24

Trong đó p,(z) đại diện cho sự phân bố của noise z. E đại điện cho ước lượng thực nghiệm của phân phối xác suất chung. Khi đầu vào là mẫu thật x, đầu

ra của D được biéu thị bang D(x). Tương tự, các đầu ra D(G(z)) của D tương ứng

với các dau vào từ các mau được tạo ra G(z).

Trong quá trình tối ưu hoá mạng, bộ tạo G và bộ phân biệt D được tối ưu hoá theo cách xen kẽ. Cụ thé, cho trước G thì D sẽ được tối ưu hoá bằng cách tối

đa hoá Ex.paz„œ)[logD(Œ)] + Ez~p„œ¡[log (1 — D(G(z)))]. Sau khi đạt đến một giá trị D nhất định, G được tối ưu hoá bằng cách tối ưu hoá Ez.„ (z[log (1 —

D(6(2)))]. Sau nhiều lần lặp đi lặp lại, toàn bộ mang sẽ đạt tới trạng thái cân

bằng. Thông qua sự cạnh tranh nhau của hai mạng, D có khả năng phân biệt tốt

và G có thé sinh ra dữ liệu giống thật nhất có thé.

2.6. Mô hình AdvGAN

2.6.1. Giới thiệu về AdvGAN

Theo nghiên cứu của Chaowei Xiao và các cộng sự [4], mạng nơ-ron sâu

(DNN - Deep Neural Network) dé bị tan công bởi các dữ liệu đối kháng bằng cách thêm vào input các nhiễu ở cường độ nhỏ. Những dữ liệu đối kháng này có thể đánh lừa DNN dé thay đồi kết quả output theo mong muốn của kẻ tan công. Trong nghiên cứu [4], tác giả đã đề xuất AdvGAN có khả năng tạo dữ liệu đối kháng bằng mô hình GAN. Mô hình này có thê học và ước lượng phân phối của tập dữ liệu ban đầu, giúp dữ liệu đối kháng được sinh ra giống thật hơn. Tác gia

sử dụng AdvGAN để tan công và phòng thủ semi-whitebox và black-box, các tan công này hoàn toàn không cần phải biết cau trúc của mô hình mục tiêu như cách tan công whitebox truyền thống. Các dit liệu đối kháng do AdvGAN tạo ra trên

các mô hình mục tiêu khác nhau có tỷ lệ tân công thành công cao.

25

2.6.2. Nguyên lý hoạt động của AdvGAN

Real R

r5

Discriminator

Z:.——

Generator | R |

i

Target white-box | |

/distilled black-box>— . — - =

Hình 2.15: Cấu trúc của mô hình AdvGAN"4

Hình trên minh hoạ kiến trúc tông thê của AdvGAN, mô hình gồm 3 thành phần chính là bộ sinh G (Generator), bộ phân biệt D (Discriminator) va mạng no-

ron mục tiêu ƒ.

G lay input gốc x làm đầu vào và tạo ra nhiễu G(x). Sau đó x + G(x) sẽ được đưa đến bộ phân biệt D, dùng dé phân biệt dữ liệu được tạo ra từ G va dữ liệu gốc ban dau x. Mục tiêu của D là giúp dit liệu được tạo ra G(x) không thé phân biệt được với dữ liệu ban đầu x. Để thực hiện mục tiêu đánh lừa một mô hình Deep Learning, trước tiên tác giả thực hiện tấn công whitebox, trong đó ƒ là mô hình mục tiêu. ƒ sẽ lấy x + G(x) làm đầu vào và dau ra là L„„„ là giá trị loss, đại điện cho khoảng cách giữa nhãn dự đoán và nhãn mục tiêu muốn tấn công (targeted

attack), hoặc ngược lại với khoảng cách giữa nhãn dự đoán với nhãn thực sự

(untarget attack).

Giá tri loss đối kháng có thé tính bằng công thức:

Loan = E, log D(x) + E, log(1 — D(a + 6(3))).

! Nguồn: https://feedforward.github.io/blog/advgan/

26

Giá trị loss khi đánh lừa model mục tiêu ƒ trong tấn công có chủ đích

(targeted attack) là:

CÁ v= E„£z( + G(a),t),

adv

trong đó £ là nhãn mục tiêu.

Để ràng buộc độ nhiễu ở mức nhỏ, tác gia đã thêm vào một giá tri soft hinge

loss theo công thức:

Lhinge = Ez max(0, ||đ()||a — ©),

trong đó c là giá trị ràng buộc do người dùng chọn.

Cuối cùng, giá trị loss được biéu diễn bang công thức:

£ = Đa + a£Lgan + ninge›

trong đú ô và B giỳp kiểm soỏt tầm quan trọng của mỗi mục tiờu. LGAN ở đõy

được sử dụng dé giúp dữ liệu có thêm nhiễu giống với dữ liệu gốc x, còn Tayƒ

được sử dung đê tạo ra các dữ liệu đôi khang, tôi ưu hoá tỉ lệ tân công thành công.

Sau đó, G và D được train giỗng như GAN thông thường.!

2.7. Kỹ thuật học chuyển tiếp (Transfer Learning)

Quá trình huấn luyện một mô hình Deep Learning trên bộ dữ liệu của mình ngay từ đầu với các trọng số ngẫu nhiên đôi khi dẫn tới kết quả không thực sự tốt

và lãng phí tài nguyên tính toán. Đề cải thiện độ chính xác và tiết kiệm thời gian huấn luyện, một phương pháp được xây dựng dựa trên ý tưởng chuyền giao tri thức đã được học từ những mô hình tốt trước đó đã ra đời. Phương pháp sử dụng pre-trained model như trên gọi là transfer learning. Hình 2.16 minh hoạ hiệu suất huấn luyện trong trường hợp không dùng transfer learning và có sử dụng transfer learning. Sử dụng kỹ thuật transfer learning sẽ đạt được hiệu suất huấn luyện cao ngay từ đầu.

!5 Nguồn: https://arxiv.org/abs/1801.02610

27

higher slope higher asymptote

\

ô+ With transfer

— without transfer

performance

training

Hình 2.16: Transfer learning giúp cải thiện hiệu suất hoc training!®

Các pre-trained model được sử dụng thường là các bài toán được train với

dữ liệu lớn ví dụ ImageNet, dữ liệu chứa 1.2 triệu ảnh với 1000 thé loại khác

nhau.

Có 2 loại transfer learning là Feature extractor và Fine tuning.

e Feature extractor: Sử dụng các ConvNet của pre-trained model dé lay ra

các đặc điểm của ảnh. Mô hình dạng này chỉ cần thêm một bộ phân loại (classifier) mới và huấn luyện bộ phân loại từ đầu. Nghia là không cần huấn luyện lai tat cả các lớp của mô hình, chi cần huấn luyện lớp classifier cuối cùng mà vừa được thay thế, các lớp ConvNet ở trước sẽ bị đóng

băng.

e Fine tuning: Ngoài việc thay thé lớp classifier ở cuối, một số lớp bên trên

của mô hình đã bị đóng băng sẽ được giải phóng để cùng huấn luyện với lớp classifier cuối cùng. Điều này cho phép mô hình được tinh chỉnh cho phù hợp hơn với mục đích mong muốn.

Tuỳ vào mức độ tương đồng của tập dữ liệu được sử dụng và tập dữ liệu huấn luyện trước đó mà phương pháp Feature extractor hoặc Fine-tuning sẽ đạt hiệu quả tốt hơn.

'6 Nguồn: https://machinelearningmastery.com/transfer-learning-for-deep-learning/

28

2.8. Các phép đo đánh giá mô hình

Khi xây dựng một mô hình Deep Learning, cần có một phép đánh giá để xem mô hình có thật sự hiệu quả hay không, đồng thời có thé dùng nó dé so sánh với các mô hình khác. Có rất nhiều cách dé đánh giá một mô hình, tuỳ vào bài toán khác nhau mà các phương pháp khác nhau sẽ được sử dụng. Một số phương pháp thường được sử dụng là: Độ chính xác (Accuracy), Ma trận nhằm lẫn

(Confusion matrix), Precision va Recall, F1 score, ...

e Độ chính xác (Accuracy)

Đây là cách đơn giản và hay được sử dụng nhất, cách này sẽ tính tỉ lệ giữa số điểm được dự đoán đúng và tông số điểm trong tập dữ liệu kiêm thử.

true samples Accuracy score = ———_—___—

total samples

Độ chính xác thường được biéu diễn dưới dạng phan trăm (%), giá tri

độ chính xác càng cao chứng tỏ mô hình càng hiệu quả và đáng tin cậy,

ngược lại độ chính xác thấp chứng tỏ mô hình hoạt động kém hiệu quả.

e Ma trận nhằm lẫn (Confusion matrix)

Cách tính độ chính xác ở trên chỉ cho biết bao nhiêu phần trăm lượng

dữ liệu được phân loại đúng mà không chỉ ra được cụ thé mỗi loại được phân loại như thế nảo, lớp nào được phân loại đúng nhiều nhất va dữ liệu thuộc lớp nào thường bi phân loại nhằm vào lớp khác. Dé có thể đánh giá được

các gia tri này, cân sử dụng một ma trận gọi là confusion matrix.

29

Positive

Actual

Predicted

Hình 2.17: Ví dụ về confusion matrix cho model gồm 2 class và 4 class

Vi dụ trong bai toán phân loại chỉ gôm 2 class, confusion matrix sẽ là

ma trận 2x2 chia kết quả dự đoán thành bốn loại như sau:

Actual Values

Positive (1) Negative (0)

Positive (1) TP FP

Predicted Values Negative (0) FN TN

Hinh 2.18: Confusion matrix 2x2

o TP (True Positive): Nhãn thuộc loại này va két quả dự đoán là chính

xác.

o FP (False Positive): Nhãn không thuộc loại này nhưng kết quả dự

đoán của mô hình là loại này.

o TN (True Negative): Nhãn không thuộc loại này và kết quả dự đoán

chính xác.

30

o FN (False Negative): Nhãn không thuộc loại này và kết qua dự đoán

không chính xác.

Cách biểu diễn như trên gọi là unnormalized confusion matrix (confusion matrix chưa được chuẩn hoá). Thông thường, dé có cái nhìn tổng quan hơn có thé sử dung normalized confusion matrix (confusion matrix

đã được chuẩn hoa). Đề có normalized confusion matrix, gia tri cua mỗi hàng của unnormalized confusion matrix được chia cho tổng các phần tử trên hang đó, như vậy tong các phan tử trên mỗi hàng đều bằng 1.

Confusion matrix, without normalization Normalized confusion matrix

200

175

150

125

True label 100 True label ”

075

050

025

000 Predicted label Predicted label

Hình 2.19: Minh hoạ unnormalized va normalized confusion matrix!”

e Precision va Recall

Precision va Recall thường được áp dung với các bai toán phân loại mà tập dữ liệu của các lớp có sự chênh lệch lớn. Công thức tính Precision và Recall dựa trên confusion matrix 2x2 là:

Precision = ==— Recall = ——~recltslon = TP + FP ecall = TP + FN

Precision cao đồng nghĩa với việc độ chính xác của các điểm tìm được

là cao. Recall cao đồng nghĩa với việc Tỉ lệ đương tính thật (True Positive Rate) cao, tức tỉ lệ bỏ sót các điểm thực sự Dương tính (Positive) là thấp. Một mô hình tốt là mô hình có cả Precision và Recall đều cao, tức là cảng gần 1 càng tốt.

! Nguồn: https://machinelearningcoban.com/2017/08/31/evaluation/

31

e FI score

F1 score là phương pháp đánh giá chat lượng mô hình phân lớp dựa

vào giá tri của Precision va Recall. Công thức tính F1 score là:

F1=2— 1 =2 Precision x Recall

1 Precision + Recall

Precision Recall

Giá trị Fl score nằm trong nửa khoảng (0,1]. Fl score càng cao chứng

tỏ mô hình càng tốt, F1 score bằng 0 chứng tỏ mô hình dự đoán sai hoàn

toàn.

2.9. Hệ thống phát hiện xâm nhập NIDS

Network-based Intrusion Detection System (NIDS) tức hệ thống phát hiện xâm nhập mạng, là một thiết bị hoặc phần mềm thông minh được đặt trong mạng

để kiểm tra một cách thụ động (có nghĩa là lưu lượng mạng phải được gửi đến thiết bị này dé kiểm tra) lưu lượng trong mang đó. Mục đích của việc kiểm tra là

dé phát hiện ra những hành vi đáng ngờ có thé phái hoại tính bảo mật của hệ thống như đò tìm, quét các cong, các cuộc tan công (từ bên ngoài hoặc chính từ bên trong nội bộ mạng), ... Một hệ thống phát hiện xâm nhập phải đối mặt với các van

dé như là lưu lượng mạng quá lớn hay phân phối dit liệu không đồng đều.

NIDS được phân làm 2 loại là NIDS dựa trên dấu hiệu (signature-based) và NIDS dựa trên hành vi bất thường (anomaly-based). NIDS dựa trên dấu hiệu kiêm tra lưu lượng mạng băng cách so sánh các dấu hiệu của lưu lượng mạng cần kiêm tra với các dấu hiệu của mẫu lưu lượng mạng tấn công đã biết trước (cách hoạt động giống như phần mềm phát hiện virus), cách làm này có tỉ lệ nhằm lẫn (nhằm lẫn lưu lượng mạng bình thường là lưu lượng mạng tấn công) thấp nhưng lại không thể phát hiện được những cuộc tấn công Zero-day và dễ bị đánh lừa bởi các cuộc tấn công mới. Mặt khác, NIDS dựa trên hành vi lại có kha năng phat hiện được những cuộc tấn công mới nhưng tỉ lệ nhằm lẫn cao hơn. Tuy nhiên, với

sự phát triển ưu việt của công nghệ học sâu, NIDS trở nên rất tiềm năng khi ứng dụng học sâu dé tăng ti lệ chính xác cũng như phát hiện ra được những cuộc tan

công mới.

32

Một phần của tài liệu Khóa luận tốt nghiệp An toàn thông tin: Trình phát hiện xâm nhập trong mạng khả lập trình dựa trên mạng đối sinh (Trang 34 - 44)

Tải bản đầy đủ (PDF)

(109 trang)