25 faʻafitauli i le RTOS Zephyr, e aofia ai i latou na faʻaaogaina e ala i se pusa ICMP

Tagata suʻesuʻe mai le NCC Group lomia fua su'ega su'ega galuega Zephyr, atiina ae o se faiga fa'aoga taimi moni (RTOS), e fa'atatau i le fa'aauupegaina o masini e ogatasi ma le Initaneti o Mea (IoT, Initaneti o Mea). I le taimi o le suʻega na faʻaalia 25 fa'aletonu i Zephyr ma le 1 vaivai i MCUboot. Zephyr o loʻo atinaʻe ma le auai o kamupani Intel.

I le aofaʻi, 6 faʻafitauli na faʻaalia i totonu o le upega o fesoʻotaʻiga, 4 i le fatu, 2 i le atigi faʻatonu, 5 i le telefoni feaveaʻi, 5 i le USB subsystem ma le 3 i le firmware update mechanism. E lua mataupu o loʻo faʻatatauina e taua, lua e maualuga, 9 e feololo, 9 e maualalo, ma le 4 e mo le iloiloina. O faʻafitauli ogaoga e aʻafia ai le IPv4 stack ma le MQTT parser, o mea mataʻutia e aʻafia ai le teuina o USB ma le USB DFU avetaʻavale. I le taimi o faʻamatalaga faʻamatalaga, na saunia mea faʻaleleia mo naʻo le 15 o faʻafitauli sili ona mataʻutia; faʻafitauli e taʻitaʻia ai le faʻafitia o le tautua poʻo fesoʻotaʻiga ma faʻaletonu i isi masini puipuia o fatu e tumau pea le le faʻasaʻoina.

O se fa'aletonu e mafai ona fa'aogaina mamao ua fa'ailoaina ile fa'aputuga o le IPv4, lea e o'o atu ai ile fa'aletonu ole manatua pe a fa'agaoioia pepa ICMP ua suia i se auala patino. O le isi faʻafitauli matuia na maua i le MQTT protocol parser, lea e mafua ona o le le lava o le siakiina o le umi o le ulutala ulutala ma e mafai ona oʻo atu ai i le faʻatinoina o code mamao. E itiiti le ogaoga o le fa'afitia o fa'afitauli o lo'o maua i le IPv6 stack ma le fa'atinoga o le fa'atinoga o le CoAP.

O isi fa'afitauli e mafai ona fa'aogaina i le lotoifale e mafua ai le fa'afitia o le tautua po'o le fa'atinoina o le code ile kernel level. O le tele o nei fa'afitauli e feso'ota'i ma le leai o se siaki lelei o fa'aupuga o le vala'au, ma e mafai ona ta'ita'iina atu ai i vaega fa'aletonu ole manatua ole fatu e tusi ma faitau mai ai. O fa'afitauli e o'o atu fo'i i le faiga o le fa'agaoioiga o le numera o le telefoni—o le vala'au i se numera le lelei o le vala'au e i'u ai i le tele o le numera. Na faailoa mai foi e le fatu ni faafitauli i le faatinoga o le puipuiga o le ASLR (address space randomization) ma le faiga mo le setiina o faailoga o le canary i luga o le faaputuga, ua le aoga ai nei faiga.

E tele fa'afitauli e a'afia ai le fa'aputuga USB ma ta'avale ta'itasi. Mo se faʻataʻitaʻiga, o faʻafitauli i le teuina o le USB e mafai ona mafua ai le faʻafefe o le paʻu ma faʻatino le code i le kernel level pe a fesoʻotaʻi le masini i se USB host e pulea e le osofaʻiga. O se faʻafitauli i le USB DFU, o se avetaʻavale mo le faʻapipiʻiina o firmware fou e ala i le USB, e mafai ai ona e utaina se ata faʻaleleia o le firmware i totonu o le Flash i totonu o le microcontroller e aunoa ma le faʻaogaina o faʻamatalaga ma le pasia o le faʻamaufaʻailoga faʻamaufaʻailoga ma faʻamaoniga o vaega e faʻaaoga ai se saini numera. E le gata i lea, na suʻesuʻeina le code bootloader tatala MCUboot, lea na maua ai se tasi o tulaga vaivai,
lea e mafai ona taʻitaʻia ai se paʻu faʻafefe pe a faʻaaogaina le SMP (Simple Management Protocol) protocol i luga ole UART.

Manatua i Zephyr, e na'o le tasi le lalolagi fefa'asoaa'i fa'asalalauga avanoa avanoa (SASOS, Single Address Space Operating System) e tu'uina atu mo faiga uma. O tulafono fa'apitoa e tu'ufa'atasia ma se fatu fa'apitoa e fa'atatau i talosaga e fai ai se monolithic executable lea e mafai ona utaina ma ta'avale i luga o masini fa'apitoa. O puna'oa uma o lo'o fa'amoemoeina i le taimi e tu'ufa'atasia ai, fa'aitiitia le tele o le code ma fa'ateleina le fa'atinoga. O le ata o le faiga e mafai ona aofia ai na'o vaega o le fatu e mana'omia e fa'atino ai le talosaga.

E maitauina o se tasi o mea taua o Zephyr ua taua atinae ma le saogalemu i le mafaufau. Faamaoniao laʻasaga uma o le atinaʻe e oʻo i laʻasaga faʻatulafonoina o le faʻamaonia o le saogalemu o le tulafono: suʻega fuzzing, suʻesuʻega faʻataʻitaʻi, suʻega faʻapipiʻi, iloiloga tulafono, auʻiliʻiliga o le faʻatinoga o tua ma faʻataʻitaʻiga taufaʻatau.

puna: opennet.ru

Faaopoopo i ai se faamatalaga