2 पॉइंट द्वारा GN⁺ 2025-04-03 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • DEDA एक टूलकिट है जो color laser printer आउटपुट में शामिल document colour tracking dots, यानी पीले डॉट्स, को पढ़ता, डिकोड करता और अनामिकृत करता है
  • document colour tracking dots छोटे systematic dot pattern होते हैं जो printer और printout की जानकारी encode करते हैं, और लगभग सभी commercial color laser printer में एकीकृत होते हैं
  • यह scanned images से tracking data पढ़ या compare कर सकता है, अज्ञात pattern निकाल सकता है, और PDF में अपना tracking dot matrix जोड़ सकता है
  • अनामिकरण फ़ीचर scanned images से अधिकांश tracking data हटा देता है, या printer-specific anonymisation mask बनाकर उसे PDF documents पर लागू करता है
  • बेहतर परिणामों के लिए input scan में lossless compression, 300 dpi और neutral contrast की सिफारिश की जाती है; black-and-white pages या inkjet printouts में tracking dots नहीं भी हो सकते हैं

DEDA किस समस्या को संभालता है

  • Document Colour Tracking Dots या पीले डॉट्स छोटे systematic dots होते हैं जो printer और printout के बारे में जानकारी encode करते हैं
  • यह प्रक्रिया लगभग सभी commercial color laser printer में एकीकृत होती है
  • लगभग हर printout में source device के बारे में coded information होती है, जिसमें उदाहरण के लिए serial number शामिल हो सकता है
  • DEDA इस forensic feature को पढ़ने और डिकोड करने की क्षमता देता है, साथ ही arbitrary tracking को रोकने के लिए anonymisation भी प्रदान करता है
  • software उपयोग करते समय निम्न शोधपत्र को cite करने का अनुरोध किया गया है
    • 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

इंस्टॉलेशन और GUI चलाना

  • Python 3 इंस्टॉल होना आवश्यक है
  • PyPI से इंस्टॉल किया जा सकता है
    • pip3 install --user deda
  • मौजूदा directory से भी इंस्टॉल किया जा सकता है
    • pip3 install --user .
  • deda_anonmask_apply की optional dependency के रूप में Unix और GNU/Linux पर Wand इंस्टॉल किया जा सकता है
    • pip3 install --user wand
    • अगर Wand नहीं है, तो image के अंदर white areas वाली pages को anonymise नहीं किया जा सकता
  • GUI निम्न कमांड से चलाया जाता है
    • deda_gui

टर्मिनल टूल्स से किए जा सकने वाले काम

  • tracking data पढ़ना

    • scanned images से tracking data पढ़ा जा सकता है और कुछ मामलों में डिकोड भी किया जा सकता है
    • अच्छे परिणामों के लिए input में png जैसी lossless compression, 300 dpi और neutral contrast का उपयोग होना चाहिए
    • चलाने की कमांड:
      • deda_parse_print INPUTFILE
  • scanned document bundles में अलग printer ढूँढना

    • कई scanned documents में उन documents को ढूँढा जा सकता है जो अलग printer से प्रिंट हुए हैं
    • चलाने की कमांड:
      • deda_compare_prints INPUT1 INPUT2 [INPUT3] ...
  • अज्ञात tracking pattern का विश्लेषण

    • नया pattern parse_print में पहचाना नहीं जा सकता
    • आगे के analysis के लिए yellow dots निकाले जा सकते हैं
    • चलाने की कमांड:
      • deda_extract_yd INPUTFILE
  • अपना tracking dot बनाना

    • अपना tracking dot matrix बनाया जा सकता है और PDF documents में जोड़ा जा सकता है
    • इसकी सामग्री deda_create_dots -h के अनुसार parameters के रूप में दी जाती है
    • चलाने की कमांड:
      • deda_create_dots PDFINPUT
    • deda_anonmask_create -w से बनाया गया calibration page input के रूप में इस्तेमाल किया जा सकता है

अनामिकरण workflow

  • scanned images का अनामिकरण

    • scanned images से अधिकांश tracking data हटा दिया जाता है
    • चलाने की कमांड:
      • deda_clean_document INPUTFILE OUTPUTFILE
  • प्रिंटिंग के लिए documents का अनामिकरण

    • document को PDF के रूप में सेव करें और उसे DOCUMENT.PDF नाम दें
    • निम्न कमांड से बने testpage.pdf को बिना margins के प्रिंट करें
      • deda_anonmask_create -w
    • उस document को 300 dpi पर scan करें, और lossless file को निम्न कमांड में दें
      • deda_anonmask_create -r INPUTFILE
    • यह प्रक्रिया individual printer के लिए anonymisation mask mask.json बनाती है
    • बने हुए mask को PDF पर लागू करें
      • deda_anonmask_apply mask.json DOCUMENT.PDF
    • परिणाम के रूप में anonymised masked.pdf बनता है, जिसे page margin 0 सेटिंग के साथ प्रिंट किया जा सकता है
    • यह microscope से जाँचना चाहिए कि mask printer के tracking dots को ढक रहा है या नहीं
    • mask का dot radius, x offset और y offset deda_anonmask_apply parameters से समायोजित किया जा सकता है
    • अगर DOCUMENT.PDF में white या light-coloured graphic areas हैं, तो उन क्षेत्रों को केवल Wand इंस्टॉल होने पर ही mask किया जा सकता है

समस्या निवारण

  • अगर deda_parse_print: command not found आए, तो DEDA इंस्टॉलेशन जाँचें या PATH में Python user bin path जोड़ें
    • export PATH="$PATH:$(python -c 'import site,os; print(os.path.join(site.USER_BASE, "bin"))')"
  • अगर DEDA tracking dots को पहचान नहीं पाता, तो scan program को इस तरह सेट करना चाहिए कि वह paper structure या tracking dots को thresholding से हटाए नहीं
    • black-and-white pages और inkjet printouts में tracking dots नहीं भी हो सकते हैं
  • अगर printer tracking dots प्रिंट नहीं करता, तो अपना tracking dot बनाया जा सकता है या किसी दूसरे printer से calibration page प्रिंट करके उसे अपने printer के mask के रूप में उपयोग किया जा सकता है
    • deda_create_dots से अपना tracking dot बनाया जा सकता है
    • deda_anonmask_create -w से calibration page बनाया जा सकता है
    • anonymised tracking dot version इस्तेमाल किया जा सकता है या deda_anonmask_create --copy से कॉपी किया जा सकता है
  • x86_64-linux-gnu-gcc से संबंधित इंस्टॉलेशन त्रुटि GUI के लिए आवश्यक eel dependency की वजह से हो सकती है
    • सुझाई गई कमांड:
      • sudo apt-get install build-essential autoconf libtool pkg-config python3.6-dev gcc && pip3 install --user eel
  • अगर wand.exceptions.PolicyError के कारण PDF कार्य सुरक्षा नीति से ब्लॉक हो रहा है, तो कारण ImageMagick configuration हो सकता है
    • Wand को हटा दें या /etc/ImageMagick-*/policy.xml में </policymap> से ठीक पहले निम्न policy जोड़ें
      • <policy domain="coder" rights="read | write" pattern="PDF" />
    • संबंधित संदर्भ लिंक: ImageMagick security policy PDF blocking conversion

1 टिप्पणियां

 
GN⁺ 2025-04-03
Hacker News की राय
  • हमारी टीम ने करीब 10 साल पहले DARPA Document Shredding Restoration Challenge में इन पीले tracking dots का इस्तेमाल करके कतर दिए गए दस्तावेज़ों को फिर से जोड़ा था
    कतरनों को मिलाते समय प्रोग्राम dots को highlight करता हुआ दिखता है: https://www.youtube.com/watch?v=uzZDhyrjdVo
    इसी वजह से हम बड़े अंतर से जीत पाए

    • प्राथमिक स्कूल में Daily Planet पर इस challenge के बारे में सुनने की याद अब भी है
      इसकी बाद की कहानी देखकर भूली हुई याद ताज़ा हो गई, काफ़ी अजीब-सा लगा
    • मुझे लगता था कि Vinge के Rainbows End में library shredder/scanner बस gene sequencing को ढीले तौर पर बदलकर बनाया गया SF setting है, लेकिन लगभग वास्तविक implementation देखना मज़ेदार है
    • मैं जानना चाहूंगा कि कतरनों को प्रोग्राम में डालने के लिए scan करने की प्रक्रिया कैसी थी
      लगता है वह प्रक्रिया भी solution algorithm जितनी ही अलग से लिखने लायक होगी, और ऐसे बिखरे काम को संभालने के लिए एक खास तरह का स्वभाव चाहिए होगा
  • हाल में, ऐसी वजहों से जिन्हें यहां बताना मुश्किल है, मुझे tracking dots को थोड़ा देखना पड़ा
    रंगीन printouts पर नीली LED flashlight डालकर देखना अच्छा रहता है। पूरे page पर जैसे रेत छिड़की हो, इतने ज़्यादा dots छपे होते हैं कि झटका लगता है

    • हैरानी है कि printer manufacturers पर इतने सालों में खर्च हुए अतिरिक्त yellow toner के लिए class-action lawsuit नहीं हुआ
    • अब यह सिर्फ printers की बात भी नहीं रही: https://datadotusa.com/technology.htm
    • उत्सुक हूं कि आप laser, color laser या inkjet में से किस printer की बात कर रहे हैं
  • अगर मेरा printer tracking dots नहीं छापता, तो किसी दूसरे printer के tracking dots forge किए जा सकते हैं—plausible deniability के लिहाज़ से यह विचार काफ़ी दिलचस्प है
    हालांकि इस स्थिति में भी anonymous mask print करने के लिए शायद मूल printer तक access चाहिए होगा

    • Wikipedia के मुताबिक dot pattern device serial number और print time encode करता है, इसलिए किसी और के printer को forge करने के लिए असल में बस serial number चाहिए
      आजकल printer settings के ज़रिए remote access भी संभव हो सकता है
    • अगर जांच forensic investigation के उस स्तर तक पहुंच चुकी है जहां tracking dots भी देखे जा रहे हैं, तो forge करने की ज़्यादातर कोशिशें काफी साफ़ दिखेंगी और उल्टे ऐसे techniques जानने वालों तक suspects को सीमित करने का सबूत बन सकती हैं
      सतही analysis करने वाले को धोखा दिया जा सकता है, लेकिन कोई अनुभवी investigator शायद ऐसा देखेगा: “tracking dots साफ़ तौर पर X brand के हैं, लेकिन grayscale में इस्तेमाल raster तो स्पष्ट रूप से Y वाला है”
  • इससे जुड़ा एक दिलचस्प लेख अगर छूट गया हो तो यहां है: https://news.ycombinator.com/item?id=42880704

    • यह पढ़ने लायक है, क्योंकि हाल में “मिले” शुरुआती Pokemon card playtest versions इन dots की मौजूदगी और decoding के आधार पर fake, या कम से कम बहुत संदिग्ध, पाए गए थे
      और भी दिलचस्प बात यह है कि जिसने यह discovery और analysis पोस्ट किया, वह fake cards पर पहले ही हजारों dollars खर्च कर चुका था और उसे निजी नुकसान हो सकता था, फिर भी उसने नतीजे public किए
  • सोचता हूं कि एक ही page को कई printers से print करें तो क्या होगा
    पहला printer असली content छापे, और दूसरे printers अभी सफेद हिस्सों में बस थोड़ा-थोड़ा और छापें, तो क्या एक printer दूसरे printer के tracking dots बिगाड़ देगा?

    • शायद हां। printer के पास यह जानने का कोई तरीका नहीं कि उसे ऐसा नहीं करना चाहिए
      हालांकि details पर निर्भर करते हुए कुछ या सारे dots फिर भी read किए जा सकने की संभावना है
  • अब लगने लगा है कि जो geek printer वाला OpenWRT जैसा project शुरू करेगा, उसके घर MIB न आ जाएं
    जैसे, untraceable expression की अनुमति नहीं दी जा सकती, और असुविधाजनक memes के source पर surgical strike करने की क्षमता होनी चाहिए। इसलिए मैं craigslist से लिया monochrome laser printer अलग VLAN पर रखता हूं और बीच में CUPS server लगाकर इस्तेमाल करता हूं
    Niantic पिछले 10+ सालों से जो कर रहा है, उसके लिए किसी ने भी पर्याप्त जानकारी के साथ सहमति नहीं दी, और हर printout traceable हो जाए, इसके लिए भी किसी ने सहमति नहीं दी। product या process में कहीं चेतावनी नहीं होती कि “visible identifier न होने का मतलब identifier न होना नहीं है; steganographic identifier हो सकता है”
    यही बात हमारे खरीदे product के अंदर की general-purpose machine के इस हद तक lock हो जाने पर भी लागू होती है कि मालिक होने के बावजूद हम उसे अपनी मर्जी से repurpose नहीं कर सकते। commercial organizations और state agencies की बेइज़्ज़ती को हम “shit sandwich खाओ, या sandwich के बिना मार खाओ” की तरह स्वीकार करने लगे हैं, और Louis Rossmann का Consumer Action Taskforce(CAT) ऐसे मामलों का अच्छा anthology बनता जा रहा है
    अब लड़ने का समय है। उपयोगी printers hack करो, firmware को किसी practical चीज़ से replace करो, और इस बकवास से बाहर निकलो। ये tracking dots और दूसरे steganographic tracking तरीके मेरे जैसे लोगों को track और silence करने के लिए हैं—जो hidden control mechanisms की ओर इशारा करते हैं और उन memes को फैलाते हैं जिन्हें विशाल obsidian squid ने information hazard/misinformation का label दे दिया है

    • अगर forge करना होता तो सामान्य घर/office तरीके से कागज़ पर print करने के बजाय, शायद tight tolerances वाली watchmaker CNC जैसी कोई चीज़ लेकर aluminum आदि से printing stamps बनाता
      कागज़ पर print करना मूर्खता लगता है, क्योंकि आम currency handler भी उसे आसानी से पहचान सकता है
  • अगले कुछ वर्षों में यह काफी महत्वपूर्ण होने वाला है
    अगर आप protest flyers या pamphlets print करने की योजना बना रहे हैं, तो अगर भरोसेमंद व्यक्ति हो तो professional print shop से करवाएं, या कम से कम printer cash में खरीदें, उसे कभी internet से connect न करें और Linux computer से सिर्फ USB के ज़रिए जोड़ें
    macOS और Windows printer drivers auto-install कर सकते हैं, और वह driver head office से contact करके printer ID को किसी identifier से link कर सकता है

    • पूर्वी ब्लॉक के totalitarian देशों में ये काम कैसे होते थे, इसके लिए Samizdat देखें: https://en.m.wikipedia.org/wiki/Samizdat
    • अगर आप इतनी चिंता कर रहे हैं तो silkscreen kit खरीदना बेहतर है
      T-shirts भी print कर सकते हैं
    • flyers बांटने वालों को track करना कहीं ज्यादा आसान नहीं होगा?
    • या फिर cash में खरीदे printer से पूरे document पर valid लेकिन randomized tracking dots बड़ी मात्रा में print कर दें
  • सच में जिज्ञासा है कि सार्वजनिक tools से decode किए जा सकने वाले printers का अनुपात कितना होगा
    क्या इस पर कोई आँकड़ा है कि किन manufacturers के codes crack हो चुके हैं?

    • GitHub पर Timo Richter, Stephan Escher, Dagmar Schönfeld, Thorsten Strufe के 2018 paper Forensic Analysis and Anonymisation of Printed Documents का संदर्भ दिया गया है
      इसकी copy यहाँ है: https://ericbalawejder.com/assets/hexview/Forensic-Analysis-...
      Table 1 में manufacturers, analyse किए गए printers की संख्या, और dots मिले या नहीं, यह संक्षेप में दिया है: Brother 1 नहीं, Canon 10 हाँ, Dell 4 हाँ, Epson 8 कुछ models, Hewlett-Packard 43 कुछ models, IBM 1 हाँ, KonicaMinolta 21 कुछ models, Kyocera 4 हाँ, Lanier 1 हाँ, Lexmark 6 कुछ models, NRG 1 हाँ, Okidata 9 कुछ models, Ricoh 6 हाँ, Samsung 5 नहीं, Savin 1 हाँ, Tektronix 4 नहीं, Unknown 1 हाँ, Xerox 15 कुछ models
      paper में बताए गए कुछ सुरागों को छोड़ दें, तो जहाँ dot pattern मिला है, वहाँ वे इसे मोटे तौर पर समझते दिखते हैं
  • क्या black-and-white laser printers भी tracking dots बनाते हैं?
    और इस तरह की tracking का मतलब क्या है? क्या सिद्धांततः हमारी ज़िंदगी का हर कोना track किया जाना ही चाहिए?

    • black-and-white printers में steganographic identifiers के बारे में पक्के तौर पर तो नहीं जानता, लेकिन अगर black-and-white printers tracking information embed नहीं करते, तो मुझे उल्टा आश्चर्य होगा
      हर चीज़ पर source information छिड़कना national security के लिहाज़ से बहुत valuable है। हमेशा safety या security को वजह बताया जाता है, और तुरंत उसके बाद “लेकिन नुकसान क्या है, आप कोई गलत काम तो नहीं कर रहे… है ना?” आ जाता है
    • मेरी समझ है कि printer quality इतनी अच्छी हो जाने के बाद कि currency notes आसानी से reproduce किए जा सकें, Secret Service ने manufacturers से dots जोड़ने का अनुरोध किया या मांग की
      अगर इसका मुख्य उपयोग counterfeiters को track करना है, तो black-and-white printers में इसकी ज़रूरत नहीं होगी, इसलिए यह शामिल नहीं होता—बात यही है
    • https://www.eff.org/pages/list-printers-which-do-or-do-not-d...
      यह list 2017 के बाद update नहीं हुई है, और शायद बहुत संभव है कि यह एक व्यक्ति द्वारा FOIA requests के आधार पर निकाला गया अनुमान था। लगता है अगली बार किसी Chinese university के US government secrets publish करने तक इंतज़ार करना पड़ेगा
    • black-and-white 20-dollar note से कोई धोखा नहीं खाएगा, इसलिए dots लगाने की ज़रूरत नहीं है—विचार शायद यही होगा
    • monochrome printers में yellow dots नहीं होते
      दशकों पहले मैंने character kerning adjust करके information छिपाने वाला software काम किया था, लेकिन जहाँ तक मुझे पता है, वह project किसी खास नतीजे तक नहीं पहुँचा
  • इसमें भी रुचि हो सकती है: https://en.wikipedia.org/wiki/EURion_constellation

    • और एक कम ज्ञात लेकिन ज़्यादा नया version भी है, जो अदृश्य digital watermark पर आधारित है
      अफसोस, उसके बारे में public information बहुत कम है: http://www.cl.cam.ac.uk/users/sjm217/projects/currency/