Китайская компания Allwinner занимается производством комплектующих для многих моделей недорогих Android-устройств, персональных компьютеров на платформе ARM и других устройств. Исследователи информационной безопасности обнаружили бэкдор в ядре Linux, которое со своей продукцией поставляет компания: он позволяет получить доступ к любому устройству с помощью одной простой команды.

В чем проблема


Для получения доступа к Android-устройствам, в софте которых содержится бэкдор, достаточно лишь отправить слово “rootmydevice” любому недокументированному отладочному процессу. В результате любой подобный процесс с любым UID может получить root-права:

echo "rootmydevice" > /proc/sunxi_debug/sunxi_debug

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

Немного истории


Изначально ядро Linux 3.4-sunxi было создано для поддержки операционной системы Android на планшетах, работающих на Allwinner ARM, однако впоследствии его стали использовать для портирования Linux на различные процессоры Allwinner — на них работают такие устройства, как Banana Pi micro-PC, Orange Pi и другие.



На форуме операционной системы Armbian модератор под ником Tkaiser отметил, что в случае «применения совместно с сетевыми сервисами, которые открывают доступ к /proc» возможна и удаленная эксплуатация бэкдора. Кроме того, специалист сообщил, что в настоящий момент ошибка безопасности содержится во всех образах ядра 3.4, использующегося на устройствах A83T, H3 и H8.

Эксперты Positive Technologies рекомендуют по возможности не использовать устройства, работающие под управлением ОС на базе версии ядра Linux 3.4-sunxi от Allwinner до выяснения всех деталей произошедшего.

Однако даже применение прошивок и устройств известных производителей также не гарантирует полной защищенности. В марте 2016 года стало известно о критической уязвимости маршрутизаторов Cisco Nexus 3000, позволявшей получать к ним удаленный доступ. Ранее в 2015 году уязвимость, позволяющая злоумышленникам получать доступ практически к любым данным, была найдена в ноутбуках Dell.

Кроме того, в феврале того же года стало известно о программе Superfish, которая с лета 2014 года поставлялась с ноутбуками Lenovo серий G, U, Y, Z, S, Flex, Miix, Yoga и E. Утилита прослушивала трафик, в том числе HTTPS, подделывала SSL-сертификаты сторонних сайтов, анализировала поисковые запросы пользователя и вставляла рекламу на страницы сторонних ресурсов. После скандала Lenovo выпустила официальное письмо, в котором признала проблему Superfish и представила различные способы удаления утилиты. Позднее сайт вендора был взломан хакерами из Lizard Squad — атака была совершена в отместку за создание программы Superfish.
Поделиться с друзьями
-->

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


  1. RZK333
    17.05.2016 14:11
    +18

    Эксперты Positive Technologies рекомендуют по возможности не использовать устройства, работающие под управлением ОС на базе версии ядра Linux 3.4-sunxi от Allwinner до выяснения всех деталей произошедшего.

    пожалуйста, по возможности, не рекомендуйте то, в чем не разбираетесь.

    Проблема существует в ведре которое поставлялось OEM-ам имплементирующим девайсы на A83T, H3 и H8. На всех остальных девайсах этой проблемы нет. В частности на народных A10/A13/A20 и например здесь https://github.com/cubieboard/CC-A80-kernel-source/tree/master/arch/arm/mach-sunxi тоже нет. Вы даже умудрились поставить фотографию планшета на A13 заглавной, буд-то бы на нем есть такая уязвимость.

    еще раз, на всякий случай:
    есть несколько версий ядер, устанавливаемых на устройства:
    1) OEM от Allwinner, разных версий. для A10-A20 было одно, для A31/33 было другое. Со временем, Allwinner выпустил свои новые SoC и именно в этой версии есть этот злополучный драйвер.
    2) ядро от сообщества linux-sunxi.org
    3) Ванильное ядро


    1. rstepanov
      17.05.2016 21:29
      -2

      Не надо так категорично писать, похоже, вы тоже не во всем разбираетесь.

      roman@orangepione:~$ cat /proc/sunxi_debug/sunxi_debug
      roman@orangepione:~$ id
      uid=1000(roman) gid=1000(roman) groups=1000(roman)
      roman@orangepione:~$ echo "rootmydevice" > /proc/sunxi_debug/sunxi_debug
      roman@orangepione:~$ id
      uid=0(root) gid=0(root) groups=0(root),1000(roman)
      roman@orangepione:~$ uname -a
      Linux orangepione 3.4.110-sun8i #18 SMP PREEMPT Tue Mar 8 20:03:32 CET 2016 armv7l GNU/Linux
      roman@orangepione:~$ cat /etc/deb
      debconf.conf    debian_version
      roman@orangepione:~$ cat /etc/debian_version
      8.4
      


      Это Armbian на Orange Pi One (Allwinner H3), нормальных ядер для этой платформы по состоянию где-то месяц назад не было, сейчас не в курсе.


      1. RZK333
        17.05.2016 22:25
        -1

        у вас ядро от вашего OEM, которому дал Allwinner его. в статье написано общее «не юзайте linux-3.4-sunxi» (которых минимум три разных версий разных годов для разных поколений SoC-ов).


        1. rstepanov
          17.05.2016 23:12

          В статье перечислены SoC, которых коснулась проблема. И таки да, если детально разбираться в каком патчсете есть проблема, а в каком нет — тут гораздо больше трех разных версий будет :) В Armbian уже поправили, в остальных — надо разбираться.


    1. sleeply4cat
      19.05.2016 19:21

      Т.е. одноплатники на, например, Orange Pi, могут быть с тем дефектным ядром?


  1. tvi
    19.05.2016 19:21
    +1

    «Уязвимость» была известна уже недели 2 точно (натыкался на неё). Почему Вы на неё обратили внимание только сейчас?) К тому же эта «уязвимость» создавалась для рутования.