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

Π˜Π·ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΎΡ‚ NCC Group ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ…Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΎΠ΄ΠΈΡ‚ Π½Π° свободСн ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Zephyr, Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‰ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма Π² Ρ€Π΅Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ (RTOS), Π½Π°Ρ†Π΅Π»Π΅Π½Π° към осигуряванС Π½Π° устройства, ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰ΠΈ Π½Π° концСпцията "Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π½Π° Π½Π΅Ρ‰Π°Ρ‚Π°" (IoT). По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΎΠ΄ΠΈΡ‚Π° бяха установСни 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 mass storage позволява Π΄Π° сС ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° ΠΏΡ€Π΅Π»ΠΈΠ²Π°Π½Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° ΠΈ Π΄Π° сС изпълни ΠΊΠΎΠ΄ Π½Π° Π½ΠΈΠ²ΠΎ ядро, ΠΊΠΎΠ³Π°Ρ‚ΠΎ устройството Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎ към USB хост, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π½ΠΎ ΠΎΡ‚ нападатСля. Уязвимостта Π² USB DFU, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π·Π° ΠΊΠ°Ρ‡Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ² Ρ„ΡŠΡ€ΠΌΡƒΠ΅ ΠΏΠΎ USB, позволява Π΄Π° сС ΠΊΠ°Ρ‡ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ ΠΎΠ±Ρ€Π°Π· Π½Π° Ρ„ΡŠΡ€ΠΌΡƒΠ΅ Π² Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ Flash ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π±Π΅Π· ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ ΠΈ заобикалянС Π½Π° Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ стартиранС с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΏΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Π° подпис. Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ бСшС ΠΏΡ€ΠΎΡƒΡ‡Π΅Π½ ΠΊΠΎΠ΄ΡŠΡ‚ Π½Π° отворСния Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‡. MCUboot, Π² ΠΊΠΎΠΉΡ‚ΠΎ бСшС Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π° Π΅Π΄Π½Π° нСопасна уязвимост,
която ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡ€Π΅Π»ΠΈΠ²Π°Π½Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° SMP (Simple Management Protocol) ΠΏΡ€Π΅Π· UART.

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

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

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster