Chromium 프로젝트는 Rust 라이브러리 사용을 지원합니다.

Chromium

, Chromium 프로젝트는 Chromium에서 타사 C++ Rust 라이브러리 사용을 지원합니다.

Google 공개 Chromium 프로젝트의 배후에 있는 팀이 Rust 툴체인 추가 작업 중 프로덕션에서 빌드 시스템까지.

아직 Rust에 대해 잘 모르는 사람들은 이 프로그래밍 언어를 잘 기억해야 합니다. Mozilla가 특별히 브라우저 작성에 사용하기 위해 개발한 이 프로그래밍 언어는 많은 중요한 프로젝트에 스며들어 수용되기 시작했습니다. 러스트 커널.리눅스.

이를 통해 내년에 Chrome 바이너리에 Rust 코드를 포함할 수 있습니다. 목표는 작게 시작하여 준비가 되었을 때 어떤 라이브러리를 고려할 것인지에 대한 명확한 기대치를 설정하는 것입니다.

따라서 Chromium이 마침내 해당 기술도 출시하기 시작한 것은 당연합니다. Google의 경우 Chromium에 Rust를 도입하면 보안을 개선하고 메모리 오류를 제거하는 것 외에도 개발 속도를 높이고 Chrome의 보안을 향상시키는 두 가지 규칙을 준수하는 더 쉽고 안전한 방법을 제공한다는 목표를 달성할 것입니다. 코드의 오류 밀도를 줄입니다.

우리는 C++와 Rust가 cxx, autocxx bindgen, cbindgen, Diplomat 및 (실험용) crubit과 같은 도구 덕분에 함께 잘 작동할 수 있다는 것을 알고 있습니다. 그러나 한계도 있습니다. 새롭거나 개선된 도구를 사용하면 이러한 제한의 형태가 시간이 지남에 따라 변경될 것으로 예상할 수 있지만 여기에서 결정 및 설명은 현재 기술 상태를 기반으로 합니다.

결정 메모리 오류가 나타나는 것을 방지하기 위한 이니셔티브의 일부로 취해졌습니다. Chrome 코드베이스에서. 70년 전에 제공된 통계에 따르면 Chromium의 중요하고 위험한 보안 문제의 XNUMX%는 메모리 오류로 인한 것입니다.

안전한 메모리 관리에 중점을 둔 Rust 언어 사용 자동 메모리 관리를 제공하므로 메모리가 해제된 후 메모리 영역 액세스 및 버퍼 오버플로와 같은 문제로 인해 발생하는 취약성의 위험을 줄입니다.

Rust를 Chromium으로 가져오는 목표는 개발 속도를 높이기 위해(작성할 코드가 적음) XNUMX의 규칙을 충족하는 더 쉽고(IPC 없음) 안전한(일반적으로 덜 복잡한 C++, 샌드박스 메모리 안전 버그 없음) 방법을 제공하는 것입니다. , 더 적은 디자인 문서, 더 적은 보안 패치) 및 Chrome의 보안(메모리에 보안 버그가 없는 더 많은 코드 라인, 더 낮은 코드 버그 밀도)을 개선합니다. 또한 회사는 이 목표를 달성하기 위해 타사 Rust 라이브러리를 사용할 수 있다고 확신합니다.

2022년 초에 Chromium 팀은 이미 Rust를 실험했습니다. 그리고 몇 달 후 결론을 내렸다. 이 언어는 처음에는 기존 코드와 함께 작동해야 하는 비동기 코드가 있는 복잡한 작업에 대한 C++ 대체품으로 적합하지 않습니다.

따라서, Chromium에서 Rust의 계획된 사용은 처음에는 명확하게 제한됩니다.. 우선 interop은 C++에서 Rust로 한 방향으로만 진행됩니다. 반면에 처음에는 타사 라이브러리만 사용할 수 있습니다. 이들은 독립형 구성요소로 작동하며 Chromium의 내부 구성요소와 독립적입니다. 라이브러리에는 특정 작업을 위한 간단한 API가 있어야 합니다. 그런 다음 Chromium 팀에서 라이브러리를 검사합니다.

마지막으로 다음과 같이 언급할 가치가 있습니다. Chromium에 지원을 추가하면 Rust 코드를 Chrome 바이너리로 포팅할 수 있습니다. 내년부터. 이 결정은 주로 보안 문제를 살펴봅니다. Rust는 C++보다 메모리에 쓸 때 더 강력한 보안을 제공하며 작성되지 않은 변수 읽기, 배열에 의해 설정된 한계를 넘어서는 액세스, null 또는 유효하지 않은 포인터 역참조, 재정의된 반복기 사용과 같은 잠재적으로 유해한 동작을 금지합니다. .

더 자세히 알고 싶으시면 자세한 내용을 참조하십시오 다음 링크에서.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.