Tin tặc sử dụng nhiều phương pháp khác nhau để bẻ khóa mật khẩu, và một trong số đó là tấn công bảng cầu vồng. Trong một số trường hợp nhất định, phương pháp này có thể nhanh hơn tấn công từ điển hoặc nhồi nhét thông tin xác thực.

Bài viết này sẽ tìm hiểu cách thức hoạt động của các cuộc tấn công bảng cầu vồng và thảo luận về các cách để ngăn chặn chúng.

Định nghĩa tấn công bảng cầu vồng

Tấn công bảng cầu vồng là một hình thức tấn công mã hóa mà tin tặc sử dụng để xâm nhập vào hệ thống bằng cách giải mã mật khẩu từ mã băm của chúng, vốn hoạt động như các dấu vân tay kỹ thuật số. Một hàm băm sẽ ánh xạ mỗi mật khẩu với một chuỗi ký tự tương ứng.

Không giống như tấn công vét cạn (brute-force) thử từng mật khẩu một, tấn công bảng cầu vồng không cần phải đoán mò một khi bảng đã được tính toán trước. Bảng được tính toán trước này (được gọi là bảng cầu vồng do cách hiển thị khi được mã hóa màu) về cơ bản là một cơ sở dữ liệu lớn gồm các cặp giá trị hàm băm được liên kết với văn bản thuần túy tương ứng.

Cách thức hoạt động của tấn công mật khẩu bằng bảng cầu vồng

1. Tạo danh sách mật khẩu

Khi tạo các bảng cầu vồng, tin tặc thường nhắm mục tiêu vào các mật khẩu có khả năng được sử dụng cao nhất và phổ biến nhất với các mẫu đơn giản (ví dụ: 123456, password, hoặc qwerty), các từ trong từ điển hoặc các tệp dữ liệu mật khẩu rò rỉ thu được từ các vụ vi phạm dữ liệu.

2. Chọn hàm băm và chuyển đổi mật khẩu

Tấn công bảng cầu vồng hoạt động hiệu quả với các hàm băm mã hóa đơn giản hơn, nhanh hơn như MD-5, SHA-1, LM Hash hoặc NTLM Hash vì chúng không sử dụng các tính năng bảo mật như thêm giá trị ngẫu nhiên (thêm dữ liệu ngẫu nhiên vào mỗi mật khẩu trước khi băm) hoặc kéo giãn khóa (băm mật khẩu nhiều lần).

Mật khẩu được băm bằng MD-5Mật khẩu văn bản thuần túy
482c811da5d5b4bc6d497ffa98491e38password123

Mỗi mật khẩu văn bản thuần túy chạy qua hàm băm để tạo ra mã băm tương ứng, có một chuỗi ký tự duy nhất với độ dài cố định như trong ví dụ trên. Sau khi tất cả mật khẩu đã được băm, tin tặc có thể sử dụng chúng để tạo bảng cầu vồng.

3. Tạo bảng cầu vồng để giải mã mật khẩu

Có thể coi bảng cầu vồng như một trang tính Excel lớn, với mật khẩu băm ở cột đầu tiên và mật khẩu văn bản thuần túy ở cột thứ hai. Nếu một mã băm bị lộ có trong bảng này, điều đó có nghĩa là mật khẩu bị lộ nằm ở ô bên cạnh.

Các ví dụ về tấn công bảng cầu vồng

Dưới đây là hai ví dụ giả định để minh họa cách một cuộc tấn công bảng cầu vồng có thể diễn ra:

  • Một tin tặc xác định một trang web mạng xã hội sử dụng thuật toán băm lỗi thời mà không có bất kỳ giá trị ngẫu nhiên nào. Bằng cách khai thác lỗ hổng SQL injection, kẻ tấn công trích xuất các giá trị hàm băm của mật khẩu người dùng từ cơ sở dữ liệu của trang web. Sau đó, kẻ tấn công sử dụng bảng cầu vồng được tính toán trước để nhanh chóng chuyển đổi hàng nghìn hàm băm này trở lại thành mật khẩu văn bản thuần túy, làm xâm phạm tài khoản người dùng.
  • Trong quá trình giám sát mạng định kỳ, một tin tặc phát hiện ra rằng một trang web thương mại điện tử truyền các hàm băm mật khẩu một cách không an toàn giữa các máy chủ của trang web và sử dụng các công cụ nghe lén mạng để thu thập dữ liệu này. Do có quyền truy cập vào các hàm băm mật khẩu, tin tặc sử dụng tấn công bảng cầu vồng để giải mã mật khẩu của khách hàng, giành quyền truy cập vào tài khoản mua sắm và thông tin cá nhân.

Các vụ vi phạm dữ liệu do tấn công bảng cầu vồng

Các cuộc tấn công bảng cầu vồng đã được sử dụng trong thực tế để đánh cắp hàng triệu chi tiết đăng nhập.

Ví dụ, một vụ tấn công LinkedIn năm 2012(cửa sổ mới) do tội phạm mạng Nga thực hiện đã dẫn đến việc đánh cắp gần 6,5 triệu mật khẩu tài khoản người dùng, gây ra một vụ vi phạm dữ liệu nghiêm trọng. Sau phát hiện ban đầu, LinkedIn đã phát hiện thêm 100 triệu địa chỉ email và mật khẩu bị xâm phạm vào năm 2016 có liên quan đến cùng một sự cố. Các mật khẩu bị đánh cắp được bảo vệ kém, thiếu các biện pháp bảo mật bổ sung như giá trị ngẫu nhiên, giúp kẻ tấn công dễ dàng giải mã hơn bằng cách sử dụng các bảng cầu vồng tiêu chuẩn

Cách phòng tránh tấn công bảng cầu vồng

Chọn các nền tảng có hàm băm mạnh

Các hàm băm bảo mật như bcrypt(cửa sổ mới) hoặc Argon2(cửa sổ mới) sử dụng thêm giá trị ngẫu nhiên(cửa sổ mới) để thêm dữ liệu ngẫu nhiên vào mật khẩu trước khi tạo hàm băm. Không có giá trị ngẫu nhiên, hàm băm của mật khẩu sẽ không hiển thị trong bảng cầu vồng, do đó cuộc tấn công sẽ thất bại.

Để tìm hiểu xem một dịch vụ hoặc ứng dụng cụ thể sử dụng hàm băm nào để lưu trữ mật khẩu, hãy kiểm tra chính sách quyền riêng tư(cửa sổ mới), mục Câu hỏi thường gặp (FAQ), trang hỗ trợ, các chứng nhận bảo mật hoặc kiểm toán (nếu có), tài liệu kỹ thuật hoặc tài nguyên cho nhà phát triển(cửa sổ mới). Chỉ cần tìm kiếm đơn giản trên internet hoặc có thể liên hệ với bộ phận hỗ trợ khách hàng để hỏi.

Nếu tự vận hành các trang web hoặc cơ sở dữ liệu, hãy luôn cập nhật cài đặt bảo mật bằng cách sử dụng các phần bổ trợ hoặc mô-đun triển khai các thuật toán băm mạnh.

Sử dụng mật khẩu phức tạp

Thay vì sử dụng mật khẩu dễ đoán, hãy chọn mật khẩu bảo mật dài ít nhất 12 ký tự, chứa các chữ cái viết hoa và viết thường, chữ số và biểu tượng. Ví dụ về mật khẩu mạnh là ?GmmM1Z[c5:F hoặc beht=ty]P:)Gf^c?p?+7. Kẻ tấn công mạng khó lòng nhắm mục tiêu vào các mật khẩu phức tạp như vậy bằng hình thức tấn công bảng cầu vồng.

Bật xác thực nhiều yếu tố

Xác thực nhiều yếu tố (MFA) như xác thực hai yếu tố (2FA) bổ sung thêm ít nhất một hình thức xác thực nữa cho yêu cầu mật khẩu, chẳng hạn như mã trên trình xác thực 2FA. Nếu kẻ tấn công phát hiện thành công mật khẩu sau một cuộc tấn công bảng cầu vồng, chúng vẫn sẽ không thể vượt qua các bước xác thực tiếp theo.

Ngoài ra, nếu nhận được yêu cầu xác minh thêm ngoài dự kiến, đó là dấu hiệu rõ ràng cho thấy ai đó đang cố gắng xâm nhập vào tài khoản. Có thể nhanh chóng phản hồi bằng cách thay đổi mật khẩu.

Sử dụng địa chỉ email biệt danh

Địa chỉ email biệt danh(cửa sổ mới) có thể bảo vệ khỏi các vụ vi phạm dữ liệu dẫn đến tấn công bảng cầu vồng vì chúng không được kết nối với địa chỉ email chính. Ví dụ: có thể tiếp tục sử dụng email chính cho các thư quan trọng và tài chính trong khi dành riêng các biệt danh email cho các hoạt động kém an toàn hơn, chẳng hạn như đăng ký các dịch vụ không đáng tin cậy. Nếu địa chỉ email biệt danh bị tấn công, chỉ cần vô hiệu hóa nó.

Giám sát internet để phát hiện các vụ vi phạm dữ liệu

Bằng cách cập nhật thông tin về các vụ vi phạm mới nhất, có thể xác định xem bất kỳ dịch vụ nào đang sử dụng có bị xâm phạm hay không và liệu dữ liệu có bị rò rỉ hay không. Điều này cho phép thực hiện các bước chủ động, chẳng hạn như thay đổi mật khẩu ngay lập tức, để ngăn chặn tin tặc sử dụng dữ liệu có thể đã bị lộ để truy cập trái phép vào tài khoản.

Proton Pass có thể hỗ trợ như thế nào

Proton Pass có thể bảo vệ khỏi các cuộc tấn công bảng cầu vồng bằng cách tạo mật khẩu mạnh(cửa sổ mới) và quản lý chúng ở một nơi. Ứng dụng cũng hỗ trợ trình xác thực TOTP (mật khẩu dùng một lần dựa trên thời gian) cho các mã thông báo 2FA. Ngoài ra, ứng dụng cung cấp các biệt danh hide-my-email để ngăn địa chỉ email chính bị lộ trực tuyến.

Tất cả người đăng ký Proton Pass đều có thể sử dụng Pass Monitor(cửa sổ mới) để giám sát tình trạng của tất cả mật khẩu và Giám sát Dark Web để theo dõi nhiều nguồn vi phạm dữ liệu khác nhau. Mô hình bảo mật sử dụng thuật toán băm bcrypt an toàn, vốn thêm giá trị ngẫu nhiên vào mật khẩu trước khi băm để chặn các cuộc tấn công bảng cầu vồng. Ngoài ra, một chương trình bảo mật nâng cao có tên là Proton Sentinel cũng được vận hành để phát hiện và ngăn chặn các cuộc tấn công chiếm đoạt tài khoản.

Bắt đầu bảo vệ tài khoản khỏi các cuộc tấn công bảng cầu vồng bằng cách đăng ký một tài khoản Proton Pass miễn phí ngay hôm nay.