Dưới sự phát triển của các công nghệ học máy - học sâu, nhiều người bắt đầu cũng nhận thức được rằng các Hệ thống phát hiện xâm nhập (Intrusion Detection Systems - IDS) dựa trên phương pháp học máy sẽ chịu nhiều rủi ro trước kiểu tấn công đối kháng (adversarial attack). Hiện đã có những nghiên cứu được thực hiện nhằm chứng minh rằng để phá vỡ các hệ thống IDS như vậy là khá dễ dàng. Nhiều nhà nghiên cứu cũng dần biết tới các điểm yếu, lỗ hổng của các phương pháp học máy; cho nên những nghiên cứu như IDSGAN (Intrusion Detection System Generative Adversarial Network) được đề xuất để tạo ra các tấn công đối kháng để đánh lừa và xâm nhập vào bất kỳ hệ thống IDS nào.
Mạng sinh đối kháng - hay mạng đối kháng tạo sinh 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 á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.
Để hiểu rõ hơn về các mô hình IDSGAN và cách nó phá vỡ một hệ thống IDS như thế nào, chúng ta cùng điểm qua một số thuật ngữ chính trong GAN - một mô hình máy học để phá vỡ sự thông minh của các thuật toán máy học. Cụ thể, GAN (Generative Adversarial Network - GAN) là một hệ thống trí tuệ nhân tạo đối kháng được xây dựng nhằm đánh bại một hệ thống trí tuệ nhân tạo khác. Nó chính là một kiến trúc mạng nơ-rơn nhiều lớp (deep neural net) được cấu thành bởi 2 mạng nơ-ron đối nghịch nhau (tính đối kháng).
Hình - Nguyên tắc hoạt động chính của GAN
- Đối kháng (Adversarial): trong quá trình xây dựng mô hình có 2 mạng chạy đối lập nhau, cố gắng làm tốt hơn mạng còn lại, gọi là bộ sinh (generator) và bộ phân biệt (discriminator).
- Sinh mẫu (Generative): generator tìm hiểu cách thức dữ liệu được hình thành, sau đó đặt câu hỏi: dựa vào giả định cách thức tạo ra dữ liệu, dữ liệu sẽ được phân vào nhóm nào?
- Đối nghịch với sinh mẫu là Phân biệt (Discriminative): bộ discriminator không quan tâm đến cách thức dữ liệu được tạo ra, chỉ phân loại dựa trên đầu vào dữ liệu.
Với đặc điểm trên, mục đích của bộ sinh (generator) là đánh lừa hệ thống IDS, trong khi bộ phân biệt (discriminator) có vai trò bắt chước một hệ thống IDS trong việc phân loại dữ liệu đầu vào (đúng hoặc sai) để đưa ra phản hồi cho bộ sinh mẫu. Trò chơi kết thúc khi hệ thống IDS và bộ phân biệt không thể xác định/ phân biệt chính xác các dữ liệu đầu vào được tạo ra bởi bộ sinh.
Để dễ hình dung hơn về cách hoạt động của IDSGAN, ví dụ dưới đây minh họa các chức năng chính của một hệ thống IDS đối kháng dựa trên GAN. Hãy tưởng tượng các dữ liệu đầu vào có thể là lưu lượng mạng độc hại (malicious input) - "quái vật", trong khi lưu lượng mạng bình thường (normal input) được xem như là "dân làng" đang cố gắng đi vào làng (hệ thống/ mạng). Ngôi làng này được kiểm soát bởi chiến binh gác cổng (gatekeeper) - IDS, nhằm bảo vệ ngôi làng trước sự xâm nhập của các quái vật. Các chiến binh gác cổng này có khả năng phân biệt đâu là các quái vật và dân làng rất giỏi. Do đó, dân làng được cho phép từ bên ngoài vào cổng làng, còn các quái vật sẽ bị đánh chặn ngay tại cổng thành. Sau đó, các quái vật này lên kế hoạch che giấu, ngụy trang sao cho những chiến binh gác cổng không thể phân biệt được và cho phép chúng bước vào ngôi làng. Cụ thể, một tên quái vật được chỉ định làm một chiến binh gác cổng mạo danh (fake gatekeeper) , nó được trao cho nhiệm vụ đứng gần các chiến binh gác cổng thực thụ để học cách nhận diện đâu là dân làng, đâu là quái vật của chiến binh này (đóng vai trò bộ phân biệt - discriminator). Ngoài ra, một con quái vật khác được chỉ định làm việc thiết kế trang phục (costume maker - vai trò generator) và học cách tạo ra diện mạo trang phục bên ngoài giống người nhất dựa trên thông tin phản hồi từ tên gác cổng giả mạo (fake gatekeeper), nhằm mục đích cho phép các quái vật khác ngụy trang để bước vào ngôi làng. Tên quái vật làm nhiệm vụ may trang phục và đưa cho các quái vật khác tiến đến vị trí của chiến binh gác cổng thật và tên giả mạo. Tại đây, các tên quái vật được ngụy trang bằng các trang phục mới trộn lẫn vào các dân làng khác và thử đi qua cổng để thăm dò cách chiến binh gác cổng thật và tên giả mạo phân biệt đâu là dân làng và đâu là dân làng giả mạo (quái vật). Tên gác cổng giả mạo so sánh quyết định của hắn với quyết định của chiến binh gác cổng thật; và học, ghi nhận lại các đặc tính, đặc điểm nào làm cho quái vật được xem là một quái vật để gửi lại thông tin phản hồi về cho kẻ thiết kế phục trang để điều chỉnh lại trang phục. Đến khi tên gác cổng giả mạo không còn khả năng phân biệt đâu là dân làng và đâu là quái vật nữa thì kẻ tạo trang phục đã thành công trong việc đánh lừa chiến binh gác cổng thật với bộ trang phục và diện mạo giống như dân làng mà hắn tạo ra.
Đây chính là cách một hệ thống IDSGAN hoạt động; một bộ sinh sẽ đảm nhận nhiệm vụ tạo các lưu lượng mạng độc hại và trộn lẫn nó với lưu lượng mạng bình thường, sau đó gửi các lưu lượng mạng này tới hệ thống IDS và bộ phân biệt (discriminator). Bộ phân biệt và bộ sinh được huấn luyện song song với nhau. Bộ phân biệt cố gắng nhận diện từng gói tin/lưu lượng mạng được gửi đến và so sánh quyết định của nó với hệ thống IDS (ví dụ như bỏ sót/ không phát hiện được), để điều chỉnh trọng số tương ứng trong quá trình học. Trong khi đó, bộ sinh sẽ học để tạo ra dữ liệu dựa trên các quyết định mà bộ phân biệt đã đưa ra. Cuối cùng, bộ sinh học được cách phân biệt dữ liệu mạng độc hại và tạo ra một mô hình gần như hoàn hảo trong việc đánh lừa bộ phân biệt.
Mô hình mạng sinh đối kháng - GAN hiện tại vẫn đang là một khái niệm khá mới và đang được phát triển. Điều này có nghĩa rằng, có rất nhiều ứng dụng trong các lĩnh vực khác nhau, điển hình như nhận diện hình ảnh. Trong xu hướng đó, IDSGAN là một trong những lĩnh vực tiềm năng mặc dù nó là một framework mới. Nó đã được chứng minh có khả năng đánh lừa các IDS đơn giản, và thậm chí nếu có đủ thời gian thì nó có thể qua mặt hầu hết các hệ thống bảo mật được xem là mạnh mẽ ở thời điểm hiện tại. Hi vọng rằng, sự phát triển này sẽ được sử dụng để cải thiện các hệ thống IDS hiện có nhằm chống lại hầu hết các tấn công nguy hiểm nhất do yêu cầu cần bảo mật thông tin của người dùng.
Theo bài viết của Gerry Saporito