- DEDA adalah toolkit untuk membaca, mendekode, dan menganonimkan titik pelacakan warna dokumen, yaitu titik kuning, yang terdapat pada keluaran printer laser warna
- Titik pelacakan warna dokumen adalah pola titik sistematis kecil yang mengodekan informasi printer dan hasil cetak, dan terintegrasi di hampir semua printer laser warna komersial
- Dapat membaca atau membandingkan data pelacakan dari gambar hasil pemindaian, mengekstrak pola yang belum diketahui, serta menambahkan matriks titik pelacakan sendiri ke PDF
- Fitur anonimisasi bekerja dengan menghapus sebagian besar data pelacakan dari gambar hasil pemindaian, atau membuat mask anonimisasi per printer dan menerapkannya ke dokumen PDF
- Untuk hasil yang baik, pemindaian input direkomendasikan memakai kompresi lossless, 300 dpi, dan kontras netral; halaman hitam-putih atau keluaran inkjet mungkin tidak memiliki titik pelacakan
Masalah yang ditangani DEDA
- Document Colour Tracking Dots atau titik kuning adalah titik sistematis kecil yang mengodekan informasi tentang printer dan hasil cetak itu sendiri
- Proses ini terintegrasi di hampir semua printer laser warna komersial
- Hampir semua hasil cetak memuat informasi terkode tentang perangkat sumber, yang contohnya dapat mencakup nomor seri
- DEDA menyediakan kemampuan untuk membaca dan mendekode karakteristik forensik ini, sekaligus fitur anonimisasi untuk mencegah pelacakan sembarang
- Saat menggunakan perangkat lunak ini, diminta untuk mengutip makalah berikut
- 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
Instalasi dan menjalankan GUI
- Memerlukan instalasi Python 3
- Dapat diinstal dari PyPI
pip3 install --user deda
- Juga dapat diinstal dari direktori saat ini
pip3 install --user .
- Sebagai dependensi opsional untuk
deda_anonmask_apply, Wand dapat diinstal di Unix dan GNU/Linuxpip3 install --user wand- Tanpa Wand, halaman yang berisi area putih dalam gambar tidak dapat dianonimkan
- GUI dijalankan dengan perintah berikut
deda_gui
Hal yang bisa dilakukan dengan tool terminal
-
Membaca data pelacakan
- Dapat membaca dan, dalam beberapa kasus, mendekode data pelacakan dari gambar hasil pemindaian
- Untuk hasil yang baik, input harus memakai kompresi lossless seperti png, 300 dpi, dan kontras netral
- Perintah eksekusi:
deda_parse_print INPUTFILE
-
Menemukan printer berbeda dalam kumpulan dokumen hasil pemindaian
- Dapat menemukan dokumen yang dicetak dengan printer berbeda dari beberapa dokumen hasil pemindaian
- Perintah eksekusi:
deda_compare_prints INPUT1 INPUT2 [INPUT3] ...
-
Menganalisis pola pelacakan yang belum diketahui
- Pola baru mungkin tidak dikenali oleh
parse_print - Untuk analisis lebih lanjut, titik kuning dapat diekstrak
- Perintah eksekusi:
deda_extract_yd INPUTFILE
- Pola baru mungkin tidak dikenali oleh
-
Membuat titik pelacakan sendiri
- Dapat membuat matriks titik pelacakan sendiri dan menambahkannya ke dokumen PDF
- Kontennya diteruskan sebagai parameter sesuai
deda_create_dots -h - Perintah eksekusi:
deda_create_dots PDFINPUT
- Halaman kalibrasi yang dibuat dengan
deda_anonmask_create -wdapat digunakan sebagai input
Alur kerja anonimisasi
-
Menganonimkan gambar hasil pemindaian
- Menghapus sebagian besar data pelacakan dari gambar hasil pemindaian
- Perintah eksekusi:
deda_clean_document INPUTFILE OUTPUTFILE
-
Menganonimkan dokumen untuk dicetak
- Simpan dokumen sebagai PDF dan tempatkan sebagai
DOCUMENT.PDF - Cetak
testpage.pdfyang dibuat dengan perintah berikut tanpa margindeda_anonmask_create -w
- Pindai dokumen tersebut pada 300 dpi, lalu berikan file lossless ke perintah berikut
deda_anonmask_create -r INPUTFILE
- Proses ini menghasilkan
mask.json, yaitu mask anonimisasi untuk masing-masing printer - Terapkan mask yang dihasilkan ke PDF
deda_anonmask_apply mask.json DOCUMENT.PDF
- Hasilnya adalah
masked.pdfyang telah dianonimkan dan dapat dicetak dengan pengaturan margin halaman 0 - Harus diperiksa dengan mikroskop apakah mask menutupi titik pelacakan printer
- Radius titik, offset x, dan offset y pada mask dapat disesuaikan melalui parameter
deda_anonmask_apply - Jika
DOCUMENT.PDFmemiliki area grafis putih atau berwarna terang, area tersebut hanya dapat dimasking jika Wand terinstal
- Simpan dokumen sebagai PDF dan tempatkan sebagai
Pemecahan masalah
- Jika muncul
deda_parse_print: command not found, periksa instalasi DEDA atau tambahkan path bin pengguna Python ke PATHexport PATH="$PATH:$(python -c 'import site,os; print(os.path.join(site.USER_BASE, "bin"))')"
- Jika DEDA tidak mengenali titik pelacakan, atur program pemindaian agar tidak menghapus struktur kertas atau titik pelacakan melalui thresholding
- Halaman hitam-putih dan keluaran inkjet mungkin tidak memiliki titik pelacakan
- Jika printer tidak mencetak titik pelacakan, dapat membuat titik pelacakan sendiri atau mencetak halaman kalibrasi dengan printer lain dan menggunakannya sebagai mask untuk printer sendiri
- Titik pelacakan sendiri dapat dibuat dengan
deda_create_dots - Halaman kalibrasi dapat dibuat dengan
deda_anonmask_create -w - Dapat menggunakan versi titik pelacakan yang telah dianonimkan atau menyalinnya dengan
deda_anonmask_create --copy
- Titik pelacakan sendiri dapat dibuat dengan
- Kesalahan instalasi terkait
x86_64-linux-gnu-gccmungkin disebabkan oleh dependensi eel yang diperlukan GUI- Perintah yang disarankan:
sudo apt-get install build-essential autoconf libtool pkg-config python3.6-dev gcc && pip3 install --user eel
- Perintah yang disarankan:
- Jika operasi PDF diblokir oleh kebijakan keamanan dengan
wand.exceptions.PolicyError, penyebabnya adalah konfigurasi ImageMagick- Hapus Wand atau tambahkan kebijakan berikut tepat sebelum
</policymap>di/etc/ImageMagick-*/policy.xml<policy domain="coder" rights="read | write" pattern="PDF" />
- Tautan referensi terkait: ImageMagick security policy PDF blocking conversion
- Hapus Wand atau tambahkan kebijakan berikut tepat sebelum
1 komentar
Komentar Hacker News
Tim kami menggunakan titik pelacak kuning ini untuk merekonstruksi dokumen yang sudah dihancurkan dalam DARPA Shredder Challenge sekitar 10 tahun lalu
Anda bisa melihat program menyorot titik-titik itu saat menyusun potongan dokumen: https://www.youtube.com/watch?v=uzZDhyrjdVo
Berkat itu kami bisa menang dengan selisih besar
Melihat kisah lanjutannya membuat ingatan yang terlupakan muncul kembali, rasanya cukup menakjubkan
Proses itu tampaknya layak ditulis tersendiri, sama seperti algoritme pemecahannya, dan sepertinya butuh tipe orang tertentu untuk sanggup menangani kekacauan semacam itu
Belakangan, karena alasan yang sulit saya jelaskan di sini, saya sempat meneliti titik pelacak
Cobalah sorot cetakan berwarna dengan senter LED biru. Mengejutkan melihat betapa banyak titik yang tercetak di seluruh halaman, seperti pasir ditaburkan di mana-mana
Kalau printer saya tidak mencetak titik pelacak, gagasan bahwa saya bisa memalsukan titik pelacak printer lain cukup menarik dari sisi plausibly deniable
Namun dalam kasus ini pun, untuk mencetak masker anonim sepertinya tetap perlu akses ke printer aslinya
Saat ini mungkin saja bisa diakses dari jarak jauh melalui pengaturan printer
Analis yang asal-asalan mungkin bisa tertipu, tetapi penyelidik berpengalaman mungkin akan melihatnya seperti, “titik pelacaknya jelas merek X, tapi raster yang dipakai untuk grayscale jelas gaya Y”
Kalau Anda melewatkan tulisan menarik yang terkait, ada di sini: https://news.ycombinator.com/item?id=42880704
Yang lebih menarik, orang yang memublikasikan penemuan dan analisis itu sudah menghabiskan ribuan dolar untuk kartu palsu tersebut, sehingga secara pribadi bisa dirugikan, tetapi tetap membuka hasilnya ke publik
Saya penasaran apa yang terjadi jika halaman yang sama dicetak dengan beberapa printer
Jika printer pertama mencetak isi sebenarnya, lalu printer lain hanya menambahkan sedikit cetakan di area yang masih putih, apakah satu printer akan merusak titik pelacak printer lain?
Namun tergantung detail kondisinya, sebagian atau seluruhnya mungkin masih bisa dibaca
Saya mulai berpikir jangan-jangan MIB akan mendatangi rumah orang aneh yang memulai proyek semacam OpenWRT versi printer
Seolah-olah ekspresi yang tak terlacak tidak boleh diizinkan, dan sumber meme yang tidak nyaman harus bisa dihantam secara presisi layaknya operasi bedah. Karena itu saya memakai printer laser monokrom dari craigslist di VLAN terpisah, dengan server CUPS di tengah
Tak seorang pun pernah memberi persetujuan yang benar-benar terinformasi atas apa yang dilakukan Niantic selama lebih dari 10 tahun terakhir, dan tak seorang pun menyetujui semua materi cetak menjadi bisa dilacak. Tidak ada peringatan di produk atau proses mana pun bahwa “tidak adanya pengenal yang terlihat bukan berarti tidak ada pengenal; bisa saja ada pengenal steganografis”
Hal yang sama berlaku pada mesin serbaguna di produk yang kita beli yang dikunci sedemikian rupa sehingga kita, sebagai pemiliknya, tidak bisa memanfaatkannya kembali sesuka hati. Kita dibuat menerima penghinaan yang dilempar organisasi komersial dan lembaga negara sebagai pilihan “makan sandwich kotoran, atau tidak dapat sandwich dan tetap dipukuli”, dan Consumer Action Taskforce (CAT) milik Louis Rossmann semakin menjadi antologi yang baik untuk kasus-kasus seperti ini
Sekarang saatnya melawan. Kita harus meretas printer yang layak pakai, mengganti firmware-nya dengan sesuatu yang praktis, dan keluar dari omong kosong ini. Titik pelacak seperti ini dan metode pelacakan steganografis lain ada untuk melacak dan membungkam orang seperti saya: orang yang menunjukkan mekanisme kontrol tersembunyi dan menyebarkan meme yang dilabeli risiko informasi/disinformasi oleh cumi-cumi obsidian raksasa
Mencetak di kertas tampak bodoh karena itu cara yang mudah dikenali bahkan oleh orang biasa yang menangani uang kertas
Sepertinya ini akan menjadi cukup penting dalam beberapa tahun ke depan
Jika Anda berencana mencetak selebaran atau pamflet demonstrasi, sebaiknya gunakan percetakan profesional bila ada orang yang bisa dipercaya, atau setidaknya beli printer dengan uang tunai, jangan pernah hubungkan ke internet, dan sambungkan hanya lewat USB ke komputer Linux
macOS dan Windows bisa menginstal driver printer secara otomatis, dan driver itu bisa menghubungi kantor pusat untuk mengaitkan ID printer dengan semacam pengenal
Bisa juga untuk mencetak kaus
Saya benar-benar penasaran berapa proporsi printer yang dapat didekode dengan alat publik
Apakah ada statistik tentang kode dari produsen mana saja yang sudah dipecahkan?
Salinannya ada di sini: https://ericbalawejder.com/assets/hexview/Forensic-Analysis-...
Tabel 1 merangkum produsen, jumlah printer yang dianalisis, dan apakah titik ditemukan: Brother 1 unit tidak ada, Canon 10 unit ada, Dell 4 unit ada, Epson 8 unit sebagian model, Hewlett-Packard 43 unit sebagian model, IBM 1 unit ada, KonicaMinolta 21 unit sebagian model, Kyocera 4 unit ada, Lanier 1 unit ada, Lexmark 6 unit sebagian model, NRG 1 unit ada, Okidata 9 unit sebagian model, Ricoh 6 unit ada, Samsung 5 unit tidak ada, Savin 1 unit ada, Tektronix 4 unit tidak ada, Unknown 1 unit ada, Xerox 15 unit sebagian model
Selain beberapa petunjuk yang dijelaskan dalam makalah itu, jika pola titik ditemukan, tampaknya umumnya mereka sudah memahaminya
Apakah printer laser hitam-putih juga membuat titik pelacak?
Dan apa arti pelacakan semacam ini? Apakah pada prinsipnya setiap sudut kehidupan kita memang harus dilacak?
Menyebarkan informasi asal-usul pada segala hal terlalu bernilai dari sisi keamanan nasional. Alasannya selalu keselamatan atau keamanan, lalu segera diikuti dengan “tapi apa ruginya, Anda kan tidak melakukan hal yang tidak boleh… benar?”
Kalau kegunaan utamanya adalah melacak pemalsu uang, maka printer hitam-putih tidak membutuhkannya, sehingga tidak disertakan
Daftar ini belum diperbarui sejak 2017, dan kemungkinan besar merupakan hasil inferensi satu orang berdasarkan permintaan FOIA. Sepertinya kita harus menunggu sampai universitas Tiongkok berikutnya membocorkan rahasia pemerintah AS
Puluhan tahun lalu saya pernah mengerjakan perangkat lunak yang menyembunyikan informasi dengan menyesuaikan kerning huruf, tetapi sejauh yang saya tahu proyek itu tidak menghasilkan sesuatu yang berarti
Ini juga mungkin menarik: https://en.wikipedia.org/wiki/EURion_constellation
Sayangnya hampir tidak ada informasi publik tentang yang itu: http://www.cl.cam.ac.uk/users/sjm217/projects/currency/