Ọdịmma 25 dị na RTOS Zephyr, gụnyere ndị ririgbu site na ngwugwu ICMP

Ndị nyocha sitere na NCC Group bipụtara nsonaazụ nyocha oru efu Zephyr, na-emepe emepe Sistemụ arụ ọrụ n'ezie (RTOS), nke ezubere iji kwado ngwaọrụ ndị na-akwado echiche ịntanetị nke ihe (IoT, Internet of Things). N'oge nyocha ya ekpughere 25 adịghị ike na Zephyr na 1 adịghị ike na MCUboot. A na-emepụta Zephyr site na ntinye aka nke ụlọ ọrụ Intel.

Na mkpokọta, achọpụtara adịghị ike 6 na nchịkọta netwọkụ, 4 na kernel, 2 na shei iwu, 5 na ndị na-ahụ maka oku sistemụ, 5 na sistemụ USB na 3 na sistemụ mmelite firmware. E depụtara okwu abụọ dị oke egwu, abụọ dị elu, 9 dị oke oke, 9 dị ala, na 4 bụ maka ntụle. Nsogbu dị oke egwu na-emetụta nchịkọta IPv4 na mQTT parser, ndị dị ize ndụ na-emetụta ebe nchekwa USB na ndị ọkwọ ụgbọala DFU USB. N'oge mkpughe ozi, edozila ndozi naanị maka 15 n'ime adịghị ike kacha dị ize ndụ; nsogbu na-eduga n'ịjụ ọrụ ma ọ bụ jikọtara ya na mperi na usoro nchebe kernel ọzọ ka edozibeghị.

Achọpụtala ihe ọghọm dịpụrụ adịpụ na ngwugwu IPv4 nke ikpo okwu, nke na-eduga na nrụrụ aka ebe nchekwa mgbe a na-ahazi ngwugwu ICMP n'ụzọ ụfọdụ. Achọtara nsogbu ọzọ siri ike na parser protocol MQTT, nke kpatara enweghị nyocha ogologo ogologo nkụnye eji isi mee nke ọma ma nwee ike ibute ogbugbu koodu dịpụrụ adịpụ. A na-ahụ ngọnarị dị ntakịrị nke okwu ọrụ na ngwugwu IPv6 yana mmejuputa usoro CoAP.

Enwere ike iji nsogbu ndị ọzọ mee ihe na mpaghara iji mee ka ịgọnarị ọrụ ma ọ bụ mebie koodu na ọkwa kernel. Ọtụtụ n'ime adịghị ike ndị a metụtara enweghị nyocha ziri ezi nke arụmụka oku usoro, ma nwee ike iduga ebe nchekwa kernel na-ezighi ezi ka edere ma gụọ ya. Nsogbu ndị a na-agbasakwa na koodu nhazi oku nke sistemu n'onwe ya-ịkpọ nọmba oku na-adịghị mma na-ebute ọnụọgụ ọnụọgụgụ. kernel ahụ chọpụtakwara nsogbu na mmejuputa ASLR nchedo (adreesị oghere randomization) na usoro maka ịtọ akara canary na nchịkọta, na-eme ka usoro ndị a ghara ịdị irè.

Ọtụtụ nsogbu na-emetụta eriri USB na ndị ọkwọ ụgbọala n'otu n'otu. Dịka ọmụmaatụ, nsogbu dị na nchekwa oke USB nwere ike ime ka ihe nchekwa jufee wee mebie koodu na ọkwa kernel mgbe ejikọrọ ngwaọrụ ahụ na eriri USB nke onye na-awakpo na-achịkwa. Adịghị ike na USB DFU, onye ọkwọ ụgbọ ala maka ibufe firmware ọhụrụ site na USB, na-enye gị ohere ibunye onyonyo femụwe emezigharị n'ime Flash nke microcontroller na-ejighi izo ya ezo na gafere ọnọdụ buut echekwara na nkwenye nke akụrụngwa site na iji mbinye aka dijitalụ. Na mgbakwunye, a mụrụ koodu bootloader mepere emepe MCUboot, nke a chọtara otu adịghị ike,
nke nwere ike iduga oke njupụta mgbe ị na-eji SMP (Mfe Management Protocol) protocol n'elu UART.

Cheta na na Zephyr, ọ bụ naanị otu oghere adreesị zuru ụwa ọnụ nkekọrịta (SASOS, Single Address Space Operating System) ka enyere maka usoro niile. A na-ejikọta koodu akọwapụtara ngwa na kernel maka ngwa ka ọ mepụta monolithic executable nke enwere ike ibu ma rụọ ya na ngwaike akọwapụtara. A na-ekpebi akụrụngwa sistemụ niile n'oge a na-achịkọta, na-ebelata nha koodu yana ịrụ ọrụ na-abawanye. Onyonyo sistemụ nwere ike ịgụnye naanị njirimara kernel ndị achọrọ iji mee ngwa ahụ.

Ọ bụ ihe kwesịrị ịrịba ama na n'ime isi uru nke Zephyr kwuru mmepe na nchekwa n'uche. Ekwenyerena usoro mmepe niile na-enweta ọkwa dị mkpa nke ịkwado nchekwa nke koodu ahụ: nnwale na-enweghị atụ, nyocha static, ule ntinye, nyocha koodu, nyocha nke mmejuputa azụ na ime ihe iyi egwu.

isi: opennet.ru

Tinye a comment