Yeni teknik, bir PDF belgesinin kurcalanmasını veya sahteciliğini tespit eder


Pretoria Üniversitesi’nden araştırmacılar, dosyanın sayfa nesnelerini analiz ederek PDF belgelerinde kurcalamayı tespit etmek için yeni bir teknik sundular. Teknik, metin, görüntüler veya meta verilerde yapılan değişiklikler gibi bir PDF belgesindeki değişiklikleri tespit edebilen bir prototip kullanır.

PDF kurcalama

Prototip akışı

PDF formatı, birden fazla endüstride resmi bir iletişim aracı olarak kullanıldığında, sözleşmeleri etkilemek veya yanlış bilgilendirmeye yardımcı olmak isteyen suçlular için iyi bir hedef haline gelmiştir.

Teknoloji geliştirme ve Adobe Acrobat ve birçok ücretsiz çevrimiçi editör gibi araçlara kolay erişim ile, format hakkında çok fazla bilgi sahibi olmadan bile PDF dosyalarını değiştirmek kolaydır. Bu, PDF belgelerinde yapılan değişiklikleri tespit etmeyi ve analiz etmeyi önemli hale getirir.

PDF’lerde meydan okuma

PDF’lerdeki değişiklikleri tespit etmek için mevcut tekniklerin çoğu filigran ve karma duruma dayanır. Filigran, gizli işaretlerin belgeye gömülmesini içerirken, karma işlemi dosyanın içeriğine dayalı benzersiz kodlar üretir.

Bu yöntemler, bir PDF’nin metin ve görüntüler gibi görünür kısımlarındaki değişiklikleri tespit edebilse de, genellikle meta veri veya arka plan verileri gibi gizli öğeleri analiz etmezler.

Bu teknikler görünür içeriğe odaklandığından, kötü amaçlı yazılımları PDF komut dosyası özellikleri aracılığıyla yerleştiren değişiklikleri tespit edemezler. Benzer şekilde, PDF dijital imzalardaki değişiklikler genellikle fark edilmez, bu da ciddi riskler ortaya çıkarır.

Filigran ve karma bir belgenin değiştirilip değiştirilmediğini gösterebilirken, tipik olarak tam olarak nerede veya neyin değiştirildiğini belirleyemezler. Bunun nedeni, küçük bir düzenlemenin bile farklı bir karma yaratmasıdır, bu da belirli değişikliği tespit etmeyi zorlaştırır.

Yeni prototip nasıl çalışır

Yeni prototip, dosya sayfası nesnelerini kullanarak PDF belgelerindeki kurcalamayı veya sahteciliği tespit etmek için özel olarak tasarlanmıştır. Python ile geliştirilen prototip, karma üretmek ve karmaşık PDF yapılarına erişmek için Hashlib, Merkly ve PDFRW kütüphanelerini kullanır.

PDFRW kütüphanesi, özel manipülasyon görevleri için faydalı olan ve büyük veya karmaşık PDF’lerin işlenmesi için hız avantajları sunabilen PDF yapılarına daha düşük seviyeli erişim sağladığı için kasıtlı olarak seçildi.

Prototip iki temel işlev gerçekleştirir: bir PDF’nin korunması ve sahtecilik için bir PDF’nin değerlendirilmesi.

PDF belgesinin korunması

İlk olarak, gelecekteki değişikliklerin tespitini sağlamak için, bir PDF belgesinin önce prototip aracılığıyla çalıştırılarak “korunması” gerekir. Bu ilk adım, PDFRW kitaplığını Sözlük benzeri bir nesneye dönüştürmek için kullandığı PDF belgesini okumayı içerir. Okuduktan sonra, prototip belgedeki her sayfa için dosya sayfası nesnelerini izole eder.

Her sayfa için, sistem daha sonra karma olarak bilinen benzersiz dijital parmak izlerini çeşitli öğelerden hesaplamaya devam eder. Sayfanın metninin, resimlerinin ve grafiklerinin nasıl görüntülendiğini açıklayan her dosya sayfası nesnesinin içerik akışı burada çok önemlidir.

Bu içerik akışı sistematik olarak küçük 256 baytlık parçalara ayrılmıştır. Bu parçalardan, her küçük bölüm için bireysel “yaprak” karma ve sayfanın tüm içeriği için tek bir “kök” karma sağlayan bir Merkle ağacı inşa edilir.

Ayrıca, karmalar dosya sayfası nesnesinin kendisi ve belgenin genel meta verileri için hesaplanır. Bu işlem sırasında, farklı PDF editörleri PDF belgelerini eşit olarak oluşturamayabilir ve güncelleyemeyeceği için, Dosya Sayfası nesnesinin bazı alt nesneleri tutarlı sonuçlar elde etmek için karma işlemden çıkarılır.

Bu hash değerleri hesaplandıktan sonra, gizlice yeni, gizli anahtarlar olarak doğrudan ilgili dosya sayfası nesnesine (‘hashobject’, ‘hashroot’ ve ‘hashleafs’ gibi anahtarlar kullanılarak) ve PDF’nin ana “kök” nesnesini (‘hashroot’ ve ‘hashinfo’ gibi anahtarlar kullanarak) gömülür. Bu gömme, belgenin orijinal durumunun gizli, değiştirilemez bir kaydını etkili bir şekilde oluşturur.

Son olarak, prototip, bu gizli güvenlik işaretlerini içeren yeni bir PDF belgesini kaydetmek için PDFRW kütüphanesini kullanır, bu da gelecekteki kontroller için “korunan” orijinal haline gelir. Bu “koruma” sürecinin kendisinin yeni bir dosya oluşturduğunu belirtmek önemlidir, bu da bu güvenlik özellikleri eklenen orijinalin bir kopyasıdır.

Sahtecilik için kontrol

İkincisi, herhangi bir değişiklik için korunan bir PDF belgesini kontrol etmek için aynı prototip kullanılır. Sistem, PDF’yi okuyarak ve hem kök nesnesinden hem de tüm dosya sayfası nesnelerinden daha önce saklanan gizli karma değerleri çıkararak başlar.

Ekstraksiyondan sonra, bu depolanmış karma değerleri, prototip PDF’nin mevcut içeriğinden yeni bir karma seti oluşturmadan önce ilgili nesnelerinden geçici olarak kaldırılır.

Tespitin çekirdeği karşılaştırmada yatmaktadır: yeni hesaplanan bu karmalar daha sonra orijinal depolanmış karmalarla karşılaştırılır. İki karma seti arasında herhangi bir tutarsızlık bulunursa, prototip derhal değişikliklerin tespit edildiğine işaret eder. Bu yöntemin önemli bir gücü, değişiklikleri tam olarak bulma yeteneğidir.

Sistem size yalnızca hangi sayfanın değiştirildiğini değil, aynı zamanda bu sayfanın içeriğindeki değişikliğin gerçekleştiği 256 bayt bölümü de bildirebilir. Ayrıca, belgenin ana meta verilerinin değiştirilip değiştirilmediğini de gösterebilir.

PDF kurcalama prototipi Adobe Acrobat ile iyi çalışır

Prototip, Adobe Acrobat kullanılarak değişiklik yapıldığında öncelikle test edildi ve doğrulandı. Prototip, düzenleyiciye bakılmaksızın değişiklikleri teorik olarak tespit etmelidir, çünkü korunan PDF’ler PDFRW kütüphanesi tarafından eşit olarak üretilir, bu özel test bağlamının dikkate alınması önemlidir.

Ayrıca, geçerli prototipin, gerçek içeriği değiştirmeden veya JavaScript kodu eklemeden bir belgenin yazı tipini değiştirmek gibi olası tüm PDF değişikliklerini henüz algılamadığını belirtmek gerekir. Sistem PDF’nin önceden “korunmasını” gerektirir; Karşılaştırma için gömülü karma değerlere ihtiyaç duyduğu için korunmasız bir PDF’yi değerlendiremez.



Source link