25 vundeblecoj en RTOS Zephyr, inkluzive de tiuj ekspluatitaj per ICMP-pako

Esploristoj de NCC Group eldonita senpagaj projektaj reviziaj rezultoj Zephyr, evoluanta realtempa operaciumo (RTOS), celita al ekipado de aparatoj kiuj konformas al la koncepto de Interreto de Aĵoj (IoT, Interreto de Aĵoj). Dum la revizio ĝi estis malkaŝita 25 vundeblecoj en Zephyr kaj 1 vundebleco en MCUboot. Zephyr estas disvolvita kun la partopreno de Intel-kompanioj.

Entute, 6 vundeblecoj estis identigitaj en la reto-stako, 4 en la kerno, 2 en la komandŝelo, 5 en sistemaj alvokaj pritraktiloj, 5 en la USB-subsistemo kaj 3 en la firmware-ĝisdatigo-mekanismo. Du aferoj estas taksitaj kritikaj, du estas altaj, 9 estas moderaj, 9 estas malaltaj, kaj 4 estas por konsidero. Kritikaj problemoj influas la IPv4-stakon kaj la MQTT-analizaron, danĝeraj influas la USB-masan stokadon kaj USB-DFU-ŝoforojn. En la momento de informrivelo, korektoj estis preparitaj nur por 15 el la plej danĝeraj vundeblecoj; problemoj kondukantaj al neo de servo aŭ asociitaj kun difektoj en kromaj kernaj protektaj mekanismoj restas nekorektitaj.

Malproksime ekspluatebla vundebleco estis identigita en la IPv4-stako de la platformo, kiu kondukas al memorkorupto dum prilaborado de ICMP-pakaĵoj modifitaj laŭ certa maniero. Alia serioza problemo estis trovita en la MQTT-protokolo-analizilo, kiu estas kaŭzita de manko de taŭga kontrolo de la longo de la kaplinio kaj povas konduki al fora koda ekzekuto. Malpli severaj neo de servoproblemoj estas trovitaj en la IPv6-stako kaj la CoAP-protokola efektivigo.

Aliaj problemoj povas esti ekspluatitaj loke por kaŭzi neon de servo aŭ kodekzekuton ĉe la kernnivelo. La plej multaj el ĉi tiuj vundeblecoj rilatas al la manko de taŭgaj kontroloj de sistemvokaj argumentoj, kaj povas konduki al arbitraj areoj de kernmemoro skribitaj al kaj legitaj de. La problemoj ankaŭ etendiĝas al la sistemvoka pretigkodo mem - voki negativan sistemvokan numeron rezultigas entjeran superfluon. La kerno ankaŭ identigis problemojn en la efektivigo de ASLR-protekto (adresspaca hazardigo) kaj la mekanismon por metado de kanarimarkoj sur la stakon, igante tiujn mekanismojn neefikaj.

Multaj problemoj influas la USB-stakon kaj individuajn ŝoforojn. Ekzemple, problemoj en USB-masa stokado povas kaŭzi bufran superfluon kaj ekzekuti kodon ĉe la kernnivelo kiam la aparato estas konektita al USB-gastiganto kontrolita de la atakanto. Vulnerabileco en USB DFU, pelilo por ŝarĝi novan firmware per USB, ebligas al vi ŝargi modifitan firmvarbildon en la internan Flash de la mikroregilo sen uzi ĉifradon kaj preterpasi la sekuran lanĉan reĝimon kun konfirmo de komponantoj per cifereca subskribo. Aldone, la malferma ekŝargila kodo estis studita MCUboot, en kiu unu benigna vundebleco estis trovita,
kiu povas konduki al bufrosuperfluo dum uzado de la SMP (Simple Management Protocol) protokolo super la UART.

Memoru, ke en Zephyr, nur unu tutmonda komuna virtuala adresspaco (SASOS, Ununura Address Space Operating System) estas provizita por ĉiuj procezoj. Aplik-specifa kodo estas kombinita kun aplikiĝ-specifa kerno por formi monolitan ruleblan kiu povas esti ŝarĝita kaj funkcii per specifa aparataro. Ĉiuj sistemaj rimedoj estas determinitaj je kompilo, reduktante kodgrandecon kaj pliigante rendimenton. La sistembildo povas inkluzivi nur tiujn kernajn funkciojn, kiuj estas postulataj por ruli la aplikaĵon.

Estas rimarkinde, ke inter la ĉefaj avantaĝoj de Zephyr menciita evoluo kun sekureco en menso. Aprobitake ĉiuj stadioj de evoluo spertas devigajn stadiojn de konfirmado de la sekureco de la kodo: fuzzing-testado, senmova analizo, penetrotestado, kodrevizio, analizo de malantaŭporda efektivigo kaj minacmodeligado.

fonto: opennet.ru

Aldoni komenton