Tổng quan
Khi công nghệ đang phát triển từng ngày, kiến trúc monolithic ngày càng trở nên kém hiệu quả cho việc phát triển phần mềm. Kỷ nguyên số yêu cầu một giải pháp tốt hơn để gia tăng tiến độ phát triển các phần mềm để có thể cạnh tranh, chính vì thế kiến trúc microservice xuất hiện và được các tổ chức sử dụng trong quá trình phát triển phần mềm. Cấu trúc cốt lõi của kiến trúc này nằm ở việc các nhóm dịch vụ riêng lẻ sẽ tương tác với nhau thông qua việc gọi các API, đồng thời người dùng cũng sẽ sử dụng các API thông qua giao diện người dùng nhằm thực hiện những yêu cầu và nhận về kết quả. Tuy nhiên, dữ liệu luôn là tài sản quan trọng và chắc chắn luôn bị nhắm tới trong các cuộc tấn công mạng và các lỗ hổng trong thiết kế ứng dụng sẽ bị lợi dụng để đánh cắp dữ liệu. Trong khi phát triển phần mềm, số lượng API endpoint sẽ tăng lên dựa theo những chức năng cần thiết, việc mở rộng như thế dẫn tới bề mặt tấn công có thể khai thác được tăng lên [1], tạo thời cơ cho tin tặc tranh thủ. Từ thực tế đó, API Gateway được đưa vào sử dụng như một điểm tiếp nhận và xử lý tập trung các lệnh gọi API, hạn chế lộ bề mặt tấn công. Với nền công nghiệp dựa trên API trở nên ngày càng phát triển và mạnh mẽ hơn, việc xây dựng một hệ thống API Gateway với khả năng bảo mật tốt càng trở nên cần thiết khi cần bảo vệ các dịch vụ trước tầm nhắm của những kẻ tấn công. Dựa trên lợi thế về khả năng quản lý của API Gateway, các giải pháp sử dụng Machine Learning đang được tiến hành phát triển [2], tuy nhiên những giải pháp này vẫn chưa hoàn thành mà chỉ đang trong giai đoạn phát triển và hoàn thiện hơn. Từ đó, việc xây dựng một hướng tiếp cận hiệu quả để phát hiện ra những request gọi API bất thường ảnh hưởng tới vận hành của hệ thống thông qua cách xử lý trên API Gateway trở thành mục tiêu của đề tài này. SIEM sẽ được dùng để thu thập các logs hoạt động của API Gateway để đưa vào mô hình, LSTM và Multi-head Self-attention được kết hợp với nhau cùng phân tích các dữ liệu và nâng cao hiệu quả phát hiện những bất thường, cùng với cảnh báo và tự động điều chỉnh Firewall sẽ hiệu quả trong việc bảo vệ các hoạt động tầng ứng dụng của hệ thống.
Toàn bộ quy trình vận hành giúp phát hiện sớm tấn công, tiết kiệm các chi phí cần thiết khi khắc phục hậu quả và đảm bảo độ an toàn và sự tin cậy cho hệ thống microservice.
Mục tiêu nghiên cứu
- Tìm hiểu và phân tích các rủi ro về API đối với hệ thống microservice
- Đề xuất kiến trúc API Gateway an toàn kết hợp mô hình anomaly detection dựa trên deep learning và hệ thống SIEM nhằm cải thiện khả năng phát hiện các API request bất thường
- Triển khai, thử nghiệm và đánh giá hiệu quả của kiến trúc đề xuất
Phạm vi và giới hạn đề tài
- Xây dựng hệ thống cloud mô phỏng bằng Openstack
- Xây dựng module deep learning từ LSTM và cơ chế attention để phát hiện bất thường từ dữ liệu logs được gửi từ SIEM
- Thiết kế và triển khai API Gateway an toàn tích hợp mô hình Deep learning và module SIEM
- Thử nghiệm hệ thống với phần mềm fuzz và các CVE về RESTful API.
KIẾN TRÚC ĐỀ XUẤT BẢO VỆ API GATEWAY
Kiến trúc tổng thể hệ thống

Hệ thống được đề xuất trong nghiên cứu này được tổ chức thành nhiều lớp thành phần, trong đó mỗi lớp thực thi một vai trò rõ ràng trong quy trình truyền tải, xác thực, kiểm tra payload, cân bằng tải, phục vụ request, cùng ghi nhận toàn bộ thông tin để phục vụ công tác phát hiện bất thường. Kiến trúc tổng thể của hệ thống được trình bày trong sơ đồ hình 3.1 nhằm thể hiện luồng xử lý request từ phía khách hàng vào trong hệ thống. Khi request được tạo, kết nối sẽ được Nginx tiếp nhận để thực hiện vai trò kết thúc TLS (TLS Termination), giúp bảo vệ an toàn cho kênh truyền từ bên ngoài. Sau đó, request được chuyển vào phần Authentication để xác thực trạng thái đăng nhập, phần Authorization để xác định quyền truy cập trên tài nguyên được yêu cầu, cùng Session Management để duy trì trạng thái đăng nhập trong toàn bộ quy trình. Tiếp đó, toàn bộ log được đẩy về Wazuh SIEM phục vụ giám sát, phát hiện dấu hiệu bất thường trên luồng request. Khi có vấn đề được phát hiện, thông tin được truyền về phần Firewall để thực thi các quy tắc ngăn chặn tự động, giúp hệ thống có khả năng tự thích nghi trong thực tế. Khi request vượt qua toàn bộ lớp xác thực, phân quyền, rà soát an ninh, request sẽ được Load Balancer chuyển tiếp đến Service trong hạ tầng microservices để xử lý.
Kiến trúc triển khai chi tiết

Kiến trúc triển khai của hệ thống được thực thi bằng cách kết nối nhiều phần mềm thực tế, tạo ra quy trình xác thực, rà soát payload và phát hiện bất thường trong toàn bộ luồng hoạt động của request. Khi client tạo request để kết nối, Nginx sẽ hoạt động như một thành phần TLS termination, tiếp nhận kết nối an toàn HTTPS và giải mã request, giúp bảo vệ request trên đường truyền từ bên ngoài. Tiếp đó, request được truyền qua Oathkeeper của ORY — thành phần được thêm vào nhằm tận dụng khả năng xác thực request trực tiếp trên proxy. Mặc dù trong kiến trúc tổng quát ban đầu không nhắc chi tiết đến Oathkeeper, thành phần này được tích hợp nhằm tận dụng Session Management có sẵn trong Kratos để xác thực trạng thái đăng nhập, giúp quy trình xác thực trở nên rõ ràng, tách bạch phần xác thực ra khỏi phần ứng dụng chính, và mang lại khả năng mở rộng linh hoạt trong tương lai. Sau đó, request được truyền sang Kratos để xác thực đăng nhập thành công, rồi được chuyển tiếp sang Keto để xác định quyền truy cập trên tài nguyên được request
Luồng xử lý dữ liệu log và phát hiện bất thường
Sau khi request được xác thực, phân quyền thành công và rà soát payload bằng ModSecurity, toàn bộ thông tin liên quan (logs, events, trạng thái request) được Wazuh SIEM thu thập trực tiếp từ các thành phần trong hệ thống. Các log này được đẩy sang Kafka phục vụ luồng xử lý phát hiện bất thường trên Broker Model Instance, nơi Model phát hiện được huấn luyện trên kiến trúc BiLSTM kết hợp Multi-Head Self-Attention giúp xác định chính xác các dấu hiệu tấn công hoặc hành vi khác thường trong thời gian thực. Khi phát hiện vấn đề, Model sẽ tự động kích hoạt Ansible để tạo hoặc chỉnh sửa rule trên ModSecurity, giúp hệ thống tự thích nghi nhanh chóng trước các mối đe dọa mới. Đồng thời, cảnh báo được đẩy về Wazuh SIEM, giúp đội ngũ vận hành có góc nhìn toàn cảnh về trạng thái an ninh mạng của toàn hệ thống.
Mối liên kết giữa các thành phần
Toàn bộ thành phần trong hệ thống được tích hợp chặt chẽ nhằm tạo thành quy trình phòng thủ nhiều lớp. Nginx đảm nhận vai trò kết thúc kết nối TLS, giúp bảo vệ kênh truyền tải. Oathkeeper, cùng với Kratos (Authentication và Session Management) và Keto (Authorization), chịu trách nhiệm xác thực đăng nhập, duy trì trạng thái phiên đăng nhập và xác định quyền truy cập chi tiết trên tài nguyên được request. Sau đó, ModSecurity rà soát payload để phát hiện, ngăn chặn các kiểu tấn công trong luồng request. Đồng thời, toàn bộ log được Wazuh SIEM thu thập, đẩy sang Kafka để phục vụ luồng phát hiện bất thường trên Broker Model Instance, nơi Model học máy xác định các dấu hiệu tấn công. Khi phát hiện vấn đề, Model tự động kích hoạt Ansible để tạo hoặc chỉnh rule trên ModSecurity, giúp hệ thống tự thích nghi trong thời gian thực, còn cảnh báo được đẩy về Wazuh SIEM để phục vụ công tác giám sát. Cuối cùng, request khi vượt qua tất cả lớp xác thực, phân quyền, rà soát payload cùng phát hiện bất thường sẽ được Apache Load Balancer điều phối về Service đích, còn VamPI được tích hợp như một Service thử nghiệm giúp đánh giá hiệu quả toàn bộ quy trình trong thực tế.
XÂY DỰNG VÀ HUẤN LUYỆN MÔ HÌNH PHÁT HIỆN BẤT THƯỜNG
Thiết kế mô hình học máy: BiLSTM kết hợp Multi-head Self-attention
Kiến trúc thiết kế tổng quát của mô hình được xây dựng dựa trên những tham khảo từ ý tưởng của công trình DeepHTTP [23] cùng với công trình sBiLSAN [24] nhằm tận dụng những ưu thế của BiLSTM trong nắm bắt thông tin tuần tự từ luồng dữ liệu HTTP request kết hợp cơ chế Multi-head Self-attention được giới thiệu trong công trình của Vaswani và cộng sự [25] nhằm khai thác mối quan hệ dài hạn trong chuỗi token. BiLSTM sẽ giúp trích xuất ra đặc trưng ngữ cảnh hai chiều trong payload của request, trong khi cơ chế Attention giúp xác định mức độ quan trọng của mỗi token đối với kết quả phân tích. Kiến trúc kết hợp này không chỉ tận dụng được khả năng xử lý chuỗi hiệu quả của BiLSTM, mà còn tăng cường hiệu suất nhận diện bằng việc cho phép mô hình tập trung vào các phần then chốt trong payload – nhất là khi đối mặt với các mẫu tấn công được obfuscation hoặc có độ dài, độ phức tạp cao. Kết quả là một mô hình lai có khả năng tổng quát hoá cao, phù hợp với bài toán phát hiện bất thường trên dữ liệu log HTTP, tận dụng được ưu thế của cả BiLSTM (nắm bắt trình tự) lẫn Attention (nắm bắt mức độ ưu tiên) để đạt hiệu quả cao trong phát hiện tấn công mạng

TRIỂN KHAI HỆ THỐNG DÙNG OPENSTACK CLOUD VÀ ĐÁNH GIÁ
Phân chia tài nguyên và xây dựng kết nối các máy ảo
Tài nguyên cho các máy ảo trong hệ thống được phân phối tối thiểu như sau

Dựa theo bảng phân phối để tạo và cấu hình các máy ảo trong thực tế, các máy ảo và kết nối mạng được tạo và nối với nhau dựa theo topology sau

Mô hình triển khai

Kết luận
Đề tài tập trung nghiên cứu giải pháp tăng cường bảo mật cho hệ thống API Gateway trong kiến trúc microservice, thông qua việc kết hợp nền tảng giám sát log Wazuh SIEM với mô hình học máy BiLSTM tích hợp Multi‑Head Attention nhằm phát hiện sớm các dấu hiệu tấn công trên luồng log. Kết quả thử nghiệm bước đầu cho thấy hệ thống có khả năng phát hiện đúng và sinh cảnh báo đối với nhiều kiểu tấn công phổ biến như SQL Injection, XSS và các hành vi bất thường khác, alert được sinh ra đúng chỗ và rule cập nhật được cho firewall chặn tấn công. Tuy nhiên, trong phạm vi khóa luận, hệ thống vẫn tồn tại một số hạn chế do điều kiện triển khai còn đơn giản và nguồn lực có giới hạn. Cụ thể, độ trễ trong pipeline thu thập log (đặc biệt là giai đoạn Filebeat đến Kafka) khiến phản hồi của hệ thống chưa hoàn toàn đạt mức thời gian thực — một số request độc hại có thể chưa bị chặn ngay từ lần đầu tiên. Ngoài ra, môi trường thử nghiệm chưa tận dụng hết các thành phần như load balancer hoặc firewall như trong các hệ thống thực tế quy mô lớn, và thời gian thử nghiệm còn tương đối ngắn. Do đó, các kết quả đạt được hiện tại mới chỉ phản ánh một phần hiệu quả thực tế của hệ thống. Trong tương lai, hệ thống cần được mở rộng và thử nghiệm trên môi trường đa thành phần, kết hợp thêm cơ chế phát hiện nội tuyến và tối ưu pipeline truyền log nhằm đảm bảo khả năng phòng thủ kịp thời ngay từ lần truy cập đầu tiên.
Hướng phát triển
Dựa trên những gì đã đạt được tôi mong muốn có thể phát triển đề tài này hơn trong tương lai với một hệ thống thực tế chi tiết để các thử nghiệm sẽ có thể được áp dụng đầy đủ hơn. Đồng thời với đó mô hình LSTM kết hợp Multi-head Self-attention được cải tiến tối ưu hóa kiến trúc để phát hiện được nhiều dạng payload khác nhau, cũng như thu thập thêm các dataset attack API nhằm huấn luyện với một dataset phong phú hơn, giảm khả năng nhận diện sai với các dữ liệu thực tế . Tôi cũng sẽ cải tiến thêm khả năng phát hiện nhiễu của quy trình tiền xử lý với những token vô nghĩa hoặc hỗn loạn và tiếp tục sửa chữa và cập nhật vocab để vừa tăng thêm tính đa dạng vừa loại bỏ những sai sót và nhiễu vốn có. Đồng thời tìm kiếm và ứng dụng các phương pháp để giảm tối đa độ trễ trong toàn bộ luồng hoạt động để hệ thống có thể ứng dụng thực tế theo thời gian thực.


