Слоган статьи: пятничный 13го сбой на Telegram
В пятницу тринадцатого (октябрь 2017г.) мне нужно было зашифровать некоторые секретные данные и залить их на смартфон. Одной из удобных, используемой мной функции, является «буфер обмена» между ПК и гаджетом. Копирую с компьютера данные в Telegram в свой облачный и кэшируемый контакт, открываю себя в Telegram(е) на смартфоне и получаю данные для дальнейшего использования. Такая вот незатейливая опция, ускоряющая упрощающая жизнь. В этом месте и был обнаружен пятничный баг.
Немного из прошлого
Почему я пользуюсь вышеописанным «буфером обмена», а не другим подобным хард-н-хэви способом. Несколько лет назад разработчики транснациональной компании Яндекс открыли весьма удобную фишку вот с такой вот фразы «Сим-Сим откройся».
Нововведение касалось открытия запароленных архивов в web интерфейсе Яндекс почты. Для своего удобства прибегнул к такому маневру: создавал txt с секретными данными, архивировал с применением пароля документ и заливал его на сервер Яндекс почты. При необходимости мгновенного использования персональных данных вне зоны комфорта, например на чужой машине, открывал в браузере приватное окно, открывал почту, открывал архив, вводил пароль доступа, и документ открывается в новой вкладке браузера.
Поработав со своими данными, закрывал приват окно браузера. Сваливал. Удобство заключалось в следующем: не нужно скачивать архив на ПК, где возможно и вовсе архиватор отсутствует, а главное не остаются килобайты данных вне зоны комфорта. Такой подход не обеспечивал 100% защиту цифры (клавиатурные шпионы или эксплойты в системе), а кто и когда-нибудь обеспечивал?!
Окончательное решение при использовании онлайн подхода с псевдозащитой данных, остается за слабым, медлительным, но не предсказуемым поведением человека. Зэ голден мит из фаунд в безопасности/скорости/удобстве. На мой взгляд, такой фокус не проигрывал другим техническим решениям, например Tails(у) на флэшке с persistent storage. И вот спустя пару лет, разработчики Яндекс(а) свернули возможность открытия запароленных архивов в вэб интерфейсе, чтобы всё таки воспользоваться данными из архива необходимо скачивать его в «свое» хранилище. На заданный вопрос техподдержка компании добросовестно ответила отпиской:
Следующим секретным полигоном, оказывающим приватные возможности, для использования персональных данных является Telegram. В начале статьи я описал алгоритм работы с данными через продукт братьев Дуровых, добавлю, что после
Баг
При работе с персональными данными на Android(е), и последующей тропой через Telegram к цели, ни каких ошибок в encrypt/decrypt данных буфера обмена не было. А вот в пятницу тринадцатого случайно обнаружилась такая ошибка в мессенджере Telegram под OS Windows. При шифровании данных gpg4win (Kleopatra/GPA) в OS Windows, зашифрованное послание отправил в Telegram в свой контакт через буфер обмена copy/paste. На следующий день, бродяжничая в своем смартфоне (на android(е)), скопировал зашифрованный текст из Telegram(а) в ПО OpenKeychain, выбрал свой приватный ключ для расшифровки послания, но приложение тут же выплюнуло «no data to decrypt!». Without panic on Titanic, в чудеса я не верю, стал искать вероломную причину такого поведения гаджета, однако, спустя несколько сот ударов моего сердца, нашел её в другом месте – Telegram for Windows. По шагам воспроизвожу действия, которые в конечном итоге вызвали ошибку в decrypt the data.
- Работаю в OS Windows 7 64 bit. Пишу текст в GPA, который нужно зашифровать, применяю свой публичный ключ, получаю шифр.
- Copy/paste зашифрованное сообщение в блокнот.
- Сверяю шифр GPA vs Notepad. Различий 0 байт.
- Copy/paste зашифрованное сообщение в telegram v. 1.1.23. Визуально сверяю шифр, нет изменений.
- Нажимаю enter и отправляю зашифрованное послание в свой контакт в Telegram. Беглым взглядом сверяю шифр Telegram vs Notepad. Есть различия!
Софт Telegram(а) под OS Windows подменяет знаки: дефис на тире, если перед дефисом был пробел или после дефиса с новой строки идут знаки
Подмена дефиса на тире (-----/---—;---—/-----). Должно быть так (-----/-----;-----/-----) - Ручками правлю тире на дефисы:
Подменённое сообщение
-----BEGIN PGP MESSAGE---—
тело
—---END PGP MESSAGE-----
На исходное сообщение
-----BEGIN PGP MESSAGE-----
тело
-----END PGP MESSAGE----- - Повторно работаю в Android(е), но уже с исправленным шифром. Copy/paste Telegram/OpenKeychain. Последний просит ввести пароль от приватного ключа, ввожу код и бинго! Сообщение расшифровано.
- Пробую копировать в Telegram под Windows другой зашифрованный текст из Блокнота; GPA; Kleopatra — тщетно, подмена дефиса на тире кроется в самой десктопной версии мессенджера. Так как OpenPGP стандартизирован и шифрует так, а не иначе
(-----BEGIN PGP MESSAGE-----
Тело
-----END PGP MESSAGE-----)
для решения проблемы необходимо привлекать техотдел Telegram(а).
Мои действия
Собрал материал и обратился на родном русском языке в техподдержку Telegram(а) через почту, через web форму, через контакт в Telegram. Жду реакции – пока её нет. Ответов от конторы не получал и раньше, как один из примеров, жаловался маркетологам разработчикам на реализацию ползунка прокрутки истории на Android(е). Спрашивал, почему реализован ползунок на гаджете, ни как в десктопной версии Telegram? Напомню, что ползунок на гаджете имеет лишь визуальную функцию в отличие от десктопной версии, у которого прямое назначение «хватать и двигать». С другой стороны, надеюсь, что до разработчиков все же дойдет письмо, и они исправят, то, что я тут немножко покритиковал.
rkn.gov.ru и тот получил разъяснения на свою просьбу. Может быть выходные затянулись у команды Павла, а может отмахнулись, как иногда происходит у Яндекс(а) (привет Ya! Проблему с работой в поисковике Yandex protect на некоторых моделях гаджетов в Opera Mini
P.S.: Публикую мою первую статью и мне понравилось.
P.P.S.: В следующей статье «Радио шпионаж, как устаревший действенный метод добычи информации» пойдет речь о самодельном устройстве и его пруф на грани закона.
Комментарии (46)
Vasia529
16.10.2017 17:59+8Замена
--
на тире — совершенно нормально, ведь подразумевается что в чатах в телеграме юзер пишет сообщения текстом, а не псевдографикой или чем-то ещё.
В телеграме есть кастрированная маркдаун-подобная разметка, в том числе умеющая в выделение (моноширинный текст) кусков кода. Используйте тройные ``` для многострочных и одинарные — для сингл-лайн кусков текста.dzod Автор
17.10.2017 00:02Здравствуйте, не совсем нормально, так как ключи любят дефис, а то что стандарт их на десятки лет заложен был раньше, чем, то что подсовывает Телеграм, то последний должен подстраиваться. В Андроид версии они (телеграмщики) подстроились и тут подстроятся вопрос времени.
Falstaff
17.10.2017 14:42Заверните сообщение в Телеграмме в кавычки для форматирования кода? Три backtick'а с обеих сторон, будет вам аналог verbatim, отошлётся как есть.
Ugrum
16.10.2017 18:05-2Так это ж был дополнительный уровень защиты!
А вы его тут на всеобщее обозрение выложили ((.
Rastishka
16.10.2017 18:12+2Вы никогда фрагменты кода не пересылали в мессенджерах?
Раньше почти в каждой строке смайлик распознавался, сейчас с юникодом попроще стало.
О чем статья?dzod Автор
16.10.2017 18:32-2С Андроида, шлешь сообщение, оно проходит без подмены дефисов, на десктопной версии с подменой об этом статья
diomas
16.10.2017 18:17пффф… а блоки кода для кого придумали? оборачивайте то, что не должно меняться, в backtick'и
to4kin
16.10.2017 18:18+3Рекомендую использовать символ `
```-----BEGIN PGP MESSAGE-----
тело
-----END PGP MESSAGE-----```
Где кол-во ` — равно кол-ву строк, предотвращает подмену любых символов. Проверено.
Выше поправили — ` — для однострочных, ``` — для многострочных
dartraiden
16.10.2017 18:20Предложение отключить автозамену поступило более 2 лет назад (и, как можно видеть по ссылка на закрытые тикеты, неоднократно поступало в дальнейшем).
dzod Автор
17.10.2017 00:05Здравствуйте! Спасибо за комментарий, прлностью согласен, а где можно ознакомиться с закрытыми тикетами, если возможно?
dartraiden
17.10.2017 00:38А там по ссылке моей если смотреть обсуждение, попадаются и ссылки на закрытые (как дубли) тикеты (Closed).
dzod Автор
17.10.2017 01:04Да, спасибо, я уже изучаю. Ссылка с Андроида изначально не кликалась почему-то. Все верно: обнаружили давненько.
artem_tam
16.10.2017 19:42+2К слову это достаточно удобно, когда два дефиса заменяются на тире. Разве не очевидно, что это ожидаемое поведение, а не баг? А вы раздули это в целую статью, подняли панику какую-то…
dzod Автор
16.10.2017 22:51Вы клбчами pgp пользовались? Предполагаю впервые слышите? В андроиде с ключами можно работат, а на десктопной нет. Смиритесь.
solver
17.10.2017 11:24+1А чем это удобно-то?
На чтение никак не влияет. В здравом уме, в обычном тексте, никто не будет два дефиса подряд ставить. Так что нифига непонятно, в чем удобство то…0xd34df00d
17.10.2017 22:29Это удобно при написании. Я, например, люблю писать правильно, с правильными знаками пунктуациями, а дефис и тире — это таки два разных знака пунктуации.
Впрочем, на настольной машине у меня есть compose key с символами для тире и многоточия, среди прочих, а вот на мобильных клавиатурах такое есть далеко не всегда. Поэтому Телеграму разумнее было бы сделать наоборот.
MrGobus
16.10.2017 20:27Эм, а зачем посылать -----BEGIN PGP MESSAGE----- ??? и строку версии? Вы шифруетесь, и тут же кричите,
мама я покак… лгражданин майор, я тут шифрую.dzod Автор
16.10.2017 22:56Работайте с ключами, а потом коментируйте. Строку пишет программа. Это стандарт работы ПО. Изучите вопрос сначала прежде чем комментировать так некрасиво.
niksite
16.10.2017 22:30Чего только люди не придумают, лишь бы менеджерами паролей (типа 1Password) не пользоваться.
AntonAlekseevich
17.10.2017 06:18А если человек пожелал отправлять только PGP данные?
И к слову описанное в статье просто фича продукта, а не ошибка или баг.
Если полетят минуса то вот пожалуйста скриншот со страницы проблемы.
dzod Автор
17.10.2017 10:34-1Здравствуйте! не переживайте за минусы, не ошибается тот кто ни чего не делает.
В Office есть тоже автоматическое исправление текста, однако его можно отключать (пример ошибки тех.Отдел или т.Д.)AntonAlekseevich
17.10.2017 10:37Не обновил вовремя. Но тут все же линк пригодится.
telegramdesktop/tdesktop #522/#issuecomment-132171431
И да я MS офис не использую.
dzod Автор
17.10.2017 13:31Киберманьяки, которые ставят минус на любой мой добавленный комментарий, вы жалкие человечки Я вам это говорю открыто!
Falstaff
17.10.2017 14:54Честное слово, правильно минусуют, ведь на ровном же месте раздули проблему. Это мессенджер, он для общения текстовыми сообщениями, наоборот хорошо и правильно, что он что-то подменяет для удобства. Кому надо блоки кода вставлять — пользуются обратными кавычками и в ус не дуют.
dzod Автор
17.10.2017 15:02Здравствуйте, нет неправильно минусуют, обиженные какие-то (Мисклик -2, это же иронично и грустно), возможно минусут проверяют -1 или —1 будет, но ладно. Я ни чего не раздувал, написал статью, выложил, что в Андроиде нет ни какой подмены знаков, а в десктопной есть.
Falstaff
17.10.2017 15:13Ну, значит, есть недоработка в версии для Андроида, там почему-то ещё не реализовали. :) Можете поднять гневный feature request на их трекере. :)
dzod Автор
17.10.2017 15:15Ну, что это значит? спорно как обычно. Разработчики не ответили, путная инфа с Гитхаба из коммента выше.
AntonAlekseevich
17.10.2017 15:17Зачем гневный?
Хватит и обычного указания на проблему. (Рассматривается месяц более менее.) :D
barker
17.10.2017 19:07Минусуют, потому что в посте — написали фигню, а в каментах — грубите.
dzod Автор
17.10.2017 19:18В посте не фигня, а моя первая статья. В комментах такие как Вы тусуются…
AntonAlekseevich
17.10.2017 21:13Не только вас минусуют. (Но в других статьях, главное за причину почему минуса полетели отвечать никто не станет. (Мол ты знаешь сам почему ставят -1 вот и выкарабкивайся. (Может тоже статью написать, только не все поймут.))) [Почему это работает именно так, а не иначе понятия у меня нет.]
0xd34df00d
17.10.2017 22:27А можно так же, но ещё с использованием {фигурных скобочек}?
AntonAlekseevich
17.10.2017 22:28Редактирование допускается в течение 3х минут. => нет.
Специально повторять сообщение я не собираюсь.
dzod Автор
20.10.2017 09:42-2Всем кто ставил в карму плюс спасибо, но зло победило. Для обиженных зашифрованное сообщение «ОУКБ», когда расшифруете, зайдите в мой профиль и поставьте -карму ;)
alisa_musik
17.10.2017 23:39Ничего не поняла, Вы взломали Телеграмм?
AntonAlekseevich
18.10.2017 00:20Ничего не поняла.
Я попробую объяснить, статья рассказывает о функции Telegram отвечающий за форматирование текста, по мнению автора статьи это считается ошибкой в программном продукте, по мнению участников проекта это не баг, а фича указано здесь.
При этом автор статьи не ожидал такого поведения так как Telegram Messenger на Android не выполняет процедуру преформатирования текста, из-за чего это было воспринято как ошибка.
Вы взломали Телеграмм?
Автор не взламывал Telegram, его исходные коды клиентов открыты и доступны всем желающим как для просмотра так и для заимствования по условиям лицензий проектов: Telegram Desktop, Telegram Messanger(Android). Это всё официальные клиенты Telegram. Кроме них есть клиенты под macOS(специализированный), iOS, Windows Phone, Web.
dzod Автор
18.10.2017 01:00Добавлю, что хотел назвать статью «Тысяча слов о Телеграме» (в статье 1000слов+-редакция модератора). Однако передумал, речь идет о шифровании и о Яндексе, который по мнению автора «сдает позиции» Подмена знаков-все же не форматирование.
AntonAlekseevich
18.10.2017 06:10Подмена знаков-все же не форматирование.
Тогда подмена знаков в markdown не должна существовать? Следуя из этой цитаты.
Так или иначе для обработки md выполняется подмена знаков.
Примером является список:
- Элемент 1
- Элемент 2
Вот исходное содержание.
Примером является список: 1. Элемент 1 1. Элемент 2
AntonAlekseevich
Проблема в Telegram Desktop, а не в Telegram for Windows.