DEDA – İzleme noktası çıkarma, kod çözme ve anonimleştirme araç kiti
(github.com/dfd-tud)- DEDA, renkli lazer yazıcı çıktılarında bulunan belge renk izleme noktalarını, yani sarı noktaları okuyan, çözen ve anonimleştiren bir araç kitidir
- Belge renk izleme noktaları, yazıcı ve çıktı bilgilerini kodlayan küçük sistematik nokta desenleridir ve neredeyse tüm ticari renkli lazer yazıcılara entegredir
- Taranmış görüntülerden izleme verilerini okuyabilir veya karşılaştırabilir, bilinmeyen desenleri çıkarabilir ve PDF'lere kendi izleme noktası matrisini ekleyebilir
- Anonimleştirme özelliği, taranmış görüntülerdeki izleme verilerinin çoğunu kaldırarak ya da yazıcıya özel anonimleştirme maskeleri oluşturup bunları PDF belgelerine uygulayarak çalışır
- En iyi sonuçlar için giriş taramasında kayıpsız sıkıştırma, 300 dpi ve nötr kontrast önerilir; siyah-beyaz sayfalarda veya mürekkep püskürtmeli çıktılarda izleme noktaları olmayabilir
DEDA'nın ele aldığı sorun
- Document Colour Tracking Dots veya sarı noktalar, yazıcı ve çıktının kendisi hakkında bilgi kodlayan küçük sistematik noktalardır
- Bu süreç neredeyse tüm ticari renkli lazer yazıcılara entegredir
- Neredeyse tüm çıktılar kaynak cihaza dair kodlanmış bilgi içerir; buna örnek olarak seri numarası verilebilir
- DEDA, bu adli bilişim özelliğini okuma ve çözmenin yanı sıra, keyfi takibi engellemek için anonimleştirme işlevi de sunar
- Yazılım kullanılırken şu makaleye atıf yapılması istenir
- 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
Kurulum ve GUI'yi çalıştırma
- Python 3 kurulumu gereklidir
- PyPI üzerinden kurulabilir
pip3 install --user deda
- Geçerli dizinden de kurulabilir
pip3 install --user .
deda_anonmask_applyiçin isteğe bağlı bağımlılık olarak Unix ve GNU/Linux üzerinde Wand kurulabilirpip3 install --user wand- Wand yoksa, görüntü içindeki beyaz alanlar bulunan sayfalar anonimleştirilemez
- GUI şu komutla çalıştırılır
deda_gui
Terminal araçlarıyla yapılabilecekler
-
İzleme verilerini okuma
- Taranmış görüntülerden izleme verileri okunabilir ve bazı durumlarda çözümlenebilir
- İyi sonuçlar için girişte png gibi kayıpsız sıkıştırma, 300 dpi ve nötr kontrast kullanılmalıdır
- Çalıştırma komutu:
deda_parse_print INPUTFILE
-
Taranmış belge kümesinde farklı yazıcıları bulma
- Birden fazla taranmış belge içinde farklı yazıcılarda basılmış belgeler bulunabilir
- Çalıştırma komutu:
deda_compare_prints INPUT1 INPUT2 [INPUT3] ...
-
Bilinmeyen izleme desenlerini analiz etme
- Yeni desenler
parse_printtarafından tanınmayabilir - Ek analiz için sarı noktalar çıkarılabilir
- Çalıştırma komutu:
deda_extract_yd INPUTFILE
- Yeni desenler
-
Kendi izleme noktalarını oluşturma
- Kendi izleme noktası matrisi oluşturulabilir ve PDF belgesine eklenebilir
- İçerik
deda_create_dots -hçıktısına göre parametrelerle iletilir - Çalıştırma komutu:
deda_create_dots PDFINPUT
deda_anonmask_create -wile oluşturulan kalibrasyon sayfası giriş olarak kullanılabilir
Anonimleştirme iş akışı
-
Taranmış görüntüleri anonimleştirme
- Taranmış görüntülerdeki izleme verilerinin çoğu kaldırılır
- Çalıştırma komutu:
deda_clean_document INPUTFILE OUTPUTFILE
-
Baskı için belgeyi anonimleştirme
- Belge PDF olarak kaydedilir ve
DOCUMENT.PDFolarak bırakılır - Aşağıdaki komutla oluşturulan
testpage.pdfkenar boşluğu olmadan yazdırılırdeda_anonmask_create -w
- Bu belge 300 dpi ile taranır ve kayıpsız dosya aşağıdaki komuta verilir
deda_anonmask_create -r INPUTFILE
- Bu işlem, tek tek yazıcılar için anonimleştirme maskesi olan
mask.jsondosyasını üretir - Oluşturulan maske PDF'ye uygulanır
deda_anonmask_apply mask.json DOCUMENT.PDF
- Sonuç olarak anonimleştirilmiş
masked.pdfoluşturulur ve sayfa kenar boşluğu 0 ayarıyla yazdırılabilir - Maskenin yazıcının izleme noktalarını kapattığı mikroskop ile doğrulanmalıdır
- Maskenin nokta yarıçapı, x ofseti ve y ofseti
deda_anonmask_applyparametreleriyle ayarlanabilir DOCUMENT.PDFiçinde beyaz veya açık renkli grafik alanları varsa, bu alanlar yalnızca Wand kuruluysa maskelenebilir
- Belge PDF olarak kaydedilir ve
Sorun giderme
deda_parse_print: command not foundhatası alırsanız, DEDA kurulumunu doğrulayın veya Python kullanıcı bin yolunu PATH'e ekleyinexport PATH="$PATH:$(python -c 'import site,os; print(os.path.join(site.USER_BASE, "bin"))')"
- DEDA izleme noktalarını tanımıyorsa, tarama yazılımı kağıt dokusunu veya izleme noktalarını eşikleme ile kaldırmayacak şekilde ayarlanmalıdır
- Siyah-beyaz sayfalarda ve mürekkep püskürtmeli çıktılarda izleme noktaları olmayabilir
- Yazıcı izleme noktaları basmıyorsa, kendi izleme noktalarınızı oluşturabilir veya kalibrasyon sayfasını başka bir yazıcıyla basıp kendi yazıcınız için maske olarak kullanabilirsiniz
deda_create_dotsile kendi izleme noktalarınızı oluşturabilirsinizdeda_anonmask_create -wile kalibrasyon sayfası oluşturabilirsiniz- Anonimleştirilmiş izleme noktası sürümü kullanılabilir veya
deda_anonmask_create --copyile kopyalanabilir
x86_64-linux-gnu-gccile ilgili kurulum hatası, GUI için gereken eel bağımlılığından kaynaklanıyor olabilir- Önerilen komut:
sudo apt-get install build-essential autoconf libtool pkg-config python3.6-dev gcc && pip3 install --user eel
- Önerilen komut:
- PDF işlemleri
wand.exceptions.PolicyErrorile güvenlik politikası nedeniyle engelleniyorsa, neden ImageMagick yapılandırması olabilir- Wand'ı kaldırın veya
/etc/ImageMagick-*/policy.xmliçindeki</policymap>satırından hemen önce şu politikayı ekleyin<policy domain="coder" rights="read | write" pattern="PDF" />
- İlgili referans bağlantısı: ImageMagick security policy PDF blocking conversion
- Wand'ı kaldırın veya
1 yorum
Hacker News yorumları
Ekibimiz 10 yılı aşkın süre önce DARPA Parçalanmış Belge Kurtarma Yarışmasında bu sarı izleme noktalarını kullanarak parçalanmış belgeleri yeniden oluşturmuştu.
Programın parçalanmış belgeleri eşleştirirken noktaları vurguladığını görebilirsiniz: https://www.youtube.com/watch?v=uzZDhyrjdVo
Bu sayede açık farkla kazanabildik.
Devam hikâyesini görünce unuttuğum anı yeniden aklıma geldi; oldukça ilginçti.
Çözüm algoritması kadar o süreç de başlı başına yazılmaya değer görünüyor; böyle bir karmaşayla baş edebilecek ayrı bir karakter yapısı var gibi.
Yakın zamanda, burada açıklaması zor nedenlerle izleme noktalarına biraz bakmam gerekti.
Renkli bir baskıya mavi LED el feneri tutmak iyi oluyor. Sayfanın tamamına kum serpilmiş gibi inanılmaz sayıda nokta basılmış olduğunu görmek şok edici.
Yazıcım izleme noktaları basmıyorsa, başka bir yazıcının izleme noktalarını taklit edebilme fikri inkâr edilebilirlik açısından oldukça ilginç.
Yine de bu durumda bile anonim bir maske basmak için asıl yazıcıya erişmek gerekecek gibi.
Günümüzde yazıcı ayarlarına uzaktan erişim de mümkün olabilir.
Üstünkörü analiz yapan birini kandırabilirsiniz, ama deneyimli bir araştırmacı “izleme noktaları açıkça X markası, ama gri tonlamada kullanılan raster bariz şekilde Y tarafına ait” gibi bakacaktır.
Konuyla ilgili ilginç bir yazıyı kaçırdıysanız burada: https://news.ycombinator.com/item?id=42880704
Daha da ilginci, keşfi ve analizi yayımlayan kişinin sahte kartlara halihazırda binlerce dolar harcamış olduğu için kişisel olarak zarar görebilecek olmasına rağmen sonuçları açıklamış olması.
Aynı sayfayı birden fazla yazıcıda yazdırırsanız ne olacağını merak ediyorum.
İlk yazıcı asıl içeriği basar, diğer yazıcılar hâlâ beyaz kalan alanlara çok az ekleme yaparsa, bir yazıcı diğerinin izleme noktalarını bozabilir mi?
Yine de ayrıntılı koşullara bağlı olarak bazılarının ya da tamamının hâlâ okunabilmesi mümkün olabilir.
Yazıcılar için OpenWRT benzeri bir proje başlatan ineklerin evine MIB gelir mi diye düşünmeye başladım.
İzlenemez ifadeye izin verilemez ve rahatsız edici memlerin kaynağı cerrahi hassasiyetle vurulabilmeli, gibi. Bu yüzden craigslist’ten aldığım siyah-beyaz lazer yazıcıyı ayrı bir VLAN’a koyup araya bir CUPS sunucusu yerleştirerek kullanıyorum.
Niantic’in son 10 yılı aşkın süredir yaptıkları konusunda kimse yeterince bilgilendirilmiş onay vermedi; tüm basılı materyallerin izlenebilir hâle gelmesine de kimse onay vermedi. Ürünlerde ya da süreçlerde hiçbir yerde “görünür bir tanımlayıcı yok diye tanımlayıcı yoktur anlamına gelmez; steganografik tanımlayıcılar olabilir” uyarısı yer almıyor.
Satın aldığımız ürünlerin içindeki genel amaçlı makinelerin, sahibi olan bizlerin istediği şekilde yeniden kullanamayacağı kadar kilitlenmesi de aynı şekilde. Ticari kuruluşların ve devlet kurumlarının fırlattığı hakaretleri “ya boklu sandviçi ye ya da sandviçsiz dayak ye” diye kabullenir hâle geldik; Louis Rossmann’ın Consumer Action Taskforce’u (CAT) bu tür örnekleri iyi toplayan bir seçkiye dönüşüyor.
Artık karşı koyma zamanı. Kullanılabilir bir yazıcıyı hack’lemeli, firmware’ini işe yarar bir şeyle değiştirmeli ve bu saçmalıktan kurtulmalıyız. Bu izleme noktaları ve diğer steganografik izleme yöntemleri, benim gibi insanları—gizli kontrol biçimlerine dikkat çeken ve devasa obsidyen kalamarın bilgi riski/dezenformasyon diye damgaladığı memleri yayan kişileri—izlemek ve susturmak için var.
Sıradan bir banknot görevlisinin bile kolayca fark edebileceği bir yöntem olduğundan kâğıda basmak aptalca görünüyor.
Önümüzdeki birkaç yılda epey önemli hâle gelecek gibi.
Protesto el ilanı ya da broşür basmayı planlıyorsanız, güvendiğiniz biri varsa profesyonel bir matbaaya yaptırmak ya da en azından yazıcıyı nakit alıp asla internete bağlamamak ve yalnızca USB ile bir Linux bilgisayara bağlamak iyi olur.
macOS ve Windows yazıcı sürücülerini otomatik kurabilir; o sürücü de merkeze bağlanıp yazıcı kimliğini bir tür tanımlayıcıyla ilişkilendirebilir.
Tişört de basabilirsiniz.
Herkese açık araçlarla çözülebilen yazıcıların oranının ne kadar olduğunu gerçekten merak ediyorum
Hangi üreticilerin kodlarının kırıldığına dair bir istatistik var mı?
Bir kopyası burada: https://ericbalawejder.com/assets/hexview/Forensic-Analysis-...
Tablo 1; üreticiyi, analiz edilen yazıcı sayısını ve noktaların bulunup bulunmadığını özetliyor: Brother 1 adet yok, Canon 10 adet var, Dell 4 adet var, Epson 8 adet bazı modeller, Hewlett-Packard 43 adet bazı modeller, IBM 1 adet var, KonicaMinolta 21 adet bazı modeller, Kyocera 4 adet var, Lanier 1 adet var, Lexmark 6 adet bazı modeller, NRG 1 adet var, Okidata 9 adet bazı modeller, Ricoh 6 adet var, Samsung 5 adet yok, Savin 1 adet var, Tektronix 4 adet yok, Unknown 1 adet var, Xerox 15 adet bazı modeller
Makalede açıklanan birkaç ipucu dışında, nokta deseni bulunduğu durumlarda genel olarak anlaşıldığı görülüyor
Siyah-beyaz lazer yazıcılar da izleme noktaları oluşturuyor mu?
Ve böyle bir izlemenin anlamı ne? İlke olarak hayatımızın her köşesi izlenmek zorunda mı?
Her şeye kaynak bilgisi serpiştirmek ulusal güvenlik açısından fazla değerli. Her zaman gerekçe olarak emniyet ya da güvenlik öne sürülür ve hemen ardından “Ama zararı ne ki, yapmamanız gereken bir şey yapmıyorsunuz… değil mi?” gelir
Ana kullanım sahte para basanları izlemekse siyah-beyaz yazıcılarda buna gerek olmadığı, bu yüzden de dahil edilmediği söyleniyor
Bu liste 2017’den beri güncellenmemiş ve muhtemelen bir kişinin FOIA taleplerine dayanarak çıkardığı sonuçlardan ibaretti. Bir dahaki sefere bir Çin üniversitesi ABD hükümet sırlarını açıkladığında beklemek gerekecek gibi
On yıllar önce karakter aralığını ayarlayarak bilgi gizleyen bir yazılım üzerinde çalışmıştım; bildiğim kadarıyla o proje kayda değer bir sonuca dönüşmedi
Bu da ilginizi çekebilir: https://en.wikipedia.org/wiki/EURion_constellation
Ne yazık ki onun hakkında kamuya açık bilgi çok az: http://www.cl.cam.ac.uk/users/sjm217/projects/currency/