Ошибка в десктопной версии Telegram for Windows



Слоган статьи: пятничный 13го сбой на Telegram


В пятницу тринадцатого (октябрь 2017г.) мне нужно было зашифровать некоторые секретные данные и залить их на смартфон. Одной из удобных, используемой мной функции, является «буфер обмена» между ПК и гаджетом. Копирую с компьютера данные в Telegram в свой облачный и кэшируемый контакт, открываю себя в Telegram(е) на смартфоне и получаю данные для дальнейшего использования. Такая вот незатейливая опция, ускоряющая упрощающая жизнь. В этом месте и был обнаружен пятничный баг.

Немного из прошлого


Почему я пользуюсь вышеописанным «буфером обмена», а не другим подобным хард-н-хэви способом. Несколько лет назад разработчики транснациональной компании Яндекс открыли весьма удобную фишку вот с такой вот фразы «Сим-Сим откройся».

Нововведение касалось открытия запароленных архивов в web интерфейсе Яндекс почты. Для своего удобства прибегнул к такому маневру: создавал txt с секретными данными, архивировал с применением пароля документ и заливал его на сервер Яндекс почты. При необходимости мгновенного использования персональных данных вне зоны комфорта, например на чужой машине, открывал в браузере приватное окно, открывал почту, открывал архив, вводил пароль доступа, и документ открывается в новой вкладке браузера.



Поработав со своими данными, закрывал приват окно браузера. Сваливал. Удобство заключалось в следующем: не нужно скачивать архив на ПК, где возможно и вовсе архиватор отсутствует, а главное не остаются килобайты данных вне зоны комфорта. Такой подход не обеспечивал 100% защиту цифры (клавиатурные шпионы или эксплойты в системе), а кто и когда-нибудь обеспечивал?!

Окончательное решение при использовании онлайн подхода с псевдозащитой данных, остается за слабым, медлительным, но не предсказуемым поведением человека. Зэ голден мит из фаунд в безопасности/скорости/удобстве. На мой взгляд, такой фокус не проигрывал другим техническим решениям, например Tails(у) на флэшке с persistent storage. И вот спустя пару лет, разработчики Яндекс(а) свернули возможность открытия запароленных архивов в вэб интерфейсе, чтобы всё таки воспользоваться данными из архива необходимо скачивать его в «свое» хранилище. На заданный вопрос техподдержка компании добросовестно ответила отпиской: не пытайся согнуть ложку, это невозможно, ложки нет, это не ложка гнется мол, да, была такая возможность, сейчас нет, почему прикрыли? (из соображений безопасности, руководство сменилось или^(n-1)) и вернут ли такую функцию вновь? – не знаем. Ну нет – так нет. Конкуренция программных продуктов и возможностей в наше время огромная, без эмоций ухожу с транснационального сервиса к гражданину мира.

Следующим секретным полигоном, оказывающим приватные возможности, для использования персональных данных является Telegram. В начале статьи я описал алгоритм работы с данными через продукт братьев Дуровых, добавлю, что после съ... ухода с Яндекс(а) на Telegram, сам же стал использовать в с своих чародейских делах вместо запароленного архива – pgp/gpg шифрование. Справедливости ради сообщаю, что в Яндекс(е) была возможность быстрее удобней работать, чем в мессенджере, с закрытыми данными. В Telegram(е) обеспечить дополнительную информационную безопасность на подмогу приходит стороннее ПО. Для Windows – это gpg4win; Linux — Seahorse; Android – OpenKeychain.

Баг


При работе с персональными данными на 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.

  1. Работаю в OS Windows 7 64 bit. Пишу текст в GPA, который нужно зашифровать, применяю свой публичный ключ, получаю шифр.

  2. Copy/paste зашифрованное сообщение в блокнот.
  3. Сверяю шифр GPA vs Notepad. Различий 0 байт.
  4. Copy/paste зашифрованное сообщение в telegram v. 1.1.23. Визуально сверяю шифр, нет изменений.
  5. Нажимаю enter и отправляю зашифрованное послание в свой контакт в Telegram. Беглым взглядом сверяю шифр Telegram vs Notepad. Есть различия!
    Софт Telegram(а) под OS Windows подменяет знаки: дефис на тире, если перед дефисом был пробел или после дефиса с новой строки идут знаки

    Подмена дефиса на тире (-----/---—;---—/-----). Должно быть так (-----/-----;-----/-----)
  6. Ручками правлю тире на дефисы:
    Подменённое сообщение
    -----BEGIN PGP MESSAGE---—
    тело
    —---END PGP MESSAGE-----

    На исходное сообщение
    -----BEGIN PGP MESSAGE-----
    тело
    -----END PGP MESSAGE-----
  7. Повторно работаю в Android(е), но уже с исправленным шифром. Copy/paste Telegram/OpenKeychain. Последний просит ввести пароль от приватного ключа, ввожу код и бинго! Сообщение расшифровано.
  8. Пробую копировать в 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 не решается не решена более месяца). Хотелось бы, чтобы Telegram(щики) поправили баг с подменой знаков. Возможно, снова придется уходить на альтернативный софт к конкурентам, при известной проблеме — шифр править ручками обременительно. WhatsApp и другие подобные инструменты не тестировал на подобную ошибку, предоставляю это дело читателям данной статьи. Выждав пару дней и не получив ответ, решаю выложить публикацию на «Киберхабре».

P.S.: Публикую мою первую статью и мне понравилось.
P.P.S.: В следующей статье «Радио шпионаж, как устаревший действенный метод добычи информации» пойдет речь о самодельном устройстве и его пруф на грани закона.
Поделиться публикацией
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама
Комментарии 46
  • 0

    Проблема в Telegram Desktop, а не в Telegram for Windows.

    • +12

      Замена -- на тире — совершенно нормально, ведь подразумевается что в чатах в телеграме юзер пишет сообщения текстом, а не псевдографикой или чем-то ещё.
      В телеграме есть кастрированная маркдаун-подобная разметка, в том числе умеющая в выделение (моноширинный текст) кусков кода. Используйте тройные ``` для многострочных и одинарные — для сингл-лайн кусков текста.

      • –5
        Здравствуйте, не совсем нормально, так как ключи любят дефис, а то что стандарт их на десятки лет заложен был раньше, чем, то что подсовывает Телеграм, то последний должен подстраиваться. В Андроид версии они (телеграмщики) подстроились и тут подстроятся вопрос времени.
        • +1
          Использовать разметку пробовали для передачи?
          • 0

            Заверните сообщение в Телеграмме в кавычки для форматирования кода? Три backtick'а с обеих сторон, будет вам аналог verbatim, отошлётся как есть.

        • –1
          Так это ж был дополнительный уровень защиты!
          А вы его тут на всеобщее обозрение выложили ((.
          • 0
            При анализе защищенности никогда не делают ставки на секретность метода защиты, в данном случае сила в криптографии метода шифрования, алгоритм которого может быть известен злоумышленнику.
            • 0
              Шутка это была.
              Ну да ладно.
          • +4
            Вы никогда фрагменты кода не пересылали в мессенджерах?
            Раньше почти в каждой строке смайлик распознавался, сейчас с юникодом попроще стало.
            О чем статья?
            • –7
              С Андроида, шлешь сообщение, оно проходит без подмены дефисов, на десктопной версии с подменой об этом статья
            • +2

              пффф… а блоки кода для кого придумали? оборачивайте то, что не должно меняться, в backtick'и

              • +3
                Рекомендую использовать символ `

                ```-----BEGIN PGP MESSAGE-----
                тело
                -----END PGP MESSAGE-----```

                Где кол-во ` — равно кол-ву строк, предотвращает подмену любых символов. Проверено.

                Выше поправили — ` — для однострочных, ``` — для многострочных
                • 0
                  Предложение отключить автозамену поступило более 2 лет назад (и, как можно видеть по ссылка на закрытые тикеты, неоднократно поступало в дальнейшем).
                  • –2
                    Здравствуйте! Спасибо за комментарий, прлностью согласен, а где можно ознакомиться с закрытыми тикетами, если возможно?
                    • 0
                      А там по ссылке моей если смотреть обсуждение, попадаются и ссылки на закрытые (как дубли) тикеты (Closed).
                      • –2
                        Да, спасибо, я уже изучаю. Ссылка с Андроида изначально не кликалась почему-то. Все верно: обнаружили давненько.
                    • –2
                      Мисклик
                    • +4
                      К слову это достаточно удобно, когда два дефиса заменяются на тире. Разве не очевидно, что это ожидаемое поведение, а не баг? А вы раздули это в целую статью, подняли панику какую-то…
                      • –6
                        Вы клбчами pgp пользовались? Предполагаю впервые слышите? В андроиде с ключами можно работат, а на десктопной нет. Смиритесь.
                        • +1
                          А чем это удобно-то?
                          На чтение никак не влияет. В здравом уме, в обычном тексте, никто не будет два дефиса подряд ставить. Так что нифига непонятно, в чем удобство то…
                          • 0
                            Это удобно при написании. Я, например, люблю писать правильно, с правильными знаками пунктуациями, а дефис и тире — это таки два разных знака пунктуации.

                            Впрочем, на настольной машине у меня есть compose key с символами для тире и многоточия, среди прочих, а вот на мобильных клавиатурах такое есть далеко не всегда. Поэтому Телеграму разумнее было бы сделать наоборот.
                        • +1
                          Эм, а зачем посылать -----BEGIN PGP MESSAGE----- ??? и строку версии? Вы шифруетесь, и тут же кричите, мама я покак… л гражданин майор, я тут шифрую.
                          • –6
                            Работайте с ключами, а потом коментируйте. Строку пишет программа. Это стандарт работы ПО. Изучите вопрос сначала прежде чем комментировать так некрасиво.
                            • 0
                              Законом не запрещено! Шифрую где хочу!
                            • 0
                              Чего только люди не придумают, лишь бы менеджерами паролей (типа 1Password) не пользоваться.
                              • 0

                                А если человек пожелал отправлять только PGP данные?
                                И к слову описанное в статье просто фича продукта, а не ошибка или баг.




                                Если полетят минуса то вот пожалуйста скриншот со страницы проблемы.


                                Screenshot

                                • –1
                                  Здравствуйте! не переживайте за минусы, не ошибается тот кто ни чего не делает.
                                  В Office есть тоже автоматическое исправление текста, однако его можно отключать (пример ошибки тех.Отдел или т.Д.)
                            • –3
                              Киберманьяки, которые ставят минус на любой мой добавленный комментарий, вы жалкие человечки Я вам это говорю открыто!
                              • 0

                                Честное слово, правильно минусуют, ведь на ровном же месте раздули проблему. Это мессенджер, он для общения текстовыми сообщениями, наоборот хорошо и правильно, что он что-то подменяет для удобства. Кому надо блоки кода вставлять — пользуются обратными кавычками и в ус не дуют.

                                • –2
                                  Здравствуйте, нет неправильно минусуют, обиженные какие-то (Мисклик -2, это же иронично и грустно), возможно минусут проверяют -1 или —1 будет, но ладно. Я ни чего не раздувал, написал статью, выложил, что в Андроиде нет ни какой подмены знаков, а в десктопной есть.
                                  • 0

                                    Ну, значит, есть недоработка в версии для Андроида, там почему-то ещё не реализовали. :) Можете поднять гневный feature request на их трекере. :)

                                    • 0
                                      Ну, что это значит? спорно как обычно. Разработчики не ответили, путная инфа с Гитхаба из коммента выше.
                                      • 0

                                        Ветки, а не комментария. (Простите если придираюсь.)

                                      • 0

                                        Зачем гневный?
                                        Хватит и обычного указания на проблему. (Рассматривается месяц более менее.) :D

                                  • 0
                                    Минусуют, потому что в посте — написали фигню, а в каментах — грубите.
                                    • –3
                                      В посте не фигня, а моя первая статья. В комментах такие как Вы тусуются…
                                      • 0

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

                                        • 0
                                          А можно так же, но ещё с использованием {фигурных скобочек}?
                                          • 0

                                            Редактирование допускается в течение 3х минут. => нет.
                                            Специально повторять сообщение я не собираюсь.

                                    • –2
                                      Всем кто ставил в карму плюс спасибо, но зло победило. Для обиженных зашифрованное сообщение «ОУКБ», когда расшифруете, зайдите в мой профиль и поставьте -карму ;)
                                    • –1
                                      Ничего не поняла, Вы взломали Телеграмм?
                                      • –1
                                        Здравствуйте, нет, не тот уровень.
                                        • +1
                                          Ничего не поняла.

                                          Я попробую объяснить, статья рассказывает о функции Telegram отвечающий за форматирование текста, по мнению автора статьи это считается ошибкой в программном продукте, по мнению участников проекта это не баг, а фича указано здесь.
                                          При этом автор статьи не ожидал такого поведения так как Telegram Messenger на Android не выполняет процедуру преформатирования текста, из-за чего это было воспринято как ошибка.


                                          Вы взломали Телеграмм?

                                          Автор не взламывал Telegram, его исходные коды клиентов открыты и доступны всем желающим как для просмотра так и для заимствования по условиям лицензий проектов: Telegram Desktop, Telegram Messanger(Android). Это всё официальные клиенты Telegram. Кроме них есть клиенты под macOS(специализированный), iOS, Windows Phone, Web.

                                          • 0
                                            Добавлю, что хотел назвать статью «Тысяча слов о Телеграме» (в статье 1000слов+-редакция модератора). Однако передумал, речь идет о шифровании и о Яндексе, который по мнению автора «сдает позиции» Подмена знаков-все же не форматирование.
                                            • 0
                                              Подмена знаков-все же не форматирование.

                                              Тогда подмена знаков в markdown не должна существовать? Следуя из этой цитаты.
                                              Так или иначе для обработки md выполняется подмена знаков.


                                              Примером является список:


                                              1. Элемент 1
                                              2. Элемент 2

                                              Вот исходное содержание.


                                              Примером является список:
                                              1. Элемент 1
                                              1. Элемент 2

                                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.