Chương 1: Giới thiệu tổng quan về đề tài và những công trình nghiên cứu liên quan. • Chương 2: Sơ lược kiến thức nền tảng liên quan đến đề tài. • Chương 3: Trình bày phương pháp luận và thiết kế hệ thống cho các phương pháp sinh dữ liệu, tấn công hệ thống cộng tác. • Chương 4: Hiện thực phương pháp đề xuất và đánh giá kết quả • Chương 5: Kết luận và hướng phát triển của đề tài.
KIẾN THỨC NỀN TẢNG Chương này trình bày sơ lược cơ sở lý thuyết của nghiên cứu bao gồm: Hệ thống phát hiện xâm nhập, mô hình học cộng tác, mô hình mạng sinh đối kháng. Hệ thống phát hiện xâm nhập Hệ thống phát hiện xâm nhập - IDS (Intrusion Detection Systems) là phần mềm hoặc công cụ giúp bảo mật hệ thống và cảnh báo lỗi khi có các hành vi đáng ngờ xâm nhập vào hệ thống. Mục đích chính của IDS là ngăn ngừa và phát hiện những hành động phá hoại tính bảo mật của hệ thống hoặc những hành vi như dò tìm, quét các cổng. Có nhiều loại IDS khác nhau, mỗi loại có một chức năng và nhiệm vụ riêng chúng bao gồm: • NIDS (Network Intrusion Detection Systems): thường được bố trí tại những điểm dễ bị tấn công trong hệ thống mạng.
NIDS được sử dụng để giám sát lưu lượng mạng đến (inbound) và đi (outbound) từ tất cả các thiết bị trên mạng. Điểm cộng lớn nhất của NIDS là có thể quét tất cả traffic inbound và outbound, nhưng việc này có thể làm giảm tốc độ chung của mạng. • HIDS (Host Intrusion Detection Systems): hệ thống phát hiện xâm nhập này hoạt động trên tất cả các thiết bị trong hệ thống có thể kết nối Internet. HIDS chỉ giám sát các gói dữ liệu inbound và outbound từ thiết bị hoặc những hành động đáng ngờ tại cấp truy cập nội bộ.
• Signature-Based IDS: Đây là các IDS hoạt động dựa trên dấu hiệu đã học được, giám sát các gói tin trên mạng tương tự như cách phần mềm diệt virus hoạt động. Tuy nhiên Signature-Based có thể không phát hiện được 10 những mối đe dọa mới, khi dấu hiệu để nhận biết nó chưa được IDS cập nhật. • Anomaly-Based IDS: IDS này được sử dụng để phát hiện mối đe dọa dựa trên sự bất thường. Anomaly-Based sẽ giám sát traffic mạng và so sánh với đường cơ sở (baseline) đã được thiết lập từ trước.
Baseline sẽ xác định đâu là mức bình thường của mạng và cảnh báo cho quản trị viên mạng hoặc người dùng khi phát hiện traffic truy cập bất thường hoặc khác biệt so với baseline. Mô hình học máy Học máy hay máy học (Machine Learning) là một loại trí tuệ nhân tạo (AI) cho phép các ứng dụng phần mềm trở nên chính xác hơn trong việc dự đoán kết quả mà không cần được lập trình rõ ràng để làm như vậy. Các thuật toán học máy sử dụng dữ liệu lịch sử làm đầu vào để dự đoán các giá trị đầu ra mới. Một số ứng dụng phổ biến của học máy bao gồm hệ thống đề xuất (recommend system), hệ thống phát hiện bất thường (anomaly detection), phát hiện xâm nhập (ids), phần mềm độc hại (malwares), lọc thư rác (spam email).
Học máy cổ điển thường được phân loại theo cách một thuật toán học để trở nên chính xác hơn trong các dự đoán của nó. Có bốn cách tiếp cận cơ bản: học có giám sát, học không giám sát, học bán giám sát và học tăng cường. Loại thuật toán mà các nhà khoa học sử dụng tùy thuộc vào loại dữ liệu họ muốn dự đoán. • Học có giám sát (Supervised Machine Learning): Trong loại học máy này, các nhà nghiên cứu cung cấp các thuật toán với dữ liệu huấn luyện được gắn nhãn và xác định các biến mà họ muốn thuật toán đánh giá để tìm mối tương quan.
Cả đầu vào và đầu ra của thuật toán đều được chỉ định. • Học không giám sát (Unsupervised Machine Learning): Loại học máy này 11 liên quan đến các thuật toán đào tạo trên dữ liệu không được gắn nhãn. Thuật toán quét qua các tập dữ liệu để tìm kiếm bất kỳ kết nối có ý nghĩa nào. Dữ liệu mà các thuật toán đào tạo cũng như các dự đoán hoặc khuyến nghị mà chúng xuất ra được xác định trước.
• Học bán giám sát (Semi-Supervised Learning): Cách tiếp cận này đối với học máy liên quan đến sự kết hợp của hai loại trước đó. Các nhà khoa học dữ liệu có thể cung cấp một thuật toán chủ yếu là dữ liệu đào tạo được gắn nhãn, nhưng mô hình có thể tự do khám phá dữ liệu và phát triển sự hiểu biết của riêng mình về tập dữ liệu. • Học tăng cường (Reinforcement Learning): những người nghiên cứu thường sử dụng học tăng cường để dạy máy hoàn thành một quy trình gồm nhiều bước trong đó có các quy tắc được xác định rõ ràng. Các nhà khoa học lập trình một thuật toán để hoàn thành một nhiệm vụ và cung cấp cho nó những dấu hiệu tích cực hoặc tiêu cực khi nó tìm ra cách hoàn thành một nhiệm vụ.
Nhưng phần lớn, thuật toán tự quyết định những bước cần thực hiện trong quá trình thực hiện. Mô hình học cộng tác Đối với các phương pháp máy học truyền thống, người ta sẽ tập trung toàn bộ dữ liệu để thực hiện các thao tác huấn luyện. Việc làm này vừa tốn thời gian thu thập, truyền tải dữ liệu từ nhiều nguồn khác nhau, đồng thời vừa đòi hỏi máy chủ huấn luyện phải đảm bảo khả năng xử lí cao. Vì vậy một phương pháp học mới được ra đời được gọi là Federated Learning (FL) hay còn biết đến là phương pháp học cộng tác.
Federated Learning (FL) là phương pháp học mà không cần phải tập trung dữ liệu tại một máy chủ trung tâm mà có thể huấn luyện phân tán tại các thiết bị chứa dữ liệu. Các thiết bị sau khi huấn luyện mô hình cục bộ có nhiệm vụ gửi các trọng số đã huấn luyện lên một máy chủ trung tâm để thực hiện việc tổng 12 hợp trọng số. Ngay sau đó, mô hình mới với trọng số sau khi được tổng hợp sẽ tiếp tục được phân phối xuống các thiết bị để tiếp tục quá trình huấn luyện cho đến khi đạt được hiệu năng mong muốn. Bằng nguyên lí hoạt động như vậy, FL giúp giảm thời gian và công sức để thu thập dữ liệu tập trung, đồng thời tiết kiệm chi phí huấn luyện mô hình cho máy chủ trung tâm.
Bên cạnh đó, phương pháp này còn giúp chúng ta có thể bảo vệ tính riêng tư dữ liệu của các cá nhân, tổ chức khi tham gia huấn luyện các mô hình học máy. Cụ thể, máy chủ và các tổ chức tham gia huấn luyện chỉ tương tác với nhau qua các trọng số mô hình chứ không phải là dữ liệu như phương pháp truyền thống. Vì vậy, các cá nhân, tố chức có thể sẵn sàng cộng tác với nhau để xây dựng một mô hình máy học đủ tốt có thể hoạt động hiệu quả mà không phải lo lắng về vấn đề lộ dữ liệu nhạy cảm. FL được chia làm hai loại chính: • Vertical federated learning: là phương pháp học mà các máy sẽ chia sẻ thông tin của cùng một đối tượng nhưng khác các đặc trưng.
Ví dụ: thông tin của người dùng ở ngân hàng và bệnh viện trong một khu vực nào đó. Ở ngân hàng sẽ có những đặc trưng khác với bệnh viện khi có cùng một khách hàng vì vậy ngân hàng và bệnh viện có thể chia sẽ với nhau và bổ sung cho nhau ở khía cạnh các đặc trưng. • Horizontal federated learning: là phương pháp học mà các máy sẽ chia sẻ vể lượng thông tin cho nhau. Ví dụ: thông tin của người dùng ở hai ngân hàng trong các vùng khác nhau.
Họ sẽ chia sẻ thông tin khách hàng với nhau. Mô hình mạng sinh đối kháng (GAN) 2. GAN là gì? Mô hình mạng sinh đối kháng (Generative Adversarial Networks - GAN) là một mô hình sinh mẫu trong học máy, được quan tâm rất nhiều trong xu hướng 13 áp dụng trí tuệ nhân tạo vào giải quyết các vấn đề trong đời sống hiện nay, từ nhận diện xử lý ảnh, tới các vấn đề bảo mật, an toàn thông tin cho các hệ thống. GAN thuộc nhóm generative model, trong đó generative là tính từ nghĩa là khả năng sinh ra, model nghĩa là mô hình.
Vậy hiểu đơn giản generative model nghĩa là mô hình có khả năng sinh ra dữ liệu. Hay nói cách khác, GAN là mô hình có khả năng sinh ra dữ liệu mới. Ví dụ như những ảnh mặt người ở Hình 2.1 chúng ta thấy là do GAN sinh ra, không phải mặt người thật. Dữ liệu sinh ra nhìn như thật nhưng không phải thật.1: Ảnh mặt người sinh bởi GAN 2.
Cấu trúc mạng GAN Mô hình mạng GAN được cấu tạo bởi 2 mạng nơ-ron luôn hoạt động đối nghịch nhau: bộ sinh (Generator) và bộ phân biệt (Discriminator). • Generator: Học cách sinh ra dữ liệu giả để lừa mô hình Discriminator. Để có thể đánh lừa được Discriminator thì đòi hỏi mô hình sinh ra output phải thực sự tốt. Do đó chất lượng dữ liệu phải càng như thật càng tốt.
• Discriminator: Học cách phân biệt giữa dữ liệu giả được sinh từ mô hình 14 Generator với dữ liệu thật. Discriminator như một giáo viên chấm điểm cho Generator biết cách nó sinh dữ liệu đã đủ tinh xảo để qua mặt được Discriminator chưa và nếu chưa thì Generator cần tiếp tục phải học để tạo ra dữ liệu thật hơn. Đồng thời Discriminator cũng phải cải thiện khả năng phân biệt của mình vì chất lượng dữ liệu được tạo ra từ Generator càng ngày càng giống thật hơn. Thông qua quá trình huấn luyện thì cả Generator và Discriminator cùng cải thiện được khả năng của mình.
Ý 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ẽ thua. Ở mỗi lượt thì cả 2 đều muốn maximize cơ hội thắng của mình và minimize cơ hội thắng của đối phương. Discriminator và Generator trong mạng GAN giống như 2 đối thủ trong trò chơi, theo đó, mô hình GAN hội tụ khi cả Generator và Discriminator đạt tới trạng thái Nash equilibrium, 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. PHƯƠNG PHÁP LUẬN VÀ THIẾT KẾ HỆ THỐNG 3.
Phát sinh dữ liệu đối kháng bằng mô hình IDSGAN Mô hình IDSGAN dưới đây thừa hưởng từ công trình [6], được hình thành dựa trên 5 bước cơ bản nhằm tạo ra một công cụ sinh dữ liệu đối kháng một cách tự động với khả năng trốn tránh được trình nhận diện bất thường của mô hình IDS toàn cục. Biến thể WGAN được sử dụng trong mô hình IDSGAN này.