Новые критические уязвимости в Android: В чем проблема, и как защититься



    Исследователи информационной безопасности обнаружили ряд серьезных уязвимостей в одном из компонентов ядра мобильной ОС Android под названием Stagefright (библиотека для работы с файлами мультимедиа, например PDF). Первым о проблемах в компоненте Stagefright заявил исследователь из компании Zimperium Labs Джошуа Дрейк (Joshua J. Drake). Кроме того, об обнаружении серьезной уязвимости в Android заявила компания TrendMicro.

    Stagefright


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



    Как сообщается в посте в блоге ZImperium, хакеры могут даже удалить само сообщение до того, как пользватель его увидит (в таком случае смартфон покажет только оповещение о входящем сообщении).



    Список уязвимых устройств

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

    Уязвимости подвержены телефоны под управлением Android от версии 2.2 до версии 5.1 (по оценкам СМИ, всего уязвимы до 950 миллионов смартфонов и планшетов по всему миру).

    Как пишет издание Ars Technica, уязвимость Stagefright также затрагивает браузер Firefox на всех платформах, кроме Linux (включая Firefox OS). Редакция связалась с Джошуа Дрейком, который подтвердил наличие проблем:

    Если вы установите Firefox 38, то через Firefox провести на вас атаку больше не удастся. Однако, если вы загрузите зловредное видео через браузер с тегом video width="300" height="150", а не станете его проигрывать, оно все равно загрузит вредоносный Android-код.

    Примечательно, что Дрейк стал первым, кто сообщил о проблемах безопасности в Stagefright (он планирует подробнее рассказать о своих находках на конференции DEFCON 7 августа), но не единственным, кто их обнаружил. По данным Forbes, 36-летний исследователь из Москвы Евгений Легеров также обнаружил две уязвимости нулевого дня в этом компоненте. Google выпустила ряд патчей для партнеров (один, два, три), исправляющих найденные Легеровым уязвимости.

    Джошуа Дрейк передал информацию об уязвимости в Google (вместе с возможными патчами), и компания выплатила ему вознаграждение в размере $1,337 (оповещение было отправлено до официально запуска bug bounty-программы для Android). Если бы информация об уязвимости была передана продавцам эксплойтов, то исследователь мог бы рассчитывать на сумму в районе $100 тысяч — компания Zerodium в своем Twitter заявила, что готова платить за подобные уязвимости именно столько:



    Пока что патчи получили только Silent Circle Blackphone и устройства с прошивкой Cyanogen, обнаруженные Евгением Легеровым уязвимости также добавлены в набор эксплойтов VulnDisco (доступ к нему есть у правительственных и коммерческих организаций, использующих инструмент для тестирования на проникновение Canvas). Легеров сообщил журналистам, что его команда предоставляет заказчикам эксплойтов для внутреннего тестирования, поэтому их функциональность урезана и не позволяет проводить полномасштабные реальные атаки.

    Специалисты Zimperium также рекомендуют пользователям Android обновить ОС до последней версии (хотя и указывают на тот факт, что неизвестно, когда появится патч, и будет ли он для более старых устройств — для них рекомендуется устанавливать прошивку Cyanogen), отключить автоматическую загрузку MMS (для Hangouts и «дефолтного» приложения для SMS).

    Атака на медиасервер


    Помимо уязвимости Stagefright, об обнаружении серьезной ошибки безопасности в Android (версии, начиная с 4.3 Jelly Bean до 5.1.1 Lollipop, то есть более половины всех Android-устройств в мире) заявила компания TrendMicro. Экслуатация этой уязвимости возможна с помощью установки на устройство вредоносного приложения (вызывает падение операционной системы) или с помощью перенаправления пользователя на подготовленный злоумышленниками сайт.



    Уязвимость обнаружена в сервисе медиасервера, который Android использует для индексации медиафайлов, хранимых на устройстве. Сервис не может корректно обработать зловредное видео (обычно имеет расширение .mkv) с помощью контейнера Matroska, что приводит к падению всей операционной системы.TrendMicro опубликовала в блоге код файла frameworks/av/media/libstagefright/matroska/MatroskaExtractor.cpp, демонстрирующий ошибку:

    865 size_t offset = 1;
    866 size_t len1 = 0;
    867 while (offset < codecPrivateSize && codecPrivate[offset] == 0xff) {//codecPrivate is controlled by the mkv file
    868 len1 += 0xff;
    869 ++offset;
    870 }
    871 if (offset >= codecPrivateSize) {
    872 return ERROR_MALFORMED;
    873 }
    874 len1 += codecPrivate[offset++];
    875
    876 size_t len2 = 0;
    877 while (offset < codecPrivateSize && codecPrivate[offset] == 0xff) {
    878 len2 += 0xff;
    879 ++offset;
    880 }
    881 if (offset >= codecPrivateSize) {
    882 return ERROR_MALFORMED;
    883 }
    884 len2 += codecPrivate[offset++];
    885
    886 if (codecPrivateSize < offset + len1 + len2) {//len1 or len2 maybe 0xffffffff, then integer overflow happened
    887 return ERROR_MALFORMED;
    888 }
    889
    890 if (codecPrivate[offset] != 0x01) {
    891 return ERROR_MALFORMED;
    892 }
    893 meta->setData(kKeyVorbisInfo, 0, &codecPrivate[offset], len1);//crash in here
    

    Сотрудники TrendMicro создали специальное приложение, которое использует эту уязвимость. Видео ниже демонстрирует атаку на смартфон с его помощью:


    Удалось им воспроизвести и атаку с помощью URL. Для этого был создан специальный сайт, в HTML-код которого встроено зловредное видео. Во время загрузки сайта браузере Chrome наблюдался тот же эффект:



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

    На конференциях по информационной безопасности исследователи Positive Technologies также демонстрировали результаты исследования защищенности 4G-коммуникаций и SIM-карт (их тоже можно взломать).

    Во время прошедшего в мае в Москве форума Positive Hack Days также проводился конкурс по взлому мобильной связи MiTM Mobile — разбор его заданий мы публиковали на Хабре (некоторые посетители мероприятия получили сообщения о взломе своих устройств). Вот здесь представлена запись вебинара по данной теме.
    Метки:
    Positive Technologies 462,97
    Компания
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 27
    • –10
      Рубрика «свежая новость»
      • +10
        У нас в публикации более развернутый взгляд на ситуацию все же
        • +2
          Вы тогда заголовок поправьте, а то «Новые критические уязвимости в Android...» в первую очередь наводят на мысль о том, что это еще одна новая уязвимость.
          • 0
            Там есть пересечения, но не все уязвимости были описаны на Хабре, при этом они и правда новые
      • –7
        Слегка обсуждали тут: habrahabr.ru/post/263759 (подробностей было поменьше правда)
        • +12
          Ну в том посте вообще мало что ясно, какой-то рерайт на три абзаца
        • +3
          Специалисты Zimperium также рекомендуют пользователям Android обновить ОС до последней верси

          Беда в том, что производители в большинстве своем очень быстро забивают на обновление устройств. Так и будет большая часть из 950 млн потенциальных жертв ходить с огромной дырой в защите
          • +3
            Вот интересно, как так получилось, что ОС Windows и Linux для x86-платформы можно установить даже на железо пятилетней давности, не дожидаясь, пока производители сделают для нас специальную сборку, а в случае с ARM-платформами всё завязано на производителей?
            И почему две вышеупомянутых ОСи могут получать обновления и патчи без проблем, а Android только переустанавливать целиком? Полное отсутствие модульности?
            • 0
              Я не знаю, как google такое допустил. Это просто epic fail

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

              Например, я в прошлом году купил Планшет Pipo u8 (4 ядра, 2 гб) для чтения. На момент покупки был 4.4.2. Через несколько месяцев вышли 4.4.4, а потом и 5. Производитель даже до 4.4.4 не обновил. Хотя планшет был типа топовый в линейке 7,9".

              Имхо, я нахожу все меньше смысла в покупке Android с таким подходом. Лучше уже переплатить (usb-otg, карты памяти) за урезанный iPad, но быть уверенным в защищенности.
              • 0
                Покупайте нексусы. Или ставьте кастомные прошивки.
                • 0
                  Нексусы для некоторых целей излишни + большие размеры.

                  Я думаю, что если покупаешь девайс, то производитель и должен обеспечить его надежность. В сторонних прошивках могут быть вредоносные компоненты.
                • 0
                  Ой… не ведитесь на эту защищенность. Если ничего не слышно особо про iOS — это не значит, что там сахар. Скорее всего Apple молча платит большие суммы денег за то, чтоб хакеры забыли о найденном.
                  • +1
                    Там хоть обновления приходят. А тут можно купить телефон на андроид и через полгода: «Сорри, мы прекратили выпуск обновлений для вашего устройства. Вы можете приобрести одно из наших новых устройств»

                    Хотя у яблока много чего все равно нет.
                    • 0
                      Ну вот люди не понимают же, когда кричат «дайте опенсорс». Андроид дал им это и началось… Представьте, что если бы iOS была бы опенсорсная. Такие вот приколы, как с Андроидом — были бы тоже регулярно.
                • +2
                  ОС Windows и Linux установить на произвольное железо пятилетней давности не получится. Получится установить только на то железо, для которого производители или кто-то ещё написал драйверы.

                  В случае Windows драйверы есть практически на любые потребительские устройства, понятно — почему.

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

                  Также надо понимать, что в случае персонального компьютера изготовитель компонентов это одно лицо, а сборщик компьютера это другое лицо (зачастую сам пользователь).

                  В случае Android (надо заметить, что под капотом у него тот же Linux) ситуация в корне противоположная. Во-первых устройство продаётся целиком, а не по компонентам. Поэтому драйвер для вашей фотокамеры её изготовитель вам не даст. Он его даст специалистам из Samsung, например. Которые его (и другие драйверы) упакуют в дистрибутив и вы его скачаете в виде обновления.

                  Во-вторых (тут уже речь пойдёт про Linux vs Windows) в Linux нет стабильного ядерного API. Это значит, что если для устройства были написаны драйверы для версии ядра 3.2, то на ядре 3.0 или 3.3 они могут не заработать. Т.е. драйверы в Linux жёстко привязаны к конкретному ядру. И версии Android так же привязаны к конкретному ядру. Соответственно вам надо ждать, пока ваш производитель соизволит обновить все драйверы под новую версию андроида. А если ему эти драйверы дают без исходников и компания-производитель любого компонента в вашем телефоне перестала выпускать новые драйверы, то у вашего производителя просто нет никаких вариантов дать вам новую мажорную версию андроида.

                  В Windows ядерное API в целом постабильней, хотя чудес, конечно, не бывает и в Windows 10 ваш драйвер с Windows 2000 может и не запуститься.

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

                  Поэтому хотите «вечный» андроид — ищите производителя, который будет поставлять все ядерные драйверы к своим устройствам в исходном коде. Тогда есть большая вероятность что он или добровольцы смогут поддерживать эти драйверы в актуальном состоянии и у вас будет возможность запускать любую версию андроида на своём устройстве.
                  • 0
                    Дело не сколько в драйверах, сколько, во-первых, в отсутствии унификации (блин, да у нас все еще не просто универсального загрузчика-то нет, а нет даже стандарта, что и как грузить!), а во-вторых, в том, что не каждому производителю вообще под силу поддерживать конкретный SoC, т.к. это делают разработчики SoC. Производитель SoC не портирует новую версию Android под этот SoC — разработчики телефона не будут и заморачиваться.
                  • 0
                    Для установки патчей в Андроид не нужно переустанавливать систему целиком. Через OTA можно обновить любой компонент, что Google иногда и делает для nexus устройств.
                    Каждый производитель устройств по сути собирает свою версию ОС на основе исходников из AOSP. Google не имеет никакого представления о том, что было сделано с исходниками перед тем как производитель собрал прошивку. Собственно по этому только производитель и может собрать обновление для распространения.
                    Например рассмотрим обсуждаемую тут библиотеку stagefright. Это обычная Linux библиотека в виде so файла. Если бы Google собирал бинарники для всех устройств то не было бы никаких проблем распространить обновление через OTA. А по факту получается, что никто кроме производителя не знает в каком виде эта библиотека реально попала в прошивку.
                    Я бы сказал, что проблема обновления Андроида — это в какой-то степени плата за его open source.
                • 0
                  $1,337 — я понимаю, «элит» и все такое, но как то кисло выглядит, хоть и было отправлено до запуска bug bounty, могли бы и получше отблагодарить.
                • 0
                  В конце статьи не хватает голосования.

                  А что бы Вы сделали если бы нашли уязвимость?
                  1. Сказали бы Google и получили за это 1.337 USD.
                  2. Отдали бы Zerodium и 100.000 USD у вас в кармане.
                  3. Никому не отдам…
                  • +1
                    И посчитать матожидание стоимость уязвимости
                    • 0
                      Не 100 000, а «до 100 000». Во сколько была бы ими реально оценена данная уязвимость, неизвестно.
                    • +5
                      Исследователи заявляют о том, что защититься от данной уязвимости можно с помощью специальных защитных приложений для мобильных устройств.
                      Так как защититься то?
                      • 0
                        Кто там кричал про дырявость флеша и рвал майки на британский флаг?
                        • 0
                          Одно другому не мешает. Флэш — удивительно дырявая платформа, и это продолжается уже лет десять так.
                          • 0
                            Расскажите это тем, кто удаляет плагины и потом ругается, что без них компы заражаются

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

                        Самое читаемое