Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh cuộc Cách mạng công nghiệp 4.0 phát triển mạnh mẽ, việc ứng dụng các mô hình kiến trúc hiện đại vào quy trình vận hành và quản lý phần mềm trở thành yêu cầu cấp thiết của các doanh nghiệp. Kiến trúc phần mềm dạng vi dịch vụ (Microservices) đang dần thay thế kiến trúc nguyên khối truyền thống nhờ khả năng chia nhỏ ứng dụng thành các dịch vụ độc lập, giúp nâng cao tính linh hoạt, tính khả chuyển, độ tin cậy và cho phép các nhóm phát triển sử dụng các ngăn xếp công nghệ đa dạng. Tuy nhiên, việc phân tán ứng dụng thành nhiều dịch vụ độc lập giao tiếp qua mạng cũng làm gia tăng đáng kể bề mặt tấn công và tạo ra nhiều thách thức mới đối với công tác bảo mật thông tin.

Bên cạnh đó, các hệ thống tìm việc làm trực tuyến đóng vai trò kết nối nhà tuyển dụng với người lao động nhằm giải quyết bài toán việc làm trong xã hội. Hệ thống này xử lý khối lượng lớn dữ liệu cá nhân, thông tin hồ sơ ứng viên (CV) và các yêu cầu tuyển dụng nhạy cảm, đòi hỏi độ sẵn sàng và tính an toàn cao. Việc xuất hiện các lỗ hổng bảo mật trên hệ thống tìm việc làm xây dựng trên nền tảng vi dịch vụ có thể dẫn đến rủi ro lộ lọt thông tin người dùng và gián đoạn dịch vụ nghiêm trọng.

Mục tiêu và nhiệm vụ nghiên cứu của đề tài được tác giả xác định cụ thể:

  1. Nghiên cứu tổng quan về kiểm thử bảo mật và bài toán bảo mật đặc thù trong kiến trúc Microservices.
  2. Khảo sát, nghiên cứu các kỹ thuật và công cụ kiểm thử tính đáp ứng, tính tương thích và kiểm thử an toàn API (tiêu biểu như Apache JMeter, Gatling, Pact, Invicti, Burp Suite và nền tảng Kong API Gateway).
  3. Triển khai môi trường thực nghiệm, áp dụng các kỹ thuật và công cụ kiểm thử vào một hệ thống tìm việc làm cụ thể dựa trên kiến trúc Microservices.
  4. Đánh giá kết quả thực nghiệm, phát hiện các lỗ hổng tồn tại và đề xuất các giải pháp khắc phục nhằm nâng cao tính an toàn cho hệ thống.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Các công cụ kiểm thử bảo mật ứng dụng Microservices, các lỗ hổng bảo mật giao diện lập trình ứng dụng (API), cơ chế định tuyến và xác thực qua API Gateway.
  • Phạm vi không gian: Đồ án được thực hiện tại Khoa Công nghệ thông tin, Học viện Kỹ thuật Mật mã, Ban Cơ yếu Chính phủ.
  • Phạm vi thời gian: Đồ án hoàn thành vào tháng 3 năm 2023.
  • Phạm vi kỹ thuật: Tập trung vào các kỹ thuật kiểm thử hiệu năng API, kiểm thử tương thích hợp đồng, kiểm thử tấn công tiêm mã SQL (SQL Injection), tấn công vét cạn (Brute Force) và kiểm soát lưu lượng trên Kong API Gateway tích hợp với hệ thống tìm việc làm.

Cơ sở lý thuyết và phương pháp nghiên cứu

Đồ án xây dựng dựa trên các nền tảng lý thuyết và tiêu chuẩn kỹ thuật an toàn thông tin:

  • Khái niệm và kỹ thuật kiểm thử bảo mật: Bao gồm các kỹ thuật Fuzz testing (kiểm thử dữ liệu ngẫu nhiên), Injection testing (kiểm thử tiêm mã như SQL Injection, Cross-Site Scripting - XSS, Command Injection), kiểm tra quyền truy cập và phân quyền, kiểm thử xác thực và tấn công vét cạn (Brute Force Attack), kiểm tra quản lý phiên (Session Management) và kiểm tra an ninh mạng.
  • Phân loại kiểm thử và tiêu chuẩn: Khảo sát các dạng kiểm thử như kiểm tra thâm nhập (Penetration Testing), quét lỗ hổng (Vulnerability Scanning), đánh giá mã nguồn (Code Review), đánh giá rủi ro (Security Risk Assessment), đánh giá cấu hình (Security Configuration Review), kiểm tra tấn công phi kỹ thuật (Social Engineering Testing) và kiểm tra tuân thủ các quy định quốc tế như HIPAA, PCI DSS, GDPR.
  • Mô hình kiến trúc Microservices: Khảo sát các đặc trưng cốt lõi gồm tính triển khai độc lập, tính đơn trách nhiệm (Single Responsibility), liên kết lỏng lẻo, giao tiếp dựa trên API REST/HTTP, kiến trúc đa ngôn ngữ (Polyglot), tính đóng gói trong container và khả năng chịu lỗi.
  • Mô hình API Gateway: Nghiên cứu cơ chế cổng trung gian quản lý API, các thành phần bảo vệ, lưu bộ nhớ đệm (caching), quản lý hạn mức truy cập, giám sát trạng thái và định tuyến. Đi sâu vào các phương thức xác thực API: Key Auth (AppKeys), OAuth2 và OAuth2 kết hợp JSON Web Token (JWT).

Phương pháp nghiên cứu thực tế được tác giả áp dụng:

  • Phương pháp phân tích - tổng hợp lý thuyết: Hệ thống hóa các tài liệu chuyên ngành về an toàn ứng dụng phân tán, nhận diện 6 thách thức hàng đầu trong bảo mật Microservices (bề mặt giao tiếp rộng, kiểm soát phân tán làm suy giảm hiệu suất, độ phức tạp trong thiết lập bootstrapping trust, khó khăn trong quan sát qua logs/metrics/traces, tính bất biến của container và yêu cầu chuyên môn cao của kiến trúc Polyglot) cùng 6 nhóm lỗ hổng API phổ biến.
  • Phương pháp thực nghiệm kỹ thuật: Thiết lập môi trường thử nghiệm với các công cụ chuyên dụng: Apache JMeter (đánh giá hiệu năng và giới hạn request), Gatling (ngôn ngữ kịch bản DSL trên nền Scala), Pact (kiểm thử hợp đồng - Consumer-Driven Contract giữa các dịch vụ), Invicti (dò quét tự động lỗ hổng SQLi, XSS) và Burp Suite Professional (bắt chặn gói tin qua Proxy, tấn công tự động bằng Intruder, kiểm tra tham số bằng Repeater).
  • Nguồn dữ liệu: Dữ liệu thử nghiệm từ các điểm cuối (endpoints) API của hệ thống tìm việc làm, các gói tin HTTP/HTTPS thu nhận từ đường truyền mạng, bộ từ điển payload phục vụ tấn công brute force và nhật ký ghi nhận (logs) từ Kong API Gateway.

Thiết kế và triển khai hệ thống kiểm thử

Hệ thống thực nghiệm được thiết kế theo mô hình kiến trúc phân tán có thành phần trung gian điều phối:

  • Kiến trúc tích hợp: Hệ thống tìm việc làm bao gồm các dịch vụ phân tách (như dịch vụ quản lý người dùng, dịch vụ quản lý việc làm - jobs) được triển khai phía sau Kong API Gateway. Mọi yêu cầu từ phía máy khách (Client) đều phải đi qua cổng API Gateway duy nhất trước khi được định tuyến tới các vi dịch vụ tương ứng.
  • Công nghệ triển khai:
    • Nền tảng cổng: Kong API Gateway xây dựng trên nền NGINX, tích hợp cơ sở dữ liệu PostgreSQL/Apache Cassandra, kết hợp Redis để kiểm soát lưu lượng và MongoDB lưu trữ thông tin cấu hình API.
    • Các công cụ kiểm thử: Apache JMeter thiết lập qua Thread Group, HTTP Request Defaults, HTTP Header Manager, Loop Controller và Listeners (định dạng kết quả CSV/XML); Burp Suite Professional cấu hình Proxy trung gian lắng nghe cổng mạng; công cụ kiểm thử hợp đồng Pact hỗ trợ tạo mock service giả lập luồng giao tiếp.
  • Cơ chế bảo mật và điều khiển luồng:
    • Xác thực truy cập: Thiết lập xác thực API Key thông qua khóa định danh (Key Auth) chèn trong HTTP Header; hỗ trợ kiểm tra AccessToken định dạng chuẩn OAuth2.
    • Kiểm soát tần suất truy vấn (QPS - Queries Per Second): Sử dụng thao tác incr trong Redis để đếm và giới hạn số lượng yêu cầu của từng URL trong một đơn vị giây theo 3 cấp độ (cấp ứng dụng, cấp người dùng và cấp cụm); bộ nhớ đệm Nginx cục bộ duy trì cấu hình trong thời gian hợp lệ 20 phút.
    • Kiểm soát nguồn gốc và địa chỉ mạng: Cấu hình quy tắc kiểm tra tiêu đề Origin của HTTP request và chính sách lọc chặn dải địa chỉ IP của client truy cập trái phép.

Nội dung chính theo từng chương

Chương I: Tổng quan về kiểm thử bảo mật và vấn đề kiểm thử trên Microservices

Chương 1 hệ thống hóa cơ sở lý luận về kiểm thử phần mềm định hướng an toàn thông tin và kiến trúc hệ thống phân tán. Tác giả định nghĩa kiểm thử bảo mật là quá trình đánh giá nhằm phát hiện các điểm yếu, đo lường các mối đe dọa tiềm ẩn trước khi bị khai thác, đồng thời chuẩn hóa quy trình kiểm thử bảo mật thành 7 giai đoạn liên tục:

  1. Xác định mục tiêu và phạm vi kiểm thử;
  2. Thu thập thông tin hệ thống (kiến trúc, công nghệ, cơ sở dữ liệu);
  3. Phân tích rủi ro và đánh giá mức độ nghiêm trọng;
  4. Lập kế hoạch kiểm thử và lựa chọn công cụ;
  5. Thực hiện kiểm thử bằng các kỹ thuật chuyên biệt;
  6. Phân tích kết quả và phân loại lỗ hổng;
  7. Lập báo cáo chi tiết và triển khai biện pháp khắc phục.

Tiếp đó, chương phân tích mô hình kiến trúc Microservices với các đặc trưng cốt lõi và đánh giá ưu, nhược điểm. Tác giả chỉ ra 6 thách thức an toàn lớn nhất của hệ thống vi dịch vụ gồm: bề mặt tấn công mở rộng theo cấp số nhân do số lượng cổng giao tiếp tăng; suy giảm hiệu năng do phải kiểm tra bảo mật phân tán nhiều lần; khó khăn trong việc thiết lập tin cậy khởi động (bootstrapping trust); khả năng giám sát và truy vết yêu cầu (tracing) phức tạp qua nhiều node mạng; xung đột giữa tính bất biến của container và yêu cầu luân chuyển thông tin xác thực định kỳ; áp lực chuyên môn bảo mật trên từng nhóm phát triển do kiến trúc đa ngôn ngữ. Bên cạnh đó, tác giả phân loại 6 lỗ hổng API thường gặp: thiếu kiểm tra đầu vào, quản lý xác thực yếu, lỗ hổng phân quyền, thiếu bảo vệ chống tấn công (SQLi, XSS, CSRF), quản lý thông tin lỗi không an toàn và thiếu giám sát an ninh liên tục.

Chương II: Nghiên cứu kỹ thuật kiểm thử an toàn trên Microservices

Chương 2 đi sâu vào các giải pháp công nghệ và quy trình kiểm thử API. Nội dung mở đầu bằng việc phân tích mô hình API Gateway, tập trung vào Kong API Gateway với vai trò cổng trung gian xử lý các tác vụ phi nghiệp vụ: quản lý URL, bảo mật (JWT, OAuth2, Basic Auth, API Key), phân phối tải, chuyển đổi giao thức (HTTP, HTTPS, WebSockets, TCP), quản lý định tuyến và tích hợp plugin mở rộng. Tác giả cũng chỉ ra các nhược điểm của Kong Gateway như cấu hình phức tạp, thời gian triển khai lâu, thiếu vắng một số tính năng gateway truyền thống và phụ thuộc vào phiên bản Enterprise có phí đối với các tiện ích nâng cao.

Về kiểm thử tính đáp ứng (hiệu năng API), chương phân loại 5 dạng kiểm thử: Capacity Testing, Load Testing, Volume Testing, Stress Testing và Soak Testing. Hai công cụ được nghiên cứu chi tiết là Gatling (sử dụng ngôn ngữ Scala, hỗ trợ mô phỏng bất đồng bộ) và Apache JMeter (hỗ trợ đa giao thức HTTP, FTP, JDBC, SOAP với các thành phần Thread Group, HTTP Sampler, Listener).

Về kiểm thử tính tương thích, tác giả so sánh 3 kỹ thuật tích hợp API service (Reverse Proxy, API Gateway, Service Mesh) và mô tả kiến trúc chi tiết của cổng API gồm các cơ chế xác thực (Key Auth, OAuth2, OAuth2+JWT), chức năng ủy quyền đảo ngược, bộ đệm kết quả bằng Redis/Nginx và cơ chế đồng bộ dữ liệu QPS giữa các cụm cơ sở dữ liệu MongoDB đặt tại ba khu vực (Bắc Kinh, Nam Kinh, Thượng Hải). Công cụ Pact được giới thiệu như giải pháp kiểm thử hợp đồng tự động hóa theo quy trình 6 bước thông qua các mock service giả lập.

Về kỹ thuật kiểm thử tấn công, chương trình bày chi tiết về hai công cụ:

  • Invicti: Trình quét tự động kết hợp kiểm tra thủ công, có khả năng chứng minh lỗ hổng SQLi, XSS là có thật thông qua việc trích xuất bằng chứng (proof-of-exploit) và cung cấp biểu đồ báo cáo trực quan.
  • Burp Suite Professional: Nghiên cứu các module Proxy, Intruder, Repeater và Scanner nhằm thực hiện phân tích cú pháp API, kiểm tra thời gian đáp ứng, toàn vẹn dữ liệu và kiểm thử kịch bản tiêm mã SQL (SQLi) qua các tham số truy vấn.

Chương III: Thực nghiệm với một hệ thống Microservices

Chương 3 trình bày toàn bộ quá trình áp dụng các công cụ vào hệ thống tìm việc làm. Môi trường thực nghiệm được thiết lập bằng cách tích hợp các API nghiệp vụ của hệ thống tìm việc làm vào Kong API Gateway. Kịch bản kiểm thử bao gồm kiểm thử hiệu năng và kiểm thử bảo mật thâm nhập thực tế:

  • Kiểm thử hiệu năng: Sử dụng Apache JMeter thiết lập kịch bản gửi tải đồng thời lên Kong Gateway nhằm đánh giá độ trễ và khả năng đáp ứng; ghi nhận thông số phản hồi tại lần kiểm thử thứ 6 và chứng minh tính năng giới hạn lưu lượng (rate limiting) của Kong Gateway hoạt động chính xác khi chặn các HTTP request vượt ngưỡng cấu hình.
  • Kiểm thử bảo mật:
    • Khai thác lỗ hổng SQL Injection: Sử dụng phương thức GET gửi tới endpoint API người dùng; sau khi phân tích gói tin và tải lên Burp Suite Intruder với danh sách tham số payload, hệ thống trả về mã trạng thái HTTP hiển thị toàn bộ danh sách tài khoản người dùng trong cơ sở dữ liệu thay vì chỉ trả về một bản ghi.
    • Tấn công vét cạn khóa xác thực (Key Auth): Thiết lập vị trí payload marker tại giá trị khóa (Value) trong phần HTTP Header trên Burp Suite Intruder; tại request thứ 976, hệ thống trả về mã phản hồi HTTP 200, xác định chính xác khóa bí mật dùng để truy xuất danh sách người dùng qua Kong Gateway.
    • Tấn công vét cạn tài khoản đăng nhập: Tại giao diện đăng nhập (yêu cầu gửi phương thức POST chứa chuỗi định dạng JSON), cấu hình 2 tập Payload (Payload set 1 là username, Payload set 2 là password); bộ lọc phản hồi ghi nhận được một response HTTP 200 trả về tài khoản và mật khẩu hợp lệ.
    • Kiểm tra tính an toàn kênh truyền: Quá trình đăng ký và đăng nhập của người dùng bị Burp Suite Proxy chặn bắt, phát hiện thông tin tài khoản và mật khẩu được gửi đi dưới dạng bản rõ (cleartext) trên đường truyền HTTP.
    • Kiểm thử tích hợp và lọc truy cập: Kiểm thử endpoint API tìm việc (jobs) với tiêu đề Origin: google; kiểm thử cơ chế kiểm soát truy cập cho thấy Kong Gateway đã ngăn chặn thành công yêu cầu từ client dựa trên địa chỉ IP; thực hiện gửi phương thức POST tạo người dùng mới thành công qua Kong Gateway với định dạng dữ liệu application/json.
STT Kịch bản kiểm thử Công cụ sử dụng Phương thức & Đầu vào Kết quả thực nghiệm ghi nhận
1 Kiểm thử hiệu năng và giới hạn tải Apache JMeter, Kong Gateway Kịch bản HTTP đa luồng (Thread Group) Báo cáo thông số tại lần chạy thứ 6; Kong Gateway giới hạn và từ chối request vượt ngưỡng
2 Kiểm thử tiêm mã SQL (SQLi) Burp Suite (Proxy, Intruder) Phương thức GET kèm chuỗi injection payload vào tham số API Phát hiện lỗ hổng SQLi; API trả về mã HTTP kèm toàn bộ danh sách user
3 Tấn công vét cạn khóa xác thực API Burp Suite Intruder Payload marker tại giá trị Key Auth trong HTTP Header Dò tìm thành công khóa xác thực tại request thứ 976 (mã phản hồi HTTP 200)
4 Tấn công vét cạn tài khoản đăng nhập Burp Suite Intruder Phương thức POST, chuỗi JSON, 2 tập payload (user/pass) Lọc được 1 phản hồi HTTP 200 xác định đúng cặp tài khoản và mật khẩu
5 Kiểm tra an toàn dữ liệu truyền thông Burp Suite Proxy Bắt chặn gói tin đăng nhập/đăng ký trên giao diện Thu thập toàn bộ thông tin đăng nhập ở dạng bản rõ (cleartext) không mã hóa
6 Kiểm thử tích hợp và chính sách an ninh Kong API Gateway, Client Web Phương thức POST JSON tạo user; Header Origin: google Tạo user thành công qua Gateway; Kong chặn thành công client theo địa chỉ IP

Kết quả và đóng góp

Nghiên cứu đạt được các kết quả cụ thể thông qua số liệu và chứng cứ thực nghiệm:

  • Kết quả kiểm thử hiệu năng: Xác lập quy trình cấu hình kiểm thử tải cho API Gateway bằng Apache JMeter; kiểm chứng thành công khả năng điều tiết lưu lượng của Kong Gateway thông qua cơ chế đếm của Redis, ngăn chặn hiện tượng quá tải cho các vi dịch vụ phía sau.
  • Kết quả kiểm thử bảo mật: Phát hiện 4 điểm yếu nghiêm trọng trong hệ thống tìm việc làm:
    1. Lỗ hổng SQL Injection trên endpoint truy vấn thông tin người dùng cho phép trích xuất toàn bộ dữ liệu cơ sở dữ liệu;
    2. Cơ chế khóa xác thực Key Auth bị giải mã thành công thông qua kỹ thuật brute force tại request thứ 976 (HTTP status 200);
    3. Giao diện đăng nhập dễ bị tấn công vét cạn thông tin xác thực qua định dạng JSON;
    4. Thông tin định danh người dùng truyền đi dưới dạng bản rõ, không được bảo vệ bằng giao thức mã hóa đường truyền.
  • Biện pháp khắc phục tác giả đề xuất:
    • Áp dụng cơ chế kiểm tra và lọc dữ liệu đầu vào (Input Validation) nghiêm ngặt đối với mọi tham số API nhằm triệt tiêu lỗ hổng injection;
    • Nâng cấp chính sách xác thực trên API Gateway, chuyển từ xác thực khóa đơn giản (Key Auth) sang các giao thức bảo mật cao hơn như OAuth2 kết hợp JWT có thời hạn ngắn;
    • Triển khai bắt buộc giao thức mã hóa HTTPS để bảo vệ thông tin đăng nhập và dữ liệu nhạy cảm trên đường truyền mạng;
    • Cấu hình chặt chẽ các chính sách giới hạn tần suất truy cập (rate limiting), khóa tài khoản tạm thời khi đăng nhập sai nhiều lần và duy trì danh sách đen địa chỉ IP trên Kong Gateway.
  • Đóng góp của đồ án: Đồ án đã tổng hợp có hệ thống cơ sở lý thuyết về an toàn vi dịch vụ; cung cấp một quy trình kiểm thử kết hợp giữa đánh giá hiệu năng (JMeter) và kiểm tra an ninh thâm nhập (Burp Suite, Invicti); chứng minh trên mô hình thực nghiệm tính khả thi và vai trò bảo vệ trung tâm của nền tảng Kong API Gateway đối với các ứng dụng nghiệp vụ như hệ thống tìm việc làm.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của nghiên cứu:

  • Phạm vi thực nghiệm chủ yếu tập trung vào một số kịch bản tấn công phổ biến (SQL Injection, Brute Force mật khẩu và khóa xác thực, chặn bắt dữ liệu truyền thông bản rõ); chưa khảo sát toàn diện các vector tấn công phức tạp khác vào hạ tầng vi dịch vụ như tấn công làm giả yêu cầu giữa các dịch vụ nội bộ (SSRF), tấn công từ chối dịch vụ phân tán (DDoS) quy mô lớn hoặc tấn công vào chuỗi cung ứng container.
  • Quá trình kiểm thử mới được thực hiện độc lập trên môi trường thử nghiệm cục bộ, chưa tích hợp hoàn chỉnh thành một pipeline kiểm thử bảo mật tự động hóa trong chu trình CI/CD.

Hướng nghiên cứu tiếp:

  • Mở rộng quy trình kiểm thử tự động hóa bằng cách tích hợp sâu các công cụ kiểm thử bảo mật (DAST/SAST) và kiểm thử hợp đồng (Pact) vào quy trình CI/CD;
  • Nghiên cứu và thử nghiệm các mô hình kiểm soát truy cập và bảo mật nâng cao hơn trên API Gateway như cơ chế xác thực đa yếu tố (MFA), phân quyền chi tiết dựa trên vai trò (RBAC) kết hợp OAuth2+JWT;
  • Khảo sát các giải pháp bảo mật lưới dịch vụ (Service Mesh) để tăng cường mã hóa và xác thực nội bộ (mTLS) giữa các vi dịch vụ độc lập.

Giá trị tham khảo

Đồ án là tài liệu kỹ thuật có giá trị thực tiễn cao đối với các nhóm đối tượng sau:

  • Sinh viên và học viên chuyên ngành An toàn thông tin, Công nghệ thông tin: Cung cấp tài liệu tham khảo chi tiết về kiến trúc Microservices, các bề mặt tấn công API và phương pháp luận kiểm thử bảo mật hệ thống phân tán theo chuẩn 7 bước.
  • Kiểm thử viên phần mềm (QA/QC) và chuyên viên an ninh mạng (Penetration Tester): Tham khảo các kịch bản cấu hình thực tế cho Apache JMeter (đo tải, kiểm thử hiệu năng API) và Burp Suite (sử dụng Intruder tấn công vét cạn JSON payload, dò tìm khóa API Key qua Header).
  • Kỹ sư phát triển phần mềm và kiến trúc sư hệ thống: Cung cấp mô hình thiết kế và kinh nghiệm cấu hình Kong API Gateway làm chốt chặn bảo mật trung gian, áp dụng các chính sách hạn chế lưu lượng (Rate Limiting với Redis) và lọc địa chỉ IP để bảo vệ các dịch vụ nội bộ.

Câu hỏi thường gặp

1. Tác giả đã sử dụng những công cụ cụ thể nào để kiểm thử hệ thống trong đồ án?
Tác giả đã nghiên cứu và sử dụng các công cụ: Kong API Gateway (quản lý, bảo mật và điều tiết lưu lượng API), Apache JMeter và Gatling (kiểm thử hiệu năng, tính đáp ứng), Pact (kiểm thử tính tương thích hợp đồng giữa các microservice), Invicti (quét tự động lỗ hổng SQLi, XSS) và Burp Suite Professional (bắt chặn proxy, kiểm thử thâm nhập, tấn công Intruder).

2. Kết quả tấn công vét cạn (Brute Force) khóa xác thực Key Auth trên Kong Gateway được ghi nhận như thế nào?
Trong quá trình thực nghiệm với Burp Suite Intruder, tác giả đặt payload marker tại giá trị khóa (Value) trong phần HTTP Header. Tại yêu cầu (request) thứ 976, hệ thống đã trả về mã trạng thái HTTP 200, giúp tác giả tìm ra chính xác khóa xác thực để truy xuất toàn bộ danh sách người dùng.

3. Kiến trúc Microservices đặt ra những thách thức bảo mật cốt lõi nào so với kiến trúc nguyên khối?
Đồ án chỉ ra 6 thách thức chính: bề mặt tấn công mở rộng do có nhiều cổng API riêng biệt; việc kiểm tra bảo mật phân tán nhiều lần làm giảm hiệu năng hệ thống; độ phức tạp khi thiết lập bootstrapping trust giữa các dịch vụ; khó khăn trong việc theo dõi luồng yêu cầu qua logs, metrics và traces; tính bất biến của container gây trở ngại cho việc cập nhật thông tin xác thực định kỳ; và kiến trúc đa ngôn ngữ đòi hỏi chuyên môn bảo mật phân tán trên nhiều công nghệ khác nhau.

4. Cơ chế điều khiển luồng (Rate Limiting) trên API Gateway được thiết kế dựa trên kỹ thuật nào?
Hệ thống sử dụng thao tác incr của Redis để xác định số lượng yêu cầu truy cập một URL trong một giây có vượt quá ngưỡng QPS quy định hay không. Cơ chế này được phân cấp theo 3 cấp độ: cấp ứng dụng (sử dụng URL và APP ID), cấp người dùng (sử dụng URL và User ID) và cấp cụm (sử dụng URL và tên phiên bản cụm).

5. Thực nghiệm kiểm thử bảo mật trên hệ thống tìm việc làm đã phát hiện ra các lỗ hổng cụ thể nào?
Thực nghiệm đã phát hiện: lỗ hổng SQL Injection trên endpoint API người dùng làm lộ toàn bộ cơ sở dữ liệu danh sách tài khoản; lỗ hổng kiểm soát truy cập cho phép vét cạn thành công khóa Key Auth; giao diện đăng nhập qua API JSON bị khai thác thành công bằng tấn công vét cạn tài khoản/mật khẩu; và dữ liệu đăng ký/đăng nhập bị truyền đi dưới dạng bản rõ (cleartext) trên kênh truyền HTTP.

Kết luận

Đồ án tốt nghiệp của sinh viên Nguyễn Thị Linh đã hệ thống hóa toàn diện cơ sở lý thuyết về kiểm thử bảo mật và phân tích sâu sắc các thách thức an toàn đặc thù trong kiến trúc Microservices. Thông qua việc triển khai thực nghiệm trên hệ thống tìm việc làm kết hợp nền tảng Kong API Gateway, tác giả đã ứng dụng thành công các công cụ như Apache JMeter, Burp Suite và Invicti để đánh giá hiệu năng và phát hiện các lỗ hổng bảo mật nghiêm trọng liên quan đến SQL Injection, quản lý khóa và xác thực thông tin đăng nhập. Các kết quả thực nghiệm và đề xuất khắc phục trong đồ án cung cấp tài liệu tham khảo có giá trị kỹ thuật cao cho việc thiết kế, vận hành và đảm bảo an toàn thông tin cho các hệ thống phần mềm phân tán hiện đại.