Udhaifu 25 katika RTOS Zephyr, pamoja na wale walionyonywa kupitia pakiti ya ICMP.

Watafiti kutoka NCC Group iliyochapishwa matokeo ya ukaguzi wa mradi bila malipo Zephyr, zinazoendelea mfumo wa uendeshaji wa wakati halisi (RTOS), unaolenga kuandaa vifaa vinavyotii dhana ya Mtandao wa Mambo (IoT, Mtandao wa Mambo). Wakati wa ukaguzi ilibainika 25 udhaifu katika Zephyr na 1 hatarishi katika MCUboot. Zephyr inaendelezwa kwa ushiriki wa makampuni ya Intel.

Kwa jumla, udhaifu 6 ulitambuliwa kwenye safu ya mtandao, 4 kwenye kernel, 2 kwenye ganda la amri, 5 kwenye vidhibiti simu vya mfumo, 5 kwenye mfumo mdogo wa USB na 3 kwenye utaratibu wa kusasisha firmware. Masuala mawili yamekadiriwa kuwa muhimu, mawili ni ya juu, 9 ni ya wastani, 9 ni ya chini, na 4 ni ya kuzingatiwa. Matatizo muhimu yanaathiri mkusanyiko wa IPv4 na kichanganuzi cha MQTT, hatari huathiri hifadhi kubwa ya USB na viendeshi vya USB DFU. Wakati wa ufichuzi wa maelezo, marekebisho yalikuwa yametayarishwa kwa ajili ya udhaifu 15 hatari zaidi tu; matatizo yanayosababisha kunyimwa huduma au kuhusishwa na dosari katika mbinu za ziada za ulinzi wa kernel bado hazijasahihishwa.

Athari inayoweza kutekelezwa kwa mbali imetambuliwa katika rafu ya IPv4 ya jukwaa, ambayo husababisha uharibifu wa kumbukumbu wakati wa kuchakata pakiti za ICMP zilizobadilishwa kwa njia fulani. Tatizo jingine kubwa lilipatikana katika kichanganuzi cha itifaki ya MQTT, ambacho husababishwa na ukosefu wa ukaguzi wa urefu wa sehemu ya kichwa na inaweza kusababisha utekelezaji wa msimbo wa mbali. Masuala machache ya kunyimwa huduma yanapatikana katika rafu ya IPv6 na utekelezaji wa itifaki ya CoAP.

Shida zingine zinaweza kutumiwa ndani ili kusababisha kukataliwa kwa huduma au kutekeleza nambari kwenye kiwango cha kernel. Nyingi za udhaifu huu unahusiana na ukosefu wa ukaguzi sahihi wa hoja za simu za mfumo, na unaweza kusababisha maeneo holela ya kumbukumbu ya kernel kuandikwa na kusomwa kutoka. Matatizo pia yanaenea hadi kwenye msimbo wa kuchakata simu yenyewe-kupiga nambari ya simu ya mfumo hasi husababisha kufurika kabisa. Kokwa pia ilibainisha matatizo katika utekelezaji wa ulinzi wa ASLR (ubadilishaji nafasi ya anwani) na utaratibu wa kuweka alama za canary kwenye stack, na kufanya mifumo hii kutofanya kazi.

Matatizo mengi huathiri stack ya USB na madereva binafsi. Kwa mfano, matatizo katika hifadhi ya wingi ya USB yanaweza kusababisha kufurika kwa bafa na kutekeleza msimbo katika kiwango cha kernel wakati kifaa kimeunganishwa kwa seva pangishi ya USB inayodhibitiwa na mvamizi. Udhaifu katika USB DFU, kiendeshi cha kupakia firmware mpya kupitia USB, hukuruhusu kupakia picha ya programu dhibiti iliyorekebishwa kwenye Flash ya ndani ya kidhibiti kidogo bila kutumia usimbaji fiche na kupitisha modi salama ya kuwasha na uthibitishaji wa vipengee kwa kutumia saini ya dijiti. Zaidi ya hayo, msimbo wa bootloader wazi ulijifunza MCUboot, ambapo udhaifu mmoja mbaya ulipatikana,
ambayo inaweza kusababisha kufurika kwa bafa wakati wa kutumia itifaki ya SMP (Itifaki ya Usimamizi Rahisi) juu ya UART.

Kumbuka kwamba katika Zephyr, nafasi moja tu ya anwani pepe ya pamoja ya kimataifa (SASOS, Mfumo wa Uendeshaji wa Nafasi ya Anwani Moja) hutolewa kwa michakato yote. Msimbo mahususi wa programu huunganishwa na kerneli maalum ya programu ili kuunda kitekelezo cha monolithic ambacho kinaweza kupakiwa na kuendeshwa kwenye maunzi mahususi. Rasilimali zote za mfumo huamuliwa kwa wakati wa kukusanya, kupunguza ukubwa wa msimbo na kuongeza utendaji. Picha ya mfumo inaweza kujumuisha tu vipengele vya kernel ambavyo vinahitajika ili kuendesha programu.

Ni muhimu kukumbuka kuwa kati ya faida kuu za Zephyr zilizotajwa maendeleo kwa kuzingatia usalama. Imeidhinishwakwamba hatua zote za maendeleo hupitia hatua za lazima za kuthibitisha usalama wa kanuni: upimaji wa fuzzing, uchambuzi wa tuli, upimaji wa kupenya, uhakiki wa kanuni, uchambuzi wa utekelezaji wa nyuma na mfano wa vitisho.

Chanzo: opennet.ru

Kuongeza maoni