Rust Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ срСд основнитС Π΅Π·ΠΈΡ†ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Android

Google обяви Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Rust срСд Π΅Π·ΠΈΡ†ΠΈΡ‚Π΅, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Android. Езиковият ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ Π½Π° Rust бСшС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² Π΄ΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π° изходния ΠΊΠΎΠ΄ Π½Π° Android ΠΏΡ€Π΅Π· 2019 Π³., Π½ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° Ρ‚ΠΎΠ·ΠΈ Π΅Π·ΠΈΠΊ остана СкспСримСнтална. Някои ΠΎΡ‚ ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° Rust, ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ΠΈ Π·Π° Android, Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ Π½ΠΎΠ²ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° мСТдупроцСсния ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π΅Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Binder ΠΈ Bluetooth стСка.

Π’ΡŠΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Rust бСшС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½ΠΎ ΠΊΠ°Ρ‚ΠΎ част ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π·Π° ΡƒΠΊΡ€Π΅ΠΏΠ²Π°Π½Π΅ Π½Π° сигурността, Π½Π°ΡΡŠΡ€Ρ‡Π°Π²Π°Π½Π΅ Π½Π° бСзопасни Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ ΠΈ повишаванС Π½Π° СфСктивността ΠΏΡ€ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΠ΅Ρ‚ Π² Android. ΠžΡ‚Π±Π΅Π»ΡΠ·Π²Π° сС, Ρ‡Π΅ ΠΎΠΊΠΎΠ»ΠΎ 70% ΠΎΡ‚ всички опасни уязвимости, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΈ Π² Android, са ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ΠΈ ΠΎΡ‚ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΠ΅Ρ‚. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Rust, ΠΊΠΎΠ΅Ρ‚ΠΎ сС фокусира Π²ΡŠΡ€Ρ…Ρƒ бСзопасността Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡ‚ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, Ρ‰Π΅ Π½Π°ΠΌΠ°Π»ΠΈ риска ΠΎΡ‚ уязвимости, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ΠΈ ΠΎΡ‚ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏ слСд освобоТдаванС ΠΈ ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π°.

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

Π’ Android бСзопасността Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° сС осигурява Π½Π° Π²Π΅Ρ‡Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈΡ‚Π΅ Π΅Π·ΠΈΡ†ΠΈ Kotlin ΠΈ Java, Π½ΠΎ Ρ‚Π΅ Π½Π΅ са подходящи Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° систСмни ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ високи Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ. Rust Π΄Π°Π²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° сС постигнС производитСлност, Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ Π΅Π·ΠΈΡ†ΠΈΡ‚Π΅ C ΠΈ C++, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° части ΠΎΡ‚ ниско Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π·Π° взаимодСйствиС с Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π°.

Π—Π° Π΄Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° сигурността Π½Π° ΠΊΠΎΠ΄Π° Π½Π° C ΠΈ C++, Android ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° изолация Π² ΠΏΡΡΡŠΡ‡Π½Π° срСда, статичСн Π°Π½Π°Π»ΠΈΠ· ΠΈ тСстванС Π½Π° fuzzing. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° изолацията Π½Π° ΠΏΡΡΡŠΡ‡Π½ΠΈΠΊΠ° са ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ ΠΈ са достигнали Π³Ρ€Π°Π½ΠΈΡ†Π°Ρ‚Π° Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ си (ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΡˆΠ½ΠΎΡ‚ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° процСси Π΅ Π½Π΅ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎ ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° рСсурси). ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡΡ‚Π° ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡΡΡŠΡ‡Π½Π° срСда Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ€Π΅ΠΆΠΈΠΉΠ½ΠΈ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ΠΎ ΠΎΡ‚ нСобходимостта ΠΎΡ‚ създаванС Π½Π° Π½ΠΎΠ²ΠΈ процСси, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ забавяния, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° IPC.

Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ sandbox Π½Π΅ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° уязвимоститС Π² ΠΊΠΎΠ΄Π°, Π° само намалява рисковСтС ΠΈ услоТнява Π°Ρ‚Π°ΠΊΠ°Ρ‚Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Сксплоатацията изисква ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅ Π½Π΅ Π½Π° Π΅Π΄Π½Π°, Π° Π½Π° няколко уязвимости. ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° тСстванС Π½Π° ΠΊΠΎΠ΄, са ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ Π΄ΠΎ Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ Π·Π° Π΄Π° сС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Ρ‚ Π³Ρ€Π΅ΡˆΠΊΠΈ, Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΡΡŠΠ·Π΄Π°Π΄Π°Ρ‚ условия, Π·Π° Π΄Π° сС прояви ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚. НС Π΅ възмоТно Π΄Π° сС покрият всички възмоТни ΠΎΠΏΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π³Ρ€Π΅ΡˆΠΊΠΈ остават нСзабСлязани.

Π—Π° систСмнитС процСси Π² Android Google сС ΠΏΡ€ΠΈΠ΄ΡŠΡ€ΠΆΠ° към β€žΠΏΡ€Π°Π²ΠΈΠ»ΠΎΡ‚ΠΎ Π½Π° Π΄Π²Π΅β€œ, спорСд ΠΊΠΎΠ΅Ρ‚ΠΎ всСки Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΊΠΎΠ΄ трябва Π΄Π° отговаря Π½Π° Π½Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ Π΄Π²Π΅ ΠΎΡ‚ Ρ‚Ρ€ΠΈ условия: Ρ€Π°Π±ΠΎΡ‚Π° с Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΈ Π²Ρ…ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° опасСн Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ (C/C++) ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π±Π΅Π· строга изолация Π½Π° ΠΏΡΡΡŠΡ‡Π½ΠΈΠΊΠ° (с повишСни ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ). Π’ΠΎΠ²Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°, Ρ‡Π΅ ΠΊΠΎΠ΄ΡŠΡ‚ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° външни Π΄Π°Π½Π½ΠΈ трябва ΠΈΠ»ΠΈ Π΄Π° бъдС Π½Π°ΠΌΠ°Π»Π΅Π½ Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ (ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½) ΠΈΠ»ΠΈ написан Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Π½ Π΅Π·ΠΈΠΊ.

Google няма Π·Π° Ρ†Π΅Π» Π΄Π° ΠΏΡ€Π΅Π½Π°ΠΏΠΈΡˆΠ΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ C/C++ ΠΊΠΎΠ΄ Π² Rust, Π½ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚ΠΎΠ·ΠΈ Π΅Π·ΠΈΠΊ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ² ΠΊΠΎΠ΄. Има смисъл Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Rust Π·Π° Π½ΠΎΠ² ΠΊΠΎΠ΄, Π·Π°Ρ‰ΠΎΡ‚ΠΎ статистичСски ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ Π³Ρ€Π΅ΡˆΠΊΠΈ сС появяват Π² Π½ΠΎΠ² ΠΈΠ»ΠΈ наскоро ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ ΠΊΠΎΠ΄. По-спСциално, ΠΎΠΊΠΎΠ»ΠΎ 50% ΠΎΡ‚ ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π² Android сС ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Ρ‚ Π² ΠΊΠΎΠ΄, написан ΠΏΡ€Π΅Π΄ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ‚ Π³ΠΎΠ΄ΠΈΠ½Π°.

Rust Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ срСд основнитС Π΅Π·ΠΈΡ†ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Android


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

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