2012-02-06 45 views
9

Khi tôi nhập mật khẩu của tôi cho đặc quyền superuser hoặc để đăng nhập vào hộp Linux của tôi, nếu tôi nhập chính xác, nó sẽ trả về ngay lập tức, cấp cho tôi quyền truy cập. Tuy nhiên, nếu tôi thực hiện một số lỗi đánh máy, có một sự chờ đợi lâu trước khi nó cho tôi biết mật khẩu của tôi là không chính xác. Thông thường, tôi nhận ra rằng tôi đã sai lầm lâu trước khi máy tính thực hiện.Tại sao `sudo` Chậm khi Mật khẩu không chính xác?

Tại sao lại xảy ra trường hợp này? Như tôi đã hiểu, mật khẩu người dùng được mã hóa và lưu trữ trong /etc/shadow, vì vậy có vẻ như dữ liệu nhập của tôi chỉ được mã hóa và so sánh với nội dung trong tệp đó cho tên người dùng của tôi --- sẽ mất khoảng thời gian tôi nhập đúng mật khẩu hay không. Có một số lý do thuật toán, như nó phải kiểm tra trong một loạt các địa điểm phụ trước khi nó có thể xác nhận rằng nó là không chính xác? Hoặc có thể hệ thống biết đó là mật khẩu không chính xác một cách nhanh chóng, nhưng phải làm rất nhiều việc để theo dõi các lần đăng nhập sai. Hoặc có lẽ nó chỉ đang cố trừng phạt tôi vì vặn vẹo.

+0

Tôi hy vọng câu hỏi này phù hợp với SO. Tôi biết nó không liên quan đến lập trình chặt chẽ, nhưng tôi đã hy vọng tìm hiểu điều gì đó về các thuật toán mã hóa hoặc các phương pháp bảo mật tốt nhất. –

+1

Đó có thể là mục đích để làm chậm tự động đoán .. –

+0

Tôi đã nhận thấy rằng vài tháng trước nhưng không đủ tò mò để hỏi. Hy vọng một câu trả lời có thể được đưa ra! –

Trả lời

5

Điều này được thực hiện hoàn toàn với mục đích: lý do cho điều đó là làm cho nó không thể đoán được mật khẩu bằng cách sử dụng một cuộc tấn công từ điển.

Quay vòng nhanh là điều quan trọng đối với cuộc tấn công từ điển. Làm chậm mật khẩu không chính xác là một cách để làm chậm cuộc tấn công vào một lần thu thập thông tin, làm cho nó không thể thực hiện trong một khoảng thời gian có ý nghĩa.

+1

Điều đó đang được nói, có cách nào để giảm thời gian chờ không? –

+3

@Shurane Tôi thành thật hy vọng rằng câu trả lời là "không". – dasblinkenlight

+5

Đây có thể không phải là trường hợp của nó, nhưng Doug Gwyn nói rằng "UNIX không được thiết kế để ngăn cản bạn làm những điều ngu ngốc, bởi vì điều đó cũng sẽ ngăn cản bạn làm những điều thông minh." Tôi không ngại tự bắn mình vào chân. –

2

Tôi không chắc chắn nếu câu hỏi này có liên quan ở đây .. Tôi cũng không chắc chắn về tính chính xác của câu trả lời của tôi nhưng tôi nghĩ rằng đó là để bảo mật. Làm cho nó n lần chậm hơn có nghĩa là một cuộc tấn công bruteforce sẽ mất nhiều thời gian hơn n.

1

Phản hồi chậm từ sudo khi bạn nhập sai mật khẩu là nếu bạn đang gắn một lực lượng thô bạo 'thử và đoán mật khẩu' tấn công với sudo, bạn bị chậm lại mỗi khi bạn đoán sai, để tấn công mất nhiều thời gian hơn. Những người đang sử dụng nó một cách hợp pháp không có lý do gì để khiếu nại. Nếu bạn thực hiện một lỗi đánh máy mỗi một lần trong một thời gian, bạn sẽ không nhớ. Nếu bạn thực sự không thể gõ mật khẩu của riêng bạn, nó có thể là thời gian để thay đổi nó thành một cái gì đó (an toàn) mà bạn có thể gõ.

+0

* "Nếu bạn làm lỗi đánh máy một lần trong một thời gian, bạn sẽ không bận tâm." * Vâng, đó là lý do tại sao tôi ở đây. – Luc

1

Điều khiển hoặc Đăng nhập SSH cũng chậm. Bất cứ thứ gì yêu cầu mật khẩu là "chậm lại" để ngăn chặn các cuộc tấn công bạo lực.

Các vấn đề liên quan