Облачные решения безопасности, антивирусы
109,52
рейтинг
8 января в 17:34

Разработка → Новая уязвимость в WhatsApp: волна смайликов, которые могут блокировать приложение перевод



Смайлики стоят тысячи слов, по крайней мере, когда Вы пользуетесь WhatsApp. Мы уже привыкли выражать свои мысли и чувства с помощью этих колоритных персонажей – будь то улыбающиеся лица, какие-то предметы или даже животные, а потому порой даже сложно представить общение без них. На само деле, в рамках недавнего исследования Swiftkey, проведенного в США, удалось выяснить самые популярные смайлики в каждом из штатов, причем в некоторых из них исследователи получили очень необычные результаты, как например, смеющаяся какашка, которая стала самым популярным смайликом в штате Вермонт.



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

Следом за аферами, проведенными в WhatsApp в 2015 году, такими как сообщение, приглашающее Вас скачать новые смайлики, в результате чего у Вас крадут Ваши контакты, 2016 год начался с новой уязвимости в данном приложении, которым пользуется свыше 900 миллионов пользователей во всем мире.

Индражиит Бхуян , 18-летний парень из Индии, недавно обнаружил, что кибер-преступник или даже друг, который решил сыграть с Вами злую шутку, может воспользоваться сбоем в системе WhatsApp, чтобы удаленно заблокировать Ваш аккаунт.

Стратегия для осуществления такой атаки достаточно проста: все, что Вам необходимо – это отправить тысячи смайликов в одном сообщении и приложение автоматически закроется. Бхуян объяснил весь процесс в блоге Hackatrick, где он также рассказывает о своем удивительном открытии.

После написания от 4200 до 4400 смайликов на сайте WhatsApp, подросток заметил, что сервис начал тормозить. После того как сообщение было отправлено, он получил сообщение об ошибке и браузер остался заблокированным.

Однако, когда человек, которому он отправил данное сообщение, подключился, то он получил это сообщение. После того как получатель его открыл, приложение перестало работать. В этом случае WhatsApp предложил обычные опции ожидания или закрытия приложения. Несмотря на это, приложение будет заблокировано снова из-за лавины смайликов.

Этот молодой блоггер показал, что ошибка может случиться в различных веб-браузерах (Firefox и Google Chrome) и на различных версиях Android (Marshmallow, Lollipop и KitKat). Только устройства iPhone были способны противостоять этому хаосу, вызванному смайликами, благодаря WhatsApp for iOS, который блокировал себя только на несколько секунд.



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

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

Бхуян также обнаружил уязвимость, которая вызывает отключение WhatsApp с помощью сообщения, состоящего из 2000 специальных символов, хотя разработчик с тех пор уже устранил эту уязвимость. Недавно он проинформировал WhatsApp о своем недавнем обнаружении, и надеется, что данная ошибка будет исправлена при следующем обновлении.
Автор: @Alex_2016 Panda Security
Panda Security в России
рейтинг 109,52
Облачные решения безопасности, антивирусы

Комментарии (23)

  • +2
    Мне кажется или любой клиент зависнет отправь на него 2000 смайликов?
    • 0
      Должен зависнуть любой клиент при отправке от 4000 смайликов.
      А уязвимость при использовании 2000 специальных символов была уже устранена разработчиком.
      • +5
        После исправления этой ошибки, следующая граница будет 8000 смайликов, я так понимаю?
      • 0
        Виснет потому что рендерит все и сразу или другая причина?
    • 0
      qtox, не завис. Вот незадача!
      4808 смайликов

      • 0
        4808 смайликов (UTF8)

        хабр не съел UTF8 спецсимволы. Добавил ссылку.
        • +1
          Как видно, на Хабрахабре нет поддержки астральных символов. Это баг :-(
          • 0
            Она просто «подвисла» ;-)
  • +3
    Ещё во времена аськи таким образом ложили мобильные клиенты)
    • –2
      Сорри, но «клали» :)
      • –8
        Слово «клали» искажает смысл процесса. В русском языке слово «ложить» начало вытесняться из речи культурных людей в 18-м–19-м веках из-за того, что в тот момент был популярен французский язык, а дословный перевод «ложить» (coucher) на французский несёт неприличный посыл. Безо всяких суффиксов-приставок оно не используется как раз из-за этого.

        Ложить какой-нибудь сервис — это как раз неприличное явление, потому что злоумышленник в процессе имеет этот сервис в какую-нибудь дырку, так что слово «класть» здесь меньше подходит.

        Пихать везде слово «класть» — это не круто. Это примерно то же самое, когда человек начинает слово «крайний» использовать вообще во всех без исключения ситуациях. Если кто-то умирает, он всё равно говорит: «Крайний раз я видел Васю во-вторник — за день до его смерти». (И следом убеждает, что говорить «последний раз» нельзя из-за смысловой нагрузки этого выражения, хотя сам до конца не понимает эту смысловую нагрузку. Хотя, в данном конкретном случае нужно говорить как раз: «Последний раз я видел Васю во-вторник — за день до его смерти».)
        • 0
          Je vais me coucher

          Я иду спать

          И ничего неприличного (по крайней в мере в тексте).

          Если продолжить лингвистику для пытливых юзернеймов:
          • Жадина — Je dis non — ЖеДиНо — Я говорю нет
          • Живопись — Je vais pisser — ЖеВэПиссэ — Я иду писать
          • ГАИ — GAI — ГЭ — Веселый!..
          • 0
            Возвратная частица «se» лишает слово «coucher» неприличности. Возвратная форма (se coucher) означает «ложиться спать» («me» — это «se» от первого лица в единственном числе). Без возвратной частицы появляется значение «переспать». «Ложить» — это не возвратная форма, в отличии от возвратной формы, — «ложиться», — которое из русского языка не вытеснялось.

            Я, во всяком случае, думаю, что это самая логичная причина, по которой «ложить» вытеснилось из языка — вопрос неприличности при прямом переводе, когда французский язык был очень популярен. Если бы была какая-то научная основа для вытеснения, то формообразование тоже было бы затронуто. Например, было бы корректным слово «покласть». Но вытеснилось только слово «ложить», а его формы остались: ложиться, положить, переложить и т.п.
            • 0
              Переспать != положить
              • 0
                Это точно. Как и то, что я нигде не вводил равенства «переспать = положить».
      • +4
        Отверстие в безопасности?)
        • 0
          Мой препод в школьные годы по инженерное графике так же говорил, дословно:
          дырка… она у тебя… а это — отверстие.
  • +2
    А я уж думал, в современных чатиках давно отключили возможность вставлять больше 10-15 смайликов в сообщение. А уж тем более отправка их тысячами подряд.
  • 0
    Это не уязвимость, а недоработка.
  • +2
    А картинки там никак не отключить? Помнится в qip'е я отключал показ смайликов картинками (иначе они исходники корёжат, которые потом копипастом не вставляются)
    • 0
      Это символы Юникода, на iOS они рендерятся операционной системой, на Андроиде это либо кастомный шрифт, либо действительно картинки.
      Судя по этому:
      В этом случае WhatsApp предложил обычные опции ожидания или закрытия приложения.
      имелся в виду андроидный клиент WhatsApp — в iOS, насколько я помню, зависшее приложение прибивается системой без дополнительных вопросов. В таком случае интересно, работает ли эта фича с 4000 смайликов на айфонах, т.е. это проблемы WhatsApp в целом, или просто баг рендерера на Андроиде.
      • 0
        Но если это символы, то тогда должно касаться и обычных сообщений в WhatsApp килобайт в 8 длиной. Если баг в Android, то должно касаться и других приложений. Хотя с юникодом везде проблемы.
  • 0
    аналогично было в mirc до версии 6.03, и в скайпе.

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

Самое читаемое Разработка