25 рањивости у РТОС Зепхир-у, укључујући оне које се користе преко ИЦМП пакета

Истраживачи из НЦЦ групе објављено бесплатни резултати ревизије пројекта Зефир, развијање оперативни систем у реалном времену (РТОС), који има за циљ опремање уређаја који су у складу са концептом Интернета ствари (ИоТ, Интернет оф Тхингс). Током ревизије је откривено 25 рањивости у Зепхир-у и 1 рањивост у МЦУбоот-у. Зепхир се развија уз учешће компанија Интел.

Укупно је идентификовано 6 рањивости у мрежном стеку, 4 у кернелу, 2 у командној љусци, 5 у руковаоцима системским позивима, 5 у УСБ подсистему и 3 у механизму за ажурирање фирмвера. Два питања су оцењена као критична, два су висока, 9 су умерена, 9 су ниска, а 4 су за разматрање. Критични проблеми утичу на ИПв4 стек и МКТТ парсер, опасни утичу на УСБ масовну меморију и УСБ ДФУ драјвере. У време обелодањивања информација, исправке су биле припремљене за само 15 најопаснијих рањивости; проблеми који доводе до ускраћивања услуге или су повезани са недостацима у додатним механизмима заштите кернела остају неисправљени.

У ИПв4 стеку платформе идентификована је рањивост која се може даљински искористити, што доводи до оштећења меморије приликом обраде ИЦМП пакета модификованих на одређени начин. Још један озбиљан проблем је пронађен у парсеру МКТТ протокола, који је узрокован недостатком одговарајуће провере дужине поља заглавља и може довести до удаљеног извршавања кода. Мање озбиљни проблеми са ускраћивањем услуге налазе се у ИПв6 стеку и имплементацији ЦоАП протокола.

Други проблеми се могу локално искористити да изазову ускраћивање услуге или извршавање кода на нивоу кернела. Већина ових рањивости повезана је са недостатком одговарајућих провера аргумената системског позива и може довести до тога да се у произвољне области меморије кернела уписују и читају. Проблеми се такође протежу на сам код за обраду системског позива — позивање негативног броја системског позива доводи до прекорачења целог броја. Кернел је такође идентификовао проблеме у имплементацији АСЛР заштите (рандомизација адресног простора) и механизма за постављање канаринских ознака на стек, чинећи ове механизме неефикасним.

Многи проблеми утичу на УСБ стек и појединачне драјвере. На пример, проблеми у УСБ масовној меморији могу да изазову преливање бафера и извршавање кода на нивоу кернела када је уређај повезан на УСБ хост који контролише нападач. Рањивост у УСБ ДФУ, драјверу за учитавање новог фирмвера преко УСБ-а, омогућава вам да учитате модификовану слику фирмвера у интерни Фласх микроконтролера без коришћења шифровања и заобилажења режима безбедног покретања са верификацијом компоненти помоћу дигиталног потписа. Поред тога, проучаван је отворени код покретача МЦУбоот, у којој је пронађена једна бенигна рањивост,
што може довести до преливања бафера када се користи СМП (Симпле Манагемент Протоцол) протокол преко УАРТ-а.

Подсетимо се да је у Зепхир-у обезбеђен само један глобални дељени виртуелни адресни простор (САСОС, Сингле Аддресс Спаце Оператинг Систем) за све процесе. Код специфичан за апликацију се комбинује са језгром специфичним за апликацију да би се формирао монолитни извршни фајл који се може учитати и покренути на одређеном хардверу. Сви системски ресурси се одређују у време компајлирања, смањујући величину кода и повећавајући перформансе. Слика система може укључивати само оне карактеристике кернела које су потребне за покретање апликације.

Важно је напоменути да је међу кључним предностима Зепхира поменуто развој са безбедношћу на уму. Одобренода све фазе развоја пролазе кроз обавезне фазе потврђивања сигурности кода: фуззинг тестирање, статичка анализа, тестирање пенетрације, преглед кода, анализа бацкдоор имплементације и моделирање претњи.

Извор: опеннет.ру

Додај коментар