Thường được gọi là câu hỏi và câu trả lời “bí mật”, câu hỏi và câu trả lời bảo mật thường được sử dụng để khôi phục mật khẩu đã quên (xem Kiểm tra các chức năng thay đổi hoặc đặt lại mật khẩu yếu hoặc như bảo mật bổ sung trên đầu mật khẩu.
Các bài viết liên quan:
Chúng thường được tạo khi tạo tài khoản và yêu cầu người dùng chọn từ một số câu hỏi được tạo trước và đưa ra câu trả lời thích hợp. Chúng có thể cho phép người dùng tạo các cặp câu hỏi và câu trả lời của riêng họ. Cả hai phương pháp đều có xu hướng không an toàn. Điều này khó hơn so với âm thanh. Các câu hỏi và câu trả lời bảo mật dựa vào tính bí mật của câu trả lời. Câu hỏi và câu trả lời nên được chọn để câu trả lời chỉ có chủ tài khoản biết. Tuy nhiên, mặc dù nhiều câu trả lời có thể không được biết đến công khai, hầu hết các câu hỏi mà các trang web triển khai đều quảng cáo câu trả lời là giả riêng tư.
Câu hỏi được tạo trước
Phần lớn các câu hỏi được tạo trước có bản chất khá đơn giản và có thể dẫn đến những câu trả lời không an toàn. Ví dụ:
- Các thành viên trong gia đình hoặc bạn bè thân thiết của người dùng có thể biết câu trả lời, ví dụ: “Tên thời con gái của mẹ bạn là gì?”, “Ngày sinh của bạn là gì?”
- Các câu trả lời có thể dễ đoán, ví dụ: “Màu sắc yêu thích của bạn là gì?”, “Đội bóng chày yêu thích của bạn là gì?”
- Các câu trả lời có thể là thô bạo cưỡng bức, ví dụ: “Tên giáo viên trung học yêu thích của bạn là gì?” – câu trả lời có lẽ nằm trong một số danh sách có thể tải xuống dễ dàng gồm các tên phổ biến, và do đó, một cuộc tấn công vũ phu đơn giản có thể được viết theo kịch bản.
- Các câu trả lời có thể được khám phá công khai, ví dụ: “Bộ phim yêu thích của bạn là gì?” – câu trả lời có thể dễ dàng tìm thấy trên trang hồ sơ mạng xã hội của người dùng.
Câu hỏi tự tạo
Vấn đề với việc người dùng tạo câu hỏi của riêng họ là nó cho phép họ tạo ra các câu hỏi rất không an toàn, hoặc thậm chí bỏ qua toàn bộ điểm của việc có câu hỏi bảo mật ngay từ đầu. Dưới đây là một số ví dụ thực tế minh họa điểm này:
- “1 + 1 là gì?”
- “Tên tài khoản của bạn là gì?”
- “Mật khẩu của tôi là S3cur ty!”
Mục tiêu kiểm tra
- Xác định mức độ phức tạp và mức độ thẳng thắn của các câu hỏi.
- Đánh giá các câu trả lời có thể có của người dùng và khả năng vũ phu.
Làm thế nào để kiểm tra
Kiểm tra các câu hỏi yếu được tạo trước
Cố gắng lấy danh sách các câu hỏi bảo mật bằng cách tạo tài khoản mới hoặc làm theo quy trình “Tôi không nhớ mật khẩu của mình”. Cố gắng tạo càng nhiều câu hỏi càng tốt để hiểu rõ về loại câu hỏi bảo mật được hỏi. Nếu bất kỳ câu hỏi bảo mật nào thuộc các loại được mô tả ở trên, chúng rất dễ bị tấn công (phỏng đoán, vũ phu, có sẵn trên phương tiện truyền thông xã hội, v.v.).
Kiểm tra các câu hỏi tự tạo yếu
Cố gắng tạo các câu hỏi bảo mật bằng cách tạo một tài khoản mới hoặc bằng cách định cấu hình các thuộc tính khôi phục mật khẩu hiện tại của tài khoản của bạn. Nếu hệ thống cho phép người dùng tạo các câu hỏi bảo mật của riêng họ, thì rất dễ bị tạo ra các câu hỏi không an toàn. Nếu hệ thống sử dụng câu hỏi bảo mật tự tạo trong chức năng quên mật khẩu và nếu tên người dùng có thể được liệt kê (xem Kiểm tra để liệt kê tài khoản và tài khoản người dùng có thể đoán được, thì người thử nghiệm sẽ dễ dàng liệt kê một số câu hỏi tự tạo. Có thể hy vọng sẽ tìm thấy một số câu hỏi tự tạo yếu bằng phương pháp này.
Kiểm tra các Brute-forcible Answers
Sử dụng các phương pháp được mô tả trong Kiểm tra cơ chế khóa yếu để xác định xem một số câu trả lời bảo mật được cung cấp không chính xác có kích hoạt cơ chế khóa hay không.
Điều đầu tiên cần xem xét khi cố gắng khai thác các câu hỏi bảo mật là số lượng câu hỏi cần được trả lời. Phần lớn các ứng dụng chỉ cần người dùng trả lời một câu hỏi duy nhất, trong khi một số ứng dụng quan trọng có thể yêu cầu người dùng trả lời hai hoặc thậm chí nhiều câu hỏi.
Bước tiếp theo là đánh giá độ mạnh của các câu hỏi bảo mật. Câu trả lời có thể nhận được bằng một tìm kiếm đơn giản của Google hay bằng cuộc tấn công kỹ thuật xã hội? Là một người kiểm tra thâm nhập, đây là hướng dẫn từng bước về cách khai thác lược đồ câu hỏi bảo mật:
Ứng dụng có cho phép người dùng cuối chọn câu hỏi cần được trả lời không? Nếu vậy, hãy tập trung vào các câu hỏi có:
- Một câu trả lời “công khai”; ví dụ, một cái gì đó có thể được tìm thấy bằng một truy vấn công cụ tìm kiếm đơn giản.
- Một câu trả lời thực tế chẳng hạn như “trường học đầu tiên” hoặc các dữ kiện khác có thể được tra cứu.
- Rất ít câu trả lời có thể có, chẳng hạn như “mẫu xe đầu tiên của bạn là gì”. Những câu hỏi này sẽ cung cấp cho kẻ tấn công một danh sách ngắn các câu trả lời có thể có và dựa trên số liệu thống kê, kẻ tấn công có thể xếp hạng các câu trả lời từ khả năng cao nhất đến ít nhất.
Xác định xem bạn có bao nhiêu lần đoán nếu có thể.
- Việc đặt lại mật khẩu có cho phép các lần thử không giới hạn không?
- Có khoảng thời gian khóa nào sau khi X trả lời sai không? Hãy nhớ rằng bản thân hệ thống khóa có thể là một vấn đề bảo mật, vì nó có thể bị kẻ tấn công lợi dụng để khởi chạy từ chối dịch vụ chống lại người dùng hợp pháp.
- Chọn câu hỏi thích hợp dựa trên phân tích từ các điểm trên và thực hiện nghiên cứu để xác định câu trả lời có khả năng nhất.
Chìa khóa để khai thác thành công và vượt qua sơ đồ câu hỏi bảo mật yếu là tìm một câu hỏi hoặc bộ câu hỏi có khả năng dễ dàng tìm ra câu trả lời. Luôn tìm những câu hỏi có thể mang lại cho bạn cơ hội thống kê cao nhất để đoán câu trả lời chính xác, nếu bạn hoàn toàn không chắc chắn về bất kỳ câu trả lời nào. Cuối cùng, một sơ đồ câu hỏi bảo mật chỉ mạnh bằng câu hỏi yếu nhất.