## Tổng quan nghiên cứu

Trong bối cảnh cuộc cách mạng công nghiệp 4.0, an toàn thông tin trở thành một trong những lĩnh vực trọng yếu, đặc biệt khi các cuộc tấn công mạng ngày càng tinh vi và phổ biến. Theo báo cáo của ngành, các cuộc thi Capture The Flag (CTF) là phương pháp thực tiễn và hiệu quả để nâng cao kỹ năng an toàn mạng cho các chuyên gia và sinh viên. Tuy nhiên, hiện nay, hơn 80% các cuộc thi CTF được tổ chức theo hình thức Jeopardy, trong khi thể thức tấn công - phòng thủ, sát với thực tế hơn, chỉ chiếm khoảng 10%. Nguyên nhân chính là do thiếu nền tảng hỗ trợ tổ chức thi tấn công - phòng thủ đủ mạnh và linh hoạt.

Mục tiêu của luận văn là xây dựng một nền tảng tổ chức thi CTF theo thể thức tấn công - phòng thủ, với khả năng vận hành trực tuyến, hỗ trợ trên 50 đội chơi, đảm bảo tốc độ kết nối nhanh, ổn định và giấu danh tính các đội trong suốt quá trình thi. Nghiên cứu tập trung vào giai đoạn thiết kế hệ thống và xây dựng mô-đun giao tiếp giữa người dùng và server, thành phần kiểm tra dịch vụ và tổng hợp trạng thái dịch vụ. Phạm vi nghiên cứu được giới hạn trong việc phát triển mô hình và hiện thực các thành phần cốt lõi, nhằm giảm chi phí vận hành cho ban tổ chức và tăng tính thực tiễn cho cuộc thi.

Nền tảng này không chỉ góp phần thúc đẩy sự phát triển của các cuộc thi an toàn thông tin theo hình thức tấn công - phòng thủ mà còn nâng cao chất lượng đào tạo và huấn luyện kỹ năng thực chiến cho đội ngũ bảo mật trong nước và quốc tế.

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

### Khung lý thuyết áp dụng

Luận văn dựa trên các lý thuyết và mô hình sau:

- **Lý thuyết về an toàn thông tin và bảo mật mạng**: Bao gồm các khái niệm về lỗ hổng bảo mật, tấn công mạng, phòng thủ mạng và quản lý rủi ro.
- **Mô hình Capture The Flag (CTF)**: Phân tích ba hình thức thi chính là Jeopardy, tấn công - phòng thủ và hình thức kết hợp, tập trung vào thể thức tấn công - phòng thủ.
- **Mạng riêng ảo (VPN) và dịch địa chỉ mạng (NAT)**: Giúp tạo môi trường kết nối an toàn, ẩn danh giữa các đội chơi và hệ thống thi đấu.
- **Kiến trúc hệ thống phân tán và đa thành phần**: Thiết kế các module độc lập như Scriptbot, Service Status, Gamebot, Ranking để đảm bảo tính sẵn sàng và khả năng mở rộng.
- **Công nghệ container hóa (Docker)**: Đảm bảo môi trường vận hành đồng nhất và cách ly các dịch vụ chứa lỗ hổng.

Các khái niệm chính bao gồm: flag (mã bí mật), tick (đơn vị thời gian nhỏ nhất trong trận đấu), vòng đấu (gồm nhiều tick), Scriptbot (bot kiểm tra dịch vụ), Service Status (tổng hợp trạng thái dịch vụ), Gamebot (điều phối và quản lý trận đấu).

### Phương pháp nghiên cứu

- **Nguồn dữ liệu**: Thu thập từ các nền tảng CTF mã nguồn mở như iCTF, saarCTF, Cardinal; tài liệu kỹ thuật về VPN, Docker, WireGuard; và các báo cáo thực tế về tổ chức thi CTF.
- **Phương pháp phân tích**: So sánh, đánh giá ưu nhược điểm của các nền tảng hiện có; phân tích yêu cầu kỹ thuật và vận hành; thiết kế kiến trúc hệ thống dựa trên mô hình phân tán và bảo mật.
- **Phương pháp phát triển**: Áp dụng công nghệ Docker để container hóa dịch vụ, WireGuard cho VPN, RabbitMQ cho phân phối nhiệm vụ bất đồng bộ giữa các Scriptbot.
- **Timeline nghiên cứu**: Từ tháng 2/2021 đến tháng 8/2021, gồm các giai đoạn khảo sát, thiết kế, hiện thực và kiểm thử các thành phần chính của hệ thống.

Cỡ mẫu nghiên cứu là hơn 50 đội chơi ảo trong môi trường mô phỏng, sử dụng phương pháp chọn mẫu ngẫu nhiên để đánh giá hiệu năng và tính ổn định của hệ thống.

## Kết quả nghiên cứu và thảo luận

### Những phát hiện chính

1. **Hiệu quả kết nối và ẩn danh**: Việc sử dụng VPN kết hợp NAT giúp giấu danh tính các đội chơi, giảm thiểu rủi ro bị tấn công DDoS. Tuy nhiên, NAT gây khó khăn cho đội phòng thủ khi không thể xác định chính xác địa chỉ IP tấn công. Giải pháp đổi IP định kỳ sau mỗi vài vòng đấu đã cải thiện đáng kể vấn đề này, giúp giảm ước tính 70% các cuộc tấn công DDoS thành công.
   
2. **Phân tán kiểm tra dịch vụ**: Hệ thống cho phép nhiều Scriptbot hoạt động song song, mỗi Scriptbot nhận nhiệm vụ qua RabbitMQ, giúp tăng hiệu suất kiểm tra dịch vụ lên khoảng 60% so với mô hình tập trung. Mỗi dịch vụ được kiểm tra bởi nhiều Scriptbot trong cùng một tick để đảm bảo độ chính xác.

3. **Lưu trữ và cập nhật flag**: Việc lưu trữ flag trong dịch vụ hoạt động liên tục (flag.bin) thay vì tệp tin tĩnh giúp ngăn chặn việc đội phòng thủ xóa flag, đảm bảo tính công bằng. Nếu flag.bin không xác thực được hoạt động liên tục, đội sẽ bị đánh dấu gian lận và không được điểm phòng thủ.

4. **Tính sẵn sàng và mở rộng**: Kiến trúc phân tán với các thành phần độc lập như Gamebot, Service Status, Ranking giúp hệ thống duy trì hoạt động ổn định ngay khi một thành phần gặp sự cố. Việc sử dụng Docker và WireGuard hỗ trợ triển khai nhanh và dễ dàng mở rộng quy mô.

### Thảo luận kết quả

Kết quả cho thấy mô hình đề xuất giải quyết hiệu quả các hạn chế của các nền tảng hiện có như iCTF và saarCTF, đặc biệt trong việc bảo vệ danh tính đội chơi và tăng tính công bằng trong thi đấu. Việc đổi IP định kỳ là một cải tiến quan trọng, giúp giảm thiểu tấn công DDoS và gian lận, đồng thời vẫn giữ được sự ổn định kết nối.

So với nền tảng Cardinal, mô hình này khắc phục được nhược điểm về ẩn danh và phân tán chức năng, tránh tình trạng điểm nghẽn tại thành phần điều khiển trung tâm. Việc sử dụng công nghệ hiện đại như Docker, WireGuard và RabbitMQ cũng giúp hệ thống dễ dàng bảo trì và phát triển thêm.

Dữ liệu có thể được trình bày qua biểu đồ tỉ lệ thành công của các cuộc tấn công DDoS trước và sau khi áp dụng đổi IP, biểu đồ hiệu suất kiểm tra dịch vụ của các Scriptbot, và bảng tổng hợp điểm số các đội qua các vòng đấu.

## Đề xuất và khuyến nghị

1. **Triển khai hệ thống đổi IP tự động**: Áp dụng cơ chế đổi địa chỉ IP định kỳ cho các máy chủ đội chơi và các thành phần kiểm tra nhằm giảm thiểu tấn công DDoS, nâng cao tính công bằng. Thời gian thực hiện: ngay trong vòng 1 năm tới. Chủ thể thực hiện: Ban tổ chức và đội phát triển hệ thống.

2. **Mở rộng số lượng Scriptbot và tối ưu phân phối nhiệm vụ**: Tăng số lượng Scriptbot để nâng cao hiệu suất kiểm tra dịch vụ, đồng thời sử dụng RabbitMQ để phân phối công việc hiệu quả. Thời gian thực hiện: 6 tháng. Chủ thể: Đội phát triển kỹ thuật.

3. **Phát triển giao diện quản lý trực quan**: Xây dựng trang quản lý cho ban tổ chức và đội chơi để theo dõi tiến trình, điểm số và trạng thái dịch vụ theo thời gian thực. Thời gian: 1 năm. Chủ thể: Đội phát triển phần mềm.

4. **Nâng cao bảo mật và phát hiện gian lận**: Tích hợp thêm các công cụ phân tích hành vi và phát hiện gian lận nâng cao dựa trên dữ liệu kiểm tra dịch vụ và thay đổi IP. Thời gian: 1-2 năm. Chủ thể: Ban tổ chức, chuyên gia an ninh mạng.

## Đối tượng nên tham khảo luận văn

1. **Ban tổ chức các cuộc thi an toàn thông tin**: Nhận được giải pháp nền tảng tổ chức thi tấn công - phòng thủ hiệu quả, giảm chi phí vận hành và tăng tính công bằng.

2. **Nhà phát triển phần mềm an ninh mạng**: Học hỏi kiến trúc hệ thống phân tán, công nghệ container và VPN để phát triển các ứng dụng bảo mật.

3. **Sinh viên và nhà nghiên cứu ngành an toàn thông tin**: Nắm bắt kiến thức thực tiễn về tổ chức thi CTF, mô hình tấn công - phòng thủ và các kỹ thuật bảo mật mạng.

4. **Doanh nghiệp cung cấp dịch vụ bảo mật**: Áp dụng mô hình để huấn luyện đội ngũ bảo mật, nâng cao kỹ năng phòng thủ và phản ứng sự cố.

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

1. **CTF tấn công - phòng thủ khác gì so với Jeopardy?**  
   Thể thức tấn công - phòng thủ yêu cầu đội chơi vừa tấn công vừa phòng thủ dịch vụ, sát với thực tế hơn, trong khi Jeopardy tập trung giải quyết thử thách độc lập. Ví dụ, tấn công - phòng thủ giúp rèn luyện kỹ năng toàn diện hơn.

2. **Làm sao để đảm bảo tính công bằng trong thi đấu?**  
   Việc đổi IP định kỳ giúp ẩn danh đội chơi, giảm thiểu tấn công DDoS và gian lận. Ngoài ra, hệ thống kiểm tra dịch vụ nhiều lần và phát hiện chặn kết nối cũng góp phần đảm bảo công bằng.

3. **Tại sao sử dụng Docker trong hệ thống?**  
   Docker cung cấp môi trường độc lập, giúp chạy các dịch vụ chứa lỗ hổng mà không ảnh hưởng lẫn nhau, dễ dàng quản lý và triển khai trên nhiều nền tảng.

4. **VPN và NAT có vai trò gì trong hệ thống?**  
   VPN tạo mạng riêng ảo an toàn giữa các đội và hệ thống, NAT giúp ẩn địa chỉ IP thật, bảo vệ danh tính và tránh bị tấn công trực tiếp.

5. **Làm thế nào để hệ thống xử lý khi một thành phần gặp sự cố?**  
   Kiến trúc phân tán với các module độc lập cho phép hệ thống tiếp tục hoạt động bình thường khi một thành phần bị lỗi, đảm bảo tính sẵn sàng cao.

## Kết luận

- Đã xây dựng thành công mô hình nền tảng tổ chức thi CTF tấn công - phòng thủ với khả năng vận hành trực tuyến, hỗ trợ trên 50 đội chơi.  
- Giải pháp đổi IP định kỳ và sử dụng VPN kết hợp NAT giúp ẩn danh và giảm thiểu tấn công DDoS hiệu quả.  
- Kiến trúc phân tán với các thành phần Scriptbot, Service Status, Gamebot, Ranking đảm bảo tính sẵn sàng và mở rộng.  
- Ứng dụng công nghệ Docker, WireGuard và RabbitMQ nâng cao hiệu suất và bảo mật hệ thống.  
- Đề xuất các hướng phát triển tiếp theo bao gồm mở rộng số lượng Scriptbot, phát triển giao diện quản lý và nâng cao công cụ phát hiện gian lận.

**Hành động tiếp theo**: Triển khai thử nghiệm thực tế với số lượng đội chơi lớn hơn, hoàn thiện giao diện quản lý và tích hợp các công cụ phân tích nâng cao để nâng cao chất lượng và tính ứng dụng của nền tảng.

**Kêu gọi**: Các tổ chức, nhà phát triển và chuyên gia an ninh mạng nên hợp tác để phát triển và ứng dụng nền tảng này nhằm thúc đẩy sự phát triển của cộng đồng an toàn thông tin.