站長資訊網
        最全最豐富的資訊網站

        讓Android更安全 谷歌推薦開發者使用Rust編寫系統代碼

          作為一個相當完善的移動操作系統,Android 系統涉及到很多組件。如果寬泛的來講可以分成兩大部分,應用生態和操作系統本身。而對于開發者來說,所選擇的編程語言會根據正在開發的 Android 部分有所不同。

        讓Android更安全 谷歌推薦開發者使用Rust編寫系統代碼

          對于應用開發者來說,Java 和 Kotlin 是比較流行的選擇;而對于從事操作系統以及內部底層的開發者來說,C 和 C++ 是比較熱門的選擇。而今天谷歌為操作系統開發者增加了第 3 個選擇– Rust,因為 Android Open Source Project 現在支持 Rust 編程語言來開發操作系統了。

          C 和 C++ 的限制

          Android 系統的底層需要 C 和 C++ 等系統編程語言。這些語言為開發者提供了控制和可預測性,這在訪問低級系統資源和硬件時非常重要。不幸的是,C 和 C++ 并不能提供內存安全保證,使得它們容易出現錯誤和安全漏洞。開發者有責任在這些語言上管理內存壽命,但在復雜和多線程的代碼庫中,這說起來容易做起來難。

        讓Android更安全 谷歌推薦開發者使用Rust編寫系統代碼

          C 和 C++ 共同構成了 Android 平臺上數以千萬計的代碼行。這些內存安全漏洞成為最難解決的代碼錯誤來源,占 Android 高嚴重度安全漏洞的 70% 左右。單純的修復這些 bug 變得不足以處理問題,更好的方法是在一開始就預防這些 bug。

          由于缺乏內存安全保障,迫使開發者在嚴格約束的無權限沙盒內運行Android進程。但沙盒在資源上的成本很高,會消耗額外的開銷,并引入延遲。沙盒也不能完全消除代碼的漏洞,而且由于 bug 密度高,沙盒的功效會降低,進一步讓攻擊者連鎖多個漏洞。

        讓Android更安全 谷歌推薦開發者使用Rust編寫系統代碼

          另一個限制,雖然不是 C 和 C++ 獨有的,但適用于所有的內存安全問題,那就是錯誤狀態必須在工具化的代碼中實際觸發,才能被檢測到。所以即使你的代碼有很好的測試,實際的 bug 也可能一直沒有被發現。而當發現bug時,讓它們得到修復又是另一項任務,涉及到一個漫長而昂貴的過程,不一定能得到正確的修復。因此,bug 檢測變得不可靠,鑒于這些局限性,bug 預防是更好的方法。

        讓Android更安全 谷歌推薦開發者使用Rust編寫系統代碼

          Rust 及其優勢

          Rust 通過使用編譯時檢查和運行時檢查相結合的方式提供內存安全保證,以強制執行對象的壽命/所有權,并確保內存訪問是有效的。在實現這種安全性的同時,還能提供與C和C++相當的性能。Rust 還減少了對沙盒的需求,讓開發人員有更多的開銷空間來引入更安全、更輕量的新功能。

        讓Android更安全 谷歌推薦開發者使用Rust編寫系統代碼

          雖然 Rust 確實有它的好處,但一夜之間將整個Android操作系統換成Rust是不可行的。而且可能根本不需要這樣做,因為大多數 Android 的內存錯誤都發生在新的或最近修改的代碼中,大約有50%的代碼是不到一年的。谷歌認為,其內存安全語言的工作最好集中在新的開發上,而不是重寫成熟的C和C++代碼。

          切換到 Rust 對于Android 意味著什么

          Rust還專注于防止bug,而不是嚴重依賴檢測bug,從而提高代碼的正確性。它有幾個關鍵特性,比如內存安全、數據并發、更有表現力的類型系統、默認的不可變引用和變量、更安全的整數處理、標準庫中更好的錯誤處理等等。

          Google表示,在過去的18個月里,它一直在為Android開源項目添加Rust支持。但在Android平臺上添加一門新語言是一項巨大的工程。一些工具鏈和依賴關系需要維護,測試基礎設施和工具必須更新,開發人員需要接受培訓。

        特別提醒:本網內容轉載自其他媒體,目的在于傳遞更多信息,并不代表本網贊同其觀點。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,并請自行核實相關內容。本站不承擔此類作品侵權行為的直接責任及連帶責任。如若本網有任何內容侵犯您的權益,請及時聯系我們,本站將會在24小時內處理完畢。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品第六页| 欧美日韩精品一区二区三区不卡 | 午夜在线视频91精品| 国产精品一二三区| 亚洲色精品88色婷婷七月丁香| 亚洲国产成人久久精品影视| 亚洲精品中文字幕无码蜜桃| 久久97久久97精品免视看| 欧美日韩精品一区二区三区| 国产欧美亚洲精品A| 毛片a精品**国产| 国产一区二区精品久久岳| 国产亚洲精品观看91在线| 久久亚洲精品无码AV红樱桃| 中国国产精品| 久久久99精品成人片中文字幕 | 精品无码久久久久久尤物 | 久久亚洲国产精品123区| 亚洲午夜精品久久久久久人妖 | 欧美日韩人妻精品一区二区在线| 久久99精品国产麻豆蜜芽| 国产成人毛片亚洲精品| 午夜精品在线观看| 久久精品国产免费| 高清免费久久午夜精品| 无码国内精品久久人妻蜜桃| 无码人妻精品一区二区蜜桃百度| 国产欧美一区二区精品性色99 | 精品一区二区在线观看| 国产成人久久精品一区二区三区| 色欲国产麻豆一精品一AV一免费 | 久久久久国产精品三级网| 国产VA免费精品高清在线| 99久久综合国产精品二区| 亚洲精品福利视频| 欧美精品香蕉在线观看网| 午夜精品在线观看| 国产成人精品a视频一区 | 亚洲午夜精品一级在线播放放| 久久久久国产日韩精品网站| 日批日出水久久亚洲精品tv|