Mục tiêu chương / Learning objectives
- Phân biệt các thành phần phần cứng chính và vai trò bảo mật của chúng.
- Giải thích vai trò của HĐH: quản lý tiến trình (process), bộ nhớ (memory), tập tin (file system).
- Hiểu cơ chế phân quyền kernel/user mode — nền tảng của mọi cơ chế bảo mật HĐH.
- Thực hành đọc thông tin hệ thống trên Windows (PowerShell) và Linux (Bash).
1. Lý thuyết cốt lõi / Core theory
1.1. Kiến trúc máy tính (Computer architecture)
Một hệ thống máy tính gồm bốn nhóm thành phần: CPU (bộ xử lý — thực thi lệnh), RAM (bộ nhớ tạm — lưu dữ liệu/lệnh đang chạy), Storage (đĩa lưu trữ lâu dài — HDD/SSD), và I/O (thiết bị vào/ra, card mạng). Dưới góc nhìn bảo mật: dữ liệu ở RAM là data-in-use, dữ liệu trên đĩa là data-at-rest — mỗi trạng thái cần biện pháp bảo vệ khác nhau (mã hóa đĩa cho at-rest, xử lý bộ nhớ an toàn cho in-use).
1.2. Vai trò của Hệ điều hành (Role of the OS)
HĐH là lớp trung gian giữa phần cứng và ứng dụng. Bốn nhiệm vụ chính: quản lý tiến trình (process scheduling), quản lý bộ nhớ (virtual memory, cô lập không gian địa chỉ giữa các tiến trình), quản lý tập tin (file system + phân quyền), và quản lý thiết bị (driver).
Khái niệm bảo mật then chốt — Kernel mode vs User mode: CPU chạy ở hai mức đặc quyền. Kernel mode (Ring 0) có toàn quyền với phần cứng; User mode (Ring 3) bị giới hạn. Ứng dụng người dùng chạy ở user mode và phải gọi system call để yêu cầu kernel thực hiện thao tác nhạy cảm. Ranh giới này (privilege boundary) là lý do vì sao lỗ hổng "privilege escalation" lại nguy hiểm: kẻ tấn công vượt từ Ring 3 lên Ring 0.
1.3. Tiến trình & Bộ nhớ (Processes & memory)
Mỗi tiến trình có không gian địa chỉ ảo riêng, được kernel cô lập (process isolation). Cơ chế này ngăn một tiến trình đọc/ghi bộ nhớ của tiến trình khác — nền tảng của tính bí mật và toàn vẹn ở cấp HĐH. Các kỹ thuật như ASLR (Address Space Layout Randomization) và DEP/NX (Data Execution Prevention) làm khó việc khai thác lỗi tràn bộ đệm.
1.4. Hệ thống tập tin & Quá trình khởi động (File system & boot)
File system tổ chức dữ liệu (NTFS trên Windows, ext4/xfs trên Linux) kèm metadata phân quyền. Chuỗi khởi động: UEFI/BIOS → Bootloader → Kernel → Init/Services. Secure Boot kiểm tra chữ ký số của bootloader/kernel để chống rootkit khởi động sớm — minh họa nguyên lý "chuỗi tin cậy" (chain of trust).
2. Bài thực hành / Hands-on lab
Lab 1 — Khám phá thông tin hệ thống trên Windows (PowerShell)
OS: Windows 11 · Tool: PowerShell 7 (chạy với quyền Administrator).
- Mở PowerShell: nhấn Win → gõ PowerShell → chuột phải → Run as administrator.
- Xem thông tin hệ điều hành và phần cứng:
# Thông tin HĐH, phiên bản, build
Get-ComputerInfo -Property OsName, OsVersion, OsArchitecture, CsTotalPhysicalMemory
# Liệt kê 5 tiến trình ngốn CPU nhất (process)
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 Name, Id, CPU
# Xem dịch vụ đang chạy (services)
Get-Service | Where-Object Status -eq 'Running' | Select-Object -First 10 Name, DisplayName
✅ Kết quả mong đợi / Expected output: Bảng hiển thị tên HĐH (vd Microsoft Windows 11 Pro), tổng RAM (byte), danh sách Top-5 tiến trình kèm PID và thời gian CPU, và 10 service đang chạy. Ý nghĩa bảo mật: nhận diện tiến trình/dịch vụ lạ là bước đầu phát hiện malware.
Lab 2 — Khám phá thông tin hệ thống trên Linux (Bash)
OS: Ubuntu 22.04 · Tool: Terminal (Bash).
# Thông tin kernel & HĐH
uname -a
cat /etc/os-release
# Bộ nhớ và CPU
free -h
lscpu | grep -E 'Model name|CPU\(s\)'
# Tiến trình theo % bộ nhớ (cài htop nếu chưa có)
ps aux --sort=-%mem | head -n 6
# Phân quyền tập tin: xem cấu trúc rwx
ls -l /etc/passwd
✅ Kết quả mong đợi / Expected output: Dòng kernel (vd Linux ... 5.15.0 ... x86_64), dung lượng RAM dạng human-readable, Top tiến trình theo bộ nhớ, và dòng quyền -rw-r--r-- root root /etc/passwd. Quan sát: chỉ root được ghi /etc/passwd — minh họa nguyên lý đặc quyền tối thiểu (least privilege).
3. Tình huống doanh nghiệp / Real-world scenario
Bối cảnh:
Một máy chủ ứng dụng nội bộ của công ty (Windows Server) bỗng chạy chậm bất thường vào ban đêm. Đội helpdesk nghi ngờ có phần mềm độc hại đào tiền ảo (cryptominer).
Cách xử lý theo nền tảng vừa học:
- Dùng
Get-Process | Sort CPU -Descendingđể xác định tiến trình chiếm CPU cao bất thường. - Tra cứu đường dẫn file thực thi của tiến trình lạ:
Get-Process -Id <PID> | Select-Object Path. - Kiểm tra dịch vụ tự khởi động lạ (
Get-Service,Get-CimInstance Win32_StartupCommand). - Cô lập máy khỏi mạng, thu thập chứng cứ (process, hash file) trước khi xóa — phục vụ điều tra sự cố (chuẩn bị cho Phase 1: Incident Response).
Bài học: hiểu tiến trình/dịch vụ ở cấp HĐH cho phép phân biệt hành vi bình thường và bất thường — kỹ năng nền của một SOC analyst.
4. Tự kiểm tra / Knowledge check
- Vì sao ranh giới kernel mode / user mode quan trọng với bảo mật?
- Phân biệt data-at-rest và data-in-use; mỗi loại bảo vệ bằng kỹ thuật nào?
- Secure Boot bảo vệ chống lại loại tấn công nào và dựa trên nguyên lý gì?
- Process isolation hỗ trợ thuộc tính CIA nào (Confidentiality/Integrity/Availability)?