6 월 XNUMX 일 Google은 Android 오픈 소스 프로젝트 (AOSP)는 이제 개발을 위해 Rust 언어를 지원합니다 이 발표는 운영 체제의 메모리 보안 문제를 해결하기위한 회사의 노력의 일부입니다.
Google에 따르면, 메모리 보안 결함은 종종 장치 보안을 위협합니다. 특히 응용 프로그램 및 운영 체제에 적합합니다. 예를 들어, Android 모바일 운영 체제에서 Google은 2019 년에 해결 된 보안 취약성의 절반 이상이 메모리 보안 버그로 인한 것이라고 밝혔습니다.
이는 Android 오픈 소스 프로젝트에 대한 회사 및 기타 기여자들의 상당한 노력에도 불구하고 AddressSanitizer, 개선 된 메모리 할당 자, 수많은 퍼저 및 기타 코드 검증 도구를 포함한 다양한 기술을 투자하거나 발명하기위한 것입니다.
구글은 블로그에서 "Kotlin 및 Java와 같은 메모리 안전 언어 외에도 Android 오픈 소스 프로젝트가 이제 Android 운영 체제 개발을위한 Rust 프로그래밍 언어를 지원함을 발표하게되어 기쁘게 생각합니다."라고 말했습니다.
“우리는이 범주의 오류를 감지, 수정 및 완화하는 데 많은 노력과 리소스를 투자하고 있으며 이러한 노력은 여러 Android 버전에서 발생하는 많은 오류를 방지하는 데 효과적입니다. 그러나 이러한 노력에도 불구하고 메모리 보안 버그는 안정성 문제의 주요 원인이되고 있으며 심각도가 높은 Android 보안 취약성의 약 70 %를 지속적으로 차지하고 있습니다.
Android 보안에 대한 전반적인 접근 방식은 다면적이며 여러 원칙과 기술을 기반으로합니다. 악의적 인 악용을 더 어렵게 만드는 데이터 기반 솔루션 올해 초 구글은 안드로이드 플랫폼 팀이 모바일 운영체제를 보호하기 위해 열심히 노력하고 있다고 보도했다.
Google은 다양한 글꼴을 사용합니다. 보안 완화 조치의 혜택을 가장 많이 누릴 수있는 플랫폼 영역을 결정합니다. Android Vulnerability Rewards 프로그램은 매우 유익한 소스입니다. 보안 엔지니어는이 프로그램에 따라 제출 된 모든 취약성을 분석하여 각 취약성의 근본 원인과 심각도를 확인합니다.
낮은 수준 운영 체제 C, C ++ 및 Rust와 같은 시스템 프로그래밍 언어가 필요합니다.. 이러한 언어는 제어 및 예측 가능성을 목표로 설계되었습니다. 저수준 하드웨어 및 시스템 리소스에 대한 액세스를 제공합니다.
리소스 사용이 효율적이고 예측 가능한 성능 특성이 있습니다. 예를 들어 C 및 C ++의 경우 개발자가 메모리의 수명을 관리해야합니다. 불행히도, 특히 복잡한 다중 스레드 코드베이스에서이 작업을 수행 할 때 실수하기 쉽습니다.
Google에 따르면 Rust는 보안 보장을 제공합니다. 유효한 메모리 액세스를 보장하기 위해 개체의 수명 / 소유권 및 런타임 검사를 시행하는 컴파일 타임 검사 조합을 사용하여 메모리. 이 보안은 C 및 C ++와 동등한 성능을 제공함으로써 확보됩니다.
Google은 Rust와 같은 메모리 보안 지향 언어가 부트 로더, 빠른 부팅, 커널 및 기타 낮은 수준의 운영 체제 부분에서 "메모리 오류를 방지하는 가장 비용 효율적인 방법"이라고 믿습니다.
Java 및 Kotlin과 같은 언어는 Android 애플리케이션 개발에 가장 적합한 옵션입니다. 이러한 언어는 사용 용이성, 이식성 및 보안을 위해 설계되었습니다. ART (Android Runtime)는 개발자를 대신하여 메모리를 관리합니다.
Android 운영 체제는 Java를 광범위하게 사용하여 메모리 오류로부터 Android 플랫폼의 대부분을 효과적으로 보호하지만, 운영 체제의 하위 계층에서는 Java 및 Kotlin이 적합하지 않습니다.
마지막으로, 노트에 대해 더 알고 싶다면 세부 사항을 참조하십시오. 다음 링크에서.