DEDA – Bộ công cụ trích xuất, giải mã và ẩn danh hóa dấu chấm theo dõi
(github.com/dfd-tud)- DEDA là bộ công cụ để đọc, giải mã và ẩn danh hóa các dấu chấm theo dõi màu trong tài liệu, tức các chấm vàng, có trong bản in từ máy in laser màu
- Dấu chấm theo dõi màu trong tài liệu là những mẫu chấm có hệ thống rất nhỏ mã hóa thông tin về máy in và bản in, và được tích hợp trong hầu hết mọi máy in laser màu thương mại
- Có thể đọc hoặc so sánh dữ liệu theo dõi từ ảnh scan, trích xuất các mẫu chưa biết, và thêm ma trận dấu chấm theo dõi tùy chỉnh vào PDF
- Chức năng ẩn danh hóa hoạt động bằng cách loại bỏ phần lớn dữ liệu theo dõi khỏi ảnh scan, hoặc tạo mặt nạ ẩn danh hóa riêng cho từng máy in rồi áp dụng lên tài liệu PDF
- Để có kết quả tốt, khuyến nghị ảnh scan đầu vào dùng nén không mất dữ liệu, 300 dpi và độ tương phản trung tính; các trang đen trắng hoặc bản in phun có thể không có dấu chấm theo dõi
Vấn đề DEDA xử lý
- Document Colour Tracking Dots hoặc chấm vàng là các chấm nhỏ có hệ thống, mã hóa thông tin về máy in và chính bản in
- Quy trình này được tích hợp trong hầu hết mọi máy in laser màu thương mại
- Hầu như mọi bản in đều chứa thông tin đã mã hóa về thiết bị nguồn, ví dụ có thể bao gồm số sê-ri
- DEDA cung cấp cả chức năng đọc và giải mã đặc trưng pháp chứng này, cùng chức năng ẩn danh hóa để ngăn việc truy vết tùy tiện
- Khi sử dụng phần mềm, tác giả đề nghị trích dẫn bài báo sau
- Timo Richter, Stephan Escher, Dagmar Schönfeld, Thorsten Strufe. 2018. Forensic Analysis and Anonymisation of Printed Documents. IH&MMSec '18, 127-138. DOI: https://doi.org/10.1145/3206004.3206019
Cài đặt và chạy GUI
- Cần cài đặt Python 3
- Có thể cài từ PyPI
pip3 install --user deda
- Cũng có thể cài từ thư mục hiện tại
pip3 install --user .
- Có thể cài Wand trên Unix và GNU/Linux như một phụ thuộc tùy chọn của
deda_anonmask_applypip3 install --user wand- Nếu không có Wand, các trang có vùng màu trắng trong ảnh sẽ không thể được ẩn danh hóa
- Chạy GUI bằng lệnh sau
deda_gui
Các việc có thể làm bằng công cụ dòng lệnh
-
Đọc dữ liệu theo dõi
- Có thể đọc và trong một số trường hợp giải mã dữ liệu theo dõi từ ảnh scan
- Để có kết quả tốt, đầu vào nên dùng nén không mất dữ liệu như png, 300 dpi và độ tương phản trung tính
- Lệnh chạy:
deda_parse_print INPUTFILE
-
Tìm máy in khác trong một tập tài liệu scan
- Có thể tìm các tài liệu được in bằng máy in khác trong nhiều tài liệu scan
- Lệnh chạy:
deda_compare_prints INPUT1 INPUT2 [INPUT3] ...
-
Phân tích mẫu theo dõi chưa biết
- Mẫu mới có thể không được
parse_printnhận diện - Có thể trích xuất chấm vàng để phân tích thêm
- Lệnh chạy:
deda_extract_yd INPUTFILE
- Mẫu mới có thể không được
-
Tạo dấu chấm theo dõi tùy chỉnh
- Có thể tạo ma trận dấu chấm theo dõi tùy chỉnh và thêm vào tài liệu PDF
- Nội dung được truyền dưới dạng tham số theo
deda_create_dots -h - Lệnh chạy:
deda_create_dots PDFINPUT
- Có thể dùng trang hiệu chỉnh được tạo bằng
deda_anonmask_create -wlàm đầu vào
Quy trình ẩn danh hóa
-
Ẩn danh hóa ảnh scan
- Loại bỏ phần lớn dữ liệu theo dõi khỏi ảnh scan
- Lệnh chạy:
deda_clean_document INPUTFILE OUTPUTFILE
-
Ẩn danh hóa tài liệu để in
- Lưu tài liệu dưới dạng PDF và đặt là
DOCUMENT.PDF - In
testpage.pdfđược tạo bằng lệnh sau, không để lềdeda_anonmask_create -w
- Scan tài liệu đó ở 300 dpi, rồi truyền tệp không mất dữ liệu vào lệnh sau
deda_anonmask_create -r INPUTFILE
- Quy trình này tạo
mask.json, là mặt nạ ẩn danh hóa cho từng máy in riêng lẻ - Áp dụng mặt nạ đã tạo lên PDF
deda_anonmask_apply mask.json DOCUMENT.PDF
- Kết quả tạo ra
masked.pdfđã được ẩn danh hóa, có thể in với thiết lập lề trang bằng 0 - Cần kiểm tra bằng kính hiển vi để chắc rằng mặt nạ che phủ các dấu chấm theo dõi của máy in
- Bán kính chấm, offset x và offset y của mặt nạ có thể được điều chỉnh bằng tham số của
deda_anonmask_apply - Nếu
DOCUMENT.PDFcó vùng đồ họa màu trắng hoặc màu sáng, các vùng đó chỉ có thể được che mặt nạ khi đã cài Wand
- Lưu tài liệu dưới dạng PDF và đặt là
Khắc phục sự cố
- Nếu gặp
deda_parse_print: command not found, hãy kiểm tra cài đặt DEDA hoặc thêm đường dẫn bin của người dùng Python vào PATHexport PATH="$PATH:$(python -c 'import site,os; print(os.path.join(site.USER_BASE, "bin"))')"
- Nếu DEDA không nhận diện được dấu chấm theo dõi, cần thiết lập chương trình scan để không loại bỏ cấu trúc giấy hoặc dấu chấm theo dõi bằng xử lý ngưỡng
- Các trang đen trắng và bản in phun có thể không có dấu chấm theo dõi
- Nếu máy in không in dấu chấm theo dõi, có thể tạo dấu chấm theo dõi tùy chỉnh hoặc in trang hiệu chỉnh bằng máy in khác rồi dùng làm mặt nạ cho máy in của mình
- Có thể tạo dấu chấm theo dõi tùy chỉnh bằng
deda_create_dots - Có thể tạo trang hiệu chỉnh bằng
deda_anonmask_create -w - Có thể dùng phiên bản dấu chấm theo dõi đã ẩn danh hóa hoặc sao chép bằng
deda_anonmask_create --copy
- Có thể tạo dấu chấm theo dõi tùy chỉnh bằng
- Lỗi cài đặt liên quan đến
x86_64-linux-gnu-gcccó thể do phụ thuộc eel cần cho GUI- Lệnh đề xuất:
sudo apt-get install build-essential autoconf libtool pkg-config python3.6-dev gcc && pip3 install --user eel
- Lệnh đề xuất:
- Nếu thao tác PDF bị chặn bởi chính sách bảo mật với
wand.exceptions.PolicyError, nguyên nhân là cấu hình ImageMagick- Gỡ Wand hoặc thêm chính sách sau ngay trước
</policymap>trong/etc/ImageMagick-*/policy.xml<policy domain="coder" rights="read | write" pattern="PDF" />
- Liên kết tham khảo liên quan: ImageMagick security policy PDF blocking conversion
- Gỡ Wand hoặc thêm chính sách sau ngay trước
1 bình luận
Ý kiến trên Hacker News
Nhóm của chúng tôi đã dùng các chấm theo dõi màu vàng này để tái dựng tài liệu đã bị cắt vụn trong DARPA Shredder Challenge hơn 10 năm trước
Có thể xem chương trình làm nổi bật các chấm trong lúc ghép các tài liệu đã bị cắt vụn: https://www.youtube.com/watch?v=uzZDhyrjdVo
Nhờ vậy chúng tôi đã thắng với cách biệt lớn
Đọc câu chuyện tiếp theo làm tôi nhớ lại ký ức đã quên, khá là thú vị
Có vẻ bản thân quy trình đó cũng đáng viết riêng không kém thuật toán giải, và chắc phải có kiểu tính cách riêng mới chịu nổi đống hỗn loạn như vậy
Gần đây, vì một số lý do khó nói rõ ở đây, tôi có dịp xem xét các chấm theo dõi
Thử chiếu đèn pin LED xanh dương lên bản in màu sẽ thấy hay. Sốc thật sự vì có vô số chấm rải khắp trang như thể rắc cát lên đó
Nếu máy in của tôi không in chấm theo dõi, ý tưởng rằng tôi có thể giả mạo chấm theo dõi của máy in khác khá thú vị xét về khả năng phủ nhận
Dù vậy, ngay cả trong trường hợp này có lẽ vẫn cần truy cập vào máy in gốc để in mặt nạ ẩn danh
Ngày nay có thể truy cập được từ xa thông qua phần cài đặt máy in
Có thể lừa được người phân tích qua loa, nhưng điều tra viên có kinh nghiệm có lẽ sẽ nhìn theo kiểu: “chấm theo dõi rõ ràng là của hãng X, nhưng raster dùng trong thang xám thì rõ ràng lại thuộc phía Y”
Nếu bạn đã bỏ lỡ một bài thú vị liên quan thì đây: https://news.ycombinator.com/item?id=42880704
Điều thú vị hơn là người đăng phát hiện và phân tích đó đã có thể chịu thiệt hại cá nhân vì đã chi hàng nghìn đô la cho các thẻ giả, nhưng vẫn công bố kết quả
Tôi tò mò điều gì xảy ra nếu in cùng một trang bằng nhiều máy in
Nếu máy in đầu tiên in nội dung thật, còn các máy in khác chỉ in thêm rất ít vào các vùng vẫn còn trắng, liệu một máy in có làm hỏng chấm theo dõi của máy in khác không?
Tuy nhiên tùy chi tiết điều kiện, vẫn có khả năng đọc được một phần hoặc toàn bộ
Tôi bắt đầu nghĩ rằng nhà của gã lập dị nào khởi động một dự án kiểu OpenWRT cho máy in chắc sẽ bị MIB ghé thăm
Kiểu như không thể cho phép biểu đạt không thể truy vết, và phải có khả năng đánh phẫu thuật vào nguồn gốc của các meme gây khó chịu. Vì vậy tôi dùng một máy in laser đen trắng mua trên craigslist, đặt trong VLAN riêng và cho đi qua một máy chủ CUPS trung gian
Không ai từng đồng ý một cách đầy đủ thông tin với những gì Niantic đã làm trong hơn 10 năm qua, và cũng không ai đồng ý với việc mọi bản in đều trở nên có thể truy vết. Không có cảnh báo nào trên sản phẩm hay quy trình rằng “không có mã định danh nhìn thấy được không có nghĩa là không có mã định danh; có thể có mã định danh steganographic”
Việc các cỗ máy đa dụng trong sản phẩm chúng ta mua bị khóa đến mức chủ sở hữu như chúng ta không thể tái sử dụng theo ý mình cũng vậy. Chúng ta đã bị buộc phải chấp nhận những sự xúc phạm từ tổ chức thương mại và cơ quan nhà nước theo kiểu “hoặc ăn cái sandwich phân này, hoặc không có sandwich và còn bị đánh”, và Consumer Action Taskforce(CAT) của Louis Rossmann đang trở thành một tuyển tập tốt về những trường hợp như vậy
Đã đến lúc phản kháng. Hãy hack những máy in dùng được, thay firmware bằng thứ thực dụng, và thoát khỏi mấy chuyện nhảm nhí này. Những chấm theo dõi này và các kiểu theo dõi steganographic khác tồn tại để truy lùng và bịt miệng những người như tôi, những người chỉ ra các cơ chế kiểm soát ẩn và lan truyền các meme bị con mực obsidian khổng lồ gán nhãn là rủi ro thông tin/sai lệch thông tin
In trên giấy trông có vẻ ngu ngốc vì cả người xử lý tiền giấy bình thường cũng dễ nhận ra
Có vẻ chuyện này sẽ khá quan trọng trong vài năm tới
Nếu định in truyền đơn hoặc pamphlet biểu tình, tốt nhất là giao cho một nhà in chuyên nghiệp nếu có người đáng tin, hoặc tối thiểu mua máy in bằng tiền mặt, tuyệt đối không kết nối Internet và chỉ nối USB với máy tính Linux
macOS và Windows có thể tự động cài driver máy in, và driver đó có thể liên hệ về trụ sở để liên kết ID máy in với một định danh nào đó
Có thể in cả áo thun
Tôi thật sự tò mò tỷ lệ máy in có thể được giải mã bằng công cụ công khai là bao nhiêu
Liệu có thống kê nào về mã của nhà sản xuất nào đã bị phá không?
Có bản sao ở đây: https://ericbalawejder.com/assets/hexview/Forensic-Analysis-...
Bảng 1 tổng hợp nhà sản xuất, số máy in được phân tích và việc có phát hiện chấm hay không: Brother 1 máy không có, Canon 10 máy có, Dell 4 máy có, Epson 8 máy một số mẫu, Hewlett-Packard 43 máy một số mẫu, IBM 1 máy có, KonicaMinolta 21 máy một số mẫu, Kyocera 4 máy có, Lanier 1 máy có, Lexmark 6 máy một số mẫu, NRG 1 máy có, Okidata 9 máy một số mẫu, Ricoh 6 máy có, Samsung 5 máy không có, Savin 1 máy có, Tektronix 4 máy không có, Unknown 1 máy có, Xerox 15 máy một số mẫu
Ngoài một vài manh mối được mô tả trong bài báo, có vẻ như khi phát hiện được mẫu chấm thì nhìn chung họ đã hiểu được chúng
Máy in laser đen trắng cũng tạo chấm theo dõi sao?
Và ý nghĩa của kiểu theo dõi này là gì. Về nguyên tắc, có nhất thiết mọi ngóc ngách trong đời sống của chúng ta đều phải bị theo dõi không?
Việc rải thông tin nguồn gốc lên mọi thứ có giá trị quá lớn về an ninh quốc gia. Lý do được đưa ra luôn là an toàn hoặc bảo mật, rồi ngay sau đó là “nhưng có hại gì đâu, bạn đâu có làm việc gì không nên làm… đúng không?”
Nếu mục đích chính là truy vết những kẻ làm tiền giả, thì máy in đen trắng không cần đến nó, nên không được tích hợp
Danh sách này chưa được cập nhật kể từ năm 2017, và rất có thể là kết quả suy luận của một người dựa trên yêu cầu FOIA. Có lẽ phải đợi đến lần tới khi một trường đại học Trung Quốc công bố bí mật của chính phủ Mỹ
Vài chục năm trước tôi từng làm một phần mềm giấu thông tin bằng cách điều chỉnh kerning của chữ, nhưng theo tôi biết thì dự án đó không đi đến kết quả gì đáng kể
Có thể bạn cũng quan tâm: https://en.wikipedia.org/wiki/EURion_constellation
Đáng tiếc là gần như không có thông tin công khai về phần đó: http://www.cl.cam.ac.uk/users/sjm217/projects/currency/