Исследователи информационной безопасности обнаружили опасную уязвимость в прошивке, которая используется на устройствах Cisco разных типов. Ошибка CVE-2019-1649 или Thrangrycat позволяет злоумышленникам устанавливать на маршрутизаторы, коммутаторы и межсетевые экраны бэкдоры.

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


Уязвимы продукты Cisco, поддерживающие функцию Trust Anchor module (TAm), которая используется для загрузки устройств в безопасном режиме (Secure Boot) – с 2013 года она включена в прошивки практически всех устройств enteprise-уровня.

Исследователям удалось обнаружить целый ряд недостатков проектирования в прошивке. В их результате злоумышленник может внести изменения в Trust Anchor module через модификацию FPGA bitstream, который никак не защищен и хранится во флеш-памяти, и загрузить вредоносный загрузчик.

Для проведения атаки злоумышленнику нужно получить root-права на устройстве. Поэтому в бюллетене безопасности специалисты Cisco отметили, что требуется также и локальный доступ к оборудованию. Однако исследователи, обнаружившие уязвимость Thrangrycat, на посвященном ей сайте объяснили, что возможна и удаленная эксплуатация – для этого хакер может использовать сначала RCE-уязвимость веб-интерфейса операционной системы Cisco IOS CVE-2019-1862.

Эта ошибка позволяет администратору исполнять случайные команды в оболочке Linux с root-правами. Поэтому использовав сначала ее, затем взломщику ничто не помешает эксплуатировать и уязвимость Thrangrycat.

Как защититься


Поскольку TAm – это модуль, использующийся напрямую в прошивке «железа», то исправить фундаментальную проблему безопасности обычным патчем не получится. В бюллетене Cisco сказано, что компания планирует выпустить патчи для прошивки.

Пример уязвимости Thrangrycat демонстрирует, что подход «безопасность через неясность», который используют многие разработчики оборудования, ставит под угрозу безопасность конечных пользователей. ИБ-специалисты не один год критикуют эту практику, однако это не мешает крупным производителям электроники под предлогом защиты интеллектуальной собственности требовать подписания соглашений о неразглашении для получения технической документации. Ситуация ухудшается из-за возрастающей сложности микросхем и интеграции в них различных проприетарных прошивок. Это фактически делает невозможным анализ таких платформ для независимых исследователей, что ставит под удар как обычных пользователей, так и производителей оборудования.

Помимо Cisco, примером возможных побочных эффектов принципа «безопасности через неясность» может служить технология Intel Management Engine (Intel ME), а также ее версии для серверных (Intel SPS) и мобильных (Intel TXE) платформ.

В четверг, 16 мая исследователи Positive Technologies Максим Горячий и Марк Ермолов расскажут, как используя недокументированные команды можно перезаписать память SPI flash и реализовать локальную эксплуатацию уязвимости в Intel ME (INTEL-SA-00086).

Участие в вебинаре бесплатно, необходима регистрация.

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


  1. vanyas
    15.05.2019 17:38

    Для проведения атаки злоумышленнику нужно получить root-права на устройстве

    Тоже мне уязвимость


    1. CodeRush
      15.05.2019 19:43

      Еще какая уязвимость, повышение привилегий от локального рута до полного, окончательного и бесповоротного контроля над устройством, включая его root-of-trust.


      1. JerleShannara
        16.05.2019 18:05

        Я правильно понял, что эта атака уровня «ваш корневой сертификат теперь заменён на наш/кроме вашего корневого сертификата теперь валиден и наш» и как результат вся цепочка secure boot натягивается без вазелина, если у вас циска?


        1. CodeRush
          16.05.2019 18:49

          Именно так, и даже веселее еще, потому что можно менять не только корневой сертификат, но и вообще все поведение корня доверия, причем там даже не код меняется как таковой, а FPGA bitstream. Всякое видел в своей жизни, но такое — в первый раз.


          1. JerleShannara
            16.05.2019 18:56

            Красота то какая, лЯпота. Мне, как разработчику на FPGA, это очень нравится. По сути дела получается, что подменив битстрим я вообще могу чуть ли не альтернативную прошивку в устройство поставить так, что фиг её обнаружить удастся. Или к едрени фене сделать из этого корня доверия встроенный «корень DDoS»


            1. CodeRush
              16.05.2019 19:08

              Непонятно, к чему этот FPGA подключен, так что собрать себе на нем NES и играть в Черного Плаща прямо на коммутаторе не получится, я думаю, но и без этого уже зашквар полный. С другой стороны, дизайн нормальной цепочки доверия — не хрен собачий, а реализация — и подавно, и потому можно тут смеяться над ними в кулак, пока внезапно не окажется, что у самих рыло в пуху.


              1. JerleShannara
                16.05.2019 19:17

                Мне не понятно одно — уже куча фирм налетали на клонирование китайцами их устройств. Причем от того, что битстрим на FPGA не был шифрованым/подписаным/была забыта установка бита запрета считывания прошивки. Почему в cisco не сделали шифрование прошивки такого важного узла, чем они думали, при учёте того, что шифрование битстрима уже сто лет в обед как есть в жЫрных FPGA, а с MAX10 оно и в дешевых CPLDшках даже появилось.
                Считать биткоины может там и не выйдет, но с учетом того, что через этот корень прокачивается прошивка, вполне можно реализовать атаку формата «щяс мы вам коммутатор вырубим», если у нему можно как-то постучаться из сети(к примеру «типа прилетело обновление прошивки».


                1. Brak0del
                  17.05.2019 06:18

                  Исходя из описания на Thrangrycat, рискну сделать следующие предположения и комментарии: 1. функциональность Trust Anchora достаточно мелкая, поэтому можно было обойтись дешёвой мелкой плисиной; 2. шифрование битстрима в дешёвых мелких FPGA есть сравнительно недавно, в тех же мелких спартанах 6 ещё не было. 3. Задача прямых манипуляций с битстримом FPGA раньше считалась не совсем тривиальной, в частности вендоры держат в секрете полный формат битстрима, и в диссерах мелькали только модификации самых базовых частей типа блочной памяти или содержимого некоторых LUT-блоков. Но к году 2017 её в принципе уже раскачали. 4. Просто подменить битстрим на другой вроде недостаточно, там ведь формат взаимодействия какой-то между устройствами, залочится ещё. Как я понял, фишка в том, что атакующие расхачили прошивку FPGA и смогли не копаясь в ней слишком глубоко (по их словам without RTL reconstruction) убрать или изменить критические проверки. Опять же, не то чтобы это совсем простая задача, имхо.