Mục tiêu của Session
Session đầu tiên tập trung vào một chủ đề rất quen thuộc nhưng cũng là mục tiêu tấn công phổ biến nhất hiện nay: tài khoản người dùng.
Khóa học không chỉ giải thích cách bảo vệ tài khoản mà còn giúp mình hiểu một tư duy quan trọng:
Cybersecurity không phải là tạo ra một hệ thống bất khả xâm phạm, mà là làm cho việc tấn công trở nên khó khăn, tốn kém và kém hấp dẫn hơn đối với kẻ tấn công.
1. Authentication và Authorization
Hai khái niệm thường bị nhầm lẫn:
Authentication (Xác thực)
Là quá trình chứng minh bạn là ai.
Ví dụ:
- Đăng nhập bằng email và mật khẩu
- Đăng nhập bằng Google
- Đăng nhập bằng Face ID
Authorization (Phân quyền)
Là quá trình xác định bạn được phép làm gì sau khi đăng nhập.
Ví dụ:
- Nhân viên chỉ được xem dữ liệu
- Quản trị viên được chỉnh sửa và xóa dữ liệu
👉 Authentication trả lời câu hỏi "Bạn là ai?"
👉 Authorization trả lời câu hỏi "Bạn được phép làm gì?"
2. Password mạnh là như thế nào?
Khóa học minh họa bằng cách brute force mật khẩu bằng Python.
Ví dụ 1: Mật khẩu 4 chữ số
0000 -> 9999
Số khả năng:
10^4 = 10.000
Một chương trình đơn giản có thể thử toàn bộ trong vài mili giây.
Ví dụ 2: 4 ký tự chữ cái
52^4 ≈ 7.3 triệu
(26 chữ thường + 26 chữ hoa)
An toàn hơn nhưng vẫn bị crack khá nhanh.
Ví dụ 3: 4 ký tự gồm chữ + số + ký tự đặc biệt
94^4 ≈ 78 triệu
Tăng đáng kể độ khó.
Ví dụ 4: 8 ký tự đầy đủ
94^8 ≈ 6 quadrillion
(≈ 6 triệu tỷ khả năng)
Lúc này chi phí brute force đã trở nên rất lớn.
3. Bài học quan trọng về mật khẩu
Mình rút ra được một điều:
Độ dài thường quan trọng hơn độ phức tạp.
Ví dụ:
P@55w0rd
chưa chắc đã tốt bằng:
toi-thich-hoc-cybersecurity-2026
Một passphrase dài thường:
- Dễ nhớ hơn
- Khó brute force hơn
- Ít khả năng bị đoán trúng
4. Khuyến nghị từ NIST
Một số best practices được nhắc tới trong khóa học:
Nên làm
✅ Mật khẩu tối thiểu 8 ký tự
✅ Cho phép mật khẩu dài tới 64 ký tự
✅ Sử dụng passphrase dài
✅ Kiểm tra mật khẩu có nằm trong danh sách mật khẩu bị lộ hay không
Không nên làm
❌ 123456
❌ password
❌ qwerty
❌ abcdef
❌ tên dịch vụ
❌ tên cá nhân
❌ ngày sinh
❌ thông tin dễ tìm thấy trên mạng xã hội
5. Không nên đổi mật khẩu định kỳ một cách máy móc
Điều này khá bất ngờ với mình.
Trước đây nhiều công ty yêu cầu:
- 30 ngày đổi mật khẩu
- 60 ngày đổi mật khẩu
- 90 ngày đổi mật khẩu
Tuy nhiên NIST hiện không còn khuyến nghị điều đó.
Lý do:
Người dùng thường đổi theo kiểu:
Password1
Password2
Password3
Password4
Điều này không giúp tăng bảo mật mà còn khiến người dùng dễ quên mật khẩu hơn.
6. Rate Limiting – Làm chậm kẻ tấn công
Nhiều hệ thống sẽ khóa tạm thời tài khoản sau một số lần nhập sai.
Ví dụ:
Sai 10 lần
→ Khóa 1 phút
Sai tiếp
→ Khóa 5 phút
Sai tiếp
→ Khóa 15 phút
Mục tiêu không phải ngăn chặn hoàn toàn.
Mục tiêu là:
Tăng chi phí và thời gian của cuộc tấn công.
7. Two-Factor Authentication (2FA)
Ngoài mật khẩu, hệ thống có thể yêu cầu thêm một yếu tố xác thực khác.
Ba nhóm yếu tố phổ biến:
Something You Know
Password
PIN
Something You Have
Điện thoại
Authenticator App
USB Security Key
Something You Are
Face ID
Fingerprint
Biometrics
Nếu có thể:
Luôn bật 2FA cho các tài khoản quan trọng.
8. SMS OTP chưa phải lựa chọn tốt nhất
Khóa học giới thiệu một hình thức tấn công gọi là:
SIM Swapping
Kẻ tấn công lừa nhà mạng chuyển số điện thoại của bạn sang SIM khác.
Khi đó:
OTP gửi cho bạn
→ Thực tế lại gửi cho hacker
Vì vậy:
Ưu tiên
✅ Google Authenticator
✅ Microsoft Authenticator
✅ Authy
Hạn chế
⚠️ SMS OTP
9. Keylogger
Keylogger là phần mềm ghi lại toàn bộ thao tác bàn phím.
Ví dụ:
Email
Password
OTP
đều có thể bị ghi lại và gửi về cho hacker.
Đây là lý do mình hạn chế đăng nhập tài khoản trên:
- Máy tính công cộng
- Internet Cafe
- Máy lạ
- Thiết bị không kiểm soát được
10. Credential Stuffing
Đây là một trong những lỗi phổ biến nhất hiện nay.
Ví dụ:
Gmail:
nam@gmail.com
Password123
và
Facebook:
nam@gmail.com
Password123
Nếu Facebook bị lộ dữ liệu:
Hacker sẽ thử chính bộ thông tin đó trên Gmail.
👉 Đây được gọi là Credential Stuffing.
Bài học
Không tái sử dụng mật khẩu giữa nhiều dịch vụ.
11. Social Engineering
Không phải cuộc tấn công nào cũng dùng kỹ thuật.
Đôi khi hacker chỉ cần:
- Gọi điện
- Nhắn tin
- Giả mạo nhân viên hỗ trợ
- Đặt những câu hỏi tưởng như vô hại
để khiến nạn nhân tự cung cấp thông tin.
Một ví dụ rất hay trong khóa học:
Giảng viên yêu cầu mọi người viết mật khẩu của mình ra giấy.
Những ai làm theo đã vô tình trở thành nạn nhân của một bài kiểm tra Social Engineering.
12. Phishing
Phishing là hình thức lừa đảo nhằm đánh cắp thông tin thông qua:
- Email giả mạo
- Website giả mạo
- Tin nhắn giả mạo
Ví dụ:
Tài khoản của bạn sắp bị khóa.
Vui lòng đăng nhập để xác minh ngay.
Khi nhấn vào liên kết:
- Website trông giống thật
- Giao diện gần như giống hệt
Nhưng thực tế là website do hacker kiểm soát.
Tổng kết
Sau Session 1, điều mình tâm đắc nhất không phải là cách tạo mật khẩu mạnh mà là tư duy về bảo mật:
Cybersecurity là cuộc chơi về chi phí, thời gian và rủi ro.
Chúng ta không cần tạo ra một hệ thống hoàn hảo. Thay vào đó, hãy khiến việc tấn công trở nên khó khăn hơn mức mà kẻ tấn công sẵn sàng bỏ ra.
Nguồn học tập: CS50's Introduction to Cybersecurity – Harvard University
Đây là những ghi chép và góc nhìn cá nhân của mình sau khi hoàn thành Session 1 của khóa học.
Những việc mình sẽ áp dụng ngay
- Sử dụng mật khẩu dài hơn
- Không tái sử dụng mật khẩu
- Bật 2FA cho các tài khoản quan trọng
- Ưu tiên Authenticator App thay vì SMS OTP
- Hạn chế đăng nhập trên thiết bị công cộng
- Cảnh giác với các email và liên kết lạ
Không phải chuyên gia chia sẻ kiến thức, mà là một người đang học chia sẻ hành trình.