The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

В TCP/IP-стеке FreeRTOS выявлены уязвимости, приводящие к удалённому выполнению кода

10.12.2018 11:40

Раскрыта детальная информация о 13 уязвимостях, выявленных в ходе аудита TCP/IP-стека открытой операционной системы FreeRTOS, последнее время развиваемой компанией Amazon. Шесть уязвимостей потенциально позволяют организовать выполнение кода через отправку специально оформленных IP- и TCP-пакетов, а также сетевых запросов с использованием протоколов DNS, LLMNR и HTTPS. Восемь уязвимостей могут привести к утечке содержимого памяти процессов-обработчиков. Одна уязвимость может применяться для отравления кэша DNS (подстановки фиктивных значений).

ОС FreeRTOS поставляется под лицензией MIT и в основном применяется на различных микроконтроллерах, встраиваемых устройствах, системах промышленной автоматики и оборудовании интернета вещей (IoT). Уязвимости устранены начиная с выпуска 1.3.2, всем пользователям устройств на базе FreeRTOS рекомендуется срочно обновить прошивки или ограничить доступ к устройствам из внешних сетей. Проблемы также проявляются в TCP/IP-стеке WHIS Connect для проприетарных систем OpenRTOS и SafeRTOS, основанных на коде FreeRTOS.

  1. Главная ссылка к новости (https://blog.zimperium.com/fre...)
  2. OpenNews: FreeRTOS перешёл под крыло Amazon и выпущен под лицензией MIT
  3. OpenNews: Для развиваемой в Google ОС Fuchsia подготовлен графический интерфейс Armadillo
  4. OpenNews: В Google ведётся обсуждение возможной замены Android на ОС Fuchsia
  5. OpenNews: Выпуск свободной операционной системы реального времени Zephyr 1.8
  6. OpenNews: Проект postmarketOS приступил к созданию загрузчика и прошивки модема для смартфонов
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/49753-freertos
Ключевые слова: freertos, rtos, tcpip
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (59) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, iv (?), 11:47, 10/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +17 +/
    > проприетарных систем
    > OpenRTOS

    умеют называть проекты.

     
     
  • 2.2, Аноним (2), 11:50, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +12 +/
    В свете эпичности уязвмостей ирония более уместна в отношении названия SafeRTOS
     
     
  • 3.17, nonimus (?), 15:15, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Там просто знак пропущен в конце, из-за чего и недопонимание.

    Free RTOS!
    Open RTOS!
    Safe RTOS!

    т.е. Освободите! Откройте! За безопасный RTOS!
    Вполне уместные лозунги, вообще-то.

     
     
  • 4.20, Гит (?), 17:19, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это просто фишинг.
     
  • 3.49, Прохожий (??), 04:10, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Безопасность - это лишь иллюзия и самообман! С одной стороны - открытые исходные тексты позволяют активно дыры исправлять, а с другой - не менее активно уязвимость находить. :)
     
     
  • 4.57, Аноним (-), 16:36, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    The most dangerous time is whan you feel yourself safe...
     
  • 2.10, Аноним (10), 12:52, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +17 +/
    Есть еще вариант назвать систему PoRTOS. Единственное, что она будет делать - жрать ресурсы.

    (тонкий литературный юмор)

     
     
  • 3.15, Аноним (15), 14:37, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А в AtOS всё будет атомарно и при этом в логах она будет печально жаловаться на то, как ей тяжело?
     
     
  • 4.43, Аноним (-), 22:11, 11/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А Д'Артаньян по сценарию где появляется?
     
  • 3.16, Fracta1L (ok), 15:04, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А половина здешних комментаторов работает под управлением d'Artagnan
     
     
  • 4.30, имя (?), 18:35, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    99.999999999999999999999999% тогда уж. Раз я Дартаньян, а все остальные - известно кто.
     
  • 2.11, имя (?), 13:07, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    OpenVMS ещё есть, настолько же «открытая».
     
     
  • 3.14, fi (ok), 14:11, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ну в те времена даже интерфейсы выданные пользователям уже делали систему Open…. А вот попробовал бы ты тогда под QNX сделать свой драйвер! Все драйверы делала компания под заказ ну и за понятные деньги.
     
     
  • 4.44, Аноним (-), 22:18, 11/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот поэтому у меня отрос заказик заменить громадный ПЦ с этим непотребством на мелкий арм с линухом :). Там вообще все драйверы готовые, никакого реалтайма там на самом деле никому не надо, и вообще я не понимаю как и почему они долбанулись настолько чтобы туда qnx запихать. Походу у людей была эйфория с переизбытка инвесторовских денег, или типа того.
     
  • 3.25, Школьник (ok), 18:14, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    SCO OpenServer еще когда-то была, столь же "открытая"
     
  • 2.12, nobody (??), 13:41, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Хотел про название LibreRTOS пошутить, а оно и правда есть такое...
     
  • 2.32, Аноним (32), 18:55, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    http://nic.open
     

  • 1.3, Michael Shigorin (ok), 11:51, 10/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Н-да, так недолго превратиться в Real-Time Operating Malware...
     
  • 1.5, Аноним (5), 12:10, 10/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    С BuguRTOS'ом то всё нормально?)
     
     
  • 2.6, Аноним (6), 12:16, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Да вообще лучшая ОС, надеюсь там нет этой уязвимости.
     
  • 2.9, Аноним (9), 12:42, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Надо понимать, что и FreeRTOS, и BuguRTOS - это всего лишь довольно простые (ну, не совсем) функции для диспетчеризацией потоков, примитивов синхронизации, управления памятью. А не ОС как это можно представить себе по типу Linux или какой-нибудь QNX.

    FreeRTOS распух, ибо понапихали туда всего из-за популярности. Но он не перестал быть больше похож на SDK или фреймворк, чем ОС. Сабжевый сетевой стек там опционален, на самом деле, многие его отключают, или заменяют на LWIP.

    Но уязвимости эпичные, да :) На всяких необновляемых IoT устройствах это далеко не последние продолбы

     
     
  • 3.33, Cradle (?), 19:25, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    вообще-то нужно довольно сильно головой удариться чтобы на сабж https ставить, и tcp/ip стек там не то что бы отключают, его там обычно включают только по особым празникам, потому что система предназначена для контроллеров совсем другого уровня. А так, если берут 1$ контроллер и пихают туда tcp/ip + https, то это скорее признак или большой жабы, или еще какого кривомыслия разработчиков, но пользоваться этим все равно врядли кто сможет. Потому что за 2$ (в серии) уже можно взять SoC с человеческим arm/mips для линуха и не париться.
     
     
  • 4.34, Аноним (34), 20:50, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > 2$ (в серии) уже можно взять SoC с человеческим arm/mips для линуха

    Это где ж такое щястье?

     
     
  • 5.37, Forth (ok), 22:21, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    ar9331 правда партией по пять штук хотя бы.
     
     
  • 6.45, Аноним (-), 22:22, 11/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > ar9331 правда партией по пять штук хотя бы.

    А ты его потребление видел, пардон? Сабж запускают на совем микроконтроллерах - и там с управлением питанием сильно лучше чем в 9331. Так что реально даже от батареек какое-то более вмняемое время работать. А с 9331... ну в общем это разные весовые категории, даже не конкуренты толком.

     
     
  • 7.51, Cradle (?), 13:01, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    да, оно самое ar9331 например, если в серии, да и оллвинеры если не самые последние тоже по таким ценам идут, у нас как-то по R16 предложение было. Речь о том что если вам нужен tcp/ip + https, да еще и от батареек, то умнее взять SoC на котором уже можно нормальный линух поставить, чем извращаться с мелюзгой. Или брать толстые PIC32 или STM32 по ценам в 2-3 раза выше. И в большинстве случаев tcp/ip и https нужен там где есть стационарное питание, или automotive.
     
     
  • 8.54, Аноним (54), 14:18, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    С точки зрения простоты разработки и менее кривых протоколов и кучи фич - да А ... текст свёрнут, показать
     
  • 7.60, Forth (ok), 20:31, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> ar9331 правда партией по пять штук хотя бы.
    > А ты его потребление видел, пардон?

    Конечно видел. Это же не мешает его использовать, если нет требований по автономности питания.
    > Сабж запускают на совем микроконтроллерах -
    > и там с управлением питанием сильно лучше чем в 9331. Так
    > что реально даже от батареек какое-то более вмняемое время работать. А
    > с 9331... ну в общем это разные весовые категории, даже не
    > конкуренты толком.

    У нас в компании бывает берут и ar9331, если питание не батарейное и надо что-то недорогое, толстое и на Linux. Между прочим одна из причин как раз такие грабли с безопасностью.

     
  • 4.36, Аноним (36), 22:18, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего безумного в использовании tcp/ip+https на микроконтроллере нет. Сети и шифрование - оно всегда нужно, даже на девайсах, которые работают годами на батарейке. Альтернативные более простые протоколы, конечно, тоже есть, но их использование не всегда оправдано.
     
     
  • 5.47, Аноним (47), 22:57, 11/12/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ничего безумного в использовании tcp/ip+https на микроконтроллере нет.

    Кроме того что это дофига кода. Довольно большого и сложного. И конечно же это не вытоптанная поляна, в отличие от какого-нибудь линя с openssl-ем.

    Поэтому вот вам глючная и кастрированная реализация монструозного протокола, а заодно пачку вулнов впридачу. Это к легиону багов в комплект, которые вылезут если попытаться взаимодействовать с более-менее произвольными серверами по этому самому. А если сервер не произвольный - то, пожалуй, tcp/ip+https далеко не лучшая идея на свете.

     
  • 4.40, Alatar (??), 13:29, 11/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я бы сказал напротив, головой надо удариться, что бы ставить SoC с человеческим arm/mips для линуха, к которому снаружи надо ещё внешний флеш и ДДР ставить, развесистый PMIC и прочую не менее развесистую обвзяку, там где надо всего лишь снять данные с пары сенсоров и отправить их на сервер. Ведь это решение будет не только на порядок дороже по компонентам, это автоматом требует минимум четырёхслойку с нормами порядка 0.1/0.1 и более дорогой монтаж (линукс-пригодных SoC-ов в не-BGA корпусах можно по пальцам пересчитать, а про SoC-ки со встроенной памятью я вообще всего пару раз в жизни слышал). Кроме того, человеческий Линукс будет грузиться примерно на два порядка дольше и повышать уровень сложности инфраструктуры разработки/деплоя в несколько раз. Про разницу в энергопотреблении вообще лучше даже не думать.
     
     
  • 5.46, Аноним (47), 22:53, 11/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вон allwinner сделал мультичип с 64 мегом DRAM Это правда для видеорегистрат... большой текст свёрнут, показать
     
     
  • 6.48, Michael Shigorin (ok), 23:55, 11/12/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот тут было занятно, спасибо :)
     
  • 6.50, Alatar (??), 12:19, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну ок, про китайцев соглашусь - я при разработке как-то их обычно не рассматрива... большой текст свёрнут, показать
     
     
  • 7.55, Аноним (-), 15:29, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну а я вот встретил это в весьма приличном эмбедовочном применении Олимекс, кон... большой текст свёрнут, показать
     
     
  • 8.61, Alatar (??), 00:23, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    О да, индусский код обвзяки от STM это страшно Это одна из причин, почему я их ... большой текст свёрнут, показать
     
  • 5.52, Cradle (?), 13:31, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > там где надо всего лишь снять данные с пары сенсоров и отправить их на сервер

    все правильно, только IMHO это как раз тот случай когда tcp/ip, tls и https не оправданы и с батарейным питанием не совместимы, а если в каком-то случае без них никак, то скорее всего ошибка в дизайне всей системы.
    Тоже если что ембедовку для iot разрабатываю, немного в курсе, но могу конечно и не знать что-то.

     
     
  • 6.62, Alatar (??), 00:32, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    https совершенно не оправдан, это я согласен полностью. TCP/IP - можно придумать юзкейс, хотя как правило он в подобных системах реализован на уровне внешней железки. А вот TLS очень даже оправдан. С учётом того, что сейчас в большинстве контроллеров аппаратное шифрование, он становиться вполне доступным по ресурсам.
     
     
  • 7.63, Forth (ok), 10:35, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > https совершенно не оправдан, это я согласен полностью. TCP/IP - можно придумать
    > юзкейс, хотя как правило он в подобных системах реализован на уровне
    > внешней железки. А вот TLS очень даже оправдан. С учётом того,
    > что сейчас в большинстве контроллеров аппаратное шифрование, он становиться вполне доступным
    > по ресурсам.

    TLS много памяти ест, с процессором обычно особых проблем нет, Cortex M4 тот же очень быстрая машина.
    Память-то вся SRAM обычно, никакого DDR.

     
  • 2.22, пятачок (?), 18:02, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    C бугуртом все норм, но в проектах предпочитаю использовать самописную РТОС.
     
  • 2.24, Аноним (24), 18:10, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А BolgenRTOS ещё не зарелизился? ;)
     

  • 1.8, Аноним (8), 12:39, 10/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    https://github.com/aws/amazon-freertos/releases/tag/v1.3.2
    v1.3.2
    tagged this on Aug 23
     
     
  • 2.35, Аноним (35), 21:49, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/aws/amazon-freertos/blob/master/CHANGELOG.md

    1.4.4

     

  • 1.18, Аноним (18), 16:44, 10/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    One does not simply write a network stack.
     
  • 1.19, Гит (?), 17:17, 10/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ось для хом которые тащат зонды в свои проекты.
     
     
  • 2.21, pavlinux (ok), 17:31, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Поспорим на  250000$, что в твоих проектах найду под сотню дыр, десяток из них со сливом конфед.
     
     
  • 3.23, A.Stahl (ok), 18:09, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У тебя нет таких денег.
     
     
  • 4.27, pavlinux (ok), 18:26, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > У тебя нет таких денег.

    Слух, ущeрбный, что ты делаешь на IT ресурсе? У тебя примитивная логика даже не развита.

     
     
  • 5.31, A.Stahl (ok), 18:37, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >У тебя примитивная логика даже не развита.

    А у тебя, похоже, развита только она.


     
  • 3.26, annual slayer (?), 18:15, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    лол, даже для хромоге дырки столько не стоят
     
     
  • 4.28, pavlinux (ok), 18:27, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > лол, даже для хромоге дырки столько не стоят

    $$$3.1415 млн. приз вроде.

     
     
  • 5.29, annual slayer (?), 18:31, 10/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    тогда не понятно, зачем ты тут на мелочи размениваешься
     
     
  • 6.39, Аноним (39), 09:38, 11/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это же pavlinux, он иначе-то и не умеет.
     
  • 3.38, Аноним (38), 08:10, 11/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Срок? Что считать "моим" проектом? (Пойдет ли проект где я разработчик, при этом он открытый) Что ты понимаешь под сливом конфед.? Т.к. проект уровня сабжа как раз, и в самом себе не содержит данных узера, как ты понимаешь. Т.е. по факту я бы тебя нанял скажем на пару месяцев за 25к для нахождения 100 дыр. Если будет меньше - то, вероятно, тебе придется заплатить 25к :) Ну, может сойдемся на нулях, если хотя бы десяток дыр найдешь.
     
     
  • 4.58, pavlinux (ok), 17:00, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >  я бы тебя нанял  скажем на пару месяцев за 25к для нахождения 100 дыр.

    Так чего скучаем? Пишем, нанимаем!  

     

  • 1.41, Аноним (41), 15:32, 11/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Где желающие переписать FreeRTOS на хрусте? Только оно на целевые архитектуры, боюсь, после не влезет.
     
     
  • 2.53, Cradle (?), 13:34, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    даже наверное и влезет, только что это даст? В таких багах обычно виноваты руки, а не язык.
     
     
  • 3.56, Аноним (-), 16:33, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Даст оно ложную уверенность очередного теоретика по типу Ordu в какой-то сферической безопасности в вакууме. А я ему пожелаю со своей стороны накодить себе на своем фетише хотя-бы автопилот/систему стабилизацит чего-нибудь летучего или скоростного.

    И критерий тестов безопасности будет крайне прост. Если система не размажет своего автора за обозримое время - QC passed :)

     
     
  • 4.59, Анонн (?), 17:07, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Даст оно ложную уверенность очередного теоретика по типу Ordu в какой-то сферической безопасности в вакууме.

    А ложная она, потому что все, в чем анон не сечет - фигня, внимания не стоящая.

    > А я ему пожелаю со своей стороны накодить себе на своем фетише хотя-бы автопилот/систему стабилизацит чего-нибудь летучего или скоростного.

    Если опеннетные писатели автопилотов не в курсе целой кучи методов верификации для разработки критичных частей софта, то это однозначно говорит о том, что этих методов не существует и ими никто не пользуется!

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру