![]() |
Символы нулевой ширины — это непечатаемые управляющие символы, которые не отображаются большинством приложений. Например, в это предложение я вставил десять пробелов нулевой ширины, вы это заметили? (Подсказка: вставьте предложение в Diff Checker, чтобы увидеть местоположение символов!). Эти символы можно использовать как уникальные «отпечатки» текста для идентификации пользователей.
Безусловно, он может здесь быть. И вы никогда не догадаетесь Зачем? Ну, изначальная причина не слишком интересна. Несколько лет назад я с командой участвовали в соревнованиях по различным видеоиграм. У команды была приватная страничка для важных объявлений, среди прочего. Но в итоге эти объявления стали репостить в других местах, с издевательствами над командой, раскрывая конфиденциальную информацию и командную тактику. Защита сайта казалась довольно стойкой, поэтому мы выдвинули предположение, что действует инсайдер, который входит по логину и паролю, а потом просто копирует объявление и размещает в другом месте. Поэтому я разработал скрипт, который в каждом объявлении невидимо отпечатывает имя пользователя, которому отображается это объявление. Заключение Компании как никогда много внимания уделяют утечкам информации и поиску инсайдеров. Этот лишь один из многих трюков, которые можно использовать. В зависимости от направления вашей работы, может быть жизненно важно понимать риски, связанные с копированием текста. Очень немногие приложения отображают непечатаемые символы. Например, вы можете предположить, что ваш терминал попытается их отобразить (мой нет!). Если вернуться к секретной доске объявлений, то план сработал как надо. Вскоре после внедрения скрипта вышло новое объявление. В течение нескольких часов текст распространили в другом месте с прикрепленной непечатаемой строкой. Имя пользователя виновника успешно идентифицировали, и его забанили: хэппи-энд! Конечно, есть определённые оговорки по использованию этого метода. Например, если пользователь знает о скрипте, то теоретически может заменить непечатаемые символы, чтобы подставить другого человека. Так что лучше вместо имени пользователя вставлять уникальный секретный ID. |
Хоть бы ссылки оставляли. Безусловно интересная статья! https://habrahabr.ru/post/352950/
В продолжение темы еще один интересный перевод статьи: Символы с нулевой шириной
Журналисты, остерегайтесь - вы можете непреднамеренно раскрывать источники. В начале 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 и дефисы), цитатах (прямые или "елочки"), правописание слови количество пробелов после окончаний предложения, вероятно, могут остаться незамеченными из-за их частого использования в реальном тексте. Можно также использовать синонимы ("огромные" против "больших" или "массивных"), хотя для этого потребуется некоторая ручная настройка, потому что словам не хватает единых определений (из-за омонимов) и в некоторых контекстах было бы легче обнаружить. Контрмеры для журналистов или других лиц, работающих с лицами, уклоняющимися от должности, в порядке убывания эффективности:
Если ваша новостная организация имеет уже существующую структуру документов, она должна быть достаточно простой, чтобы отсканировать их для символов нулевой ширины или смешанных кодировок символов. Обнаружение замены синонимов потребует нескольких документов и некоторого пользовательского кода, но должно быть достаточно простым для опытного научного сотрудника или разработчика программного обеспечения через некоторое время. Обновление: последующая статья на основе отзывов читателей и других комментариев. |
Я не претендую на авторство, на этом форуме много нарушений авторского права и вообще... Сами знаете я решил не заморачиваться. Статья понравилась, я ее сюда и скинул
|
Цитата:
Безусловно, вопрос не в авторстве — всегда интересно почитать статью в полной мере, с примерами, пруфами и технологией. Понятное дело, что гугл не забанили. Но всё же |
Договорились, буду ссылки оставлять
|
Господа!
Тема несколько меняет возможности доставки соли всяким барыгам. |
Цитата:
|
Я проводил эксперемент.
Пастил в блокнот, из блокнота в маковский TextEdit. Символы оставались, что заметно в терминальных текстовых редакторах. К слову, что бы вам стало понятнее — это те же символы в юникод кодировке, как буква "а", как "пробел", как "запятая", но они невидимые символы нулевой ширины. ³$‰↑∞← как видимые символы и не видимые символы. |
Цитата:
|
Тут в тексте по ссылке:
https://www.zachaysan.com/writing/2017-12-30-zero-width-characters копируйте строку, содержащую пробелы нулевой ширины и эксперементируйте. При помощи онлайн сервиса: https://www.diffchecker.com/ При помощи терминальных текстовых радакторов: Файл сохранял в разных форматах: Как видно, при эксплуатации терминального редактора, эти символы очень заметны и выделяются на фоне всего текста. Но, уже в простом текстовом редакторе, в вебе, в ворде — их не видно. При помощи Word~а: Что-то видно включив опцию "Показать редакторские правки": Но я очень сомниваюсь, что кто-то копирует все тексты и прогоняет их через подобные опции. |
| Время: 14:41 |