25 уязвимости Π² RTOS Zephyr, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ‚Π΅Π·ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Ρ‡Ρ€Π΅Π· ICMP ΠΏΠ°ΠΊΠ΅Ρ‚

Π˜Π·ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΎΡ‚ NCC Group ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΎ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ ΠΎΡ‚ ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π—Π΅Ρ„ΠΈΡ€, Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‰ΠΈ сС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ (RTOS), насочСна към ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½Π΅ Π½Π° устройства, ΠΊΠΎΠΈΡ‚ΠΎ отговарят Π½Π° концСпцията Π·Π° Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π½Π° Π½Π΅Ρ‰Π°Ρ‚Π° (IoT, Internet of Things). По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° Π΅ установСно 25 уязвимости Π² Zephyr ΠΈ 1 уязвимост Π² MCUboot. Zephyr сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° с участиСто Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡ‚Π΅ Π½Π° Intel.

Бяха ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΈ ΠΎΠ±Ρ‰ΠΎ 6 уязвимости Π² мрСТовия стСк, 4 Π² ядрото, 2 Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°, 5 Π² ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° систСмни повиквания, 5 Π² USB подсистСмата ΠΈ 3 Π² ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€Π°. Π”Π²Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° са ΠΎΡ†Π΅Π½Π΅Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΈ, Π΄Π²Π° са високи, 9 са ΡƒΠΌΠ΅Ρ€Π΅Π½ΠΈ, 9 са ниски ΠΈ 4 са Π·Π° Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅. ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ засягат IPv4 стСка ΠΈ MQTT Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°, опаснитС засягат USB масовото Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΈ USB DFU Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈΡ‚Π΅. По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€Π°Π·ΠΊΡ€ΠΈΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° информацията бяха ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ само Π·Π° 15 ΠΎΡ‚ Π½Π°ΠΉ-опаснитС уязвимости; ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, Π²ΠΎΠ΄Π΅Ρ‰ΠΈ Π΄ΠΎ ΠΎΡ‚ΠΊΠ°Π· Π½Π° услуга ΠΈΠ»ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈ Π² Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π° Π½Π° ядрото, остават Π½Π΅ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ΠΈ.

Π’ IPv4 стСка Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π° уязвимост, която ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ‚ разстояниС, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΏΠΎΠ²Ρ€Π΅Π΄Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ICMP ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΈ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π½Π°Ρ‡ΠΈΠ½. Π”Ρ€ΡƒΠ³ сСриозСн ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ бСшС ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ Π² Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° MQTT, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ ΠΎΡ‚ липса Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π΄ΡŠΠ»ΠΆΠΈΠ½Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ»Π΅Ρ‚ΠΎ Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠ°Ρ‚Π° ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ дистанционно изпълнСниС Π½Π° ΠΊΠΎΠ΄. По-ΠΌΠ°Π»ΠΊΠΎ Ρ‚Π΅ΠΆΠΊΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с ΠΎΡ‚ΠΊΠ°Π· Π½Π° услуга сС срСщат Π² IPv6 стСка ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° CoAP.

Π”Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Сксплоатирани Π»ΠΎΠΊΠ°Π»Π½ΠΎ, Π·Π° Π΄Π° причинят ΠΎΡ‚ΠΊΠ°Π· Π½Π° услуга ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΡ‚ ΠΊΠΎΠ΄ Π½Π° Π½ΠΈΠ²ΠΎ ядро. ΠŸΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ уязвимости са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с липсата Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° систСмнитС повиквания ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π°Ρ‚ Π΄ΠΎ записванС ΠΈ Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ области ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° ядрото. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ сС простират ΠΈ Π΄ΠΎ самия ΠΊΠΎΠ΄ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° систСмно ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ - ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»Π΅Π½ Π½ΠΎΠΌΠ΅Ρ€ Π½Π° систСмно ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° цяло число. Π―Π΄Ρ€ΠΎΡ‚ΠΎ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡ€ΠΈ внСдряванСто Π½Π° ASLR Π·Π°Ρ‰ΠΈΡ‚Π° (рандомизация Π½Π° адрСсното пространство) ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠ°Π½Π°Ρ€Ρ‡Π΅Ρ‚Π° Π² стСка, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ Ρ‚Π΅Π·ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π½Π΅Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΈ.

Много ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ засягат USB стСка ΠΈ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈΡ‚Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ. НапримСр ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ Π² USB ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° причинят ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° ΠΈ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΡ‚ ΠΊΠΎΠ΄ Π½Π° Π½ΠΈΠ²ΠΎ ядро, ΠΊΠΎΠ³Π°Ρ‚ΠΎ устройството Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ към USB хост, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π½ ΠΎΡ‚ атакуващия. Уязвимост Π² USB DFU, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π½ΠΎΠ² Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€ ΠΏΡ€Π΅Π· USB, Π²ΠΈ позволява Π΄Π° Π·Π°Ρ€Π΅Π΄ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€Π° във Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½Π°Ρ‚Π° Flash Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Π°, Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ ΠΈ заобикаляйки Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ² подпис. ОсвСн Ρ‚ΠΎΠ²Π° бСшС ΠΏΡ€ΠΎΡƒΡ‡Π΅Π½ ΠΊΠΎΠ΄ΡŠΡ‚ Π½Π° отворСния Π±ΡƒΡƒΡ‚Π»ΠΎΡƒΠ΄ΡŠΡ€ MCUboot, Π² ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΎΡ‚ΠΊΡ€ΠΈΡ‚Π° Π΅Π΄Π½Π° доброкачСствСна уязвимост,
ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° SMP (Simple Management Protocol) ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΏΡ€Π΅Π· UART.

Π‘ΠΏΠΎΠΌΠ½Π΅Ρ‚Π΅ си, Ρ‡Π΅ Π² Zephyr Π·Π° всички процСси Π΅ прСдоставСно само Π΅Π΄Π½ΠΎ Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ сподСлСно Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΎ адрСсно пространство (SASOS, Single Address Space Operating System). БпСцифичният Π·Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΊΠΎΠ΄ сС ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π° със спСцифично Π·Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ядро, Π·Π° Π΄Π° сС ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π΅Π½ изпълним Ρ„Π°ΠΉΠ», ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π·Π°Ρ€Π΅ΠΆΠ΄Π° ΠΈ изпълнява Π½Π° спСцифичСн Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€. Всички систСмни рСсурси сС опрСдСлят ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅, намалявайки Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΊΠΎΠ΄Π° ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°ΠΉΠΊΠΈ производитСлността. БистСмният ΠΎΠ±Ρ€Π°Π· ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° само Ρ‚Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° ядрото, ΠΊΠΎΠΈΡ‚ΠΎ са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° стартиранС Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.

Врябва Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ срСд основнитС прСдимства Π½Π° Zephyr спомСнати Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ с ΠΎΠ³Π»Π΅Π΄ Π½Π° бСзопасността. ΠžΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΎΡ‡Π΅ всички Π΅Ρ‚Π°ΠΏΠΈ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Ρ‚ ΠΏΡ€Π΅Π· Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΈ Π΅Ρ‚Π°ΠΏΠΈ Π½Π° ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π°Π²Π°Π½Π΅ Π½Π° сигурността Π½Π° ΠΊΠΎΠ΄Π°: fuzzing тСстванС, статичСн Π°Π½Π°Π»ΠΈΠ·, тСст Π·Π° ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ²Π°Π½Π΅, ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° ΠΊΠΎΠ΄Π°, Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π·Π°Π΄Π½Π°Ρ‚Π° Π²Ρ€Π°Ρ‚ΠΈΡ‡ΠΊΠ° ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Π·Π°ΠΏΠ»Π°Ρ…ΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€