25 ann an RTOS Zephyr, a’ toirt a-steach an fheadhainn a chaidh an cleachdadh tro phasgan ICMP

Luchd-rannsachaidh bho NCC Group foillsichte Toraidhean sgrùdaidh pròiseact a saor an asgaidh Zephyr, a' leasachadh siostam obrachaidh fìor-ùine (RTOS), a tha ag amas air innealan uidheamachadh a tha a rèir bun-bheachd Internet of Things (IoT, Internet of Things). Rè an sgrùdaidh chaidh fhoillseachadh 25 so-leòntachd ann an Zephyr agus so-leòntachd 1 ann am MCUboot. Tha Zephyr ga leasachadh le com-pàirt chompanaidhean Intel.

Gu h-iomlan, chaidh so-leòntachd 6 a chomharrachadh anns a’ chruach lìonra, 4 anns an kernel, 2 san t-slige àithne, 5 ann an làimhseachadh gairm siostam, 5 san fho-shiostam USB agus 3 anns an uidheamachd ùrachadh firmware. Tha dà chùis air an rangachadh deatamach, tha dhà àrd, 9 meadhanach, 9 ìosal, agus tha 4 airson beachdachadh. Bidh duilgheadasan èiginneach a’ toirt buaidh air stac IPv4 agus am parser MQTT, bidh feadhainn cunnartach a’ toirt buaidh air mòr-stòradh USB agus draibhearan USB DFU. Aig àm foillseachaidh fiosrachaidh, cha deach fuasglaidhean ullachadh ach airson 15 de na so-leòntachd as cunnartaiche; tha duilgheadasan a tha a’ leantainn gu diùltadh seirbheis no co-cheangailte ri lochdan ann an dòighean dìon kernel a bharrachd fhathast gun cheartachadh.

Chaidh so-leòntachd a ghabhas cleachdadh air astar a chomharrachadh ann an stac IPv4 an àrd-ùrlar, a tha a’ leantainn gu coirbeachd cuimhne nuair a thathar a’ giullachd phasganan ICMP air an atharrachadh ann an dòigh shònraichte. Chaidh fìor dhuilgheadas eile a lorg ann am parser protocol MQTT, a tha air adhbhrachadh le dìth sgrùdadh ceart fad raon cinn agus a dh’ fhaodadh leantainn gu coileanadh còd iomallach. Tha cùisean diùltadh seirbheis nach eil cho dona rim faighinn anns a’ chruach IPv6 agus ann am buileachadh protocol CoAP.

Faodar brath a ghabhail air duilgheadasan eile gu h-ionadail gus seirbheis a dhiùltadh no còd a chuir an gnìomh aig ìre kernel. Tha a’ mhòr-chuid de na so-leòntachd sin co-cheangailte ri dìth sgrùdaidhean ceart air argamaidean gairm siostaim, agus faodaidh seo leantainn gu raointean neo-riaghailteach de chuimhne kernel a bhith air an sgrìobhadh gu agus air an leughadh. Tha na duilgheadasan cuideachd a’ leudachadh gu còd giollachd gairm an t-siostaim fhèin - le bhith a’ gairm àireamh gairm siostam àicheil a’ leantainn gu tar-shruth iomlan. Chomharraich an kernel cuideachd duilgheadasan ann a bhith a’ buileachadh dìon ASLR (tuairmeas àite seòlaidh) agus an dòigh airson comharran canary a shuidheachadh air a’ chruach, a’ fàgail nan dòighean sin neo-èifeachdach.

Bidh mòran dhuilgheadasan a’ toirt buaidh air a’ chruach USB agus air draibhearan fa leth. Mar eisimpleir, faodaidh duilgheadasan ann an mòr-stòradh USB a bhith ag adhbhrachadh thar-shruth bufair agus còd a chuir an gnìomh aig ìre kernel nuair a tha an inneal ceangailte ri aoigheachd USB fo smachd an neach-ionnsaigh. Tha so-leòntachd ann an USB DFU, draibhear airson firmware ùr a luchdachadh tro USB, a’ leigeil leat ìomhaigh firmware atharraichte a luchdachadh a-steach do Flash a-staigh an microcontroller gun a bhith a ’cleachdadh crioptachadh agus a’ dol seachad air a ’mhodh bròg tèarainte le dearbhadh co-phàirtean a’ cleachdadh ainm-sgrìobhte didseatach. A bharrachd air an sin, chaidh an còd bootloader fosgailte a sgrùdadh MCUboot, anns an d' fhuaradh aon so-leòntachd neo-lochdach,
a dh’ fhaodadh leantainn gu tar-shruth bufair nuair a bhios tu a’ cleachdadh protocol SMP (Simple Management Protocol) thairis air an UART.

Cuimhnich nach eil ann an Zephyr ach aon àite seòlaidh brìgheil co-roinnte cruinneil (SASOS, Siostam Obrachaidh Àite Seòladh Singilte) air a thoirt seachad airson a h-uile pròiseas. Tha còd sònraichte airson tagradh air a chur còmhla ri kernel a tha sònraichte do thagradh gus gnìomh monolithic a chruthachadh a ghabhas luchdachadh agus a ruith air bathar-cruaidh sònraichte. Tha a h-uile goireas siostam air a dhearbhadh aig àm cruinneachaidh, a’ lughdachadh meud còd agus ag àrdachadh coileanadh. Chan fhaod ìomhaigh an t-siostaim a bhith a’ toirt a-steach ach na feartan kernel sin a tha riatanach gus an tagradh a ruith.

Bu chòir a thoirt fa-near gu bheil am measg nam prìomh bhuannachdan aig Zephyr air ainmeachadh leasachadh le sàbhailteachd san amharc. Aontaichtegum bi a h-uile ìre leasachaidh a’ dol tro ìrean èigneachail ann a bhith a’ dearbhadh tèarainteachd a’ chòd: deuchainn fuasglaidh, mion-sgrùdadh statach, deuchainn treòrachaidh, ath-sgrùdadh còd, mion-sgrùdadh air buileachadh cùl-raon agus modaladh bagairt.

Source: fosgailtenet.ru

Cuir beachd ann