- Kho lưu trữ email Epstein do Bộ Tư pháp Mỹ công bố đang hứng chịu chỉ trích nặng nề vì lỗi mã hóa và kiểm duyệt quá mức gây ra nhiều sai sót nghiêm trọng
- Một số email vẫn chứa nguyên vẹn tệp đính kèm ở dạng
Content-Transfer-Encoding: base64, và nếu khôi phục được dữ liệu này thì có thể tái dựng PDF gốc
- Tuy nhiên, do chất lượng OCR suy giảm, vấn đề khó phân biệt giữa
1 và l trong phông Courier New, chất lượng bản quét kém v.v., việc khôi phục tự động gần như bất khả thi
- Tác giả đã thử khôi phục bằng tesseract, Adobe Acrobat Pro, AWS Textract v.v. nhưng tất cả chỉ cho kết quả chưa hoàn chỉnh
- Trường hợp này cho thấy giới hạn của pháp y số và công nghệ phục hồi tài liệu, đồng thời được nêu ra như một thách thức kỹ thuật mà cộng đồng cần hợp tác để giải quyết
Vấn đề của tài liệu do Bộ Tư pháp công bố
- Kho lưu trữ Epstein được công bố gần đây đã bị phát hành trong tình trạng kiểm duyệt quá mức, từ tên đồng phạm cho đến cả ảnh của những phụ nữ không liên quan
- Một số tệp bị hỏng do lỗi mã hóa Quoted-Printable, đến mức không thể mở để xem
- Thậm chí thông tin xác thực email còn bị lộ, khiến người dùng Reddit có thể truy cập tài khoản của Epstein
- Việc xử lý cẩu thả như vậy làm dấy lên chỉ trích về sự thiếu chuyên môn của Bộ Tư pháp do Pam Bondi lãnh đạo
Phát hiện tệp đính kèm base64
- Trong email
EFTA00400459, người ta phát hiện 76 trang dữ liệu mã hóa base64
- Đây là dạng mã hóa để truyền qua SMTP của tệp
DBC12 One Page Invite with Reply.pdf
- Về lý thuyết chỉ cần sao chép rồi khôi phục bằng lệnh
base64 -d > output.pdf, nhưng trên thực tế chỉ còn bản quét OCR nên phát sinh rất nhiều lỗi
- Kết quả OCR chứa ký tự bị chèn sai, thiếu ký tự, các ký tự base64 không hợp lệ (ví dụ: [, ,) nên không thể giải mã
Vấn đề OCR và phông chữ
- Khi thử xử lý OCR lại bằng Adobe Acrobat Pro và tesseract, cả hai đều phát sinh chèn khoảng trắng và lỗi nhận dạng ký tự
- Dù
tesseract đã được giới hạn tập ký tự chỉ còn các ký tự hợp lệ của base64, vẫn xuất hiện vấn đề độ dài dòng không khớp và dừng nhận dạng giữa chừng
- Nguyên nhân lớn nhất là phông Courier New, vì gần như không thể phân biệt
1 với l
- Do ảnh quét JPEG độ phân giải thấp và các artefact nén, ngay cả việc phân biệt bằng mắt cũng rất khó
- Vì vậy việc hiệu chỉnh thủ công là bắt buộc, và khi giải mã phải thử thay qua lại giữa
1 và l
Các thử nghiệm khôi phục và so sánh công cụ
imagemagick và ghostscript thất bại do vượt quá bộ nhớ khi xử lý dữ liệu lớn, nên pdftoppm được dùng như phương án thay thế
AWS Textract cho kết quả tốt nhất, nhưng vẫn tồn tại sai lệch độ dài dòng và kết quả không quyết định
- Tác giả đã phóng to ảnh đầu vào gấp đôi để tăng tỷ lệ nhận dạng, nhưng vẫn không khôi phục hoàn chỉnh được
- Nỗ lực khôi phục cấu trúc PDF bằng
qpdf cũng thất bại do bảng cross-reference bị hỏng
Đề xuất từ cộng đồng và thảo luận tiếp theo
- Ở cuối bài, tác giả đề xuất cộng đồng thử khôi phục các tệp đính kèm khác
- Khi tìm kiếm
Content-Transfer-Encoding và base64, có thể thấy một số dữ liệu hữu ích
- Nhiều người dùng đã đưa ra các hướng tiếp cận khác nhau như OCR dựa trên ML, huấn luyện CNN theo từng phông chữ, cách làm kiểu captcha bằng crowdsourcing v.v.
- Một số người còn chia sẻ trường hợp khôi phục PDF thành công, đồng thời cho biết dùng
pdfimages cho kết quả sắc nét hơn pdftoppm
- Cuối cùng, các kỹ thuật khôi phục nâng cao như thuật toán tự động phân biệt
1/l, phát hiện lỗi dựa trên bộ giải nén dạng streaming, so sánh ở cấp độ pixel v.v. đã được thảo luận
Ý nghĩa kỹ thuật
- Vụ việc này cho thấy lỗi mã hóa tài liệu số và giới hạn của OCR có thể cản trở việc tiếp cận thông tin thực tế như thế nào
- Nó làm nổi bật tầm quan trọng của kiểm soát chất lượng xử lý số đối với chứng cứ pháp lý và công nghệ tự động hóa pháp y tài liệu
- Nỗ lực khôi phục dựa trên hợp tác cộng đồng được xem là một ví dụ về bảo đảm tính minh bạch của dữ liệu công và khả năng kiểm chứng về mặt kỹ thuật
1 bình luận
Ý kiến trên Hacker News
Có vẻ đội ngũ Bộ Tư pháp của Pam Bondi đã không giao những người giỏi nhất cho việc này
Chia sẻ script do Claude Opus tạo ra
Liên kết script / Kết quả văn bản / Phiên bản đã dọn dẹp
Nó tạo ra một file PDF ít nhất có thể đọc được trang đầu
Tesseract có thể được huấn luyện với một phông chữ cụ thể. Đây có vẻ là điểm khởi đầu tốt
Tham khảo: Hướng dẫn dữ liệu huấn luyện Tesseract
Đây là bài toán giải mã PDF nhị phân. Vì số lượng kiểu mã hóa khả dĩ là hữu hạn, tôi đề xuất cách tiếp cận sau
Làm vậy có thể kiểm tra nhanh chỉ các ký tự ở giữa, nên toàn bộ không gian tìm kiếm có thể xử lý tuyến tính
Trông giống một nerd snipe, nhưng thật ra có thể xong nhanh hơn bằng brute force. Chỉ cần 76 người gõ lại mỗi người một trang là xong trước khi bài blog được đăng
PDF là một định dạng quá phức tạp, nên tôi nghĩ chính phủ tốt hơn nên tạo và chuẩn hóa hẳn một định dạng mở an toàn mới
DjVu thì đơn giản và có công cụ mã nguồn mở tốt, nhưng thiếu tính năng
TIFF thực ra còn phức tạp hơn cả PDF nên không phù hợp
Tham khảo: XPS, DjVu, TIFF
Có thể tìm thấy nhiều phiên bản của cùng email đó trong ô tìm kiếm trên justice.gov
Bản gốc: EFTA00400459.pdf
Các bản bổ sung:
EFTA02153691.pdf
EFTA02154109.pdf
EFTA02154246.pdf
So sánh nhiều phiên bản có lẽ sẽ dễ giải quyết hơn
Vấn đề “1” và “l” vẫn còn, nhưng có thể hữu ích để tham khảo
Tôi tự hỏi liệu có thể thử mọi hoán vị của cặp (1, l) hay không. Nếu tính 76 trang × 69 dòng × 1 lần xuất hiện thì sẽ có 2^5244 khả năng. Có ai dư CPU không?
Nếu mặc định có nén thì nhờ checksum sẽ còn dễ hơn. Tuy nhiên không thể làm bằng các công cụ sẵn có; phải tự tạo một test harness có gắn instrumentation bên trong decoder
Chi tiết sự kiện: Dubin Breast Center 2nd Annual Benefit (Lưu trữ)
nhằm tôn vinh Elisa Port và gia đình Ruttenberg.
Cynthia McFadden là người dẫn chương trình, và có nhiều nhạc sĩ tham gia biểu diễn
pdftoppm và Ghostscript (được gọi qua Imagemagick) chậm vì chúng rasterize lại toàn bộ các trang
Trích xuất trực tiếp ảnh scan bằng pdfimages hoặc mutool sẽ nhanh hơn nhiều
Kết quả thử nghiệm cho thấy pdfimages nhanh hơn 13 lần so với pdftoppm