LINUX.ORG.RU

FreeRTOS содержит множественные уязвимости в TCP/IP стеке

 


3

4

FreeRTOS - это очень популярное real-time ядро для микроконтроллеров. Развивается более 15 лет, поддерживает очень широкий спектр устройств и является open source проектом.

Широко используется для таких устройств как температурные мониторы, бытовые приборы, фитнес-трекеры и многие другие, где используются микроконтроллеры.

Вот неполный перечень обнаруженных уязвимостей:

  • CVE-2018-16522 Remote Code Execution
  • CVE-2018-16525 Remote Code Execution
  • CVE-2018-16526 Remote Code Execution
  • CVE-2018-16528 Remote Code Execution
  • CVE-2018-16523 Denial of Service
  • CVE-2018-16524 Information Leak
  • CVE-2018-16527 Information Leak
  • CVE-2018-16599 Information Leak
  • CVE-2018-16600 Information Leak
  • CVE-2018-16601 Information Leak
  • CVE-2018-16602 Information Leak
  • CVE-2018-16603 Information Leak

>>> Подробности



Проверено: Shaman007 ()

А bugurtos подвержена этим уязвимостям?

utf8nowhere ★★ ()

поддерживает очень широкий спектр

А мельдаун?

anonymous ()
Ответ на: комментарий от anonymous

что мельдаун?

я имел ввиду «FreeRTOS supports more than 40 hardware platforms and powers microcontrollers» Market Leading, De-facto Standard and Cross Platform RTOS kernel.

Вот такой вот лидер промышленности по числу дыр.

Bobby_ ()

Широко используется для таких устройств как температурные мониторы, бытовые приборы, фитнес-трекеры и многие другие, где используются микроконтроллеры.

Интересно, будет ли все это добро обновлено когда дыры закроют (очевидно, нет).

micronekodesu ★★ ()
Ответ на: комментарий от micronekodesu

пока кому-нибудь пальцы мясорубкой не отрежет, не будут

Bobby_ ()

вроде во все времена юзали lwip в качетсве стека tcp/ip, новые вещи с tcp/ip пришли во freertos недавно с версией 10.01, поэтому не вижу причин паники.

mcu_by ()
Ответ на: комментарий от Bobby_

Да неужели. Уже обновили с закрытием этих дыр, о чём написано в вашей же новости. Не понял впрочем, зачем вы её цитировали. FreeRTOS - важная операционная система в своей области применения, но не имеет ничего общего с Linux.

Partisan ()

все таки главная задача freertos это ось с задачами реального времени, нативный tcp/ip стек для freertos понятно что сырой.

mcu_by ()
Ответ на: комментарий от Partisan

зачем вы её цитировали. FreeRTOS - важная операционная система в своей области применения

Потому что опенсорс (под лицензией MIT, вроде), как опенбсд и другие, новости про них появляются тут регулярно.

Bobby_ ()

А на обычном amd64 или ia32 она пойдёт? А там консолька есть какая-нибудь? А какие-нибудь иксы?

Xenius ★★★★★ ()
Ответ на: комментарий от Xenius

это просто rtos, там нету иксов, она для эмбеда, и в основном для микроконтроллеров

mcu_by ()
Ответ на: комментарий от mcu_by

ну вот OpenWRT тоже для эмбеда, иксов там может и нет, но вполне себе есть telnet, ssh и ash или даже bash при желании.

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

Xenius ★★★★★ ()

Ну это, короче, когда кофеварка начинает требовать бабло и отказывется кофе готовить?

slamd64 ★★★★ ()
Ответ на: комментарий от Xenius

это билд система для роутерев, там linux, а это rtos, у нее другие задачи), не нужно путать

mcu_by ()
Ответ на: комментарий от mcu_by

А я всё жду, когда кто-нибудь вкатит подобную ОС на смартфон вместо банального андроида. Хотя вроде как опыт по пришествию QNX на Blackberry признан неудачным...

hobbit ★★★★★ ()

зачем микроконтроллерам TCP (стек)? мультипасспорт?

darkenshvein ★★★★★ ()
Ответ на: комментарий от mcu_by

это билд система для роутерев, там linux, а это rtos, у нее другие задачи), не нужно путать.

Я и не путаю. Я интересуюсь, есть ли там какой-нибудь шелл в принципе или нет? Вот скажем у меня есть TV-приставка для цифрового ТВ, если вскрыть корпус, там виден UART и если к нему подцепиться, то там есть примитивная консоль, хоть там и не Linux. У меня был Dial-UP модем, если его подцепить по COM-порту то там есть консолька, хоть там и не линукс. Команды всякие типа ATI поддерживаются.

QNX тоже RTOS и там тоже есть консоль и всё прочее.

Что есть в FreeRTOS и юзер-интерфейсов?

Xenius ★★★★★ ()
Последнее исправление: Xenius (всего исправлений: 1)
Ответ на: комментарий от Xenius

Сама по себе она не POSIX-совместимая, так что обычный sh там сходу не заведётся, но там был враппер для POSIX API. Я не знаю, насколько он рабочий.

Если нужен POSIX, лучше сразу закладываться на ОС, в которой он есть.

devzero ()
Ответ на: комментарий от Xenius

А мой вопрос был про то, какой вообще юзер-интерфейс есть у конкретно этой ОС

Эта ОС предназначена для микроконтроллеров , а не для компьютеров, поэтому сама по себе не имеет интерфейса пользователя. Но для своего приложения, работающего в микроконтроллер, вы можете например создать веб-интерфейс (при условии, что это микроконтроллер каком-нибудь способом соединён с сетью).

Partisan ()

Дожили, RCE в микроконтроллере под недоОС, там же блин на половине код нельзя из RAM выполнить...

Baz ()
Ответ на: комментарий от Bobby_

она примитивнее чем в msdos раз в десять наверное

Ты ms dos видел вообще?

devzero ()
Ответ на: комментарий от Partisan

А почему в любом модеме интерфейс пользователя с командной строкой есть? Я думаю любой современный МК, тянущий эту FreeRTOS помощнее того что стояло в первых модемах Hayes.

Если нет командной строки. то как ты будешь устройство с этой ОС отлаживать, например перезапускать упавшую программу или хотя бы смотреть логи загрузки самой ОС?

Xenius ★★★★★ ()
Последнее исправление: Xenius (всего исправлений: 2)
Ответ на: комментарий от Xenius

uart на тв приставке это скорее промах схемотехников и pcb-шников) что они его там оставили, на низком уровне это uart, мы знаем что в линукс это через tty все проходит(в dts настраиваем), в чистом виде в freertos нет отдельной задачи которая решает задачу работы с консолью, но в любом микроконтроллере по умолчанию все используют uart (консоль) и часто его выносят в отдельный поток на freertos для отображение инфы или общения с девайсом

mcu_by ()
Ответ на: комментарий от Xenius

устройство с этой ОС отлаживать

jtag->хардверный отладчик->ide

Bobby_ ()
Ответ на: комментарий от Xenius

потому что freertos для мк в которых очень мало flash и ram, а нужено параллельное выполнение задач, плюс mcu не имеют mmu, а для линукса нужно mmu( я не беру в учет uglibc которая эмулирует работу mmu)

mcu_by ()
Ответ на: комментарий от darkenshvein

затем что mcu дешевле mpu, и девайс дешевлее получается

mcu_by ()
Ответ на: комментарий от Xenius

У FreeRTOS есть официальный фреймворк FreeRTOS Plus CLI. Правда сам интерпретатор ты должен написать сам.

Unicode4all ★★★★ ()
Ответ на: комментарий от mcu_by

плюс mcu не имеют mmu, а для линукса нужно mmu

А причём здесь линукс вообще? Про него речи и не шло. И как связан MMU с консолью? Вот в MS-DOS есть консоль, а работает она на i8086 без всякого MMU, да и в CP/M есть консоль, а она вообще на i8080/Z80 работает.

uart на тв приставке это скорее промах схемотехников и pcb-шников) что они его там оставили

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

Жаль правда в мобильниках он не всегда выведен...

Xenius ★★★★★ ()
Ответ на: комментарий от Unicode4all

У FreeRTOS есть официальный фреймворк FreeRTOS Plus CLI. Правда сам интерпретатор ты должен написать сам.

Вот сразу бы так и сказали. Но как отлаживать софт если нету JTAG? Например на многих одноплатниках с STM32 или AVR (типа Arduino), jtag хоть и выведен, но у большинства юзеров его нет

Xenius ★★★★★ ()
Ответ на: комментарий от Xenius

Но как отлаживать софт если нету JTAG?

выкинуть сразу эту идиотскую поделку

Bobby_ ()
Ответ на: комментарий от Xenius

Например на многих одноплатниках с STM32 или AVR (типа Arduino), jtag хоть и выведен, но у большинства юзеров его нет

кому надо разрабатывать приложения, у того есть всё, что для этого нужно. Что именно - описано в многочисленных руководствах. Не хотите разрабатывать приложения -ваше дело. Не имеет отношения к теме.

Partisan ()

А если использовать в FreeRTOS стек LwIP вместо FreeRTOS+TCP, никаких уязвимостей не будет, верно?

SZT ★★★ ()
Ответ на: комментарий от Xenius

Эта операционка для всяких ракет и кроссовок, с чипами в подошве. Какой тебе ssh :-)

menangen ★★★★★ ()
Ответ на: комментарий от micronekodesu

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

Deleted ()
Ответ на: комментарий от menangen

Вообще-то OpenSSH туда вполне можно засунуть, если взять какой-нибудь жирный STM32, только нафига он там нужен - это вопрос

SZT ★★★ ()
Ответ на: комментарий от Partisan

Да неужели. Уже обновили с закрытием этих дыр

Устройства с уязвимой ОС тоже обновили?

tailgunner ★★★★★ ()
Ответ на: комментарий от Deleted

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

Ну я сейчас вижу что большинство потребительских девайсов («бытовые приборы» из топика) с продвинутыми «мозгами» стараются подключать к интернетам, так что наличие там дыр как минимум ведет к тому что их можно включить в ботнет. Загасить, например, счетчики света\воды в доме потому что они с доступом в сеть чтоб ТСЖ собирало данные и при этом с дырами тоже повлечет большие проблемы (хотя для кого и профит). Так что если брать что-то вот прям узкоспециализированное и в вакууме то да, скорее всего они будут защищены просто потому что доступа к ним нет, но вообще мне кажется что потенциально эти уязвимости можно использовать на куче устройств, с которыми мы сталкиваемся каждый день.

Но я плохо знаком с «умными» девайсами, да и даже если бы столкнулся вряд ли смог бы сказать что за ОС ими управляет, так что скорее всего несу чепуху. Просто на мой взгляд если где-то находятся дыры, их должны устранять. Хотя и понимаю что «The s in IoT stands for security»

micronekodesu ★★ ()
Ответ на: комментарий от micronekodesu

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

Deleted ()
Ответ на: комментарий от micronekodesu

если бы столкнулся вряд ли смог бы сказать что за ОС ими управляет

В большинстве случаев никакой. Все эти контроллеры, которые совместимы с FreeRTOS, могут работать вообще без операционной системы.

Partisan ()
Ответ на: комментарий от hobbit

признан неудачным

Вроде же чисто по экономическим соображениям? Стоит она как космолёт => разработчиков мало => прикладного ПО мало и оно дорогое.

Так то, ходили толксы, что blackberry до андрюши жили в разы дольше от меньшей батарейки.

Ну и ещё момент - rtos системы они про отзывчивость и точные тайминги. Нафига в ui оба два, когда смотрит на них презренный хуманс со своими примитивными биологическими датчиками?

onhydro ()
Ответ на: комментарий от utf8nowhere

Это зависит от того, какой tcp/ip стек ты заюзаешь, как настроишь mpu и т.д.

BuguRTOS - это планировщик + аналог futex.

shkolnick-kun ★★★ ()
Последнее исправление: shkolnick-kun (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.