Hôm nay, tôi đang đọc một số thông tin về một công ty công nghệ lớn đang lên kế hoạch triển khai một hệ thống mới để tự động phát hiện và báo cáo CSAM trong ảnh của người dùng. Nhìn chung, hệ thống như được mô tả trong bản tóm tắt kỹ thuật dài 12 trang của họ dường như được thiết kế khá tốt và có thể gần đạt được quyền riêng tư thực sự nhất mà bạn có thể, trong khi vẫn cho phép giám sát nội dung.
Điều đó đang được nói, hacker trong tôi không thể không cảm thấy hơi lo lắng khi nghe về những ngoại lệ đối với những gì có thể là mã hóa đầu cuối (không phải bộ lưu trữ ảnh của họ được quảng cáo là mã hóa đầu cuối để bắt đầu với, tuy nhiên, phần tổng quan kỹ thuật của họ nói rằng tất cả ảnh đều được mã hóa bằng—ngưỡng có thể phá vỡâkey do thiết bị của người dùng tạo ngẫu nhiên). Do đó, tôi đến đây để phác thảo những gì tôi thấy là cuộc tấn công thực tế nhất vào sức mạnh mã hóa/đảm bảo quyền riêng tư của hệ thống này và (hy vọng) tìm hiểu lý do tại sao tôi sai hoặc những gì tôi đã bỏ qua.
Giả sử công ty này đã từng bị vi phạm dữ liệu: một tình huống khó xảy ra ngay từ đầu, nhưng không phải là chưa từng xảy ra. Do vi phạm dữ liệu này, nhiều ảnh của người dùng (ở định dạng được mã hóa) bị rò rỉ.Nếu mã hóa đầu cuối thực sự được áp dụng, thì đây sẽ không phải là mối lo ngại lớn về quyền riêng tư, vì tất cả ảnh sẽ được mã hóa bằng khóa chỉ thiết bị của người dùng cuối mới biết và do đó sẽ không thể giải mã được trên thực tế bởi bất kỳ ai trên Internet.
Tuy nhiên, trong hệ thống mới này, tôi hiểu rằng các bức ảnh, hoặc ít nhất là dẫn xuất trực quan (mà tôi không thể tìm thấy một định nghĩa mặc dù tôi giả sử tương tự như hình thu nhỏ), được mã hóa hai lần, với lớp bên ngoài được mã hóa bằng khóa lấy từ NeuralHash của ảnh.
NeuralHash được mô tả là một thuật toán băm có khả năng cung cấp cùng một hàm băm cho cùng một hình ảnh, ngay cả sau khi hình ảnh đó đã được cắt xén, thay đổi kích thước, điều chỉnh màu sắc, nén, v.v.
Để trích dẫn một phần của Tóm tắt kỹ thuật:
Mục đích chính của hàm băm là để đảm bảo rằng các hình ảnh giống hệt nhau và trực quan giống nhau dẫn đến cùng một hàm băm và các hình ảnh khác nhau dẫn đến các hàm băm khác nhau. Ví dụ: một hình ảnh đã được cắt xén hoặc thay đổi kích thước một chút sẽ được coi là giống với hình ảnh gốc và có cùng hàm băm.
Về mặt lý thuyết, điều này thật tuyệt vời vì điều đó có nghĩa là tất cả các bức ảnh (có lẽ là duy nhất) do người dùng chụp sẽ được mã hóa bằng các bí mật độc đáo, mạnh mẽ, giữ chúng ở chế độ riêng tư và an toàn.
Tuy nhiên, điều gì sẽ xảy ra khi người dùng lưu trữ một bức ảnh không phải là duy nhất? Ví dụ: ảnh chụp màn hình từ một trang web phổ biến, một meme lưu hành trên internet, v.v.? Điều gì có thể ngăn kẻ tấn công tạo NeuralHash gồm các meme phổ biến, lấy khóa, sau đó cưỡng bức dữ liệu bị rò rỉ cho đến khi giải mã thành công mục nhập, từ đó xác minh nội dung trong thư viện ảnh trên đám mây của một người dùng cụ thể và làm giảm mức độ riêng tư của họ?
Hoặc, ví dụ khác, giả sử kẻ tấn công yêu táo, và thực sự, thực sự muốn tìm ảnh của táo.Điều gì ngăn họ để AI tạo ra vài triệu bức ảnh về một quả táo, băm nhỏ chúng, lấy khóa và sau đó xử lý dữ liệu rò rỉ có lẽ là lớn cho đến khi tìm thấy kết quả phù hợp? không thể có điều đó nhiều hoán vị của một quả táo, có thể có? Chắc chắn là bạn sẽ không tìm thấy tất cả các bức ảnh về quả táo, nhưng tôi nghĩ rằng ít nhất bạn có thể có được một số trận đấu có thể giải mã được.
Bản thân công ty này thậm chí còn tiết lộ trong một trong những bài báo của mình rằng có rất nhiều khả năng xảy ra sai sót khi nói đến kết quả trùng khớp và do đó họ đã giới thiệu tính năng chia sẻ bí mật về ngưỡng (tức là cần phải có nhiều kết quả phù hợp với "sự cố đã biết" của họ " cơ sở dữ liệu trước khi mức độ mã hóa bên trong của chúng có thể bị phá vỡ... sẽ nói thêm về điều đó tiếp theo), để giảm khả năng xảy ra sai sót xuống còn một phần nghìn tỷ. Đối với tôi, ít hơn đáng kể một phần nghìn tỷ khả năng có kết quả dương tính giả đối với bất kỳ âm thanh ảnh nào được cung cấp trong phạm vi có thể cưỡng bức được đối với tôi, đặc biệt nếu bạn đã biết loại ảnh mình đang tìm kiếm.
Trên một lưu ý cuối cùng, có một lớp mã hóa ngưỡng bên trong, về cơ bản yêu cầu các lớp bên ngoài của nhiều ảnh phải được giải mã trước khi có thể tạo khóa để giải mã lớp bên trong. Nhưng một lần nữa, tùy thuộc vào kích thước ngưỡng (ngưỡng này phải khá thấp, vì nó cần phải thấp hơn lượng CSAM thực tế mà một người nào đó có thể có), có vẻ như đây không phải là một trở ngại lớn: bạn chỉ cần tìm một người dùng có mười meme phổ biến được lưu trữ trong toàn bộ thư viện lưu trữ ảnh trên đám mây của họ và bạn hiện đã tạo khóa đó. Theo bài báo, cùng một khóa được sử dụng trên tất cả các ảnh của người dùng cho lớp mã hóa đầu tiên đó.
Vào cuối ngày, tôi thấy sự đảm bảo về bảo mật và quyền riêng tư của hệ thống này trong trường hợp vi phạm dữ liệu phụ thuộc vào một thứ chính: NeuralHash.
Nếu NeuralHash có tỷ lệ dương tính giả đủ cao và có thể được thiết kế ngược hoặc bị rò rỉ hoặc được công khai (nếu chưa), thì công ty công nghệ lớn này có thể thực sự đảm bảo với người dùng rằng ảnh riêng tư của họ sẽ được duy trì vô điều kiện không? riêng tư, miễn là chúng không phải là CSAM? Tôi đã bỏ qua những biện pháp bảo vệ bằng mật mã nào khiến cho một cuộc tấn công như cuộc tấn công mà tôi đã mô tả ở trên là không thể? Tôi đang thiếu gì? Bạn có thấy bất kỳ sai sót tiềm ẩn nào khác không?
Cập nhật: Tôi không chắc liệu việc đặt tên cụ thể cho công ty có được coi là chấp nhận được hay không, vì vậy tôi đã quyết định thận trọng và không làm như vậy. Điều đó đang được nói, tôi đã thấy một vài bình luận yêu cầu nguồn, vì vậy đây rồi. Tôi hi vọng cái này giúp được!
Bổ sung người điều hành (2021-08-19): Có các chi tiết kỹ thuật trong Abhishek Bhowmick, Dan Boneh, Steve Myers: Hệ thống Apple PSI - Phân tích và giao thức bảo mật. Đây là một trong số nhiều tài liệu hiện được liên kết ở cuối trang trang này.