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

Trong giai đoạn dịch bệnh COVID-19 bùng phát, xu hướng làm việc và học tập trực tuyến từ xa phát triển mạnh mẽ, kéo theo sự gia tăng của các nguy cơ mất an toàn thông tin (ATTT). Không gian mạng ghi nhận sự xuất hiện của nhiều biến thể mã độc mới, tội phạm mạng hoạt động ngày càng tinh vi và chuyên nghiệp, mạng xã hội trở thành mục tiêu tấn công nhằm chiếm đoạt dữ liệu người dùng. Báo cáo thống kê của Trung tâm Giám sát an toàn không gian mạng quốc gia (NCSC - Cục An toàn thông tin) cho thấy, chỉ riêng trong tháng 6/2021 đã có 718 cuộc tấn công mạng gây sự cố tại Việt Nam; lũy kế 6 tháng đầu năm 2021 ghi nhận 2.915 sự cố, tăng gần 898 cuộc so với cùng kỳ năm 2020. Nghiên cứu của Tập đoàn công nghệ Bkav năm 2019 cũng chỉ ra thiệt hại do virus máy tính gây ra tại Việt Nam lên tới 20.892 tỷ đồng (khoảng 902 triệu USD), khiến hơn 1,8 triệu máy tính bị mất dữ liệu do mã độc tống tiền (ransomware).

Thực tế chỉ ra rằng con người là mắt xích yếu nhất trong toàn bộ quy trình đảm bảo an toàn thông tin. Nhận thức an ninh mạng kém và việc không tuân thủ các chính sách ATTT là nguyên nhân cốt lõi dẫn đến các sự cố. Nhận định từ Cục An toàn thông tin nhấn mạnh có tới 80% nguyên nhân lộ lọt thông tin cá nhân bắt nguồn từ sự bất cẩn của người dùng, thói quen sử dụng phần mềm bẻ khóa không bản quyền và không cập nhật bản vá hệ thống; 20% còn lại đến từ lỗ hổng kỹ thuật và chính sách của nhà cung cấp dịch vụ.

Trước thực trạng đó, đồ án tốt nghiệp của sinh viên Vũ Thanh Xuân đặt ra mục tiêu xây dựng một nền tảng thực hành trực tuyến mô phỏng các thử thách CTF (Capture The Flag) nhằm đào tạo và nâng cao nhận thức ATTT cho người dùng cuối, đồng thời hỗ trợ người quản trị vận hành nghiệp vụ trên giao diện web mà không cần cài đặt phần mềm phức tạp.

Nhiệm vụ nghiên cứu của đồ án bao gồm:

  1. Khảo sát thực trạng an toàn thông tin, đánh giá các mô hình đào tạo nhận thức trong và ngoài nước, từ đó xác định yêu cầu hệ thống.
  2. Phân tích và thiết kế hệ thống thông tin phục vụ việc thực hành các công cụ bảo đảm ATTT theo mô hình CTF, xây dựng biểu đồ ca sử dụng, biểu đồ lớp và biểu đồ tuần tự.
  3. Hiện thực hóa hệ thống bằng các công nghệ web hiện đại, thiết kế cơ sở dữ liệu và triển khai thử nghiệm chức năng.

Đối tượng nghiên cứu của đề tài là hệ thống phần mềm thực hành ATTT dựa trên hình thức thi CTF. Phạm vi nghiên cứu tập trung vào các kịch bản thực hành nhận thức và công cụ ATTT cơ bản cho người dùng cuối và quản trị viên, được tiến hành nghiên cứu và thử nghiệm tại Học viện Công nghệ Bưu chính Viễn thông vào tháng 12 năm 2021.

Cơ sở lý thuyết và phương pháp

Đề tài sử dụng mô hình thi Capture The Flag (CTF - Cướp cờ) làm nền tảng lý thuyết và phương pháp tiếp cận sư phạm kỹ thuật. Trong mô hình này, người học tham gia giải quyết các thử thách an ninh mạng thuộc nhiều chủ đề (như mật mã, điều tra số - forensic, khai thác ứng dụng web, dịch ngược mã nguồn - reverse engineering) nhằm tìm kiếm một chuỗi bí mật (Flag) và nộp lên hệ thống để ghi nhận kết quả. Cơ sở lý thuyết của đồ án cũng tham chiếu mô hình kiểm soát truy cập tùy ý (Discretionary Access Control - DAC), các nguyên tắc quản lý rủi ro (Risk Management) và quản lý cấu hình (Configuration Management).

Về cơ sở pháp lý và định hướng chính sách, tác giả viện dẫn các văn bản pháp luật hiện hành tại Việt Nam bao gồm:

  • Luật An ninh mạng và các nghị định hướng dẫn thi hành.
  • Quyết định số 623/QĐ-TTg ngày 14/4/2016 của Thủ tướng Chính phủ phê duyệt Chiến lược quốc gia phòng, chống tội phạm giai đoạn 2016 - 2025.
  • Chỉ thị số 14/CT-TTg ngày 07/6/2019 của Thủ tướng Chính phủ về việc tăng cường bảo đảm an toàn, an ninh mạng nhằm cải thiện chỉ số xếp hạng của Việt Nam.

Đồ án tiến hành khảo sát và đánh giá so sánh hai chương trình đào tạo nhận thức thực tế:

  • Khóa đào tạo "An toàn thông tin cho người dùng" của Trung tâm Đào tạo SmartPro (thời lượng 8 giờ), tập trung vào các kỹ năng an toàn cơ bản khi duyệt web, sử dụng email, mạng không dây, mạng xã hội và phòng tránh tấn công phi kỹ thuật (Social Engineering).
  • Khóa học "Đào tạo nhận thức về bảo mật - an toàn thông tin" trên nền tảng trực tuyến Udemy (thời lượng khoảng 2 giờ), giải thích phi kỹ thuật về an ninh mạng, các mối đe dọa và mô hình DAC.
Tiêu chí Khóa đào tạo SmartPro Khóa học trực tuyến Udemy Hệ thống đồ án đề xuất
Thời lượng 8 giờ học Khoảng 2 giờ Tự do theo tiến độ học viên
Hình thức tiếp cận Lý thuyết và tài liệu học tập Bài giảng video trực tuyến Thực hành tương tác mô phỏng CTF
Mức độ thực tế Hạn chế về số lượng bài lab Không có môi trường thực hành Tình huống gắn với công cụ và bài lab
Yêu cầu cài đặt Cài đặt công cụ hoặc theo lớp Xem trực tiếp trên trình duyệt Sử dụng trực tiếp trên nền web

Phương pháp nghiên cứu thực tế được tác giả áp dụng là phương pháp phân tích thiết kế hệ thống hướng đối tượng thông qua ngôn ngữ mô hình hóa UML (vẽ sơ đồ luồng nghiệp vụ, biểu đồ ca sử dụng tổng quát, 15 kịch bản ca sử dụng, biểu đồ lớp và 14 biểu đồ tuần tự) kết hợp phương pháp phát triển phần mềm thực nghiệm để xây dựng ứng dụng web hoàn chỉnh. Nguồn dữ liệu thứ cấp được tổng hợp từ Cục An toàn thông tin (NCSC), Tập đoàn Bkav cùng các tài liệu đào tạo của SmartPro và Udemy.

Thiết kế và triển khai

Hệ thống được thiết kế theo kiến trúc ứng dụng web đa tầng, phân tách rõ ràng giữa giao diện người dùng (Frontend), khối xử lý nghiệp vụ (Backend) và tầng lưu trữ dữ liệu (Database).

Cấu trúc công nghệ được triển khai bao gồm:

  • Frontend: Xây dựng trên nền tảng thư viện ReactJS, cung cấp giao diện phản hồi nhanh (Single Page Application), hiển thị danh sách bài thực hành dưới dạng Listview và các bảng quản trị dạng Table.
  • Backend: Môi trường thực thi NodeJS đóng vai trò máy chủ xử lý các luồng nghiệp vụ, tiếp nhận các yêu cầu HTTP, kiểm tra tính hợp lệ dữ liệu (validate), điều hướng phân quyền và xử lý logic nộp cờ (submit flag).
  • Cơ sở dữ liệu: Hệ quản trị cơ sở dữ liệu phi quan hệ MongoDB, lưu trữ các đối tượng dưới dạng tài liệu JSON linh hoạt, phục vụ việc cập nhật dữ liệu người dùng và lịch sử làm bài theo thời gian thực.

Mô hình thiết kế hướng đối tượng của hệ thống xác định 5 lớp thực thể chính: TaiKhoan (tài khoản người dùng), BaiLab (thông tin bài thực hành), loại bài lab (danh mục phân loại), lịch sử làm bài và danh sách log. Tương tác với cơ sở dữ liệu được bao bọc thông qua các đối tượng truy cập dữ liệu chuyên biệt như TaiKhoanDAO và BaiLabDAO.

Yêu cầu phi chức năng và an toàn hệ thống được thiết lập chặt chẽ:

  • Bảo mật dữ liệu: Mật khẩu người dùng được mã hóa trước khi ghi vào cơ sở dữ liệu; giá trị cờ (flag) của các bài lab được băm (hash) nhằm đảm bảo tính toàn vẹn và ngăn chặn việc trích xuất trái phép đáp án từ cơ sở dữ liệu.
  • Hiệu năng và tính sẵn sàng: Dữ liệu lịch sử nộp bài được ghi nhận và cập nhật thời gian thực; giao diện đáp ứng (responsive) tương thích trên cả máy tính để bàn và thiết bị di động.

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

Chương 1: Tổng quan bài toán

Chương này phân tích bức tranh toàn cảnh về an toàn thông tin tại Việt Nam và trên thế giới. Tác giả tổng hợp các số liệu thiệt hại kinh tế và tấn công mạng từ NCSC và Bkav trong giai đoạn 2019 - 2021, làm rõ sự dịch chuyển phương thức tấn công lợi dụng dịch bệnh Covid-19 thông qua Phishing và Malware.

Nội dung chương đi sâu mổ xẻ nguyên nhân gốc rễ dẫn đến mất an toàn thông tin:

  • 80% sự cố xuất phát từ nhận thức kém của người dùng cuối, thói quen cài đặt phần mềm không bản quyền và sự chậm trễ trong cập nhật bản vá.
  • 20% sự cố xuất phát từ lỗ hổng ứng dụng của đơn vị cung cấp dịch vụ và việc quản lý chính sách dữ liệu yếu kém.

Tác giả đề xuất ba nhóm giải pháp đồng bộ: cơ chế pháp lý (Luật An ninh mạng, Quyết định 623/QĐ-TTg, Chỉ thị 14/CT-TTg), giải pháp kỹ thuật (rà soát lỗ hổng, diễn tập quốc gia) và trọng tâm là nâng cao nhận thức người dùng. Tiếp đó, tác giả đánh giá hạn chế của các chương trình đào tạo hiện có tại SmartPro và Udemy, đồng thời giới thiệu mô hình thi CTF cùng các lợi ích cốt lõi: kết hợp lý thuyết với thực hành, rèn luyện tư duy phân tích lỗ hổng, cập nhật kỹ thuật an ninh mới mà không gây nhàm chán cho người học.

Chương 2: Phân tích thiết kế hệ thống

Chương 2 trình bày chi tiết toàn bộ quy trình mô hình hóa hệ thống. Hệ thống xác định hai tác nhân (actor) chính với nhiệm vụ cụ thể:

  • Admin (Quản trị viên): Quản lý bài lab (thêm mới, chỉnh sửa, xóa); quản lý danh mục phân loại bài lab (thêm mới, chỉnh sửa, xóa); thống kê tài khoản học viên (xem danh sách, số lượng bài đã nộp và chi tiết log thực hành).
  • Học viên: Đăng ký tài khoản (xác thực kích hoạt qua email), đăng nhập hệ thống, duyệt danh sách bài lab, tìm kiếm bài lab theo tên, lọc bài lab theo danh mục, xem hướng dẫn chi tiết, thực hiện làm bài và nộp flag, xem lịch sử làm bài và log chi tiết.

Tác giả thiết lập danh mục 14 ca sử dụng (Use case) cốt lõi:

  1. Đăng ký tài khoản
  2. Đăng nhập
  3. Thêm mới bài lab
  4. Chỉnh sửa bài lab
  5. Xóa bài lab
  6. Xem hướng dẫn bài lab
  7. Thực hành làm bài lab
  8. Tìm kiếm bài lab theo tên
  9. Phân loại bài lab theo từng loại
  10. Thêm mới loại bài lab
  11. Chỉnh sửa loại bài lab
  12. Xóa loại bài lab
  13. Thống kê tài khoản học viên
  14. Thống kê lịch sử làm bài

Mỗi ca sử dụng đều được đặc tả chi tiết qua bảng kịch bản (gồm tiền điều kiện, hậu điều kiện, chuỗi sự kiện chính và ngoại lệ luồng xử lý), sơ đồ luồng nghiệp vụ tương ứng và lược đồ tuần tự biểu diễn mối tương tác giữa các lớp giao diện (GDTrangChu, GDFormDangKy, GDQuanLyBaiLab, GDFormThemMoi...), các lớp điều khiển truy cập dữ liệu (TaiKhoanDAO, BaiLabDAO) và các thực thể dữ liệu trong cơ sở dữ liệu.

Chương 3: Xây dựng triển khai, thí điểm, đánh giá

Chương 3 mô tả quá trình hiện thực hóa thiết kế thành phần mềm thực tế. Tác giả trình bày cấu trúc website, môi trường cài đặt và các công cụ thực tế gồm ReactJS, NodeJS và MongoDB. Lược đồ cơ sở dữ liệu được chuẩn hóa để phản ánh đầy đủ mối quan hệ giữa các bộ dữ liệu bài lab, loại bài, tài khoản và log bài làm.

Chương này minh họa hệ thống giao diện chức năng đã xây dựng thành công:

  • Màn hình dành cho học viên: Giao diện duyệt danh sách bài lab (Listview), giao diện popup xem hướng dẫn chi tiết, giao diện làm bài với các thành phần ảnh minh họa, mô tả đề bài, ô nhập flag và nút submit kết quả.
  • Màn hình dành cho quản trị viên: Giao diện bảng danh mục loại bài lab, form thêm mới bài lab kèm chức năng tải ảnh minh họa, bảng thống kê danh sách học viên và bảng hiển thị chi tiết log làm bài của từng cá nhân.
  • Kết quả chạy thử nghiệm cho thấy các chức năng vận hành đúng luồng kịch bản đã phân tích, hệ thống ghi nhận chính xác kết quả nộp cờ và cập nhật lịch sử theo thời gian thực.

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

Về kết quả kỹ thuật, đồ án đã hoàn thành việc xây dựng và triển khai một nền tảng thực hành an toàn thông tin dựa trên web với đầy đủ các phân hệ chức năng:

  • Hiện thực hóa thành công 14 ca sử dụng phục vụ hai nhóm đối tượng Admin và Học viên.
  • Xây dựng cơ chế xác thực đăng ký người dùng có liên kết kiểm tra email; hệ thống phân quyền rõ ràng giữa quản trị và học viên.
  • Thiết lập giải pháp bảo vệ dữ liệu nội bộ thông qua việc mã hóa mật khẩu người dùng và băm (hash) chuỗi flag trong cơ sở dữ liệu MongoDB.
  • Giao diện trực quan trên nền ReactJS, cho phép học viên tra cứu, xem hướng dẫn và nộp flag trực tiếp; cung cấp công cụ thống kê chi tiết tiến độ và log thực hành của từng học viên cho quản trị viên.

Về mặt đóng góp khoa học và ứng dụng, tác giả đã chỉ ra khoảng trống của các mô hình đào tạo nhận thức truyền thống (vốn nặng về lý thuyết văn bản hoặc video thụ động) và đề xuất phương án khắc phục bằng mô phỏng thực hành CTF. Hệ thống cung cấp giải pháp gọn nhẹ, triển khai hoàn toàn trên trình duyệt, loại bỏ rào cản phải cài đặt máy ảo hay phần mềm phức tạp cho người học nhưng vẫn duy trì tính tương tác kỹ thuật thông qua cơ chế giải đố tìm cờ.

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

Theo đánh giá của tác giả, hệ thống vẫn còn một số hạn chế nhất định:

  • Số lượng các bài lab thực hành được xây dựng trên hệ thống còn hạn chế, chưa bao quát được toàn diện các kịch bản tấn công và khai thác đa dạng trong thực tế.
  • Hệ thống mới dừng lại ở phạm vi thử nghiệm mô phỏng, chưa tích hợp sâu các môi trường máy ảo cô lập (sandbox/container) động cho từng phiên làm bài phức tạp.

Định hướng phát triển trong tương lai được tác giả xác định bao gồm:

  • Phát triển thêm nhiều dạng bài thực hành đa dạng hơn ở các cấp độ khó khác nhau, mở rộng sang các mảng chuyên sâu như dịch ngược mã nguồn (Reverse Engineering), điều tra phân tích dấu vết số (Forensic) và khai thác lỗ hổng web nâng cao.
  • Nâng cấp các tính năng tự động hóa kiểm thử, mở rộng quy mô hệ thống để phục vụ đào tạo diện rộng cho các tổ chức và doanh nghiệp.

Giá trị tham khảo

Đồ án là tài liệu tham khảo phù hợp cho sinh viên các ngành An toàn thông tin, Công nghệ thông tin và Kỹ thuật phần mềm đang thực hiện đồ án tốt nghiệp hoặc xây dựng các hệ thống đào tạo kỹ năng số.

Phần nội dung có giá trị ứng dụng cao nhất của tài liệu nằm ở Chương 2, nơi tác giả đặc tả rất chi tiết quy trình phân tích thiết kế hệ thống phần mềm: từ việc xây dựng sơ đồ luồng nghiệp vụ, danh mục ca sử dụng, kịch bản xử lý ngoại lệ đến biểu đồ tuần tự theo mô hình DAO. Đây là cấu trúc phân tích bài bản, có thể sử dụng làm khung tham chiếu cho các đề tài phát triển ứng dụng quản lý đào tạo và thực hành kỹ thuật.

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

1. Hệ thống phân chia quyền hạn giữa Admin và Học viên như thế nào?
Admin có quyền quản lý toàn bộ nội dung bài thực hành (thêm, sửa, xóa bài lab), quản lý các danh mục phân loại bài lab, theo dõi danh sách tài khoản học viên và xem chi tiết log thực hành của từng học viên. Học viên chỉ có quyền đăng ký, đăng nhập, tìm kiếm bài lab, xem hướng dẫn, làm bài và nộp flag, đồng thời chỉ xem được thống kê và log lịch sử làm bài của chính mình.

2. Giải pháp kỹ thuật nào được áp dụng để bảo vệ tính bí mật của đáp án bài lab?
Dữ liệu chuỗi cờ (flag) của các bài lab khi lưu trữ trong cơ sở dữ liệu MongoDB đều được áp dụng giải pháp băm (hash). Khi học viên nộp flag, hệ thống sẽ thực hiện kiểm tra và so khớp tính hợp lệ nhằm đảm bảo tính bí mật và toàn vẹn của đề thi, ngăn ngừa việc lộ đáp án trực tiếp từ CSDL.

3. Luồng xử lý khi học viên làm bài và nộp cờ (submit flag) diễn ra ra sao?
Học viên chọn bài thực hành, giao diện hiển thị ảnh minh họa, mô tả bài lab, nút xem hướng dẫn và ô nhập flag. Học viên nhập chuỗi kết quả và nhấn nút submit; hệ thống tiếp nhận, kiểm tra dữ liệu đối chiếu với cơ sở dữ liệu, ghi nhận kết quả và log làm bài, sau đó hiển thị thông báo kết quả tương ứng cho học viên.

4. Dữ liệu thực trạng nào được tác giả sử dụng để chứng minh tính cấp thiết của đề tài?
Tác giả sử dụng thống kê từ NCSC cho thấy trong tháng 6/2021 có 718 cuộc tấn công mạng gây sự cố tại Việt Nam và 6 tháng đầu năm 2021 là 2.915 sự cố; số liệu từ Bkav năm 2019 ghi nhận thiệt hại 20.892 tỷ đồng do virus máy tính và hơn 1,8 triệu máy tính mất dữ liệu; cùng nhận định từ Cục An toàn thông tin chỉ ra 80% nguyên nhân lộ lọt dữ liệu bắt nguồn từ chính sự bất cẩn của người dùng.

Kết luận

Đồ án tốt nghiệp của sinh viên Vũ Thanh Xuân đã nghiên cứu và phát triển thành công hệ thống thực hành an toàn thông tin dựa trên cơ chế mô phỏng thi CTF, ứng dụng ngăn xếp công nghệ ReactJS, NodeJS và MongoDB. Đề tài giải quyết hiệu quả bài toán chuyển hóa lý thuyết an toàn thông tin thành các kịch bản thực hành trực quan trên nền tảng web, khắc phục điểm nghẽn về nhận thức an ninh mạng của người dùng cuối. Với hệ thống tài liệu phân tích thiết kế hoàn chỉnh cùng kết quả thử nghiệm thực tế rõ ràng, đồ án đóng góp một giải pháp đào tạo kỹ thuật số có tính ứng dụng cao trong công tác bảo đảm an toàn thông tin.