ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Анонимность (https://forum.antichat.xyz/forumdisplay.php?f=81)
-   -   Осторожнее с копипастом: фингерпринтинг текста непечатаемыми символами (https://forum.antichat.xyz/showthread.php?t=1948417)

Mr.Varenik 07.04.2018 10:52

Символы нулевой ширины — это непечатаемые управляющие символы, которые не отображаются большинством приложений. Например, в это предложение я вставил десять пробелов нулевой ширины, вы это заметили? (Подсказка: вставьте предложение в Diff Checker, чтобы увидеть местоположение символов!). Эти символы можно использовать как уникальные «отпечатки» текста для идентификации пользователей.

Безусловно, он может здесь быть. И вы никогда не догадаетесь

Зачем?

Ну, изначальная причина не слишком интересна. Несколько лет назад я с командой участвовали в соревнованиях по различным видеоиграм. У команды была приватная страничка для важных объявлений, среди прочего. Но в итоге эти объявления стали репостить в других местах, с издевательствами над командой, раскрывая конфиденциальную информацию и командную тактику.

Защита сайта казалась довольно стойкой, поэтому мы выдвинули предположение, что действует инсайдер, который входит по логину и паролю, а потом просто копирует объявление и размещает в другом месте. Поэтому я разработал скрипт, который в каждом объявлении невидимо отпечатывает имя пользователя, которому отображается это объявление.

Заключение

Компании как никогда много внимания уделяют утечкам информации и поиску инсайдеров. Этот лишь один из многих трюков, которые можно использовать. В зависимости от направления вашей работы, может быть жизненно важно понимать риски, связанные с копированием текста. Очень немногие приложения отображают непечатаемые символы. Например, вы можете предположить, что ваш терминал попытается их отобразить (мой нет!).

Если вернуться к секретной доске объявлений, то план сработал как надо. Вскоре после внедрения скрипта вышло новое объявление. В течение нескольких часов текст распространили в другом месте с прикрепленной непечатаемой строкой. Имя пользователя виновника успешно идентифицировали, и его забанили: хэппи-энд!

Конечно, есть определённые оговорки по использованию этого метода. Например, если пользователь знает о скрипте, то теоретически может заменить непечатаемые символы, чтобы подставить другого человека. Так что лучше вместо имени пользователя вставлять уникальный секретный ID.

mrLom 07.04.2018 19:42

Хоть бы ссылки оставляли. Безусловно интересная статья! https://habrahabr.ru/post/352950/

В продолжение темы еще один интересный перевод статьи:

Символы с нулевой шириной
  • Эта публикация - перевод статьи. Ее автор - Zach Aysan. Оригинал доступен по ссылке ниже:

    Zero-Width Characters
Невидимый отпечаток текста

Журналисты, остерегайтесь - вы можете непреднамеренно раскрывать источники.

В начале 2016 года я понял, что можно использовать символы нулевой ширины, такие как нулевая ширина без участия или другие символы - например, пространство нулевой ширины для текста отпечатка пальца. Даже с одним типом символа нулевой ширины присутствие или отсутствие невидимого символа - это достаточное количество бит для отпечатка пальца даже самого короткого текста.

Мы не один и тот же текст, хотя мы и выглядим одинаково.
Мы не один и тот же текст, хотя мы и выглядим одинаково.

We're not the same text, even though we look the same.
We're not the same text, even though we look the same.

Так выглядит в diffchecker.com

Так выглядит в терминале:

В отличие от предыдущих методов отпечатков пальцев, символы нулевой ширины не удаляются при потере форматирования. Они часто даже не видны в тех контекстах, где эксперты по программному обеспечению ожидали бы их, например, на терминале программирования.

Я также понял, что можно использовать замену гомоглифа (например, заменяя букву «а» ее кириллицей-копией «а»), но я отклонил ее как слишком легко обнаруживаемую из-за различий в характере рендеринга между шрифтами и системами. Тем не менее, различия в тире (en, em и дефисы), цитатах (прямые или "елочки"), правописание слови количество пробелов после окончаний предложения, вероятно, могут остаться незамеченными из-за их частого использования в реальном тексте.

Можно также использовать синонимы ("огромные" против "больших" или "массивных"), хотя для этого потребуется некоторая ручная настройка, потому что словам не хватает единых определений (из-за омонимов) и в некоторых контекстах было бы легче обнаружить.

Контрмеры для журналистов или других лиц, работающих с лицами, уклоняющимися от должности, в порядке убывания эффективности:
  1. Избегайте выхода отрывков и необработанных документов.
  2. Получите одни и те же документы из нескольких элементов, чтобы гарантировать, что они имеют одинаковый контент на байтовом уровне.
  3. Вручную повторите выдержки, чтобы избежать невидимых персонажей и гомоглифов.
  4. Храните отрывки в коротком варианте, чтобы ограничить объем общей информации.
  5. Используйте инструмент, который удаляет не белые символы из текста, прежде чем делиться им с другими.
Узнав эти методы, я поделился ими с некоторыми друзьями, чтобы попытаться выследить кибер-преступника, который, по их мнению, может быть угрозой для инсайдеров (это был не обычный хакер). Затем Белый дом начал течь, как старый шланг, поэтому я продолжал молчать. Причина, по которой я пишу об этом сейчас, заключается в том, что, как представляется, гомоглифы и нумерация отпечатков пальцев обнаружены другими, поэтому журналисты должны быть проинформированы о существовании этих методов.

Если ваша новостная организация имеет уже существующую структуру документов, она должна быть достаточно простой, чтобы отсканировать их для символов нулевой ширины или смешанных кодировок символов. Обнаружение замены синонимов потребует нескольких документов и некоторого пользовательского кода, но должно быть достаточно простым для опытного научного сотрудника или разработчика программного обеспечения через некоторое время.

Обновление: последующая статья на основе отзывов читателей и других комментариев.

Mr.Varenik 07.04.2018 21:28

Я не претендую на авторство, на этом форуме много нарушений авторского права и вообще... Сами знаете я решил не заморачиваться. Статья понравилась, я ее сюда и скинул

mrLom 07.04.2018 21:48

Цитата:


Mr.Varenik написал(а):

Я не претендую на авторство, на этом форуме много нарушений авторского права и вообще... Сами знаете я решил не заморачиваться. Статья понравилась, я ее сюда и скинул


Не подумайте ничего плохого! За авторство тут не гоняют!
Безусловно, вопрос не в авторстве — всегда интересно почитать статью в полной мере, с примерами, пруфами и технологией. Понятное дело, что гугл не забанили. Но всё же

Mr.Varenik 07.04.2018 21:57

Договорились, буду ссылки оставлять

mrLom 08.04.2018 04:07

Господа!
Тема несколько меняет возможности доставки соли всяким барыгам.

Anastasiya96 08.04.2018 14:33

Цитата:


Mr.Varenik написал(а):

Договорились, буду ссылки оставлять


а если я перед тем, как скопированный текст куда-то вставить, я его для начала помещаю в обычный блокнот. сразу пропадают ненужные символы, шрифты, форматы... это спасёт от символов нулевой ширины?)

mrLom 09.04.2018 14:22

Я проводил эксперемент.
Пастил в блокнот, из блокнота в маковский TextEdit. Символы оставались, что заметно в терминальных текстовых редакторах.

К слову, что бы вам стало понятнее — это те же символы в юникод кодировке, как буква "а", как "пробел", как "запятая", но они невидимые символы нулевой ширины. ³$‰↑∞← как видимые символы и не видимые символы.

Anastasiya96 09.04.2018 15:52

Цитата:


mrLom написал(а):

Я проводил эксперемент.


а есть такой текст, чтобы проверить? невидимый текст это же знаки в ascii от 0 до 31?

mrLom 10.04.2018 00:50

Тут в тексте по ссылке:
https://www.zachaysan.com/writing/2017-12-30-zero-width-characters


копируйте строку, содержащую пробелы нулевой ширины и эксперементируйте.

При помощи онлайн сервиса:
https://www.diffchecker.com/

При помощи терминальных текстовых радакторов:

Файл сохранял в разных форматах:





Как видно, при эксплуатации терминального редактора, эти символы очень заметны и выделяются на фоне всего текста. Но, уже в простом текстовом редакторе, в вебе, в ворде — их не видно.
При помощи Word~а:



Что-то видно включив опцию "Показать редакторские правки":



Но я очень сомниваюсь, что кто-то копирует все тексты и прогоняет их через подобные опции.


Время: 14:41