Các gói ubfox (tệp deb) chỉ được bảo mật md5sum?


13

Bối cảnh giới thiệu cho câu hỏi dưới đây ###

(vì vậy câu hỏi có thể sử dụng được cho nhiều người hơn)
Bên trong gói kiểu Ubuntu / debian (tệp * .deb) có một tệp có tên /DEBIAN/md5sumscó nội dung của biểu mẫu này:

212ee8d0856605eb4546c3cff6aa6d35 usr / bin / file1
4131b66dc3913fcbf795159df912809f đường dẫn / đến / file2
8c21de23b7c25c9d1a093607fc27656a đường dẫn / đến / file3
c6d010a475366e0644f3bf77d7f922fd đường dẫn / đến / nơi / của / file4

Vì tôi giả sử tập tin này sẽ được sử dụng để kiểm tra xem các tập tin đi kèm với gói không bị hỏng theo cách nào đó. Vì tệp được gọi là `/ DEBIAN / md5sums" Tôi giả sử hexnumber trước đường dẫn + tên tệp là Hash Thuật toán tiêu hóa tin nhắn MD5 của các tệp của gói.

Bây giờ mọi người quan tâm đều biết rằng Hash MD5 đã bị hỏng từ lâu. Do đó, hoàn toàn có thể thay đổi nội dung của tệp trong gói (ví dụ: độc hại) và vẫn có tệp có cùng MD5-Hash (xem ví dụ Chứng minh khái niệm "Dự đoán người chiến thắng ...." ).

Câu hỏi

Ghi nhớ những thông tin trên tôi muốn biết những điều sau:

** Giả sử tôi cài đặt một gói trong hệ thống Ubuntu của mình. Là DEBIAN/md5sumsphương tiện duy nhất để đảm bảo dữ liệu không bị giả mạo? **

Trả lời câu hỏi tôi nghĩ nó có thể giúp tìm ra những điều sau đây:

  • Các gói gỡ lỗi nói chung cũng được băm (Hashvalues ​​được thực hiện) để có một cách khác để đảm bảo an toàn các tệp nhận được là "an toàn" / "không bị giả mạo"
  • Nếu có những cách khác thì DEBIAN/md5sumstập tin để đảm bảo tính toàn vẹn, tập tin được bao gồm trong các gói * .deb là gì?
  • Ubuntu có sử dụng băm cho kho lưu trữ / hệ thống gói "ít bị hỏng" hơn SHA-1 và MD5 không?

Thật không may, tôi cũng không biết.

Bất kỳ câu trả lời nào có thể làm sáng tỏ câu hỏi (hoặc thậm chí chỉ là một câu hỏi phụ) đều rất đáng hoan nghênh

cập nhật

(1) https://help.ubuntu.com/community/Repositories/Ubuntu#Authentication_Tab dường như chỉ ra rằng có (như tôi hy vọng) một số công cộng / khoá GPG đã tin xảy ra (để giữ Repos và hệ thống gói) an toàn từ các cuộc tấn công. Các thông tin tại vị trí được liên kết không phải là rất nhiều mặc dù. Nó hầu như không nói gì về khía cạnh bảo mật của hệ thống Gói. Dù sao, tôi cho rằng liên kết đã chỉ ra rằng câu trả lời cho câu hỏi sẽ là "KHÔNG - ít nhất là các gói gỡ lỗi từ repo - cũng được bảo mật bởi ....". Hy vọng ai đó có một số hiểu biết để sử dụng cho một câu trả lời ở đây.

(2) Câu hỏi này dường như cũng là về chủ đề "bảo mật" trong hệ thống gói Ubuntu. Vì vậy, tôi chỉ cần thêm nó vào đây để bàn tay quảng cáo của nó nếu ai đó cố gắng tìm ra câu hỏi: Tại sao BADSIG được đề xuất (trên bản cập nhật apt-get) được sửa chữa an toàn?


1
debian.org/doc/debian-policy/ cho thấy sự hỗ trợ cho tổng kiểm tra mỗi tệp SHA-1 và SHA256, tuy nhiên tôi không biết aptchính sách tổng kiểm tra là gì.
viêm chron

1
@ sync viêm nhờ liên kết đó. Thật vậy, băm SHA- * được đề cập ở đó Tôi vẫn phải tìm ra cách chúng xuất hiện trong các gói (mà tôi chưa thấy) hoặc hệ thống gói. Bạn có biết thêm không? Chà, dấu hiệu đã là một bước tốt
nhân loạiANDpeace

Câu trả lời:


21

Ubuntu xuất bản một bảng kê khai được ký bằng khóa RSA. Tệp kê khai liệt kê các Packagestệp chỉ mục riêng lẻ , mỗi tệp có băm MD5, SHA-1 và SHA-256. Mỗi Packagestệp liệt kê các .debtệp riêng lẻ với băm MD5, SHA-1 và SHA-256.

Để xác minh, apt sử dụng hàm băm tốt nhất mà nó hỗ trợ và được xuất bản bởi kho lưu trữ mà nó đang tải xuống từ đó. Trong trường hợp lưu trữ Ubuntu, đây là SHA-256.

Vì vậy, toàn bộ chuỗi gói cài đặt trên hệ thống Ubuntu của bạn được bảo vệ bởi RSA và SHA-256.

Bảo vệ MD5 tồn tại trong dpkg thực sự chỉ hữu ích cho tham nhũng vô tình và không cần thiết để bảo vệ đường dẫn cài đặt.

Bạn có thể quan tâm đến debsumsgói, nhưng vì nó sử dụng MD5, nên nó cũng chỉ hữu ích cho việc kiểm tra tham nhũng do tai nạn.

Nếu bạn muốn kiểm tra sửa đổi hệ thống độc hại, thì đây không phải là công cụ thích hợp cho bạn. Bạn sẽ cần đưa hệ thống ngoại tuyến và kiểm tra lại bản ghi trước đó, tệp gói ban đầu hoặc băm an toàn được tạo từ các bản ghi này.

Lưu ý rằng vì một sửa đổi độc hại thành công có thể chỉ đơn giản là hạ cấp gói xuống gói trước khi cập nhật bảo mật, kiểm tra xem tất cả các tệp gói được cài đặt khớp với bản gốc của chúng có thể không đủ.


1
Tôi đã đạt được một số hiểu biết rõ ràng hơn. Nơi mà bạn có được tất cả các thông tin này, mà tôi có một giảng viên như vậy trong việc tìm kiếm? Bạn có một số docus / liên kết bạn đã sử dụng? Ngoài ra, tôi đánh giá cao việc đề cập đến "nguy hiểm hạ cấp" mà bạn đã đề cập, vì vậy tôi chưa hiểu làm thế nào điều này có thể được khai thác. Tuyệt quá! cảm ơn bạn
nhân loạiANDpeace

Tôi không tin rằng định dạng kho apt được chỉ định hoặc ghi lại đúng cách ở bất cứ đâu. Điều này là xấu, nhưng nó là như thế nào. Tài liệu đúng nhất (và theo hiểu biết của tôi) là nguồn tài liệu. Tôi biết các chi tiết vì tôi đã làm việc trong nguồn. Mặt khác, định dạng dpkg được chỉ định rất rõ trong chính sách Debian. Nó bao gồm những gì xảy ra sau khi các gói kết thúc trên hệ thống của bạn, nhưng không phải là cách chúng đến đó. Phần sau được thực hiện bởi apt.
Robie Basak

Giảm rủi ro: đây là một vấn đề và không thực sự liên quan trực tiếp đến câu hỏi ban đầu của bạn. Nếu khai thác X được phát hiện trong phiên bản A, bạn sẽ nhận được bản cập nhật bảo mật cho phiên bản B, trong đó lỗ hổng được khắc phục. Nếu kẻ tấn công có thể khai thác X trong phiên bản A thì bạn an toàn, vì bạn đã nâng cấp lên B. Nhưng nếu kẻ tấn công cũng có thể hạ cấp bạn xuống A, thì bạn lại dễ bị tổn thương. Bạn sẽ không nhận thấy điều này ngay cả khi tất cả các giá trị băm an toàn của bạn khớp với các gói bạn đã cài đặt, vì cơ sở dữ liệu gói của bạn sẽ nói rằng bạn phải cài đặt A chứ không phải B.
Robie Basak

2
@RobieBasak "Tôi không tin rằng định dạng kho apt được chỉ định hoặc ghi lại đúng cách ở bất cứ đâu." Rõ ràng điều này không đúng. Bạn phải tìm nó. Debian Wiki:
Rep StorageFormat

6

Tôi muốn đây là một bình luận, nhưng tôi không thể nhét nó vào hộp nên tôi đặt nó ở đây.

Đúng, md5 đã bị phá vỡ về mặt mật mã, nhưng điều đó không có nghĩa đó là thuật toán băm mục đích chung xấu. Sửa đổi một tập tin để nó có cùng hàm băm là vô cùng khó khăn và làm như vậy với một thay đổi độc hại cụ thể là không thể. Từ việc nhìn vào ví dụ bạn đã tham chiếu, ( Dự đoán Người chiến thắng ) thấy điều này:

"Các tài liệu trước tiên được chuẩn bị cẩn thận dưới dạng tài liệu PDF hợp lệ, với một đối tượng hình ảnh ẩn được kết hợp, chứa một lượng bit ngẫu nhiên đủ. Sau đó, theo cấu trúc kim cương được hiển thị ở trên, mười một va chạm tiền tố được chọn đã được tính toán và được đặt bên trong ẩn đối tượng hình ảnh tại các điểm chính xác. Theo cách này, mười hai tài liệu đã bị biến thành một vụ va chạm đa MD5. "

Những gì đã được thực hiện là điền vào các tệp với dữ liệu ngẫu nhiên để làm cho băm khớp. Công nghệ không ở bất cứ nơi nào gần có khả năng thêm mã độc đặc biệt vào một tệp và sắp xếp các giá trị băm mà không phá vỡ hoặc làm rõ rằng tệp đã bị thay đổi (Tôi không biết nếu apt có, nhưng nhiều tệp băm kèm theo kích thước tệp của chúng để tăng độ khó của va chạm băm không thể phát hiện).


3
Cảm ơn bạn đã trả lời. Tôi nghĩ rằng đó là một câu trả lời tốt, theo nghĩa là nó mang lại nhiều ánh sáng hơn cho toàn bộ nền :) Không may "Stack ... Hỏi Ubuntu" đôi khi rất khó với "chỉ trả lời đúng câu hỏi" và vì vậy, bạn rất can đảm để giải thích về chủ đề này.
nhân loạiANDpeace

Các tệp PDf được chuẩn bị có dữ liệu ngẫu nhiên và chỉ 104kb với tất cả nỗ lực này. Tại sao bạn lại nói điều này là không thể? Phải có hàng tấn tệp trong các gói deb> 200kb trong đó phải có khả năng thực hiện điều đó. Tôi cảm thấy không an toàn sau khi nhìn thấy bằng chứng về khái niệm, điều đó làm tôi ngạc nhiên và sốc
nhân loạiANDpeace

Có rất nhiều vị trí trong các tệp hợp pháp trong đó một thay đổi tinh tế sẽ không xuất hiện kỳ ​​lạ, ví dụ như sự khác biệt về khoảng trắng nhỏ trong tệp văn bản. Bạn chỉ cần tìm khoảng 128 địa điểm này để có đủ phạm vi để tạo một tệp độc hại vừa xuất hiện hợp pháp vừa phù hợp với MD5 mục tiêu mong muốn của bạn. Tôi không chắc liệu cuộc tấn công cụ thể này có thể được áp dụng cho tình huống này hay không.
Robie Basak

@RobieBasak, bạn hiểu nhầm về cuộc tấn công. Bạn không thể thay đổi 128 byte trong một tệp và bảo toàn md5sum. Bạn phải chèn một đoạn dữ liệu có vẻ như là hai bộ dữ liệu ngẫu nhiên vào hai bản sao của một tệp và chúng sẽ có cùng md5sum với nhau, mặc dù thực tế là hai khối dữ liệu "ngẫu nhiên" khác nhau.
psusi

1

md5 không bị "hỏng". Những gì họ tìm thấy là một cách cẩn thận tạo ra một thông điệp ban đầu và một thông điệp được sửa đổi có cùng hàm băm. Không thể lấy một thông điệp gốc không được tạo ra đặc biệt cho mục đích giả mạo (tệp chính xác) và sửa đổi nó theo cách để bảo vệ md5sum của nó.


đồng ý. Nhưng điều gì sẽ là cách tốt để đề cập đến trạng thái bảo mật MD5 hiện tại, nếu không "bị hỏng"? Tôi có thể hiểu những gì bạn nói và tôi cảm ơn vì đã chỉ ra điều đó. Tôi vẫn tự hỏi làm thế nào để đánh giá sự an toàn hiện tại bằng MD5, v.v.
nhân loạiANDpeace

@humanityANDpeace, "tốt thôi".
psusi

Tôi thích thái độ lạc quan. Tôi vẫn còn ngạc nhiên bởi bằng chứng về khái niệm sau đó. cảm ơn!
nhân loạiANDpeace

1
"Các chuyên gia về tiền điện tử coi MD5 bị hỏng. Do đó, nó nên được coi là bị hỏng." đó không phải là cách thế giới hoạt động @RobieBasak Là một người say mê tiền điện tử (không thể tự gọi mình là "chuyên gia" nhưng tôi phải tự đào sâu vào nó vài năm trước) Tôi sẽ không tuyên bố MD5 bị phá vỡ. Chỉ có một trường hợp thú vị đáng để kiểm tra nhưng có vẻ như lý thuyết atm. Nhưng nó sẽ không phá vỡ bao bì của Ubuntu;) Quay lại 0 psusi;)
Rinzwind

1
@jackweirdy, thực sự, có, và đó là lý do tại sao họ không làm điều đó. Phương pháp của họ dựa trên cả hai bộ dữ liệu có các thuộc tính rất cụ thể. Nó giống như một cặp khóa công khai. Bạn có thể tạo một cặp khóa khớp với nhau, nhưng chỉ được cung cấp một khóa, bạn không thể tìm ra khóa kia.
psusi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.