Tấn công Brute-Force là gì? Cách bảo vệ chống lại tấn công brute-force
Tấn công brute-force là gì? Bài viết sau giới thiệu cách thức hoạt động của cuộc tấn công phổ biến này và cách bạn có thể giữ an toàn.
Table of Contents
Nếu bạn đã đọc các bài viết về bảo mật, có lẽ bạn đã nghe thấy thuật ngữ “tấn công brute-force”.
Hãy cùng FUNiX tìm hiểu xem tấn công brute-force là gì, cách chúng thường hoạt động và cách bạn có thể bảo vệ bản thân.
Tấn công brute-force là gì?
Ở cấp độ cơ bản, một cuộc tấn công brute-force (nghĩa đen là vũ lực) rất đơn giản. brute-force mật khẩu có nghĩa là đoán mọi mật khẩu có thể có cho đến khi tìm ra mật khẩu đúng.
Do đó, trong hầu hết các cuộc tấn công brute-force cơ bản, một chương trình máy tính cố gắng đoán mật khẩu hoặc khóa mã hóa bằng cách thử tất cả các kết hợp có thể có cho một số ký tự nhất định.
Ví dụ: giả sử bạn đã viết một ứng dụng để brute-force mật khẩu điện thoại gồm bốn số. Nó sẽ bắt đầu bằng cách đoán 0000, sau đó là 0001, rồi 0002, 0003, v.v. cho đến 9999.
Việc brute-force các mật khẩu phức tạp hơn cũng tương tự như vậy. Thuật toán brute-force cố gắng bẻ khóa mật khẩu bao gồm sáu ký tự chữ và số có thể bắt đầu bằng aaaaaa, aaaaab, aaaaac, v.v. Sau đó, nó sẽ tiếp tục thử các mật khẩu bao gồm các số (và có thể là chữ hoa), như aabaa1, aabaa2 , aabaa3… cho đến zzzzzz, zzzzz1 và hơn thế nữa.
Về lý thuyết, nếu bạn có đủ thời gian và sức mạnh tính toán, bạn có thể đoán bất kỳ mật khẩu nào bằng cách này. Nhưng ngoại trừ mật khẩu ngắn và đơn giản, thì các cuộc tấn công brute-force sẽ không hiệu quả. Sẽ mất nhiều năm và hàng tấn sức mạnh tính toán để đoán ra một mật khẩu mạnh.
Do vậy, các kế hoạch bẻ khóa mật khẩu đã trở nên tinh vi hơn thế.
Tấn công brute-force nâng cao
Tin tặc đã dùng nhiều cách để cải thiện tấn công brute-force.
Ví dụ, một cuộc tấn công từ điển (dictionary attack) không chỉ lặp qua tất cả các tổ hợp ký tự có thể. Nó cũng sử dụng các từ, số hoặc chuỗi ký tự từ danh sách có sẵn—thường được lấy từ danh sách các mật khẩu thường bị rò rỉ. Vì những mật khẩu này rất phổ biến nên chúng rất có thể cung cấp quyền truy cập vào các tài khoản khác.
Ví dụ: một cuộc tấn công từ điển có thể thử một số mật khẩu phổ biến, như “password”, “123456”, v.v. trước khi chuyển sang một cuộc tấn công brute-force tiêu chuẩn. Hoặc nó có thể thêm năm hiện tại vào cuối tất cả mật khẩu mà nó thử trước khi chuyển sang mật khẩu tiếp theo.
Các cuộc tấn công từ điển giảm thiểu đáng kể các tổ hợp mật khẩu hiếm gặp. Điều này rất dễ hiểu: đối với mật khẩu 8 ký tự cơ bản, mọi người nhiều khả năng sử dụng “dogs1234” hơn là “zp1vg8el”. Bằng cách tập trung vào các kết hợp có nhiều khả năng hơn trước, bạn có thể cắt giảm thời gian sử dụng brute-force.
Có nhiều phương pháp sử dụng tấn công brute-force, nhưng tất cả đều dựa vào việc thử một số lượng lớn mật khẩu càng nhanh càng tốt cho đến khi tìm được mật khẩu phù hợp. Một số yêu cầu nhiều sức mạnh tính toán hơn nhưng tiết kiệm thời gian. Một số khác nhanh hơn nhưng yêu cầu lượng tài nguyên lớn hơn trong cuộc tấn công.
Bảo vệ chống lại các cuộc tấn công brute-force
Có một số biện pháp phòng vệ mà các trang web và các công cụ khác dùng để chống lại các cuộc tấn công brute-force, cũng như các cách để cá nhân bảo vệ bản thân trước các cuộc tấn công đó.
Các dịch vụ chống lại tấn công brute-force như thế nào?
Một trong những biện pháp bảo vệ đơn giản nhất và phổ biến nhất là khóa máy. Có nghĩa là nếu bạn nhập sai mật khẩu một số lần nhất định, tài khoản từ chối chấp nhận bất kỳ lần đăng nhập nào nữa. Bạn cần liên hệ với dịch vụ khách hàng hoặc đợi một khoảng thời gian nhất định để thử lại.
Các trang web cũng có thể ngăn chặn tấn công brute-force bằng thử thách CAPTCHA hoặc cái gì đó tương tự. Việc phải điền CAPTCHA mỗi khi muốn thử mật khẩu sẽ làm chậm quá trình rất nhiều.
Mặc dù các chiến thuật này rất hữu ích để tránh các cuộc tấn công brute-force nhưng chúng cũng cung cấp các cách khác để tấn công một trang web. Ví dụ: nếu một cuộc tấn công brute-force được thực hiện với một trang web khóa tài khoản sau năm lần đăng nhập không chính xác, dịch vụ khách hàng của trang web đó có thể nhận được quá nhiều cuộc gọi từ người dùng, do đó làm chậm hoạt động của trang web.
Việc tấn công một trang web bằng các nỗ lực brute-force cũng có thể được sử dụng như một phần của cuộc tấn công từ chối dịch vụ phân tán (DDOS).
Cách tự bảo vệ mình trước tấn công brute-force
Xác thực hai yếu tố là một cách hiệu quả để bảo vệ bạn khỏi các cuộc tấn công brute-force. Bằng cách này, ngay cả khi tin tặc đoán đúng mật khẩu, việc phải nhập thêm một mã khác sẽ ngăn kẻ tấn công truy cập vào tài khoản của bạn.
Tuy nhiên, cách dễ nhất để bảo vệ bạn trước cuộc tấn công brute-force là sử dụng một mật khẩu dài. Khi độ dài của mật khẩu tăng, sức mạnh tính toán cần thiết để đoán tất cả các tổ hợp ký tự cũng tăng theo cấp số nhân.
Ví dụ như mật khẩu iPhone. Các phiên bản iOS cũ hơn dùng mã PIN gồm bốn chữ số, tức là có thể có 10000 mã pin. Tuy nhiên, các phiên bản iOS hiện đại sử dụng mật mã gồm sáu chữ số theo mặc định, tăng số lượng mã pin có thể lên một triệu. Như vậy, chỉ cần thêm hai chữ số nữa, hệ số bảo vệ sẽ tăng lên 100 lần.
Ngoài độ dài, các mật khẩu phức tạp cũng khó bị brute-force hơn. Việc các số, chữ in hoa và ký hiệu vào mật khẩu sẽ làm tăng thời gian để brute-force mật khẩu đáng kể.
Sử dụng mật khẩu an toàn và bạn sẽ gần như miễn nhiễm với các cuộc tấn công brute-force. Mật khẩu gồm 12 ký tự sử dụng chữ hoa, chữ thường, số và nhóm 18 ký hiệu sẽ có hơn 68 tỷ tỷ khả năng. Một mật khẩu như vậy sẽ mất hàng thế kỷ để brute-force.
Bảo vệ trước tấn công brute-force rất dễ dàng
Bây giờ bạn đã biết cách thức hoạt động của các cuộc tấn công brute-force, bảo vệ bản thân rất dễ dàng: sử dụng xác thực hai yếu tố và đặt mật khẩu dài và phức tạp, với sự kết hợp của chữ hoa, chữ thường, số và ký hiệu
Vân Nguyễn
Dịch từ: https://www.makeuseof.com/tag/brute-force-attack/
Bình luận (0
)