image
На скриншотах представлен возможный процесс заражения телефона. Пользователь получает сообщение, уведомление о нём появляется на экране — и в этот момент зловред уже активирован. На разлоченном экране не видно ничего подозрительного. Открытие сообщения заново активирует зловреда.

Специалисты по компьютерной безопасности из компании Zimperium вчера написали в своём блоге о раскрытой ими уязвимости одной из встроенных в операционку библиотек. Stagefright — библиотека для обработки медиафайлов разных форматов. Сотрудник компании нашёл в ней грубые ошибки, которые в худшем случае позволят захватить управление смартфоном даже без участия пользователя, при помощи отправки специально сформированного MMS-сообщения. Уязвимость присутствует в 95% Android-устройств, число которых в данный момент оценивается в миллиард.

Поскольку обработка и декодирование медиаданных занимает достаточно много процессорного времени, библиотека для обеспечения хорошего быстродействия написана на C++. А это язык более сложный и низкоуровневый, чем привычная для Android Java, и программы на нём, по утверждению специалистов из компании Zimperium, более подвержены ошибкам, связанным с утечками памяти.

Так получилось и на этот раз. Для атаки злоумышленнику достаточно знать ваш номер телефона. Особым образом сконструированный медиафайл, отправленный на этот номер через MMS, может не только сразу по приёму сообщения выполнить произвольный код на телефоне, но и полностью удалить после этого зловредное сообщение. Владельцу телефона даже не придётся открывать какие-нибудь подозрительные файлы — по окончанию процесса он увидит лишь уведомление о полученном MMS.

image

Уязвимости подвержены смартфоны с версиями ОС, начиная с 2.2. На устройствах с ОС версии 4.3 (Jelly Bean) и позднее провести подобную атаку будет более затруднительно. Кроме отправки MMS-сообщения ошибку в обработке медиафайлов злоумышленники смогут проэксплуатировать и, например, заманив пользователя на зловредный веб-сайт. Подробности будут раскрыты на хакерских конференциях Black Hat USA 5 августа иDEF CON 23 7 августа.

Компания Zimperium уже отправила в Google не только сообщение об уязвимости, но и предложила свою версию патчей. Интернет-гигант отреагировал оперативно и начал выпускать обновления для различных версий операционки. Правда, процесс обновления смартфонов — дело не быстрое и не 100% надёжное, учитывая наличие в обиходе устройств с самыми разными версиями ОС. По оценке безопасников, устройства старше полутора лет вообще вряд ли получат нужные обновления.

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


  1. Shik_shik
    28.07.2015 18:10
    +5

    Нужно внести ясность: уязвимость сработает только если ММС автоматически загружается (google hangouts и подобние). В противоположном случае, нужно вмешательство юзера. Возможен быстрый фикс с устранением автозагрузки с приложений, для версий андроида ниже последней.


    1. SpiritOfDarkDragon
      29.07.2015 01:39
      +3

      Сейчас проверил: hangouts — настройки — SMS — Автозагрузка MMS по-умолчанию активирована. Правильно ли я понял, что выключение этой настройки предотвращает использование уязвимости без участия пользователя?


      1. Shik_shik
        29.07.2015 11:37
        +1

        Да, верно.


  1. heathen
    28.07.2015 21:41
    +4

    На устройствах с ОС версии 4.3 (Jelly Bean) и позднее провести подобную атаку будет более затруднительно.

    Простите, что значит «более затруднительно»? Это значит можно или нельзя?


    1. Alexey2005
      29.07.2015 00:23
      +2

      Можно, но эксплойт будет ограничен sandbox'ом приложения для работы с MMS, т.е. будет работать с сильно урезанными правами (чтение/отправка сообщений, доступ к адресной книге и что там ещё выставлено). В случае младших версий ОС доступ к системе будет полным.
      П.С.: Для CyanogenMod 12.0 и 12.1 уязвимость пофиксена, для 11-й версии обещают пофиксить к концу недели.


      1. heathen
        29.07.2015 08:44

        Спасибо!


  1. mifki
    29.07.2015 01:47

    Я просто оставлю это здесь

    > the library is implemented in native code (C++) that is more prone to memory corruption than memory-safe languages like Java.

    > библиотека для обеспечения хорошего быстродействия написана на C++. А это язык более сложный и низкоуровневый, чем привычная для Android Java, и программы на нём, по утверждению специалистов из компании Zimperium, более подвержены ошибкам, связанным с утечками памяти.


  1. 7313
    29.07.2015 08:34

    А кто вообще пользуется этими mms в стандартных сообщениях или Hangouts? :) И в чем сложность снять одну галку?


  1. bschepan
    29.07.2015 10:11

    Вот мне тоже интересно: где и зачем сейчас нужны MMS'ки со всеми своими ограничениями на размеры пересылаемых файлов и дикой стоимостью? Проще и дешевле кидаться разнокалиберными файлами и большими текстами через любой мессенджер, ну или, на крайняк, почту. Тем более, что уж почтовые клиенты были в телефонах еще тогда, когда никакого Android'а и в природе не существовало. Хотя интернет тогда был дороже.


    1. bougakov
      29.07.2015 13:44

      Расцвет MMS пришёлся на 2008, когда под «любым мессенджером» понималась разве что ICQ. Ограничение в 300 килобайт было вызвано ограничениями на WAP-шлюзах. GSM-операторы тогда добились того, что мобила завелась у каждого землянина с доходами от $100 — чего не скажешь о Email-адресах. А Андроид тогда только-только появился.

      Хоронить технологии вот так вот сплеча не надо. Вот пример — в современных смартфонах на «на, отвали» реализовали работу с SIM toolkit («SIM-меню»). В результате у абонента нет простого способа узнать о том, сколько ещё денег на счету осталось — и в ответ оператор вбивает кривой костыль.

      Просто Google надо научиться поддерживать стандарты, даже если они дряхлые. А если им неохота — пусть оставляют в Андроиде только чистый LTE, а наследие GSM пусть будет в прошлом. Но они так не сделают, поскольку им продажи важнее.


      1. bschepan
        29.07.2015 14:03

        Да я не хороню технологию, мне просто действительно интересно, зачем оно сейчас нужно. Просто я последний раз пользовался MMS году в 2003-ем, когда надо было срочно перекинуть фотки с телефона (SE T610 это был тогда кажись) на комп, а ИК приемника, Bluetooth'а или USB дата-кабеля не было. Причем MMS можно было отправить прямо на e-mail, и стоило это в 2 раза дешевле, чем на другой телефон.

        Что касается SIM-меню, то для меня опять-таки загадка, зачем его вообще придумали. Помню, там было полно каких-то тупых анекдотов и гороскопов по 30 рублей за штуку, и ведь кто-то их покупал… Баланс там тоже был, но по мне, так проще было на быстрый набор повесить *100# (тогда баланс узнавался за одно удержание кнопки, а не кучу менюшек-подменюшек). Сейчас вообще узнать баланс не проблема: есть куча программ с виджетами на экране, уведомлениями в шторке и т.д., работающих как через личные кабинеты операторов, так и через USSD команды.


        1. bougakov
          29.07.2015 17:21

          MMS — составная часть GSM/3G. Хочется вам забабахать девайс с SIM-картой, по которому можно и разговаривать — извольте реализовать.

          Гугль же реализовал всё «ненужное» «для галочки» и, видимо, толком не протестировал — за что и поплатился. Притом совершенно понятно, почему они не пошли по сценарию iPad, где весь не связанный с передечей данных сотовый функционал не реализован совсем — это бы повредило распространению Android.

          Про SIM-меню — так это вы знете, что баланс проверяется данной USSD-командой у данного оператора. При приезде в другую страну вас могут ждать сюрпризы. Навскидку — у южноафриканского MTN баланс проверяется кодом *141#.


  1. mIK_LH
    29.07.2015 10:22

    Hangouts уже не в первый раз ломает работу с сообщениями.


    1. a9V
      29.07.2015 10:46

      При чём тут Hangouts? Вы пост читали?


      1. mIK_LH
        29.07.2015 10:55
        +1

        Прочитал, но плохо, как выяснилось.


  1. xRay
    29.07.2015 10:35
    +1

    Пока ждем патч.

    Если в Вашем Android смартфоне СМС-приложении не имеет опции отключения автозагрузки MMS, то поставьте Приложение «Чат» от Google https://play.google.com/store/apps/details?id=com.google.android.apps.messaging. И укажите его приложением по-умолчанию для СМС, В нем можно отключить автозагрузку содержимого MMS.


  1. bodqhrohro
    31.07.2015 13:20

    Встроенного на веб-страницы мультимедиа это ведь тоже касается? А то все об MMS да об MMS…