Google задСйствовал Rust-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Hickory Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ радиомодуля смартфонов Pixel 10

Компания Google подСлилась ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ задСйствования Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ ΠΊ baseband-ΠΌΠΎΠ΄Π΅ΠΌΡƒ, поставляСмому Π² смартфонах Pixel 10, ΠΊΠΎΠ΄Π° Π½Π° языкС Rust. Код для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ DNS Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ Π·Π°ΠΌΠ΅Π½Ρ‘Π½ Π½Π° Rust-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ hickory-proto, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ DNS-сСрвСра Hickory, задСйствованного Π² инфраструктурС Let’s Encrypt.

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ hickory-proto Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ осущСствлСна Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Ρ‹ ΠΏΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ baseband-ΠΌΠΎΠ΄Π΅ΠΌΠ°. Π’ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ baseband-ΠΌΠΎΠ΄Π΅ΠΌΠ° имССтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ DNS, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² соврСмСнных сотовых сСтях, срСди ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈ пСрСадрСсации Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². ΠŸΡ€ΠΈ этом DNS являСтся слоТным ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΌ Ρ€Π°Π·Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΡ… ΠΈΠ· Π²Π½Π΅ ΠΈ Π½Π΅ Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… довСрия. Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ Ρƒ Google ΡƒΠΆΠ΅ Π±Ρ‹Π» ΠΎΠΏΡ‹Ρ‚ выявлСния уязвимостСй Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°Ρ… baseband-ΠΌΠΎΠ΄Π΅ΠΌΠ° устройств Pixel, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² 2024 Π³ΠΎΠ΄Ρƒ Π±Ρ‹Π»Π° Π½Π°ΠΉΠ΄Π΅Π½Π° ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ CVE-2024-27227, приводящая ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ Π±ΡƒΡ„Π΅Ρ€Π° ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹Ρ… DNS-ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ².

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ использованиС парсСра ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° DNS Π½Π° языкС Rust сократит ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Π°ΠΊΠΈ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ риск эксплуатации Ρ‡Π΅Ρ€Π΅Π· DNS Ρ†Π΅Π»ΠΎΠ³ΠΎ класса уязвимостСй, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… ошибками ΠΏΡ€ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ рассматриваСтся ΠΊΠ°ΠΊ базис для Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ внСдрСния Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π° Π½Π° языках, бСзопасно Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ.

Из ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большой Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚ΠΊΠ° Hickory-proto ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ рассчитана Π½Π° использованиС Π²ΠΎ встраиваСмых устройствах. Π Π°Π·ΠΌΠ΅Ρ€ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² составил 371KB, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… 350KB ΠΊΠΎΠ΄ Hickory-proto ΠΈ зависимостСй, 17KB β€” Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΈΠ· стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, 4KB β€” прослойка для использования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΎΡ‚ DNS-сСрвСров.

ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ для ΠΌΠΎΠ΄Π΅ΠΌΠ° устройств Pixel Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ 300KB ΡƒΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ ограничСния памяти, Π½ΠΎ для Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… встраиваСмых устройств Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для сокращСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΠΎΠ΄Π°. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π² Hickory-proto ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π»Π°Π³ΠΈ, ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ компиляции Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ