Компания
56,36
рейтинг
17 декабря 2012 в 10:10

Разработка → Критическая уязвимость у смартфонов на базе Exynos

В ядре Android, а точнее в файле /dev/exynos-mem, который работает с мобильными процессорами Exynos 4210 и Exynos 4412, обнаружена критическая уязвимость (подвержены такие флагманы компании Samsung, как Samsung Galaxy S II, Samsung Galaxy S III и Samsung GALAXY Note II, кроме того уязвимость присутствует и на других аппаратах с этими процессорами – например Meizu MX). Любое приложение Android через нее может контролировать всю физическую память устройства.



По данным участника форума XDA Developers по имени alephazin, любое приложение на смартфоне может вызвать настоящий хаос – фактически приложение может получить root и дальше уже действовать по своему усмотрению, например стереть все файлы и просто «брикнуть» телефон.

Samsung был уведомлен о ситуации и, вероятно, экстренно готовит патч. Пока есть неофициальный фикс от Supercurio, другого участника XDA.

Тема на XDA: http://forum.xda-developers.com/showthread.php?p=35469999
Автор: @Apps4All_post
Apps4All
рейтинг 56,36
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

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

  • +98
    Лучше всего у самсунга получаются пылесосы.
    • +62
      это Вы так завуалировали «Samsung sucks» чтоли?:)
    • +16
      Потому что они не «сосут»? :)
    • +17
      Какая свежая шутка!
      • +17
        Это не шутка, пылесосы и впрямь хороши.
    • +1
      холодильники и прочая бытовая техника тоже хорошие
      • +2
        Корабли ещё вроде ничего.
        • –1
          И ЭЛТ-мониторы хорошими были.
  • 0
    Пролистал топик на XDA. Так и не понял, подвержен ли Galaxy Note 10.1 (N8000) уязвимости или нет. Подскажет кто?
    • –3
      Вроде нет, он не на Exynos.
    • +9
      поставьте Android Terminal Emulator, и наберите там команду
      ls -l /dev/exynos-mem
      у меня на Note 2 там права crw-rw-rw-, т.е. все девайс доступен всем.

      нормально должно быть crw-rw---- или crw-------.
      или No such file or directory, если девайс не на exynos :)
    • +1
      Проверил по совету enemo. На Note 10.1 права на /dev/exynos-mem выдаются как crw-rw-rw-. Прошивка оригинальная 4.0.4, русская, устройство не рутовано.
    • +5
      Подвержен любой девайс из семейства процессоров Exynos 4210 и Exynos 4412. У вашего девайса Exynos 4412.
      • +1
        Владельцы Samsung Galaxy SII GT-I9100G, радуйтесь!
        Вам снова повезло, т.к. GT-I9100G работает на базе процессора TI OMAP4430!
        • 0
          Владельцам Samsung Galaxy S III тоже нечего переживать, если у них модели: SCH-i535, SGH-T999, SPH-L710, SGH-i747, SCH-R530. Т. к., в этих моделях стоят процессоры от Qualcomm (Snapdragon S4 Plus MSM8960).
  • 0
    Интересно, как быстро подцепят этот патч в CyanogenMod?..
    • 0
      а CM подвержен? они кодобазу не глядя утаскивают, или все-таки ревью какое-то делают?
      там патчик-то должен быть в полторы строки, как мне кажется.
      • 0
        Патчик можно смотреть на GitHub, не полторы строки, конечно, но около того :)
        • +8
          спасибо за ссылку.

          We furthermore just allow access to the «s3c-fimc» memory block as this is seemingly the only space which upon access denial actually breaks functionality.

          То есть дырка — не просто случайно забытые слишком широкие разрешения на файл, а разрешения, использующиеся родными же приложениями. Это успех, да.
        • 0
          Больше сотни строк на самом деле.
          • 0
            На самом деле, там действительно полторы строчки (в смысле логики).

            Эта штука сохраняет в массив список адресов регионов памяти, к которым потребуется прямой доступ, а при mmap'е exynos-mem проверяет, к ним ли производится доступ.

            Как я понимаю, именно через такую схему (через маппинг памяти) работает приложение камеры (тот самый FIMC = full interactive mobile camera). Совсем правильным способом было бы исправить драйвер камеры.
  • –18
    Несмотря на корявый язык новости — «в файле, который работает с мобильными процессорами ..., обнаружена критическая уязвимость» — брр, звучит просто по-идиотски — файл работает с процессорами, новость просто фееричная — в супер-пупер смартфоне просто так лежит открытый доступ ко всей памяти, на чтение и запись, просто шикарно. Кто там говорил про безопасность? Андроид — это линукс, значит безопасно. Вот видим последствия такого подхода — корявые разработчики оставляют такие отверстия, просто идиотизм, фактически в данном случае уровень безопасности становится на один уровень с dos'ом, в котором вся память была общая. Слов нет просто.
    • +1
      Да что-же вы так убиваетесь? Вы же так не убьетесь…
      • 0
        Ого, первый раз вижу такой заминусованный свой комментарий, даже не ожидал, а следующий, с дополнением — в плюсах, забавно.
  • +15
    Более того. Судя по сообщениям в теме на XDA Samsung извещали об этой уязвимости: That was suggested to them months ago in the aftermath of the Superbrick disaster. А их реакция — идите нафиг: It was completely rejected within days. Беда, беда.
    • 0
      В том посте говорилось далеко не об этой уязвимости. Тут подробнее habrahabr.ru/company/apps4all/blog/162811/#comment_5600571
      • 0
        Согласен, там говорилось о том, что Самсунг не первый раз забивает — то есть ещё хуже, чем показалось сначала.
  • 0
    А ведь это почти вся флагманская линейка Samsung на ОС Android, «убийцы iPhone» и так далее. Фактически, лицо Google как владельца ОС(купленной вместе с разработчиком- Android Inc.). Может Гугл повлияет на Самсунг, что бы не позорили.
    • 0
      Гугломодели исправят, а остальные, скорее всего, нет.
      • 0
        Galaxy Nexus тоже подвержен? D:
        • 0
          Там OMAP же, не?
          • 0
            Да действительно. TI OMAP4460
  • +3
    А я как раз собрался S3 брать, спасибо что есть уже не официальный фикс :)

    Вообще даже как то странно, что такую, даже не дырку, а скорее огромные ворота открытые, никто из специалистов по безопасности не заметил раньше. Видимо такие «детские уязвимости» аля Unix 80ых, они уже даже и не пытаются искать, как видим зря.
    • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      Вполне вероятно, что кто-то не посто обратил внимание, но и вовсю потихоньку использовал. Рынок уязвимостей достаточно закрыт и на публику оттуда далеко не всё выходит.
  • +1
    Ну в общем Chainfire сделал на основе данной уязвимости apk которая сделает на вашем аппатаре root) Условие Exynos 4.
    Подробнее читаем тут forum.xda-developers.com/showthread.php?t=2050297
    P.S. А вообще подобные уязвимости есть во многих железках, например в айфонах начиная с 3GS джейл делался примерно таким способом (ну покрайней мере первая часть джейла).
    • +5
      К PS-у: у айфона в этом смысле «хороший PR» — все радуются дыркам, потому что это означает jailbreak, и мало кто думает, каким ужасом является появление сайтов вроде jailbreakme.com, который при обычном входе на него через браузер выполняет на айфоне код на уровне root'a (сначала через дырку в парсинге PDF попадая в userland, и потом пролезая в ядро через еще одну уязвимость). Фактически это означало, что при обычном щелчке по ссылке можно было получить себе на телефон руткит.
      • 0
        Я правильно понимаю, что данная беда свойственна iOS 5 и на 6-ке отсутствует, т.к. джейла под 6 ещё нет то и дыры нет? Спасибо.
        • 0
          эта дыра на iOS 4 была еще, нет разве?
        • 0
          Под 6 есть привязаный jail, пользуемся. Не из браузера, правда, но все же.
        • 0
          На пятерке, если мне память не изменяет, ремоутно через userland в ядро никто не влезал, тот подход работал на разных версиях 1-4 (да и на четверке Эппл ужаснулась и довольно быстро сделала апдейт к ОС). В своем большинстве джейл на айфоне требует физического подключения. Впрочем, после jailbreak'а фактически любое приложение из Cydia может оказаться шпионом.
  • НЛО прилетело и опубликовало эту надпись здесь
  • –1
    Забавно что человек, который нашел уязвимость, просто не нашел контакта в самсунге чтобы сообщить о ней, и пошел на full disclosure на xda… Надеюсь что Google Play сможет вовремя убирать приложения с эксплойтом.
  • 0
    Один раз это случайность( habrahabr.ru/post/152209), два это уже система.
  • +1
    Закрывающий уязвимость APK помог исправить ситуацию на SGS3 (i9300T). Кстати, о возможных проблемах с работой камеры (об этом предупреждает разработчик упомянутого APK): если прошит Custom ROM (вроде CyanogenMod, AOKP и т.п.) — камера (в т.ч. и фронтальная) не пострадает (что как-бы очевидно, т.к. большинство кастомных прошивок используют нативную камеру Android, в то время как страдает от закрытия уязвимости только «родная» камера оригинальной Samsung'овской прошивки).
    • +3
      Как мило. Какой-то «умничка» разработчик в самасунг не осилил нормальный интерфейс к камере и решил писать в память напрямую в духе DOS, как ему привычно. А то ведь linux какой-то, права, только мешаются. mem[] — наше всё :)

      Когда уже гугл обяжет ведоров выпускать аппараты с возможностью сноса всех ведорских свистелок?
  • –1
    К чему такой ажиотаж?
    Сколько видел андроидов на HTC, у всех так или иначе есть локальный root-эксплойт (а как иначе их рутовать?)
    Так что, обычное дело.
    • +1
      Обычно этот эксплоит требует всяких шаманств — USB-дебаггинг включенный, баловство с adb и т.д., а тут на тебе пожалуйста — любое приложение из маркета может читать и писать в любую область памяти, включая ядро, другие приложения и фактически вы этого никак не заметите, даже никаких пермишенов не будет, ну обои, например, живые будут сливать всю информацию и скрывать все следы этого. А ещё эта штука позволяет убить телефон намертво, не просто хорошенько, но оживляемо каким-нибудь jtagoм, а совсем намертво, только замена мат.платы поможет (по-крайней мере так на хда пишут и с этого весь шум и начался.)
      • 0
        usb-дебаг и ADB нужны лишь для того, чтобы доставить elf-файл на устройство и запустить его.
        Ничто не мешает приложению сохранить бинарник в /data/local/tmp и выполнить его, как это делают юзеры через adb shell

        Ну, а получив root, можно писать в любую облать памяти, загружать свои модули ядра.
        • 0
          То есть в андроиде приложение из маркета с нулевыми разрешениями может сохранить бинарник в /data/local/tmp, затем запустить его и система ничего не скажет и не сделает?
          • 0
            Именно так. На всякий случай проверил.
            Скачал Terminal Emulator из маркета и проверил, что без получения su-доступа можно создать файл в /data/local/tmp, выставить ему права на выполнение.

            /data/local/tmp взят для примера. У каждого приложения есть своя папка /data/data/{appname}/, доступная на запись.
    • 0
      вроде для Desire HD надо было прошивку downgrade-ить. Не просто локальный рут-эксплоит. Не так?
      • +1
        На DHD (как и на моём DZ) есть физическая защита системных разделов от записи (так называемый S-ON).

        На последнем ядре сначала мы запускаем root-эксплойт (psneuter или rage), который даёт нам root-права.
        Теперь доступны данные всех приложений и запись в /dev/block/mmcblkXX проходит без ошибки «нет доступа». Linux считает, что данные записаны. Однако, из-за аппаратной защёлки, записанные в системный раздел данные пропадают, как только устаревает кеш. Файлы в разделе /system и новое ядро установить нельзя.

        Есть старая прошивка, где S-ON-защёлка захлопнута не окончательно (раздел, который определяет режим S-ON/S-OFF при старте, не защищён от записи). Но старую версию установить нельзя, потому что можно только увеличивать номер текущей прошивки, а не уменьшать.

        С root-правами в последней прошивке мы можем подменить номер версии текущей прошивки, этот раздел не защищён от записи. И поставить старую прошивку, где защита сконфигурирована слабее. В ней снова запустить root-эксплойт, и уже отключить S-ON насовсем.

        То есть, зловредное приложение не сможет записаться в /system без даунгрейда версии, но может читать данные всех приложений и вообще хозяйничать в системе под рутом.
  • 0
    На Ноут2 на днях заходил в обновление, скачалось метров на 14 обновление, версия андроида осталась та же, может это фикс был или гнусмас до сих пор его не сделали?

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

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