DEDA – Tracking Dots Extraction, Decoding and Anonymisation Toolkit
(github.com)286 points by pavel_lishin 5 days ago
286 points by pavel_lishin 5 days ago
Oh wow, I remember hearing about this challenge on Daily Planet when I was still in elementary school. It's super cool seeing a follow up, it brought back a hidden memory.
Super cool demo btw
and here I thought the library shredder/scanner in Vinge's Rainbows End was just sci-fi loosely based on gene sequencing...
(I mean it is, but seeing this almost real-world implementation is fun!)
DARPA scanned the shreds. The funny thing is, they didn't want to shred the original paper, so first they photocopied the paper in a high quality color copier, shredded it, and scanned it. And that's where the little yellow dots came from. :D
interesting. now my brain is churning on why would they not want the originals shredded. what does that say about the value they placed on the originals? why would they open a contest up with documents of such perceived value as the content? being DARPA, i'm sure there's a reason though
Had the experience of poking at tracking dots recently for circumstances I won't share here.
Do y'allself a favor and get a blue LED flashlight and point it at a color print. It's shocking how many are printed. It looks like a spattering of sand across the entire page!
It's not even just for printers anymore.
> My printer does not print tracking dots. Can I hide this fact?
> If there are really no tracking dots, you can either create your own ones (deda_create_dots) or print the calibration page (deda_anonmask_create -w) with another printer and use the mask for your own printer
The thought of being able to “spoof” the tracking dots of another printer has interesting implications for deniability. Though I guess in this case you’d still need access to the original printer to print the anonmask…
Per Wikipedia, the dots' "arrangement encodes the serial number of the device, date and time of the printing", so all you really need to spoof somebody else's printer is the serial number. Which can likely these days even be accessed remotely through printer settings.
No need to examine the printer. Just find a sheet of paper that printer printed, decode the dots, and then print your super illegal whatever with their printer's dots and a timestamp that makes sense for whatever you're framing them for doing. Nobody's ever gonna believe "the dots were a lie." They sound too much like fingerprints.
Or just go to a big box retailer, grab a couple of serial numbers off of the packaging, and then randomize per page.
It depends on how it gets the serial number. If it reads it from internal memory then spoofing your own serial number on each document print is the obvious workaround.
Once you are at the level of forensic investigations that go down to the tracking dots, most attempts at spoofing anything will be relatively obvious and provide further evidence that narrows down the list of suspects to those aware of such techniques.
You might fool someone who does such analysis casually but I'd expect an actual experienced investigator to e.g. go "the tracking dots are clearly brand X, but the raster used for greyscale is obviously from Y, soooo"
They've been used to figure out who leaked government documents in a few cases IIRC.
For those who missed it, this is an interesting and related topic: https://news.ycombinator.com/item?id=42880704
Adding some context to this, because it's a really interesting read that's worth the time if you ask me: it's about how some recently 'discovered' early playtest versions of Pokemon cards were found to be fake, or at least very suspicious, based on the presence (and decoding) of these dots.
I also find it interesting because the person who posted the discovery and breakdown of the dots stood to personally lose thousands of dollars they'd spent on the fakes, but posted their findings anyway.
Or, alternatively, to prove thousands of dollars in damages.
What happens if I print the same page in multiple printers? Like, have the first printer print the actual contents, and then have the other printers add just a little bit of stuff in still-white areas. Does one printer mess the dots of the others?
I'm beginning to think the MIB show up to any nerd's house who starts an equivalent of OpenWRT project, for printers. Can't have untracked speech, need to be able to surgically strike certain founts of inconvenient memes. This sort of thing is why my craigslist sourced b&w laser printer is on its own VLAN with a CUPS server playing go-between. Nobody consented in an informed manner to Niantic's operation for the last decade+. Nobody consents to their every print being traceable. There is nothing, nothing about the product or process which warns the device owner or user that "Lack of obvious visible identifiers in the output does not mean it is identifier-free (steganographic identifier)." Just like nobody consents to the Universal Machines in our products being locked down to the point that even we the owners can't repurpose them as we see fit. We as peoples have come to accept the barrage of insults from commercial and state entities, that it's either a shit-sandwich or no-sandwich at all (plus a beating). Louis Rossmann's Consumer Action Taskforce (CAT) is becoming a great anthology of what I am talking about in this regard.
It's time to fight back! Let's start hacking the good printers out there, get their firmwares replaced with something viable, and start divorcing this nonsense. These tracking dots and other steganographic tracking methods exist precisely to track people like me and silence me, people who point out the occulted control methods, people who spread memes deemed information hazards and malinformation by the giant onyx squid.
[/rant]
Besides, if I wanted to counterfeit I would [naïvely] get one of those tight tolerance watchmaker CNCs and have printing stamps made out of aluminum or something. Printing to paper in the usual home-office way seems to me an asinine method which is easily detected by most people who handle bills regularly.
The point of these technologies is to stop the low hanging fruit and trace the source of ransom notes, leaked documents, and the like.
For counterfeiting, a technical person's first thought is: "how does the Bureau of Engraving and Printing actually do it?" and then they do that - and you nailed it: offset printing.
Laser printers and inkjets can't even remotely compare.
That's a lot more work, skill and initial investment required than just trying to slap a dollar bill on a copier. Which means a lot fewer people will try, especially since the people with these skills can usually easily make enough, and possibly more, money through legitimate means.
There were people who did counterfeiting "right", down to getting real printing presses, suitable paper etc. https://www.businessinsider.com/frank-bourassa-on-how-he-cou... (it's strongly implied that he got away with 6 weeks in prison and likely got to keep a decent amount of the profit).
Ya gotta do what the cartels do: bleach out singles and print $100 on it so it feels right
Then there's needing to contend with possible serial number scanning occurring at automated stations and at financial institutions, cataloging the movements of specific bills, detecting clones (improbable or impossible physical note appearances), and detecting zombies (decommissioned/known-destroyed numbers, and numbers never emitted). Randomly generating numbers is likely to trip clone and zombie sensors at various surveillance points.
Bill scanning to verify authenticity is already occurring, why not record the fact Bank of xAI ATM #67387 tendered two Franklins with serial numbers $SERIALA and $SERIALB to you (verified by PIN and card, and possibly bolstered by Face ID incognito); maybe older systems only do the verification locally and lack OCR, but I'm positive new systems are plenty powerful enough to run pared down OCR on serial numbers... wait they have been doing it with cheques all these years with handwritten dollar values, so why not OCR serial numbers coming and going? You see? The net deepens. I probably can't suggest methods of washing this data without possibly committing some obscure crime, so I will leave you to your creative imaginations...
This gonna be pretty important in the next years... people, if you plan on printing protest flyers and pamphlets, either get them done in a professional print shop (if you know someone you can trust, that is), or at the very least buy the printer in cash, never ever connect it to the Internet, and only connect it via USB to a Linux computer - macOS and Windows both will install printer drivers automatically that might phone back to the mothership and link your printer ID to some sort of identifier.
For reference how this was done in the totalitarian countries of the eastern block: https://en.m.wikipedia.org/wiki/Samizdat
Wouldn't it be way easier to just track the people handing out the flyers?
That depends on whether:
1. You're looking for a very specific person.
2. You want to unconstitutionally punish somebody for free speech, and you don't care who, you just want to cheaply find a convenient victim.
In that respect, tracking-dots are an invitation to #2, since they don't really need much in the way of human labor-hours or focus.
Tracking dots can be used to confirm that a specific printer was used to print a specific page. However, going from only a serial number to finding the name and address of its owner is going to be very difficult to impossible. You might be able to track it down to the retailer, but if you buy your printer in person from a stack at Costco, nobody has any idea which printer has which serial number.
Remember the Russian civilians arrested for protesting the war by waving yellow pieces of paper?
Melted toner pallets are shiny and contrast well against paper. I'd set the document background to be a sold yellow before printing it (assuming the privacy invading dots are guaranteed to be yellow).
The github references this document: Timo Richter, Stephan Escher, Dagmar Schönfeld, and Thorsten Strufe. 2018. Forensic Analysis and Anonymisation of Printed Documents. In Proceedings of the 6th ACM Workshop on Information Hiding and Multimedia Security (IH&MMSec '18). ACM, New York, NY, USA, 127-138.
There is a copy here: https://ericbalawejder.com/assets/hexview/Forensic-Analysis-...
Table 1 (manufacturer, #of printers analyzed, dots found):
Brother 1 no
Canon 10 yes
Dell 4 yes
Epson 8 somemodels
Hewlett-Packard 43 somemodels
IBM 1 yes
KonicaMinolta 21 somemodels
Kyocera 4 yes
Lanier 1 yes
Lexmark 6 somemodels
NRG 1 yes
Okidata 9 somemodels
Ricoh 6 yes
Samsung 5 no
Savin 1 yes
Tektronix 4 no
Unknown 1 yes
Xerox 15 somemodels
It sounds like they mostly understand the dot patterns wherever they found them, with some caveats that are explained in the paper.If you take a photocopy/scan are the dots detectable in the copy? Asking for a friend.
Do black and white laser printers produce tracking dots?
Also, what is the meaning of this tracking, must every corner of our lives be tracked just on principle?
I can't affirm knowledge of steganographic identifiers in B&W printers. I wanted to state I would be surprised if B&W printers did not embed tracking information. There's too much national security value in spamming origination details on everything. There is always, always a safety or security argument to do so, followed with "but what's the harm, you're not doing anything you shouldn't be doing... are you? "
It's my understanding that the secret service requested (required?) that the printer manufacturers start adding the dots once the printers got good enough to easily recreate paper bills. Because they are primarily a tool for tracking counterfeiters, they are not needed with black a white printers and thus are not included.
The tracking dots aren't for anti-counterfeiting. The secret service has a separate chunk of code in every color printer that detects if you are printing money and prints out a page that says essentially, "you can't do that." (at least that was the case 20 years ago when I worked for HP).
The tracking dots are used by the FBI if someone prints out classified information and passes it around, or other copyrighted/illegal documents.
The EURion constellation[0] is how that detection mostly works as I understand it. Neat bit of tech. It's real obvious on euro bills once you know what to look for. Fun fact: not all printers give a hoot about this pattern, so it's a neat trick to annoy people with if your printer doesn't.
mostly, the software in printers/scanners and Adobe's Photoshop alikes is looking out for the "EURion" pattern.
https://en.wikipedia.org/wiki/EURion_constellation
That is not to be confused with (dynamical) and non-visible tracking info on printed sheets, which in fact can have everything coded in. By that, even 1-bit printouts can be identified up to the source. If the printer model and #salt is printed alongside, the prosecution has evidence for the cases the printer involved.
https://www.eff.org/pages/list-printers-which-do-or-do-not-d...
List hasn't been updated since 2017, was probably one guy making inferences from FOIA requests. We'll have to wait until the next time a Chinese university publishes some US government secrets.
No yellow dots on monochrome printers.
Decades ago I worked on some software that would adjust the kerning on characters to hide information. As far as I know the project never went anywhere.
You may also be interested in: https://en.wikipedia.org/wiki/EURion_constellation
And the lesser known, newer, invisible, digital watermark based version of it. Unfortunately very little information is available about that one. http://www.cl.cam.ac.uk/users/sjm217/projects/currency/
Somebody (more likely a group of somebodies), somewhere is responsible for having gone to each and every printer manufacturer and done or said something to make them implement this functionality.
If I remember correctly from the FOIA documents we got, it was a meeting or series of meetings with a Japanese printer industry association during the 1990s.
I forgot if we learned whether the government side was a specific government or governments, or the consortium called Central Bank Counterfeit Deterrence Group
which has been involved in other related stuff (like making some software and devices refuse to process images that are detected to be images of currency!).
Notably, they didn't go to congress to have a law publicly debated and voted on. It was all hidden from the public.
The original somebody was likely the US Secret service, who are also responsible for US dollar currency forgery policing.
When color printers/copiers first appeared there was a concern about people photocopying money. The old joke was that your color photocopier "would pay for itself in no time".
thats only for evidence/prosecution for fraud/criminal intents. If one say's "NO WAY I said and printed that contract" ... "Lemmy check...oh! You did. Its your printer. Look!".
I think its not like "somebody gone to each..", but rather "... a good idea".
you can publish anonymously. no one hinders you. But in case it is illegal, prosecuters have evidence - which isn't malicious or bad per c'est. And, knowing which printer has been used for the illegal thing, doesn't mean the location of the printzer is known, too. So, no probs or conflict with that from my side.
If you really afraid, just overlay your PDFs with noise of yellow dots before printing. Or apply a digimarc pattern onto that with gibberish. That will mitigate recognition unless the digimarc pattern is recognized and removed, which is kind of difficult if unknown (https://www.digimarc.com/). There are possibilities.
Need a web ui as a self hostable docker so we can take total advantage of this !!
... thats also the reason why your yellow ink catridge/tank is the first to go empty. Each printout, no matter B&W or in YMCK, will have this yellow dots all over the place.
You typically would keep the tank sizes same in volume and reduce the amount of other inks. By that other inks are empty approx. in the same time with yellow.
Similar question can be asked: Why some (consumer) supply tanks are units and can only be exchanged together in one, even there's still dye left in one of the colors? Why do cartridges signaling "empty" even there's still enough in them?
You can sell more of units and save on dye/ink.
because its easier to produce (e.g. no redesign of the inners to fit the tank, no extra sausage for individual tank production, no stock-keeping, etc..),
because its easy and convenient to replace the tanks for the customer without the needs of opening the device
.. there are a lot of why-reasons one can think of and which we don't know. But, the fact that its been done that way, should tell us, there are other people thought about this already and decided to do it like its done.
If you want to be able to change YMCK individually, then look for a model with individually replaceble tanks or choose a professional device with 8+ dyes. But they're expensive.
Me and my team used these yellow tracking dots to reconstruct shredded documents for a DARPA shredder challenge over a decade ago. You can see our program highlight the dots as we reconstruct the shredded docs. https://www.youtube.com/watch?v=uzZDhyrjdVo Thanks to that, we were able to win by a large margin. :)