25 whakaraeraetanga i roto i te RTOS Zephyr, tae atu ki era i whakamahia ma te paatete ICMP

Nga Kairangahau mai i te Rōpū NCC whakaputaina hua arotake kaupapa kore utu Zephyr, whakawhanake he punaha whakahaere-waahi (RTOS), e whai ana ki te whakakii i nga taputapu e u ana ki te ariā Ipurangi o nga Mea (IoT, Internet of Things). I te wa o te arotake i kitea 25 whakaraeraetanga i Zephyr me te 1 whakaraeraetanga i MCUboot. Kei te whakawhanakehia a Zephyr me te whai waahi o nga kamupene Intel.

I roto i te katoa, 6 whakaraeraetanga i kitea i roto i te puranga whatunga, 4 i roto i te kernel, 2 i roto i te anga whakahau, 5 i roto i te kaikawe waea waea, 5 i roto i te USB subsystem me te 3 i roto i te tikanga whakahou firmware. E rua nga take e whakatauhia ana he mea tino nui, e rua he teitei, 9 he ngawari, 9 he iti, he 4 hei whakaarotanga. Ko nga raru nui ka pa ki te puranga IPv4 me te MQTT parser, ko nga mea kino ka pa ki te rokiroki papatipu USB me nga taraiwa USB DFU. I te wa o te whakapuakitanga o nga korero, kua whakaritea nga whakatikatika mo nga whakaraeraetanga tino kino 15 e arai ana ki te whakakore i te ratonga, ki nga hapa ranei i roto i etahi atu taputapu whakamarumaru kakano kare tonu i te whakatika.

Kua kitea he whakaraeraetanga mamao i roto i te taapu IPv4 o te papaaho, e arai ana ki te pirau mahara i te wa e tukatuka ana nga paatete ICMP i whakarereketia i runga i tetahi huarahi. Ko tetahi atu raruraru nui i kitea i roto i te MQTT kawa parser, na te kore o te arowhai i te roanga o te waahi pane, ka arahi ki te mahi waehere mamao. He iti ake te kaha o te whakakore i nga take ratonga ka kitea i roto i te puranga IPv6 me te whakatinanatanga kawa CoAP.

Ko etahi atu raruraru ka taea te whakamahi i te rohe ki te whakakore i te ratonga, ki te mahi waehere ranei i te taumata kernel. Ko te nuinga o enei whakaraeraetanga e pa ana ki te kore o nga arowhai tika o nga tohenga waea punaha, a tera pea ka uru ki nga waahi o te mahara kernel ka tuhia me te panui mai. Ka toro atu ano nga raru ki te waehere tukatuka waea punaha—ma te karanga i te nama waea punaha kino ka puta he waipuke tauoti. I tautuhia ano e te kernel nga raruraru i roto i te whakatinanatanga o te whakamarumaru ASLR (te waahi waahi korero) me te tikanga mo te whakatakoto tohu kanari ki runga i te puranga, ka kore e whai hua enei tikanga.

He maha nga raru ka pa ki te puranga USB me nga taraiwa takitahi. Hei tauira, ko nga raruraru i roto i te rokiroki papatipu USB ka taea te pupuhi i te parapara me te mahi i te waehere i te taumata kernel ina hono ana te taputapu ki tetahi kaihautu USB e whakahaeretia ana e te kaiwhaiwhai. Ko te whakaraeraetanga i roto i te USB DFU, he taraiwa mo te utaina i te firmware hou ma te USB, ka taea e koe te uta i tetahi whakaahua firmware kua whakarereketia ki roto i te Flash o roto o te microcontroller me te kore e whakamahi i te whakamunatanga me te karo i te aratau whawhai haumaru me te manatoko o nga waahanga ma te whakamahi i te waitohu mamati. I tua atu, i akohia te waehere bootloader tuwhera MCUboot, i kitea tetahi whakaraeraetanga pai,
ka taea te arai ki te puhake putunga ina whakamahi i te kawa SMP (Kawa Whakahaere Ngawari) i runga i te UART.

Kia maumahara kei Zephyr, kotahi anake te mokowā wāhitau mariko o te ao (SASOS, Pūnaha Whakahaere Mokowā Wāhitau Takitahi) ka whakaratohia mo nga tukanga katoa. Ka honohia te waehere tau-taupānga me te kakano motuhake-tono hei hanga i tetahi mahi monolithic ka taea te uta me te whakahaere i runga i nga taputapu motuhake. Ka whakatauhia nga rauemi punaha katoa i te wa whakahiato, ka whakaiti i te rahi o te waehere me te whakanui ake i nga mahi. Ko te ahua o te punaha ka taea anake te whakauru i nga ahuatanga kernel e hiahiatia ana hei whakahaere i te tono.

He mea nui kei roto i nga painga nui o Zephyr whakahuatia te whanaketanga me te whakaaro haumaru. WhakaaetiaKo nga waahanga whanaketanga katoa ka whai waahi ki te whakau i te haumarutanga o te waehere: te whakamaaramatanga, te tātaritanga pateko, te whakamatautau urunga, te arotake waehere, te tātaritanga o te whakatinanatanga o muri me te whakatauira riri.

Source: opennet.ru

Tāpiri i te kōrero