Memóriabiztonságra alapuló operációs rendszer lett az Android 13


Már több mint egy évtizede köztünk van az Android. Rengeteget változott a kezdeti időszakhoz képest. Most a látvány világa helyett a programkódra vetíteném a görcsöt, ugyanis Jeffrey Vander Stoep írt egy nagyon jó cikket a Google Security oldalára, amit vétek lenne figyelmen kívül hagyni, mert rengeteg hasznos információt nyújt a felhasználóknak. Kezdésképpen pl.: azt, hogy memóriasebezhetőség jelenti a legnagyobb fejtőrést a fejlesztőknek, illetve ez az a kiskapu, amelyen a hackerek többsége nagyon sokszor beslisszannak. Az Android 13 azonban újat mutatott az előző generációkhoz képest, melynek erényeire fel is hívja a figyelmet.

Az Android biztonsági közleményében olvasható, hogy a VRP-n (Vulnerability Rewards Program) keresztül jelentett kritikus, illetve nagyobb hangsúlyú sebezhetőségek bejelentési száma az elmúlt Android változatokhoz képest jelentősen lecsökkent. Kár lenne figyelembe venni az Android 13-ét, hiszen javában dübörög a frissítési hulláma a legtöbb készüléknél, viszont a tendenciát remekül mutatja, hogy az Android 10-hez képest az Android 12-nél lefeleződött mindez.

A memóriabiztonsági rései éves viszonylatban.
Forrás: Google

A visszaesés hátterében az egyes felhasznált programozási nyelvek elmozdulása áll. Ergo, a fejlesztők próbálták háttérbe helyezni azokat a programrészeket, amelyek a memóriát nem védik. Ezért is büszék arra, hogy az Android 13 az első olyan Android-kiadás, amelyben a hozzáadott új kódok többsége memóriabiztonságos nyelv.

Csak hogy értsétek, kicsit magyarosabb megfogalmazásban ez azt jelenténé, hogy próbálták a legnagyobb mértékben elhagyni azokat a programozási nyelveket, amelyek memóriabiztonsági réseket hagyhattak az operációs rendszerbe. Míg 2019-ben 76%-on állt ez a mutató, addig 2022-ben sikerült bőven a felére, 35%-ra redukálni, ami az Android 13 érdeme. A cikk írója persze felhívja az olvasó figyelmét, hogy nem feltétlenül jelenthet ok-okozati összefüggést az új kódok használata a sebezhetőségi ráta csökkenésével, de nagy bizonyossággal közrejátszhat a sikerében.

Anno egy igen érdekes blogbejegyzésben ki is tértek a Rust nyelv előnyeire, azaz miért kell ezt az új kódnyelvre összpontosítaniuk, nem pedig a meglévő összetevők újraírására. (Ha tehetitek, olvassátok át.) Azt se szabad elfeledni, hogy jelentős befektetések történtek a nem-biztonságos nyelvek fejlesztésénél, és mégsem lett látványos javulás a mostanihoz mérten.

Az Android 12-nél történt meg a nagy bejelentés, miszerint a Rust programozási nyelv támogatását élvezheti az operációs rendszer, amely a C és a C++ memóriabiztos alternatívájaként fogható fel. Azóta az Android Open Source Project (AOSP) keretében rengeteg időt és energiát fektettek, hogy minél tökéletesebb legyen a Rust-élmény és annak felhasználhatósága.

Ki is emelték, hogy a céljaik között nem az volt priorításban, hogy a C/C++ nyelvet lecseréljék Rust-r, hanem inkább az, hogy idővel az új kódok fejlesztését a memóriabiztos nyelvekre tereljék. Mint azt a következő diagramm is jól mutatja, az Android 11-nél több mint 90%-ot tett ki a C/C++ nyelvek használata, addig az Android 13-nál ez lecsökkent 80% körüli értékre, hogy egészen pontos legyek, a Rust 21%-ot ragad ki abból a bizonyos tortából a kezdeti pár %-hoz képest.

Ami pedig külön öröm:

„A mai napig nulla memóriabiztonsági sérülékenységet fedeztek fel az Android Rust kódjában.”

Az elmúlt Android-verziók nyelvi összetétele.

Természetesen ők se számítanak arra, hogy ez az érték örök időre nulla marad, de figyelembe véve az új Rust kód mennyiségét két Android kiadás között, és a biztonsági szempontból érzékeny összetevőket, ahol nem képesek elhagyni, ez jelentős eredmény. Ez pedig azt bizonyítja, hogy a Rust teljesíti a kitűzött célt, azaz megakadályozza az Android leggyakoribb sebezhetőségi forrását.

Nem szeretnénk túlságosan szakmaik lenni, de ha időnk engedi, akkor természetesen egy másik cikkben folytatjuk, mert nagyon érdekes eszmefuttatásokat olvashatunk, mint pl.: hogy mi a helyzet a nem-biztonságos Rust nyelvvel, illetve az esetleges sérülékenységgel.

Helyette inkább ráfókusznék a záró sorokra, miszerint a következő lépések között van a C/C++ nyelvek felhasználásának csökkenése, esetleges elhagyása – ami egy hosszabb távú folyamat mérföldkő lesz. A cél: a biztonság, a stabilitás és a minőségi Android-felhasználás.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés /  Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés /  Módosítás )

Kapcsolódás: %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.