0

Session 1 - Securing Accounts: Bảo vệ tài khoản trong thế giới số

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

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.

Cảm ơn các bác đã đọc tới đây, theo dõi mình để có thông báo mới nhất phần tiếp theo nhé!


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí