A rozsda már az Android fejlesztésének kedvence

A Google bemutatta nemrég a befogadás programozási nyelv Rozsda az engedélyezett nyelvek között Android fejlesztéshez.

Mivel a Rust fordító 2019-ben bekerült az Android forrásfába, de a nyelvi támogatás kísérleti jellegű maradt. Az Androidra szállított első Rust-komponensek közül néhány a Binder folyamatközi kommunikációs mechanizmus és a Bluetooth-verem új megvalósítása.

A Rust megvalósítás biztonság erősítését célzó projekt részeként valósult meg, elősegíti a biztonságos kódolási technikákat, és javítja a problémák azonosításának hatékonyságát az Android memóriájával végzett munka során. Megfigyelhető, hogy az Androidban azonosított összes veszélyes sérülékenység körülbelül 70%-át a memóriával végzett munka során fellépő hibák okozzák.

A Rust nyelv használata, hogy a biztonságos memóriakezelésre összpontosít és automatikus memóriakezelést biztosít, csökkenti a memóriakezelés során fellépő hibák által okozott sebezhetőségek kockázatát, mint például a memóriaterület elérése a felszabadítás és a pufferkorlátok túllépése után.

A biztonságos memóriakezelést a Rustban a felépítési időben a hivatkozások ellenőrzése, az objektumok tulajdonjogának és az objektum élettartamának (hatókörének) nyomon követése, valamint a futásidőben a memóriához való hozzáférés helyességének értékelése biztosítja.

Rozsda eszközöket is biztosít a túlcsordulás elleni védelemre egész szám, megköveteli a változóértékek kötelező inicializálását használat előtt, jobban kezeli a szabványos könyvtár hibáit, alapértelmezés szerint átveszi a hivatkozások és a megváltoztathatatlan változók koncepcióját, és erős statikus írást kínál a logikai hibák minimalizálása érdekében.

Androidon a biztonságos memóriakezelés Kotlin és Java nyelven érhető el már támogatott, de rendszerelemek fejlesztésére a nagy rezsi miatt nem alkalmas.

A Rust lehetővé teszi a C és C ++ nyelvekhez közeli teljesítmény elérését, lehetővé téve a platform alacsony szintű részeinek és a hardverrel való interfészhez szükséges összetevők fejlesztését.

A C és C ++ kódok biztonságának biztosítása érdekében az Android sandbox elkülönítést, statikus elemzést és összemosó teszteket használ. A homokozó elszigetelési képességek korlátozottak, és elérték képességeik határát (a folyamatok további széttagolása erőforrás-felhasználás szempontjából nem célszerű).

A sandbox használatának korlátai között megemlítik az új folyamatok generálásának szükségessége miatti magas rezsiköltséget és nagyobb memóriafelhasználást, valamint az IPC használatához kapcsolódó további késleltetést.

A sandbox ugyanakkor nem szünteti meg a kódban található sebezhetőségeket, csak csökkenti a kockázatokat és bonyolítja a támadást, hiszen a kihasználáshoz nem egy, hanem több sebezhetőséget kell azonosítani.

A kódtesztelési módszerek korlátozottak, mert a hibák észleléséhez meg kell teremteni a feltételeket a probléma megnyilvánulásához. Nem lehet minden lehetséges lehetőséget lefedni, így sok hiba észrevétlen marad.

Az Android rendszerfolyamataihoz A Google betartja a „kettő szabályát”, szerint amelyhez egyetlen hozzáadott kód sem felelhet meg három feltételnél több mint kettőnek- Dolgozzon ellenőrizetlen bemeneti adatokkal, használjon nem biztonságos programozási nyelvet (C / C ++), és futtasson hard sandbox elkülönítés nélkül (emelt jogosultságokkal).

Ebből a szabályból következik, hogy a külső adatok feldolgozására szolgáló kódot a legkisebb jogosultságra kell redukálni (elszigetelni), vagy biztonságos programozási nyelven kell megírni.

A Google nem célja a kód átírása Rustban létező C / C ++, de azt tervezi, hogy ezt a nyelvet használja új kód kifejlesztéséhez.

Célszerű a Rust használata új kódhoz, mivel statisztikailag a legtöbb hiba az új vagy nemrégiben módosított kódban jelenik meg. Az Androidban észlelt memóriahibák körülbelül 50%-a kevesebb, mint egy éve írt kódban észlelhető.

forrás: https://security.googleblog.com


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   miguel rodriguez dijo

    Az irónia, amikor a legnagyobb versenytársad a végén átvesz valamit, amit a saját céljaid érdekében segítettél kifejleszteni… A rozsda egyre növekszik.