Tấn công Brute-Force Explained: Làm thế nào tất cả các mã hóa là dễ bị tổn thương

Mục lục:

Tấn công Brute-Force Explained: Làm thế nào tất cả các mã hóa là dễ bị tổn thương
Tấn công Brute-Force Explained: Làm thế nào tất cả các mã hóa là dễ bị tổn thương

Video: Tấn công Brute-Force Explained: Làm thế nào tất cả các mã hóa là dễ bị tổn thương

Video: Tấn công Brute-Force Explained: Làm thế nào tất cả các mã hóa là dễ bị tổn thương
Video: Quản lý các Ứng dụng được Khởi động kèm Windows | Computer Tips & Tricks - YouTube 2024, Tháng mười một
Anonim
Các cuộc tấn công brute-force khá đơn giản để hiểu, nhưng khó bảo vệ. Mã hóa là toán học, và khi máy tính trở nên nhanh hơn ở môn toán, chúng trở nên nhanh hơn trong việc thử tất cả các giải pháp và xem cái nào phù hợp.
Các cuộc tấn công brute-force khá đơn giản để hiểu, nhưng khó bảo vệ. Mã hóa là toán học, và khi máy tính trở nên nhanh hơn ở môn toán, chúng trở nên nhanh hơn trong việc thử tất cả các giải pháp và xem cái nào phù hợp.

Các cuộc tấn công này có thể được sử dụng chống lại bất kỳ loại mã hóa nào, với mức độ thành công khác nhau. Các cuộc tấn công brute-force trở nên nhanh hơn và hiệu quả hơn với mỗi ngày trôi qua khi phần cứng máy tính mới hơn được phát hành nhanh hơn.

Brute-Force Khái niệm cơ bản

Các cuộc tấn công brute-force rất đơn giản để hiểu. Kẻ tấn công có một tệp được mã hóa - giả sử là cơ sở dữ liệu mật khẩu LastPass hoặc KeePass của bạn. Họ biết rằng tệp này chứa dữ liệu họ muốn xem và họ biết rằng có khóa mã hóa mở khóa. Để giải mã nó, họ có thể bắt đầu thử mọi mật khẩu có thể và xem liệu nó có dẫn đến một tập tin được giải mã hay không.

Chúng tự động thực hiện điều này với một chương trình máy tính, do đó tốc độ mà ai đó có thể tăng cường mã hóa khi phần cứng máy tính trở nên nhanh hơn và nhanh hơn, có khả năng thực hiện nhiều phép tính hơn mỗi giây. Tấn công brute-force có khả năng sẽ bắt đầu bằng mật khẩu một chữ số trước khi chuyển sang mật khẩu có hai chữ số và cứ như vậy, hãy thử tất cả các kết hợp có thể cho đến khi một hoạt động.

Một "tấn công từ điển" là tương tự và cố gắng từ trong một từ điển - hoặc một danh sách các mật khẩu phổ biến - thay vì tất cả các mật khẩu có thể. Điều này có thể rất hiệu quả, vì nhiều người sử dụng mật khẩu yếu và phổ biến như vậy.

Tại sao những kẻ tấn công không thể tàn bạo-buộc các dịch vụ web

Có sự khác biệt giữa các cuộc tấn công bạo lực trực tuyến và ngoại tuyến. Ví dụ: nếu kẻ tấn công muốn tìm cách xâm nhập vào tài khoản Gmail của bạn, họ có thể bắt đầu thử mọi mật khẩu có thể - nhưng Google sẽ nhanh chóng xóa chúng. Các dịch vụ cung cấp quyền truy cập vào các tài khoản đó sẽ làm giảm các nỗ lực truy cập và cấm các địa chỉ IP cố đăng nhập nhiều lần. Do đó, một cuộc tấn công vào một dịch vụ trực tuyến sẽ không hoạt động tốt bởi vì rất ít nỗ lực có thể được thực hiện trước khi cuộc tấn công sẽ bị dừng lại.

Ví dụ: sau một vài lần đăng nhập không thành công, Gmail sẽ hiển thị cho bạn hình ảnh CATPCHA để xác minh bạn không phải là máy tính tự động thử mật khẩu. Họ có thể sẽ dừng hoàn toàn các lần đăng nhập của bạn nếu bạn đã tiếp tục đủ lâu.

Mặt khác, giả sử kẻ tấn công đã lấy một tệp được mã hóa từ máy tính của bạn hoặc quản lý để xâm phạm dịch vụ trực tuyến và tải xuống các tệp được mã hóa đó. Kẻ tấn công hiện có dữ liệu được mã hóa trên phần cứng của riêng họ và có thể thử nhiều mật khẩu như họ muốn khi rảnh rỗi. Nếu họ có quyền truy cập vào dữ liệu được mã hóa, không có cách nào để ngăn họ thử một số lượng lớn mật khẩu trong một khoảng thời gian ngắn. Ngay cả khi bạn đang sử dụng mã hóa mạnh, đó là lợi ích của bạn để giữ cho dữ liệu của bạn an toàn và đảm bảo những người khác không thể truy cập dữ liệu đó.
Mặt khác, giả sử kẻ tấn công đã lấy một tệp được mã hóa từ máy tính của bạn hoặc quản lý để xâm phạm dịch vụ trực tuyến và tải xuống các tệp được mã hóa đó. Kẻ tấn công hiện có dữ liệu được mã hóa trên phần cứng của riêng họ và có thể thử nhiều mật khẩu như họ muốn khi rảnh rỗi. Nếu họ có quyền truy cập vào dữ liệu được mã hóa, không có cách nào để ngăn họ thử một số lượng lớn mật khẩu trong một khoảng thời gian ngắn. Ngay cả khi bạn đang sử dụng mã hóa mạnh, đó là lợi ích của bạn để giữ cho dữ liệu của bạn an toàn và đảm bảo những người khác không thể truy cập dữ liệu đó.

Hashing

Các thuật toán băm mạnh có thể làm chậm các cuộc tấn công bạo lực. Về cơ bản, các thuật toán băm thực hiện công việc toán học bổ sung trên mật khẩu trước khi lưu trữ một giá trị bắt nguồn từ mật khẩu trên đĩa. Nếu sử dụng thuật toán băm chậm hơn, nó sẽ đòi hỏi hàng nghìn lần công việc toán học để thử mỗi mật khẩu và làm chậm đáng kể các cuộc tấn công brute-force. Tuy nhiên, càng cần nhiều công việc, máy chủ hoặc máy tính khác phải làm việc nhiều hơn mỗi khi người dùng đăng nhập bằng mật khẩu của họ. Phần mềm phải cân bằng khả năng phục hồi chống lại các cuộc tấn công brute-force với việc sử dụng tài nguyên.

Tốc độ Brute-Force

Tốc độ tất cả phụ thuộc vào phần cứng. Các cơ quan tình báo có thể xây dựng phần cứng chuyên dụng chỉ để tấn công brute-force, cũng giống như các thợ mỏ Bitcoin xây dựng phần cứng chuyên dụng của riêng họ được tối ưu hóa cho khai thác Bitcoin. Khi nói đến phần cứng người tiêu dùng, loại phần cứng hiệu quả nhất cho các cuộc tấn công brute-force là một card đồ họa (GPU). Vì thật dễ dàng để thử nhiều khóa mã hóa khác nhau cùng một lúc, nhiều thẻ đồ họa chạy song song là lý tưởng.

Vào cuối năm 2012, Ars Technica đã báo cáo rằng một cụm 25-GPU có thể crack mọi mật khẩu Windows dưới 8 ký tự trong vòng chưa đầy sáu giờ. Thuật toán NTLM mà Microsoft đã sử dụng không đủ khả năng phục hồi. Tuy nhiên, khi NTLM được tạo, sẽ mất nhiều thời gian hơn để thử tất cả các mật khẩu này. Điều này không được coi là đủ đe dọa cho Microsoft để làm cho mã hóa mạnh hơn.

Tốc độ ngày càng tăng và trong vài thập kỷ, chúng tôi có thể phát hiện ra rằng ngay cả các thuật toán mã hóa mạnh nhất và các khóa mã hóa mà chúng ta sử dụng ngày nay có thể nhanh chóng bị nứt bởi máy tính lượng tử hoặc bất kỳ phần cứng nào khác mà chúng tôi đang sử dụng trong tương lai.

Image
Image

Bảo vệ dữ liệu của bạn khỏi tấn công Brute-Force

Không có cách nào để tự bảo vệ mình hoàn toàn. Không thể nói phần cứng máy tính sẽ nhanh như thế nào và liệu có bất kỳ thuật toán mã hóa nào mà chúng ta sử dụng ngày nay có điểm yếu sẽ được phát hiện và khai thác trong tương lai hay không. Tuy nhiên, đây là những điều cơ bản:

  • Giữ an toàn cho dữ liệu được mã hóa của bạn nơi những kẻ tấn công không thể truy cập vào dữ liệu đó. Một khi họ có dữ liệu của bạn sao chép vào phần cứng của họ, họ có thể thử các cuộc tấn công bạo lực chống lại nó lúc rảnh rỗi của họ.
  • Nếu bạn chạy bất kỳ dịch vụ nào chấp nhận thông tin đăng nhập qua Internet, hãy đảm bảo rằng nó hạn chế các lần đăng nhập và chặn những người cố gắng đăng nhập bằng nhiều mật khẩu khác nhau trong một khoảng thời gian ngắn. Phần mềm máy chủ thường được thiết lập để làm điều này ra khỏi hộp, vì nó là một thực hành bảo mật tốt.
  • Sử dụng các thuật toán mã hóa mạnh, chẳng hạn như SHA-512. Đảm bảo bạn không sử dụng các thuật toán mã hóa cũ với các điểm yếu đã biết có thể dễ dàng bị bẻ khóa.
  • Sử dụng mật khẩu dài, an toàn. Tất cả công nghệ mã hóa trên thế giới sẽ không giúp ích gì nếu bạn đang sử dụng “mật khẩu” hoặc “hunter2” phổ biến.

Các cuộc tấn công brute-force là thứ cần quan tâm khi bảo vệ dữ liệu của bạn, chọn thuật toán mã hóa và chọn mật khẩu. Chúng cũng là một lý do để tiếp tục phát triển các thuật toán mã hóa mạnh mẽ hơn - mã hóa phải theo kịp tốc độ mà nó không được hiệu quả bởi phần cứng mới.

Đề xuất: