Все кто пересекался со мной знают, что я просто ненавижу пересылать куда-то сканы документов или сами документы с персональными данными. Мне иногда проще приехать куда-то (иногда даже в другой город), чем кому-то что-то отправить.
Но бывает так, что скан или документ всё равно приходится отправить. Я никогда не отправляю скан документа в открытом виде, он всегда кладётся в архив со случайцным паролем длиной больше 30 символов. Сам архив отправляется одним каналом связи, а пароль другим. Связки могут быть вообще разными, кому как удобно по ситуации: почта+Telegram, Telegram+СМС и т.д.
Бывают ли в такой схеме исключения? Да, к сожалению, пару раз бывало, но не по моей вине так сказатб.
Но этого тоже мало, как я вижу, поэтому каждая отправляемая PDF-ка подвергается некой доработке 🌝
Я генерирую хэш от фразы, которая мне позволит идетифицировать куда отправлен был документ, потом этот хэш инжектися в документ.
Как это выглядит приблизительно (использую я реально другой инструмент, частично дописанный мной)
Готовим документ
$ echo -n "На деревню дедушке" | sha256sum
e11d65524b76ca36dc1e497a9924b87fad47717dbac140575756b4eebd63c72b -
$ python3 inject.py --i ../sample.pdf --o esample.pdf --m text --t "e11d65524b76ca36dc1e497a9924b87fad47717dbac140575756b4eebd63c72b"
...
File saved to: esample.pdf
Hidden object 31 injected successfully!
Offsets updated for objects from position 15 onwards
Injection completed successfully!
И отправляю документ. Если вдруг получится так, что мой документ где-то всплывёт, то я смогу проверить откуда конкретно он утёк
$ python3 extract.py --i esample.pdf --m text
...
🔍 Analyzing orphan object 31:
Content: /Asd ZTExZDY1NTI0Yjc2Y2EzNmRjMWU0OTdhOTkyNGI4N2ZhZDQ3NzE3ZGJhYzE0MDU3NTc1NmI0ZWViZDYzYzcyYg==
🔓 MESSAGE: e11d65524b76ca36dc1e497a9924b87fad47717dbac140575756b4eebd63c72b
Понятное дело, что это никак не защищает от утечек данных у различных компаний по пять раз и т.д., но это не повод не заниматься проблемами безопасности персональных данных на своей стороне 🌝
Проект, который я использовал для демонстрации выше
https://github.com/0x00spor3/PayloadPDF
А ещё обратите внимание на этот проект, я прям им проникся (он не про PDF)
https://github.com/secdev02/CormorantCipher
, там заложена прикольная идея, когда кастомизируются глифы шрифта, создавая скрытые микроскопические сдвиги контуров букв (всего на 0.5% от высоты), которые незаметны для человека, но легко считываются софтом + прикрутили встроенный механизм, который при открытии документа инициирует сетевой запрос, передавая скрытый идентификатор прямо в имени DNS-запроса и оповещая об утечке или прочтении файла.