Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Cryptographic Failures – Khi mã hóa tồn tại… chỉ để cho có


    Nhiều người nghĩ rằng: “Có mã hóa là an toàn.”

    Thực tế thì không. Rất nhiều hệ thống vẫn dùng crypto, nhưng vẫn lộ dữ liệu như thường.

    Lý do nằm ở một khái niệm quen mà dễ bị xem nhẹ:
    👉 Cryptographic Failures.
    ❓ Cryptographic Failures là gì?

    Cryptographic Failures xảy ra khi hệ thống:
    • Mã hóa sai cách
    • Dùng thuật toán yếu hoặc lỗi thời
    • Quản lý khóa (key) kém
    • Hoặc… không mã hóa dữ liệu nhạy cảm ngay từ đầu
    Nói đơn giản:
    👉 Crypto có, nhưng bảo mật thì không.

    OWASP xếp Cryptographic Failures Top 2 trong OWASP Top 10 vì hậu quả của nó thường là:
    • Lộ mật khẩu
    • Lộ dữ liệu cá nhân
    • Lộ token, session, API key

    💥 Những sai lầm cryptographic phổ biến

    1️⃣ Không mã hóa dữ liệu nhạy cảm
    • Password lưu plain-text
    • Token gửi qua HTTP
    • Thông tin cá nhân lưu thẳng DB
    👉 Khi bị leak DB = mất tất cả.
    2️⃣ Dùng thuật toán yếu hoặc lỗi thời
    • MD5, SHA1 cho mật khẩu
    • DES, RC4 cho mã hóa
    • Key quá ngắn

    👉 Không cần hack, chỉ cần crack.
    3️⃣ Hash password sai cách
    • Không dùng salt
    • Không dùng thuật toán chuyên cho password
    📌 Sai:
    hash = SHA256(password)
    📌 Đúng:
    • bcrypt
    • Argon2
    • PBKDF2

    4️⃣ Quản lý key kém
    • Hard-code key trong source
    • Dùng chung key cho mọi user
    • Không rotate key

    👉 Lộ key = lộ toàn bộ dữ liệu đã mã hóa.
    5️⃣ Tin vào “mã hóa tự làm”
    “Tôi viết thuật toán riêng cho an toàn hơn”

    Đây là red flag lớn trong security.

    👉 Crypto tự chế gần như luôn sai.
    🚨 Vì sao Cryptographic Failures nguy hiểm?
    • Không tạo lỗi rõ ràng
    • App vẫn chạy “bình thường”
    • Dev tưởng đã an toàn
    • Hacker chỉ cần… đọc dữ liệu
    Rất nhiều vụ breach lớn:
    • Không phải do exploit phức tạp
    • Mà do crypto dùng sai từ đầu

    🛡️ Cách phòng tránh Cryptographic Failures

    ✅ Mã hóa đúng thứ cần mã hóa
    • Password
    • Token
    • Dữ liệu cá nhân
    • Secret / API key

    ✅ Dùng thuật toán chuẩn, được kiểm chứng
    • HTTPS (TLS) cho truyền dữ liệu
    • AES cho mã hóa dữ liệu
    • bcrypt / Argon2 cho password

    ✅ Quản lý key nghiêm túc
    • Không hard-code
    • Dùng secret manager
    • Rotate key định kỳ

    ✅ Đừng tự viết crypto
    “Use crypto, don’t invent it.”

    Dùng thư viện chuẩn, cập nhật thường xuyên.
    🧠 Góc nhìn security

    Cryptographic Failures thường không đến từ hacker quá giỏi,
    mà đến từ:
    • Dev chủ quan
    • Hiểu sai về crypto
    • Nghĩ rằng “có mã hóa là đủ”
    Nhưng trong bảo mật:
    Sai một chi tiết nhỏ trong crypto = mất toàn bộ hệ thống.

    Click image for larger version

Name:	failure-1-1024x576.png
Views:	20
Size:	35.1 KB
ID:	438559

    🎯 Kết luận

    Cryptographic Failures không ồn ào.
    Nó không làm sập server.
    Nó không để lại log tấn công rõ ràng.

    Nó chỉ âm thầm làm lộ mọi thứ.

    Nếu bạn đang xây dựng hệ thống:
    • Hãy xem lại cách bạn mã hóa
    • Xem lại thuật toán
    • Và đặc biệt là… cách bạn quản lý key
    Vì crypto không sai.
    👉 Sai là cách chúng ta dùng nó.
Working...
X