2 poin oleh GN⁺ 2025-04-03 | 1 komentar | Bagikan ke WhatsApp
  • 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/Linux
    • pip3 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
  • 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 -w dapat 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.pdf yang dibuat dengan perintah berikut tanpa margin
      • deda_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.pdf yang 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.PDF memiliki area grafis putih atau berwarna terang, area tersebut hanya dapat dimasking jika Wand terinstal

Pemecahan masalah

  • Jika muncul deda_parse_print: command not found, periksa instalasi DEDA atau tambahkan path bin pengguna Python ke PATH
    • export 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
  • Kesalahan instalasi terkait x86_64-linux-gnu-gcc mungkin 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
  • Jika operasi PDF diblokir oleh kebijakan keamanan dengan wand.exceptions.PolicyError, penyebabnya adalah konfigurasi ImageMagick

1 komentar

 
GN⁺ 2025-04-03
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

    • Saya masih ingat mendengar tentang tantangan ini di Daily Planet saat masih SD
      Melihat kisah lanjutannya membuat ingatan yang terlupakan muncul kembali, rasanya cukup menakjubkan
    • Saya kira shredder/scanner perpustakaan di Rainbows End karya Vinge hanyalah latar SF yang secara longgar mengadaptasi sequencing gen, jadi menarik melihat implementasi yang nyaris mendekati kenyataan
    • Saya penasaran seperti apa proses pemindaian untuk memasukkan potongan-potongan kertas itu ke program
      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

    • Saya heran produsen printer belum digugat class action karena toner kuning tambahan yang mereka pakai selama ini
    • Sekarang ini juga bukan cuma soal printer: https://datadotusa.com/technology.htm
    • Saya penasaran yang dimaksud printer jenis apa: laser, laser warna, atau inkjet
  • 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

    • Menurut Wikipedia, susunan titik mengodekan nomor seri perangkat dan waktu pencetakan, jadi untuk memalsukan printer orang lain pada dasarnya Anda hanya perlu nomor serinya
      Saat ini mungkin saja bisa diakses dari jarak jauh melalui pengaturan printer
    • Kalau sudah sampai tahap investigasi forensik yang memeriksa titik pelacak, sebagian besar upaya pemalsuan kemungkinan akan terlihat cukup jelas, dan malah bisa menjadi bukti untuk mempersempit tersangka ke orang-orang yang tahu teknik semacam ini
      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

    • Layak dibaca karena menceritakan bagaimana versi playtest kartu Pokemon awal yang baru-baru ini “ditemukan” terbukti palsu, atau setidaknya sangat mencurigakan, berdasarkan keberadaan dan dekode titik-titik ini
      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?

    • Sepertinya iya. Printer tidak punya cara untuk tahu bahwa ia tidak seharusnya melakukan itu
      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

    • Kalau saya mau memalsukan, alih-alih mencetak di kertas dengan cara rumahan/kantoran biasa, saya mungkin akan mencari CNC pembuat jam dengan toleransi presisi kecil untuk membuat stempel cetak dari aluminium atau sejenisnya
      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

    • Lihat Samizdat untuk mengetahui bagaimana hal seperti ini dilakukan di negara totaliter Blok Timur: https://en.m.wikipedia.org/wiki/Samizdat
    • Kalau Anda sampai sepeduli itu, lebih baik beli kit sablon
      Bisa juga untuk mencetak kaus
    • Bukankah jauh lebih mudah melacak orang yang membagikan selebarannya?
    • Atau cetak banyak titik pelacak yang valid tetapi diacak di seluruh dokumen dengan printer yang dibeli tunai
  • 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?

    • Di GitHub, mereka merujuk makalah 2018 oleh Timo Richter, Stephan Escher, Dagmar Schönfeld, dan Thorsten Strufe, Forensic Analysis and Anonymisation of Printed Documents
      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?

    • Saya tidak tahu pasti soal pengenal steganografis pada printer hitam-putih, tetapi saya justru akan terkejut kalau printer hitam-putih tidak menyisipkan informasi pelacakan
      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?”
    • Sejauh yang saya pahami, Secret Service meminta atau mewajibkan produsen menambahkan titik setelah kualitas printer menjadi cukup baik untuk mereproduksi uang kertas dengan mudah
      Kalau kegunaan utamanya adalah melacak pemalsu uang, maka printer hitam-putih tidak membutuhkannya, sehingga tidak disertakan
    • https://www.eff.org/pages/list-printers-which-do-or-do-not-d...
      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
    • Mungkin idenya, tidak ada orang yang akan tertipu oleh uang kertas 20 dolar hitam-putih, jadi tidak perlu repot-repot memberi titik
    • Printer monokrom tidak memiliki titik kuning
      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