Tổng quan về giáo trình

Tài liệu "Bài tập thực hành An toàn & Bảo mật Thông tin" là tài liệu học liệu thực hành phục vụ giảng dạy và học tập trong chương trình đào tạo đại học thuộc các khối ngành Công nghệ Thông tin, Kỹ thuật Máy tính và An toàn Thông tin. Vị trí của tài liệu trong chương trình đào tạo là học phần thực hành chuyên ngành, hỗ trợ củng cố các môn học lý thuyết như Mật mã học (Cryptography), An toàn mạng máy tính và Bảo mật hệ điều hành.

Về mục tiêu học tập (learning outcomes), tài liệu hướng đến việc trang bị cho người học các chuẩn đầu ra cụ thể:

  1. Hiện thực hóa các thuật toán số học số lớn, thuật toán đại số đồng dư và các giải thuật mật mã cổ điển cũng như hiện đại (RSA, Caesar, Vigenère) bằng ngôn ngữ lập trình C/C++.
  2. Nắm vững cơ chế vận hành của số học modulo, thuật giải Bézout tìm ước chung lớn nhất ($\gcd$) và phần tử nghịch đảo modulo, kỹ thuật bình phương và nhân tính lũy thừa modulo nhanh.
  3. Thực hiện quy trình thiết lập chính sách an toàn trên hệ điều hành Windows Server, quản trị sao lưu và phục hồi dữ liệu (Backup/Restore: Normal/Full, Differential, Incremental), kiểm toán đăng nhập hệ thống (Audit Policy), và cấu hình mã hóa luồng mạng bằng giao thức IPsec.
  4. Triển khai các kỹ thuật thu thập thông tin mục tiêu (Footprinting), rà soát cổng mạng và nhận dạng hệ điều hành bằng Nmap, phân tích lưu lượng gói tin với Network Monitor, cùng quy trình đánh giá lỗ hổng dịch vụ bằng Retina Network Scanner.

Cấu trúc tài liệu được thiết kế theo thời lượng phân bổ cụ thể: phần Mật mã học (12 tiết thực hành lập trình), phần Hiện thực các thuật giải mật mã đối xứng (10 tiết), phần An toàn và Bảo mật hệ thống (12 tiết), cùng phần Thực hành Đánh giá an toàn hệ thống (System Hacking / Scanning). Cách tiếp cận của giáo trình đi từ cấu trúc dữ liệu và giải thuật số học cơ số ở mức thấp, phát triển lên hệ thống mã hóa hoàn chỉnh, sau đó mở rộng sang cấu hình an ninh hệ thống và kiểm thử an toàn mạng.


Nội dung kiến thức cốt lõi

Các chương/chủ đề chính

Nội dung giáo trình được tổ chức thành 6 cụm chủ đề nối tiếp nhau theo logic sư phạm chặt chẽ:

  1. Số học số lớn và biểu diễn cơ số $B$ (Bài 1 - Bài 5 phần Mật mã): Cài đặt thuật toán kiểm tra số nguyên tố cơ bản, tạo mảng $N$ số nguyên tố đầu tiên (pr[N+1]), thuật toán chuyển đổi biểu diễn số nguyên sang cơ số $B$ bất kỳ (repre, repre0), phép toán cộng hai số biểu diễn theo cơ số $B$ (add) có xử lý biến nhớ c, và thuật toán nhân hai số nhiều chữ số theo cơ số $B$ (mult).
  2. Đại số Modulo và Giải thuật Euclid mở rộng (Bài 6 - Bài 9): Cài đặt thuật giải Bézout (bezout) giải phương trình nghiệm nguyên $ax + by = d = \gcd(a,b)$, thuật toán tìm phần tử nghịch đảo nhân modulo $a^{-1} \pmod b$ (inverse), và thuật toán lũy thừa modulo nhanh (ME, modexp) kết hợp phép nhân modulo (MP) và biểu diễn bit (BR).
  3. Hệ mã hóa khóa công khai RSA (Bài 7, Bài 8, Bài 9, Bài 10): Hiện thực quy trình sinh cặp khóa $(e, d, N)$ với $N = p \cdot q$ và $\phi(N) = (p-1)(q-1)$, mã hóa và giải mã dữ liệu dạng dãy số nguyên, mảng ký tự văn bản (gets(a), chuyển đổi chuỗi thành mảng số nguyên xx[]), và mã hóa trực tiếp luồng byte của tệp tin nhị phân (thu1.txt qua fread/fwrite).
  4. Mật mã cổ điển và đối xứng (Phần 2 - 10 tiết): Cài đặt giải thuật mật mã dịch chuyển Caesar ($C = (P + 3) \bmod 26$) và mật mã đa bảng Vigenère với khóa lặp ($E_K(X) = (x_i + k_i) \bmod 26$), kết hợp quản lý bộ nhớ động (malloc, free). Xác định bậc của phần tử $\text{ord}(a)$ và phần tử nguyên thủy trong nhóm nhân $\mathbb{Z}^_{26}, \mathbb{Z}^{32}, \mathbb{Z}^*{64}$.
  5. Quản trị an toàn hệ điều hành Windows (Phần 2 - 12 tiết, Bài 1 - Bài 4, Bài 7): Quy trình sao lưu dự phòng với Windows Backup Utility (phân biệt cờ lưu trữ Archive Bit giữa Normal, Differential và Incremental Backup); phục hồi dữ liệu từ file .bkf; quản trị chính sách bảo mật cục bộ qua Microsoft Management Console (MMC snap-in Group Policy Object Editor, Local Security Policy, Audit Account Logon Events Failure), cập nhật chính sách với lệnh gpupdate /force; trích xuất và giải mã NTLM Hash qua hệ thống SAM bằng công cụ Cain & Abel.
  6. Bảo mật mạng và kiểm tra an ninh (Bài 5, Bài 6 và Phần System Hacking): Cấu hình chính sách bảo vệ lưu lượng IPsec (IP Security Policies on Local Computer, xác thực Preshare Key, Filter Action Require Security), phân tích gói tin mã hóa ESP và ICMP qua Microsoft Network Monitor. Rà quét cổng và nhận diện phiên bản hệ điều hành/dịch vụ bằng Nmap (lệnh nmap -sS, nmap -v -O, nmap -p 80 -sV), đối chiếu TCP/IP fingerprinting, và phát hiện lỗ hổng dịch vụ mạng qua Retina Network Security Scanner (lỗ hổng MS03-026 MSRPC DCOM).

Kiến thức nền tảng được xây dựng

Tài liệu củng cố ba khối lý thuyết cốt lõi:

  • Lý thuyết số học tính toán (Computational Number Theory): Số nguyên tố, ước số chung lớn nhất, đồng dư thức modulo, trường hữu hạn $\mathbb{Z}_p$, nhóm nhân $\mathbb{Z}^*_n$, định lý Euler và định lý Fermat nhỏ.
  • Nguyên lý Mật mã học (Cryptographic Principles): Cơ chế mã hóa đối xứng khối/dòng cổ điển, nguyên lý khóa công khai/khóa bí mật RSA, cấu trúc hàm toán học một chiều có cửa bẫy (trapdoor one-way function).
  • Nguyên lý An toàn Hệ thống và Mạng (System & Network Security Architecture): Mô hình phân quyền truy cập cục bộ, kiểm toán hệ thống (System Auditing), kiến trúc an ninh tầng mạng IPsec (giao thức ESP, trao đổi khóa Preshared Key), và quy trình quét cổng TCP/IP dựa trên phân tích cờ gói tin (SYN, ACK, RST).

Kỹ năng phát triển

  • Kỹ năng lập trình thuật toán mức thấp: Cài đặt cấu trúc dữ liệu mảng biểu diễn số nguyên lớn, xử lý phép toán dịch bit (>>, <<), quản lý con trỏ và vùng nhớ động trong C/C++.
  • Kỹ năng phân tích giao thức mạng: Sử dụng công cụ phân tích lưu lượng (Network Monitor) để phân tích cấu trúc tiêu đề gói tin IP, ICMP, TCP và các gói dữ liệu mã hóa IPsec ESP.
  • Kỹ năng quản trị và đánh giá an toàn: Cấu hình chính sách nhóm (GPO), kiểm soát cờ tập tin trong sao lưu, vận hành các công cụ Nmap và Retina để xác định cổng mở, dịch vụ và điểm yếu hệ thống.

Phương pháp giảng dạy và học tập

Phương pháp tiếp cận sư phạm

Giáo trình áp dụng phương pháp tiếp cận quy nạp và thực nghiệm (hands-on inductive learning). Mỗi bài học xác định rõ ràng cấu trúc dữ liệu đầu vào (Input), kết quả đầu ra (Output), cùng đoạn mã nguồn tham khảo hoặc các bước cấu hình tuần tự. Người học được yêu cầu theo dõi quá trình thực thi, phân tích kết quả đầu ra và tự hoàn thiện lại mã nguồn thay vì chỉ biên dịch mẫu có sẵn.

Bài tập và bài thực hành thực tế

Hệ thống bài tập phân thành hai nhóm rõ rệt:

  • Nhóm bài tập lập trình: Yêu cầu cài đặt từ các hàm xử lý đơn lẻ (như SNT(), Bezout(), repre(), add(), mult(), inverse()) cho đến các chương trình hoàn chỉnh như mã hóa chuỗi ký tự, mã hóa tệp tin nhị phân và xây dựng menu quản lý khóa RSA.
  • Nhóm bài tập cấu hình hệ điều hành và mạng: Yêu cầu thiết lập môi trường tối thiểu gồm 2 máy tính (hoặc các máy ảo VMware chạy Windows Server, Linux) để kiểm thử tương tác truyền nhận dữ liệu, thiết lập đường truyền IPsec, ghi nhận nhật ký kiểm toán và thực hiện quét kiểm tra bảo mật từ xa.

Phương pháp đánh giá và hướng dẫn tự học

  • Đánh giá lập trình: Dựa trên tính chính xác của kết quả tính toán số học, khả năng kiểm soát tràn số, và độ toàn vẹn của dữ liệu sau chu trình mã hóa - giải mã.
  • Đánh giá quản trị: Dựa trên sự thay đổi trạng thái thuộc tính tập tin (Archive Bit), dữ liệu nhật ký sự kiện trong Event Viewer, kết quả bắt gói tin trên đường truyền mạng, và báo cáo quét cổng dịch vụ.
  • Hướng dẫn tự học: Người học cần thiết lập môi trường lập trình C/C++ cùng hệ thống máy ảo độc lập để tiến hành thử nghiệm các thiết lập quản trị và rà quét mạng mà không gây ảnh hưởng đến hệ thống mạng nội bộ đang vận hành.

Điểm nổi bật và cập nhật

Khung kỹ thuật và công nghệ trong tài liệu

Tài liệu sử dụng các nền tảng kỹ thuật và công cụ quản trị tiêu chuẩn:

  • Môi trường lập trình: Sử dụng C/C++ với các thư viện chuẩn (stdio.h, iostream.h, math.h, time.h, stdlib.h), tập trung vào cấu trúc dữ liệu mảng nguyên thủy để giúp người học nắm bắt chi tiết cơ chế biểu diễn dữ liệu ở mức nhị phân.
  • Công cụ quản trị và an ninh: Tích hợp bộ tiện ích quản trị gốc của Microsoft Windows (Backup Utility, MMC Snap-ins, Local Security Policy), kết hợp các phần mềm phân tích an ninh chuyên dụng gồm Microsoft Network Monitor, Nmap (các tùy chọn -sS, -O, -sV), công cụ đánh giá lỗ hổng Retina Network Scanner, và công cụ phân tích mật khẩu Cain & Abel.

Ứng dụng thực tế và gắn kết chuyên môn

  • Xây dựng nền tảng mật mã: Các bài thực hành RSA trực tiếp minh họa cơ chế sinh khóa, mã hóa bất đối xứng và chữ ký số được ứng dụng trong các giao thức an toàn thực tế như SSL/TLS, SSH, PGP.
  • Quy trình quản trị bảo mật doanh nghiệp: Các nội dung sao lưu định kỳ (Full, Differential, Incremental) và quản lý chính sách nhóm (GPO) phản ánh trực tiếp các quy chuẩn vận hành an toàn thông tin tại các tổ chức.
  • Chuẩn hóa quy trình đánh giá an ninh: Các bài thực hành từ Footprinting đến Scanning tuân thủ trình tự thu thập thông tin và phát hiện điểm yếu trong quy trình kiểm thử xâm nhập (Penetration Testing Methodology).

Đối tượng sử dụng giáo trình

Đối tượng người học

  • Sinh viên chuyên ngành: Sinh viên năm thứ 2 hoặc năm thứ 3 thuộc các ngành Công nghệ Thông tin, An toàn Thông tin, Kỹ thuật Mạng và Khoa học Máy tính.
  • Học viên kỹ thuật: Kỹ sư mạng, quản trị viên hệ thống hoặc học viên các khóa bồi dưỡng nghiệp vụ an toàn thông tin cần tài liệu tham khảo chi tiết về quy trình cài đặt thuật toán mật mã và cấu hình an ninh hệ thống.

Điều kiện tiên quyết (Prerequisites)

Người học cần trang bị trước các kiến thức:

  • Kiến thức Toán rời rạc và Đại số (phép chia Euclid, đồng dư, số nguyên tố).
  • Kỹ năng lập trình ngôn ngữ C/C++ cơ bản (mảng, con trỏ, toán tử thao tác bit, thao tác tệp tin qua fopen, fread, fclose).
  • Kiến thức cơ bản về Hệ điều hành và Mạng máy tính (kiến trúc địa chỉ IP, mô hình mạng TCP/IP, cổng dịch vụ, phân quyền tập tin và tài khoản).

Vai trò đối với giảng viên

Tài liệu đóng vai trò là đề cương bài tập thực hành (Lab Manual), cung cấp hệ thống ca thực hành định lượng theo tiết học (12 tiết mật mã, 10 tiết mật mã đối xứng, 12 tiết an toàn hệ thống), giúp giảng viên chuẩn hóa nội dung giảng dạy tại phòng thực hành và thiết lập barem chấm điểm chi tiết.


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

1. Giáo trình này phù hợp với ai?

Tài liệu phù hợp cho sinh viên đại học ngành Công nghệ Thông tin, An toàn Thông tin đang theo học các học phần thực hành Mật mã học, An toàn mạng, hoặc Quản trị hệ thống an toàn.

2. Cần chuẩn bị kiến thức nền nào để học?

Người học cần có kiến thức cơ bản về ngôn ngữ lập trình C/C++ (mảng, con trỏ, toán tử bit), toán học đại số đồng dư, cùng kiến thức cơ sở về mạng TCP/IP và hệ điều hành Windows.

3. Điểm khác biệt của giáo trình so với các tài liệu lý thuyết là gì?

Tài liệu tập trung vào triển khai thực nghiệm. Thay vì chỉ trình bày công thức toán học, tài liệu cung cấp mã nguồn mẫu để lập trình xử lý số lớn, mã hóa tệp tin, đồng thời hướng dẫn từng bước cấu hình chính sách bảo mật và phân tích gói tin trực tiếp trên máy tính.

4. Làm sao để tự học và thực hành hiệu quả các nội dung trong tài liệu?

Người học nên cài đặt trình biên dịch C/C++ để tự lập trình và kiểm thử từng hàm thuật toán. Đối với phần an toàn hệ thống và mạng, người học nên thiết lập môi trường máy ảo (như VMware hoặc VirtualBox) với ít nhất hai máy trạm để thực hành thiết lập IPsec, bắt gói tin qua Network Monitor và quét cổng bằng Nmap.

5. Có tài liệu bổ trợ nào kèm theo trong chương trình học?

Tài liệu cung cấp kèm theo các đoạn mã nguồn mẫu cho từng bài tập, bảng tra cứu giá trị cho hệ mật Caesar/Vigenère, cùng các tệp tin dữ liệu mẫu phục vụ kiểm thử (như tệp nhị phân thu1.txt và tệp chính sách Local Policy).


Kết luận

Tài liệu "Bài tập thực hành An toàn & Bảo mật Thông tin" cung cấp lộ trình thực hành có cấu trúc rõ ràng, kết nối chặt chẽ giữa lý thuyết toán học mật mã và kỹ thuật quản trị hệ thống mạng. Thông qua việc phân bổ khoa học các bài thực hành từ số học cơ số, giải thuật Bézout, hệ mật RSA, mã hóa cổ điển đến quản trị sao lưu dự phòng, kiểm toán hệ thống, IPsec và rà soát lỗ hổng dịch vụ mạng, tài liệu hỗ trợ người học hình thành kỹ năng lập trình hệ thống và tư duy phân tích an toàn thông tin toàn diện. Sau khi hoàn thành tài liệu, người học có đủ nền tảng để tiếp tục nghiên cứu các thuật toán mật mã đối xứng hiện đại (như AES, DES), hàm băm mật mã (SHA), cũng như các giải pháp giám sát an ninh mạng chuyên sâu.