Смайлики стоят тысячи слов, по крайней мере, когда Вы пользуетесь 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 о своем недавнем обнаружении, и надеется, что данная ошибка будет исправлена при следующем обновлении.

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


  1. Emigrate
    08.01.2016 18:07
    +2

    Мне кажется или любой клиент зависнет отправь на него 2000 смайликов?


    1. Alex_2016
      08.01.2016 18:12

      Должен зависнуть любой клиент при отправке от 4000 смайликов.
      А уязвимость при использовании 2000 специальных символов была уже устранена разработчиком.


      1. Rastishka
        09.01.2016 00:14
        +5

        После исправления этой ошибки, следующая граница будет 8000 смайликов, я так понимаю?


      1. Emigrate
        09.01.2016 00:52

        Виснет потому что рендерит все и сразу или другая причина?


    1. nikitasius
      11.01.2016 22:07

      qtox, не завис. Вот незадача!

      4808 смайликов


      1. nikitasius
        11.01.2016 22:11

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

        хабр не съел UTF8 спецсимволы. Добавил ссылку.


        1. Mithgol
          11.01.2016 22:20
          +1

          Как видно, на Хабрахабре нет поддержки астральных символов. Это баг :-(


          1. nikitasius
            11.01.2016 22:21

            Она просто «подвисла» ;-)


  1. NorthDakota
    08.01.2016 19:11
    +3

    Ещё во времена аськи таким образом ложили мобильные клиенты)


    1. ingumsky
      09.01.2016 19:51
      -2

      Сорри, но «клали» :)


      1. Xu4
        09.01.2016 22:20
        -8

        Слово «клали» искажает смысл процесса. В русском языке слово «ложить» начало вытесняться из речи культурных людей в 18-м–19-м веках из-за того, что в тот момент был популярен французский язык, а дословный перевод «ложить» (coucher) на французский несёт неприличный посыл. Безо всяких суффиксов-приставок оно не используется как раз из-за этого.

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

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


        1. nikitasius
          11.01.2016 22:20

          Je vais me coucher

          Я иду спать

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

          Если продолжить лингвистику для пытливых юзернеймов:
          • Жадина — Je dis non — ЖеДиНо — Я говорю нет
          • Живопись — Je vais pisser — ЖеВэПиссэ — Я иду писать
          • ГАИ — GAI — ГЭ — Веселый!..


          1. Xu4
            11.01.2016 22:58

            Возвратная частица «se» лишает слово «coucher» неприличности. Возвратная форма (se coucher) означает «ложиться спать» («me» — это «se» от первого лица в единственном числе). Без возвратной частицы появляется значение «переспать». «Ложить» — это не возвратная форма, в отличии от возвратной формы, — «ложиться», — которое из русского языка не вытеснялось.

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


            1. nikitasius
              11.01.2016 23:25

              Переспать != положить


              1. Xu4
                11.01.2016 23:54

                Это точно. Как и то, что я нигде не вводил равенства «переспать = положить».


      1. Randl
        09.01.2016 22:35
        +4

        Отверстие в безопасности?)


        1. nikitasius
          11.01.2016 22:24

          Мой препод в школьные годы по инженерное графике так же говорил, дословно:
          дырка… она у тебя… а это — отверстие.


  1. Akuma
    08.01.2016 19:37
    +2

    А я уж думал, в современных чатиках давно отключили возможность вставлять больше 10-15 смайликов в сообщение. А уж тем более отправка их тысячами подряд.


  1. kmx
    08.01.2016 19:57

    Это не уязвимость, а недоработка.


  1. vlivyur
    09.01.2016 11:47
    +2

    А картинки там никак не отключить? Помнится в qip'е я отключал показ смайликов картинками (иначе они исходники корёжат, которые потом копипастом не вставляются)


    1. Goodkat
      11.01.2016 16:41

      Это символы Юникода, на iOS они рендерятся операционной системой, на Андроиде это либо кастомный шрифт, либо действительно картинки.
      Судя по этому:

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


      1. vlivyur
        12.01.2016 13:26

        Но если это символы, то тогда должно касаться и обычных сообщений в WhatsApp килобайт в 8 длиной. Если баг в Android, то должно касаться и других приложений. Хотя с юникодом везде проблемы.


  1. ooprizrakoo
    09.01.2016 17:31

    аналогично было в mirc до версии 6.03, и в скайпе.