
Autor: Přemysl Vaculík; Zdroj: Dotekomanie.cz
V roce 2017 Google oficiálně zveřejnil, že aplikace pro Android mohou být psány v jazyce Kotlin, který má české kořeny. Dnes se jedná o upřednostňovaný jazyk a Java je spíše na druhém místě. Neočekáváme, že by se v tomto ohledu něco zásadního změnilo a pravděpodobně si počkáme roky na představení dalšího jazyku pro vývojáře. Google ale začíná na jiné úrovní používat jazyka Rust.
Rust v Androidu
Operační systém Android převážně využívá jazyky C a C++. Ty už něco pamatují, což se také odráží na jejich bezpečnosti. Jsou zde problémy s hledáním chyb a také mohou za značnou část bezpečnostních děr, které jsou mnohdy spojeny se správou paměti. Už samotné objevení chyby je jedna část problému. Oprava je zcela něco jiného. Vývojáři musí hledat velmi komplikovaná řešení, která využívají tzv. sandboxing, což je tak trochu zapouzdření dané části kódu. Bohužel to spotřebovává prostředky, což může vést ke zpomalení.
Řešením těchto problémů by byl přechod na jiný jazyk, ale to se jednodušeji řekne, než udělá. Přepsání celého Androidu do nového jazyka by bylo velmi nákladné a zdlouhavé. Místo toho se Google rozhodl pro přepisování některých částí, zejména těch, kde je nutné vytvořit bezpečnější prostředí.
K tomuto účelu Google použil jazyk Rust, který má více bezpečnostních mechanismů a dokáže lépe předcházet zranitelnostem. Navíc i po objevu chyby není nutné dělat sandbox, takže je efektivnější. V tuto chvíli jsou v Rustu napsány části jako nastavení, moduly pro Bluetooth nebo Keystore 2.0. Dokonce Googlu používá tento jazyk i u novějšího systému Fuchsia OS.
Zatím se neplánuje představení NDK (Native Development Kit) a stále jsou hlavními jazyky C, C++, Java a Kotlin. Google celý proces využívání Rust začal před mnoha měsíci a bude zřejmě trvat ještě několik let. V tomto ohledu není dobré něco uspěchat, ale dá se předpokládat, že se postupem času začne snižovat počet objevených zranitelností. Respektive jejich nalezení bude velmi komplikované pro útočníky. Na nějaké zhodnocení si ale budeme muset počkat.
Zdroj: xda-developers.com

Komentáře