Awọn ailagbara 25 ni RTOS Zephyr, pẹlu awọn ti o lo nipasẹ apo-iwe ICMP kan

Oluwadi lati NCC Group atejade free ise agbese ayewo esi Zephyr, sese ẹrọ iṣẹ akoko gidi kan (RTOS), ti a pinnu lati pese awọn ẹrọ ti o ni ibamu pẹlu imọran Intanẹẹti ti Awọn nkan (IoT, Intanẹẹti ti Awọn nkan). Lakoko ayewo o ti ṣafihan 25 vulnerabilities ni Zephyr ati ailagbara 1 ni MCUboot. Zephyr ti wa ni idagbasoke pẹlu ikopa ti awọn ile-iṣẹ Intel.

Lapapọ, awọn ailagbara 6 ni a ṣe idanimọ ni akopọ nẹtiwọọki, 4 ninu ekuro, 2 ninu ikarahun aṣẹ, 5 ni awọn oluṣakoso ipe eto, 5 ni ipilẹ USB ati 3 ni ẹrọ imudojuiwọn famuwia. Awọn ọran meji jẹ pataki, meji ga, 9 jẹ iwọntunwọnsi, 9 jẹ kekere, ati 4 jẹ fun ero. Awọn iṣoro pataki ni ipa lori akopọ IPv4 ati olutọpa MQTT, awọn ti o lewu ni ipa lori ibi ipamọ ibi-USB ati awọn awakọ DFU USB. Ni akoko sisọ alaye, awọn atunṣe ti pese sile fun 15 nikan ti awọn ailagbara ti o lewu julọ; awọn iṣoro ti o yori si kiko iṣẹ tabi ni nkan ṣe pẹlu awọn abawọn ni awọn ọna aabo ekuro ni afikun ko wa ni atunṣe.

Ailagbara ti o lo nilokulo latọna jijin ti jẹ idanimọ ni akopọ IPv4 Syeed, eyiti o yori si ibajẹ iranti nigbati awọn akopọ ICMP ti yipada ni ọna kan. Iṣoro pataki miiran ni a rii ninu parser ilana Ilana MQTT, eyiti o ṣẹlẹ nipasẹ aini wiwa gigun aaye akọsori to dara ati pe o le ja si ipaniyan koodu latọna jijin. Kiko àìdá ti awọn ọran iṣẹ ni a rii ninu akopọ IPv6 ati imuse ilana Ilana CoAP.

Awọn iṣoro miiran le jẹ yanturu ni agbegbe lati fa kiko iṣẹ tabi ipaniyan koodu ni ipele ekuro. Pupọ julọ awọn ailagbara wọnyi ni ibatan si aini awọn sọwedowo to dara ti awọn ariyanjiyan ipe eto, ati pe o le ja si awọn agbegbe lainidii ti iranti ekuro ni kikọ si ati ka lati. Awọn iṣoro naa tun fa si koodu ṣiṣe ipe eto funrararẹ-pipe nọmba ipe eto odi awọn abajade ni odidi aponsedanu. Ekuro naa tun ṣe idanimọ awọn iṣoro ni imuse ti aabo ASLR (aileto aaye adirẹsi) ati ẹrọ lati ṣeto awọn aami canary lori akopọ, ṣiṣe awọn ọna ṣiṣe wọnyi ko munadoko.

Ọpọlọpọ awọn iṣoro ni ipa lori akopọ USB ati awọn awakọ kọọkan. Fun apẹẹrẹ, awọn iṣoro ni ibi ipamọ pupọ USB le fa ki o ṣabọ ṣiṣan silẹ ki o si ṣiṣẹ koodu ni ipele ekuro nigbati ẹrọ naa ba sopọ si agbalejo USB ti o ṣakoso nipasẹ ikọlu. Ailagbara ni USB DFU, awakọ kan fun ikojọpọ famuwia tuntun nipasẹ USB, ngbanilaaye lati gbe aworan famuwia ti a ti yipada sinu Filaṣi inu ti microcontroller laisi lilo fifi ẹnọ kọ nkan ati yago fun ipo bata to ni aabo pẹlu ijẹrisi awọn paati nipa lilo ibuwọlu oni nọmba kan. Ni afikun, ṣiṣi koodu bootloader ti ṣe iwadi MCUboot, ninu eyiti a ti rii ailagbara kan ti ko dara,
eyi ti o le ja si aponsedanu ifipamọ nigba lilo SMP (Ilana Isakoso Ilana) Ilana lori UART.

Ranti pe ni Zephyr, aaye adiresi foju pinpin agbaye kan ṣoṣo (SASOS, Eto Ṣiṣẹda Alafo Adirẹsi Kanṣo) ti pese fun gbogbo awọn ilana. Koodu kan pato ohun elo jẹ idapọ pẹlu ekuro-pato ohun elo lati ṣe imuṣiṣẹ monolithic kan ti o le ṣe kojọpọ ati ṣiṣẹ lori ohun elo kan pato. Gbogbo awọn orisun eto ni ipinnu ni akoko akopọ, idinku iwọn koodu ati iṣẹ ṣiṣe pọ si. Aworan eto le pẹlu awọn ẹya ekuro nikan ti o nilo lati ṣiṣẹ ohun elo naa.

O jẹ akiyesi pe laarin awọn anfani bọtini ti Zephyr darukọ idagbasoke pẹlu ailewu ni lokan. Ti fọwọsipe gbogbo awọn ipele ti idagbasoke gba awọn ipele dandan ti ifẹsẹmulẹ aabo koodu: idanwo iruju, itupalẹ aimi, idanwo ilaluja, atunyẹwo koodu, igbekale imuse ẹhin ati awoṣe irokeke.

orisun: opennet.ru

Fi ọrọìwòye kun